Skip to main content

CCP4i2 - Graphical interface and scripting environment for CCP4

Project description

ccp4i2

ccp4i2 is the Python backend of CCP4i2 — the graphical interface and scripting environment for the CCP4 macromolecular crystallography suite. This is the Django/Qt-free generation of CCP4i2: a REST API, a task/pipeline framework, and the data-management core that drive the CCP4i2 desktop (Electron/React) and web deployments.

CCP4-free control plane

The control plane — the REST API, task configuration, parameter validation, and the container/digest machinery — imports and runs on a stock Python with no CCP4 installation. Only actual job execution (running Refmac, Phaser, Servalcat, …) needs the full CCP4 suite, and that always happens out-of-process on a CCP4-bearing worker.

In practice that means you can pip install ccp4i2 into a plain virtual environment to configure and validate tasks, serve the API, and drive the frontend; the crystallographic binaries and their toolkits (clipper, iotbx, mmtbx, ccp4mg, phaser, dials, xia2, …) are supplied by CCP4 at execution time and are deliberately not pip dependencies.

Installation

pip install ccp4i2

Optional extras:

pip install ccp4i2[science]   # rdkit, scipy, pandas — fuller local execution
pip install ccp4i2[dev]       # test/lint toolchain (pytest, mypy, black, …)

ccp4i2 depends on the shared ccp4i2-api library (authentication + DRF integration), which is installed automatically.

Notedemo_data (the ~400 MB of example datasets used by the test/demo workflows) is not bundled in the package; it is distributed out-of-band.

Running

export DJANGO_SETTINGS_MODULE=ccp4i2.config.settings

# i2run — run a task from the command line
i2run <task> --project_name <proj> [--PARAM value ...]

# development server
python -m uvicorn ccp4i2.config.asgi:application

Links

Licence

LGPL-3.0. See the repository for full licensing details.

Project details


Download files

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

Source Distribution

ccp4i2-3.1.0a4.tar.gz (21.8 MB view details)

Uploaded Source

Built Distribution

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

ccp4i2-3.1.0a4-py3-none-any.whl (22.3 MB view details)

Uploaded Python 3

File details

Details for the file ccp4i2-3.1.0a4.tar.gz.

File metadata

  • Download URL: ccp4i2-3.1.0a4.tar.gz
  • Upload date:
  • Size: 21.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ccp4i2-3.1.0a4.tar.gz
Algorithm Hash digest
SHA256 49c1e3f93d1c6579554aea6190f5be6208f17e12ce9eba7fd5432f6c2d57d72b
MD5 ec14aae1521bf11d36b726b35ecf970d
BLAKE2b-256 10d82249cd5931b2df8fac7fedafb6ea379576d62e449a02e34dd0c0c40e6d53

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccp4i2-3.1.0a4.tar.gz:

Publisher: release.yml on ccp4/ccp4i2

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

File details

Details for the file ccp4i2-3.1.0a4-py3-none-any.whl.

File metadata

  • Download URL: ccp4i2-3.1.0a4-py3-none-any.whl
  • Upload date:
  • Size: 22.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ccp4i2-3.1.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 0f5d39744482cd2a28ae8fd44377f80e8438e683f2d1ccf2c589d1e91d56076b
MD5 c5de1026f52c5b97d1444da21acb6461
BLAKE2b-256 5b5c4fae6064fcde13901e8e22a01c9874451feeb6a7c407365d7c6a421581a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccp4i2-3.1.0a4-py3-none-any.whl:

Publisher: release.yml on ccp4/ccp4i2

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 Pingdom Monitoring Sentry Error logging StatusPage Status page