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.
- 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.
- 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.
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.
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.
Repository owners can archive inactive projects, rename repositories, manage packages and releases, publish or remove bundle revisions, and permanently delete repositories when necessary.
AstroScripts uses three steps to publish a PixInsight update:
- Package - A named group for related release artifacts.
- Release - An uploaded ZIP, TAR.GZ, or TAR.BZ2 archive with its supported platform, architecture, PixInsight versions, and release notes.
- 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.
- 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.
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 5000In a second PowerShell window:
Set-Location frontend
npm install
npm run devOpen http://127.0.0.1:5173.
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 5000In a second terminal:
cd frontend
npm install
npm run devOpen http://127.0.0.1:5173.
Docker Compose starts AstroScripts, MariaDB, and the optional development mail viewer:
docker compose --profile dev-mail up --buildAstroScripts 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.
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.