Amacrin CLI
Deploy and manage Open Scientific Archive instances on the Amacrin cloud platform — provision a managed archive, build and register your conventions, and start ingestion runs, without running your own infrastructure.
Install
pip install amacrin
Quickstart
1. Sign in
amacrin login
This opens your browser to sign in. On first sign-in Amacrin creates your
account and a Personal organisation to hold your archives. Tokens are saved
to ~/.config/amacrin/credentials.json and refreshed automatically — no need to
paste tokens by hand.
2. Describe your archive
amacrin init
init scaffolds three files: osa.yaml, amacrin.yaml, and a .env.example
listing the secret placeholders to copy into .env. osa.yaml is your OSA
server's own config — it runs identically locally, self-hosted, or in the
cloud, so it carries no cloud settings:
name: My Lab Archive
auth:
providers:
orcid:
client_id: ${ORCID_CLIENT_ID}
client_secret: ${ORCID_CLIENT_SECRET}
admins:
orcid:
- "0000-0002-1234-5678"
amacrin.yaml is the deploy manifest — how Amacrin provisions the archive.
It owns the slug (the <slug>.amacr.in subdomain) and points at the server
config that amacrin archive create provisions with. The OSA server never
reads this file:
slug: my-lab # your archive is served at my-lab.amacr.in
config: osa.yaml # server config used by `amacrin archive create`
${VAR} references in either file are resolved from a local .env and the
environment (the environment wins), so secrets stay out of the files:
# .env
ORCID_CLIENT_ID=APP-XXXXXXXX
ORCID_CLIENT_SECRET=super-secret
3. Provision it
amacrin archive create
This provisions the archive and deploys the server, streaming live progress and
ending with your archive URL (e.g. https://my-lab.amacr.in). The archive ID is
written to .amacrin/archive-id so the rest of the commands know which archive
this project is bound to.
4. Deploy your conventions
amacrin deploy
Builds your convention OCI images and registers them with the running archive. Deploy never provisions — it targets the archive already linked to this project.
5. Ingest data
amacrin ingest start --convention <slug>
Starts an ingestion run for a convention, identified by its slug — shown by
amacrin deploy when the convention is registered.
Command reference
| Command | What it does |
|---|---|
amacrin init |
Scaffold osa.yaml (server config) + amacrin.yaml (deploy manifest). |
amacrin login |
Sign in via the browser (creates your account + Personal org on first use). |
amacrin logout |
Revoke and remove stored credentials. |
amacrin whoami |
Show the signed-in user and organisations. |
amacrin org list |
List your organisations. |
amacrin org create <name> |
Create a new organisation. |
amacrin link --archive <id> |
Bind this project to an existing archive. |
amacrin archive create |
Provision and deploy a new archive (live progress). |
amacrin archive list |
List archives you can access. |
amacrin archive status |
Show the linked archive's deployment status and URL. |
amacrin archive destroy |
Tear down the linked archive. |
amacrin deploy |
Build convention images and register them with the linked archive. |
amacrin ingest start |
Start an ingestion run for a convention. |
Authentication notes
- Credentials live in
~/.config/amacrin/credentials.json(created with0600permissions), keyed by control-plane URL. Access tokens are refreshed transparently, so you rarely re-runamacrin login. - CI / non-interactive — set
AMACRIN_TOKENto a token and the CLI uses it directly (no browser, no refresh). Provide a fresh token when it expires. - Admin escape hatch — pass
--token <token>to a command to override the stored credential for that invocation. - Targeting another control plane — set
AMACRIN_API(e.g. a staging deployment) to point every command at a different API base. Credentials are stored per API base, so multiple environments coexist.
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 amacrin-0.0.2.tar.gz.
File metadata
- Download URL: amacrin-0.0.2.tar.gz
- Upload date:
- Size: 66.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0a9312ca1a24a5b491439f6f326b5a60163225162d1267853f49e351285c5ae
|
|
| MD5 |
b82647a8b410f7f8d7c6dfdcdacf99ca
|
|
| BLAKE2b-256 |
0e10d693b04a1c70810f5675a9543cb22fa36a77606ac8ad3ec75ba8016e9cf4
|
File details
Details for the file amacrin-0.0.2-py3-none-any.whl.
File metadata
- Download URL: amacrin-0.0.2-py3-none-any.whl
- Upload date:
- Size: 38.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08b3a3b7196e409c7d3424753ae0c7cb73a287190ec976cdb8bb16237208b9e6
|
|
| MD5 |
311eef965f39e569dfe8666aebee475b
|
|
| BLAKE2b-256 |
0e7261de462e29ca765712f5aebeece18960b8f58bc63fbcd09eef5e8e77aec0
|