Modular Python packages for cryo-EM and cryo-ET
Project description
TeamTomo
TeamTomo is a set of modular Python package for cryo-EM and cryo-ET for the modern scientific computing environment.
This unified repository contains the core TeamTomo data processing functionality under a single umbrella for better maintainability and cross-package development. File I/O packages are distributed separately and can be found under the organizations repositories.
Getting Started
Using TeamTomo packages is easy within the Python ecosystem. Simply install the latest release of packages from PyPI (e.g. pip install torch-grid-utils). A complete list of packages can be found on teamtomo.org.
If you're interested in contributing to TeamTomo, please look through the CONTRIBUTING guide for more info on adding, migrating, or updating packages. Source installation instructions for different use-cases are listed below. Note that the development workspace depends on the uv tool for Python environment/package management.
Basic source installation
git clone https://github.com/teamtomo/teamtomo.git
cd teamtomo
uv sync
For contributing developers
We strongly recommend making your own fork of the monorepo if you plan on contributing changes. Code should be edited in your repo (origin) and pull requests made into the TeamTomo repo (upstream).
First, fork the repository on GitHub (button near top-right of the repo home page), and then clone your fork locally:
git clone https://github.com/YOUR_USERNAME/teamtomo.git
cd teamtomo
Then, add the TeamTomo repository as an upstream remote to keep your fork up to date:
git remote add upstream https://github.com/teamtomo/teamtomo.git
git remote -v
# Verify remote setup looks like this
# origin https://github.com/YOUR_USERNAME/teamtomo.git (fetch)
# origin https://github.com/YOUR_USERNAME/teamtomo.git (push)
# upstream https://github.com/teamtomo/teamtomo.git (fetch)
# upstream https://github.com/teamtomo/teamtomo.git (push)
Package setting up via uv
Then, create and activate a new virtual environment:
uv venv
source .venv/bin/activate
And finally sync with the repository to install packages
uv sync --all-extras --all-packages
Note that the --all-extras and --all-packages flags install the development and testing requirements for all sub-packages. More granular install options are possible, if your system requires it.
Editable install for downstream development
For developing programs atop TeamTomo infrastructure, it's useful to have your program and TeamTomo both installed in editable mode in the same environment. Assuming you've cloned the teamtomo/teamtomo repo and your program uses uv for packaging, add the following to your packages pyproject.toml file:
[tool.uv.sources]
# (other lines for tool.uv.sources)
torch-grid-utils = { path = "/path/to/teamtomo/packages/primitives/torch-grid-utils", editable = true }
torch-affine-utils = { path = "/path/to/teamtomo/packages/primitives/torch-affine-utils", editable = true }
torch-image-interpolation = { path = "/path/to/teamtomo/packages/primitives/torch-image-interpolation", editable = true }
# ...
# Add other TeamTomo packages you want editable
# (continuation of pyproject.toml)
Then, in your project folder, run uv sync which will install those dependencies plus the listed teamtomo packages in editable mode. Changes made to TeamTomo packages will reflect in your project's environment.
List of Packages
🚧 Coming Soon 🚧
Project details
Release history Release notifications | RSS feed
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 teamtomo-0.5.1.tar.gz.
File metadata
- Download URL: teamtomo-0.5.1.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ac42ca4562e29da876b433c42f4b81fcc498ffccc7272bb1124e7b10d912bf7
|
|
| MD5 |
4ced7f983f588e6e304312326a01622e
|
|
| BLAKE2b-256 |
25589cdc4a739ff8cca696abfebad8002d87daf6d1853981a125e3c9a6568da6
|
Provenance
The following attestation bundles were made for teamtomo-0.5.1.tar.gz:
Publisher:
deploy.yml on teamtomo/teamtomo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
teamtomo-0.5.1.tar.gz -
Subject digest:
0ac42ca4562e29da876b433c42f4b81fcc498ffccc7272bb1124e7b10d912bf7 - Sigstore transparency entry: 1756078659
- Sigstore integration time:
-
Permalink:
teamtomo/teamtomo@706bcd314a5ebc2d18734bea685bd2a2c74d6895 -
Branch / Tag:
refs/tags/teamtomo@v0.5.1 - Owner: https://github.com/teamtomo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@706bcd314a5ebc2d18734bea685bd2a2c74d6895 -
Trigger Event:
push
-
Statement type:
File details
Details for the file teamtomo-0.5.1-py3-none-any.whl.
File metadata
- Download URL: teamtomo-0.5.1-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76c78b941b353a2de606d7e625488a11ffff18e3b86954d9d72a19a2dfba3a4e
|
|
| MD5 |
f60c373f70fb340c43eb42ecfcfd1c3e
|
|
| BLAKE2b-256 |
e5374991803205e33836f8079d16c440af91997350c86f13aab760e091e6cf01
|
Provenance
The following attestation bundles were made for teamtomo-0.5.1-py3-none-any.whl:
Publisher:
deploy.yml on teamtomo/teamtomo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
teamtomo-0.5.1-py3-none-any.whl -
Subject digest:
76c78b941b353a2de606d7e625488a11ffff18e3b86954d9d72a19a2dfba3a4e - Sigstore transparency entry: 1756078735
- Sigstore integration time:
-
Permalink:
teamtomo/teamtomo@706bcd314a5ebc2d18734bea685bd2a2c74d6895 -
Branch / Tag:
refs/tags/teamtomo@v0.5.1 - Owner: https://github.com/teamtomo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@706bcd314a5ebc2d18734bea685bd2a2c74d6895 -
Trigger Event:
push
-
Statement type: