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 return404.GET /search?q=<substring>&platform=<os>&language=<lang>— packages whose name containsq(all parameters optional), with each result's latest non-yanked version. Yanked versions are invisible to search;platformandlanguagefilter 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1de35fb966d13e04a31fedc3b778f4748426745636c1fd556ae6dacefb0cbde4
|
|
| MD5 |
77724dd256d2b4ff730ef3f731cbf2e1
|
|
| BLAKE2b-256 |
573f76f507786ebf6935627a1024458793d1dfcb17cb182abd34ea0cb4a04a02
|
Provenance
The following attestation bundles were made for scripticus_server-0.2.0.tar.gz:
Publisher:
release.yml on kevinchannon/scripticus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scripticus_server-0.2.0.tar.gz -
Subject digest:
1de35fb966d13e04a31fedc3b778f4748426745636c1fd556ae6dacefb0cbde4 - Sigstore transparency entry: 2203560319
- Sigstore integration time:
-
Permalink:
kevinchannon/scripticus@bef1d9c62fb7b3e1305784cf7881dd7657c33bf8 -
Branch / Tag:
refs/tags/server-v0.2.0 - Owner: https://github.com/kevinchannon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bef1d9c62fb7b3e1305784cf7881dd7657c33bf8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file scripticus_server-0.2.0-py3-none-any.whl.
File metadata
- Download URL: scripticus_server-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fab8a53ff0c86b1116b987a360393b24c62894321f41eb5bef251d07d8257dc0
|
|
| MD5 |
4352f24535d1288db2eaba585d2ec443
|
|
| BLAKE2b-256 |
e12f7febc90a10ae4e3c4c2020edd005d6dc73c4e898068b62017d86fdef8f01
|
Provenance
The following attestation bundles were made for scripticus_server-0.2.0-py3-none-any.whl:
Publisher:
release.yml on kevinchannon/scripticus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scripticus_server-0.2.0-py3-none-any.whl -
Subject digest:
fab8a53ff0c86b1116b987a360393b24c62894321f41eb5bef251d07d8257dc0 - Sigstore transparency entry: 2203560324
- Sigstore integration time:
-
Permalink:
kevinchannon/scripticus@bef1d9c62fb7b3e1305784cf7881dd7657c33bf8 -
Branch / Tag:
refs/tags/server-v0.2.0 - Owner: https://github.com/kevinchannon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bef1d9c62fb7b3e1305784cf7881dd7657c33bf8 -
Trigger Event:
push
-
Statement type: