Skip to content

Repository files navigation

AstroScripts

AstroScripts is a community catalog and publishing platform for PixInsight scripts, modules, and documentation.

It gives PixInsight developers a home for their projects and gives users a single place to discover, inspect, follow, and install community-maintained tools.

What You Can Do

Discover PixInsight projects

  • Browse and search public repositories.
  • View developer profiles, project documentation, release history, and usage details.
  • Star useful repositories and save them to custom public lists.
  • Follow repositories and see new updates in a personal activity feed.
  • Join project discussions through repository comments.

Publish your work

  • Create a public repository for a script, module, or documentation project.
  • Write project documentation with a rich Markdown editor.
  • Organize downloadable artifacts into packages and immutable releases.
  • Publish bundle revisions that PixInsight can consume as an update repository.
  • Share a stable AstroScripts feed URL with users.

Inspect releases before downloading

Every release archive can be explored directly in the browser. The release inspector presents folders and files as a tree, displays supported text files with syntax highlighting, and shows metadata for binary or oversized files. Users can understand what a package contains without first extracting it on their computer.

Build a public developer profile

Profiles bring together a developer's repositories, starred projects, saved lists, avatar, and biography. Certified PixInsight developers can also upload their password-protected XSSK signing key from Developer settings so their published feeds carry their developer identity.

Manage projects with confidence

Repository owners can archive inactive projects, rename repositories, manage packages and releases, publish or remove bundle revisions, and permanently delete repositories when necessary.

Publishing Flow

AstroScripts uses three steps to publish a PixInsight update:

  1. Package - A named group for related release artifacts.
  2. Release - An uploaded ZIP, TAR.GZ, or TAR.BZ2 archive with its supported platform, architecture, PixInsight versions, and release notes.
  3. Bundle revision - A published selection containing one release from each included package.

The newest bundle revision powers the repository's updates.xri feed. When the owner has configured a signing key, AstroScripts signs the feed automatically; otherwise PixInsight may ask users to confirm an unsigned download. Add the repository's /feed/ URL to PixInsight, and AstroScripts serves both updates.xri and its release archives from that location.

Local Development

Requirements

  • Python 3.12 or newer
  • Node.js and npm
  • Git

Local development uses SQLite by default, so MariaDB is not required. Development accounts bypass email verification.

Windows (PowerShell)

From the repository root, prepare and start the backend:

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".\backend[dev]"

Set-Location backend
$env:DATABASE_URL = "sqlite:///dev.db"
$env:UPLOAD_ROOT = "$PWD\instance\uploads"
$env:APP_ENV = "development"
$env:RECAPTCHA_BYPASS = "true"
$env:EXPOSE_DEV_TOKENS = "true"

..\.venv\Scripts\python.exe -m flask --app wsgi:app db upgrade
..\.venv\Scripts\python.exe -m flask --app wsgi:app run --port 5000

In a second PowerShell window:

Set-Location frontend
npm install
npm run dev

Open http://127.0.0.1:5173.

Linux

From the repository root, prepare and start the backend:

python3.12 -m venv .venv
./.venv/bin/python -m pip install -e './backend[dev]'

cd backend
export DATABASE_URL='sqlite:///dev.db'
export UPLOAD_ROOT="$PWD/instance/uploads"
export APP_ENV='development'
export RECAPTCHA_BYPASS='true'
export EXPOSE_DEV_TOKENS='true'

../.venv/bin/python -m flask --app wsgi:app db upgrade
../.venv/bin/python -m flask --app wsgi:app run --port 5000

In a second terminal:

cd frontend
npm install
npm run dev

Open http://127.0.0.1:5173.

Docker Alternative

Docker Compose starts AstroScripts, MariaDB, and the optional development mail viewer:

docker compose --profile dev-mail up --build

AstroScripts will be available at http://localhost:8080, and captured development email at http://localhost:8025.

If npm uses an authenticated corporate registry, set NPMRC_PATH in .env to the absolute path of the authenticated .npmrc before building. When that registry uses a private certificate authority, also set NPM_CA_PATH to its PEM-encoded CA bundle.

Project Status

AstroScripts is under active development. Current functionality centers on public projects and community distribution. Private repositories, organizations, OAuth, MFA, moderation tools, antivirus scanning, and resumable uploads are not yet included.

About

PixInsight script hosting made easy

Resources

Stars

81 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages