Skip to main content

Scripticus server

The index service for Scripticus, a package manager and registry for scripts. The server provides manifest-aware search, version and dependency resolution, and the publish path for a Scripticus registry. Installing this package provides the scripticus-svr command.

Running the server

scripticus-svr starts the service, printing its version and address on start-up:

$ scripticus-svr --host 0.0.0.0 --port 8000
scripticus-svr 0.1.0 — serving on http://0.0.0.0:8000 (interactive API docs at http://0.0.0.0:8000/docs)

Both options are optional; the default is 127.0.0.1:8000. The API is self-describing: interactive docs are served at /docs and the OpenAPI spec at /openapi.json.

Health check

GET /health returns 200 with {"status": "ok"} while the service is up. It is deliberately unauthenticated — it's a liveness probe for load balancers and container orchestrators.

Version

GET /version returns the running server's version, e.g. {"version": "0.1.1"}.

Package index (read API)

  • GET /packages/{namespace}/{name} — a package's version listing, newest first by semver precedence. Yanked versions are included and marked ("yanked": true) so pinned lookups can still see them; unknown packages return 404.
  • GET /search?q=<substring>&platform=<os>&language=<lang> — packages whose name contains q (all parameters optional), with each result's latest non-yanked version. Yanked versions are invisible to search; platform and language filter on the artifacts a version actually provides.

The index database defaults to a local SQLite file (scripticus-index.db); set SCRIPTICUS_INDEX_DB to any SQLAlchemy URL to point elsewhere. Tables are created automatically on first use. Note that publishing doesn't exist yet, so a fresh index is empty until it lands.

Docker

Server releases publish a Docker image to kevinchannon/scripticus-server (tagged with the release version and latest). The repository ships a docker-compose.yml running it as a single container — no checkout needed:

$ curl -LO https://raw.githubusercontent.com/kevinchannon/scripticus/main/docker-compose.yml
$ docker compose up -d
$ curl http://localhost:8000/health
{"status":"ok"}

The intended v1 deployment pairs the index service with a Gitea instance that provides storage, authentication, and namespace ownership; Gitea integration doesn't exist yet, so the compose file is currently server-only and does not stand up a working registry.

Once Gitea is part of the bundle: accounts and organisations are managed in Gitea; a Scripticus namespace is a Gitea user or organisation, claimed first-come-first-served, and publish rights follow Gitea's own membership and ACLs. The library namespace is reserved.

Licence

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scripticus_server-0.2.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scripticus_server-0.2.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file scripticus_server-0.2.0.tar.gz.

File metadata

  • Download URL: scripticus_server-0.2.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for scripticus_server-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1de35fb966d13e04a31fedc3b778f4748426745636c1fd556ae6dacefb0cbde4
MD5 77724dd256d2b4ff730ef3f731cbf2e1
BLAKE2b-256 573f76f507786ebf6935627a1024458793d1dfcb17cb182abd34ea0cb4a04a02

See more details on using hashes here.

Provenance

The following attestation bundles were made for scripticus_server-0.2.0.tar.gz:

Publisher: release.yml on kevinchannon/scripticus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scripticus_server-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for scripticus_server-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fab8a53ff0c86b1116b987a360393b24c62894321f41eb5bef251d07d8257dc0
MD5 4352f24535d1288db2eaba585d2ec443
BLAKE2b-256 e12f7febc90a10ae4e3c4c2020edd005d6dc73c4e898068b62017d86fdef8f01

See more details on using hashes here.

Provenance

The following attestation bundles were made for scripticus_server-0.2.0-py3-none-any.whl:

Publisher: release.yml on kevinchannon/scripticus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page