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.2rc1.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.2rc1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: teamtomo-0.5.2rc1.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.2rc1.tar.gz
Algorithm Hash digest
SHA256 d5f417ccb22d92eaaef84fd17e65086534173f726543da830a436508f8d2a5c2
MD5 2fb47f8775310bf4fd1693cea7d9af76
BLAKE2b-256 16fb7b7af069f5f005e3ace629abe79a6987572479c628ac1e25f9efba5050e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for teamtomo-0.5.2rc1.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.2rc1-py3-none-any.whl.

File metadata

  • Download URL: teamtomo-0.5.2rc1-py3-none-any.whl
  • Upload date:
  • Size: 5.9 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.2rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 57bf5b9271f37b5e5890fff35ac58b872b184614d330b7beb7125494240aee9d
MD5 11a88c6115f39a5224a80391c4d75c7e
BLAKE2b-256 d2b51e12e8702c1abf53ebb81e456a3a6f4fdf4074d43376ebf4689d8ac1e9ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for teamtomo-0.5.2rc1-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