Skip to main content

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 credentials
  • chemsift register <input-dir>: Upload a registry_input/ and start a registration job
  • chemsift map <register-job-id>: Run the mapped pipeline against a completed register job
  • chemsift query <register-job-id> --molecules <csv> --yaml <yml>: Submit a query job
  • chemsift supervised <register-job-id> --yaml <yml> [--state <csv>]: Submit one round of active-learning screening
  • chemsift supervised --pool <pool-id> --yaml <yml> [--state <csv>]: The same, against a shared demo pool instead of your own registration
  • chemsift env list / chemsift env use <dev|prod>: Show or switch the active environment
  • chemsift status <job-id>: Check status of a job
  • chemsift download <job-id> <output-dir>: Download results of a completed job
  • chemsift 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

Screening a shared pool

A pool is a library registered once that every authenticated user of a stack can screen, so a new account does not have to register anything before it can run a round. Pass --pool instead of a register job id — everything else is identical:

chemsift supervised --pool ecbd-luciferase-v1 --yaml supervised.yml

The pool is read-only and lives in its own bucket; everything a round writes still goes to your own prefix. --pool-bucket overrides the bucket, which defaults to the active environment's.

Two things the pool form does for you. It names the pool's library in the uploaded config when your config did not, so a campaign records what it screened (CS-08). And on a resumed round it refuses a state CSV that was started against a different library, rather than silently scoring one library's molecules with another's ordering.

A pool publishes one pinned library with nothing to score it against, so pools are screenable with supervised but are not valid targets for query.

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:

  1. Verifies the tag matches the version in pyproject.toml
  2. Builds the sdist and wheel
  3. Publishes to PyPI via OIDC Trusted Publishing (no API token needed)

Metadata

Release files for chemsift 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chemsift 1.3.0
File Size Uploaded Provenance
chemsift-1.3.0.tar.gz 24.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for chemsift 1.3.0
File Interpreter ABI Platform
chemsift-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.7 kB

Release files / chemsift-1.3.0.tar.gz

Download URL chemsift-1.3.0.tar.gz
Size 24.3 kB
Tags Source
SHA-256 checksum
How to use checksums
32ceb23e4e084cd8910da4c8c8a3d492213a7db0b80e55f8f6f62645a65d62c1
BLAKE2b-256 checksum
How to use checksums
abb8674498b13f103387a66355d06b1254f8b493eeee1bbd94f7fcef3f3d8a68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / chemsift-1.3.0-py3-none-any.whl

Download URL chemsift-1.3.0-py3-none-any.whl
Size 33.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d92480fbee44f6ea37803e7d9e532b17dc282fdae7a96e50ae0b1e37537a8a5c
BLAKE2b-256 checksum
How to use checksums
f6fac89222830e4e5e9dbc103b901457abd0dcdcbd0c2056bb7eaae3f478f13e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for chemsift 1.3.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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for chemsift-1.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page