Skip to main content

Modular Python packages for cryo-EM and cryo-ET

Project description

TeamTomo

DOI

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


Download files

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

Source Distribution

teamtomo-0.5.2.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

teamtomo-0.5.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file teamtomo-0.5.2.tar.gz.

File metadata

  • Download URL: teamtomo-0.5.2.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

Hashes for teamtomo-0.5.2.tar.gz
Algorithm Hash digest
SHA256 575fd6b1244ac52340ba1b6711d5f52a3c954c5924cc6fa004984528e361ed50
MD5 cef01cc230f087eb2e90148bde28eec2
BLAKE2b-256 7f7ddf493dddf975e985a186058cf5b897911b9e0b5f60ad4d99367161f03d15

See more details on using hashes here.

Provenance

The following attestation bundles were made for teamtomo-0.5.2.tar.gz:

Publisher: deploy.yml on teamtomo/teamtomo

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

File details

Details for the file teamtomo-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: teamtomo-0.5.2-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

Hashes for teamtomo-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 230759f2bca83e4797364a101eb49dc797a34047408359026a542c98e734db7d
MD5 d3826dbe0968cc0c7c97ce8d9b502190
BLAKE2b-256 169ae44217ba3f283448c6e0bc64d24f94ac3763a2a126db1b101a2c8c3ed278

See more details on using hashes here.

Provenance

The following attestation bundles were made for teamtomo-0.5.2-py3-none-any.whl:

Publisher: deploy.yml on teamtomo/teamtomo

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