chemsift (cloud CLI)
The chemsift CLI lets scientists submit and manage jobs on AWS.
Install from PyPI:
pip install chemsift
Commands
chemsift login: Authenticate and store credentialschemsift register <input-dir>: Upload aregistry_input/and start a registration jobchemsift map <register-job-id>: Run the mapped pipeline against a completed register jobchemsift query <register-job-id> --molecules <csv> --yaml <yml>: Submit a query jobchemsift supervised <register-job-id> --yaml <yml> [--state <csv>]: Submit one round of active-learning screeningchemsift status <job-id>: Check status of a jobchemsift download <job-id> <output-dir>: Download results of a completed jobchemsift list: List all job IDs for the current user
Supervised workflow
# Round 0 — no state file yet
chemsift supervised <register-job-id> --yaml supervised.yml
# Wait for completion, download state CSV, fill 'label' column (0=inactive, 1=active)
chemsift status <job-id>
chemsift download <job-id> .
# Subsequent rounds — pass labelled state CSV
chemsift supervised <register-job-id> --yaml supervised.yml --state state.csv
Development
This project uses Poetry for dependency management and packaging.
Setup
cd cli
poetry install
poetry run chemsift --help
Releasing a new version to PyPI
Publishing is fully automated — CI builds and uploads the package to PyPI when a cli-v* tag is pushed. The tag version must match pyproject.toml exactly or CI will fail the verification step.
Step 1 — bump the version in pyproject.toml:
cd cli
poetry version patch # or: minor, major, or an explicit version e.g. 1.2.0
Step 2 — commit and merge to main:
git add cli/pyproject.toml
git commit -m "chore: bump chemsift CLI to $(cd cli && poetry version -s)"
# open a PR, get it merged into main
Step 3 — tag the merge commit and push the tag:
git checkout main
git pull
git tag cli-v$(cd cli && poetry version -s) # e.g. cli-v1.2.0
git push --tags
Pushing the tag triggers the publish-cli.yml workflow, which:
- Verifies the tag matches the version in
pyproject.toml - Builds the sdist and wheel
- Publishes to PyPI via OIDC Trusted Publishing (no API token needed)
Metadata
Release files for chemsift 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chemsift-1.2.0.tar.gz | 15.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chemsift-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.8 kB
Release files / chemsift-1.2.0.tar.gz
| Download URL | chemsift-1.2.0.tar.gz |
|---|---|
| Size | 15.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7920abe231624205ed0acee68a3a468ac1c6fced806bdad7a1208f3b1dbfb1ea
|
|
BLAKE2b-256 checksum How to use checksums |
fb259a7659755831ded7dfe6678179df0209d6ecc5b24554f0b654ac4d4329bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.6 Darwin/25.6.0
|
Release files / chemsift-1.2.0-py3-none-any.whl
| Download URL | chemsift-1.2.0-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41e17feeab898424ba228502fd780e029669f95c52d926b7f3e08170adb6d4f1
|
|
BLAKE2b-256 checksum How to use checksums |
f0fa11b33b063e8aff74c2d1d926a33760ed1723eaa6bda5f0883ae462b52f2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.6 Darwin/25.6.0
|
Security for chemsift 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.