smartem-decisions
Smart data collection system for cryo-electron microscopy at Diamond Light Source.
Installation
SmartEM Agent (data collection)
pip install smartem-decisions[agent]
Windows executable: Download the latest smartem-agent-windows-vX.Y.Z.exe from GitHub Releases.
SmartEM Backend (API server)
pip install smartem-decisions[backend]
All components
pip install smartem-decisions[all]
Usage
Agent
Watch a directory for EPU output and send data to the backend:
# Basic usage
smartem-agent watch /path/to/epu/output --api-url http://localhost:8000
# Dry run (no API calls)
smartem-agent watch /path/to/epu/output --dry-run
# Verbose output
smartem-agent watch /path/to/epu/output -vv
Parse EPU data without watching:
smartem-agent parse dir /path/to/epu/output
smartem-agent parse session /path/to/EpuSession.dm
smartem-agent parse atlas /path/to/Atlas.dm
Backend
Start the API server and message consumer:
# HTTP API server
python -m smartem_backend.api_server
# Message queue consumer
python -m smartem_backend.consumer -v
Components
| Package | Description |
|---|---|
smartem_agent |
Data collection agent that monitors EPU output |
smartem_backend |
Core backend with HTTP API and message queue processing |
smartem_common |
Shared schemas, types, and utilities |
Installation Extras
| Extra | Description |
|---|---|
[agent] |
Agent dependencies (watchdog, lxml) |
[backend] |
Backend dependencies (FastAPI, SQLAlchemy, Pika) |
[common] |
Core schemas only (Pydantic) |
[images] |
Image processing (Pillow, mrcfile, tifffile) |
[dev] |
Development tools (pytest, ruff, pyright) |
[all] |
All dependencies |
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check src/
ruff format --check src/
# Type check
pyright
Documentation
Links
- PyPI: https://pypi.org/project/smartem-decisions/
- Repository: https://github.com/DiamondLightSource/smartem-decisions
- Issues: https://github.com/DiamondLightSource/smartem-decisions/issues
- Changelog: GitHub Releases
License
Apache-2.0
Metadata
Release files for smartem-decisions 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| smartem_decisions-0.1.3.tar.gz | 355.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smartem_decisions-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 512.1 kB
Release files / smartem_decisions-0.1.3.tar.gz
| Download URL | smartem_decisions-0.1.3.tar.gz |
|---|---|
| Size | 355.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5275ec81ba41f7dfb4b54abfc6af7307c66feff756a6c7ec06e4ce1a6b715bc
|
|
BLAKE2b-256 checksum How to use checksums |
027895120b9bc663b164e667da2c114c8e7aa703f203f387d36fd6a16b219aba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 8, 2026.
Transparency logRelease files / smartem_decisions-0.1.3-py3-none-any.whl
| Download URL | smartem_decisions-0.1.3-py3-none-any.whl |
|---|---|
| Size | 156.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a32ba5d90837f5c96aa97fb72055efb2cf3d87db4713bdc513bf9f9d6c02004
|
|
BLAKE2b-256 checksum How to use checksums |
5da9548dcdd9391de9aaa62cc2957e9797cc3bac397a1b4b989425435af725ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 8, 2026.
Transparency log