Skip to main content

Build AI with anyone. On data that can't move. SDK for the tracebloc collaborative AI workspace.

Project description

tracebloc

Build AI with anyone. On data that can't move.

tracebloc is a collaborative AI workspace you deploy on your own infrastructure. Invite researchers, partners, vendors, or your own teams to train, fine-tune, and benchmark models on your private data — without the data ever leaving your environment.

Install

Pick the extra for your ML framework — the default install contains the core SDK only (~140 MB, ~30 sec) instead of every framework (~8 GB).

pip install "tracebloc[pytorch]"      # most users
pip install "tracebloc[tensorflow]"   # TensorFlow
pip install "tracebloc[sklearn]"      # scikit-learn only
pip install "tracebloc[boosting]"     # XGBoost / CatBoost / LightGBM
pip install "tracebloc[survival]"     # lifelines / scikit-survival
pip install "tracebloc[all]"          # everything

Upgrading from tracebloc_package? See MIGRATION.md.

Quick Start

from tracebloc import User

# 1. Log in to your workspace
user = User()
user.login()

# 2. Upload your model to a use case
user.upload_model(model_name="my_model")

# 3. Link your model to the dataset — returns a training-plan facade
training_plan = user.link_model_dataset(dataset_id="<your-dataset-id>")

# 4. Start training
training_plan.start()

For a full walkthrough, open the Quickstart Notebook on Google Colab.

Supported Frameworks

Framework Use Cases
PyTorch Image classification, object detection, semantic segmentation, tabular, text classification, time series, keypoint detection, survival analysis
TensorFlow Image classification, tabular classification
scikit-learn Tabular classification, tabular regression
XGBoost Tabular classification, tabular regression
CatBoost Tabular classification, tabular regression
LightGBM Tabular classification, tabular regression
lifelines Survival analysis (time-to-event)
scikit-survival Survival analysis (time-to-event)

How It Works

  1. Deploy a tracebloc workspace on any machine or Kubernetes cluster
  2. Define a use case — select datasets, set evaluation metrics
  3. Invite anyone — researchers, partners, your own teams across locations
  4. Build — contributors train models inside your environment using this SDK
  5. Compare — every submission benchmarked under identical conditions on one leaderboard

Local development setup

To work on the tracebloc SDK and test changes with the "start-training" Jupyter Notebook (also running locally), clone the start-training repository and set up a virtual environment using a Python version compatible with TensorFlow (ideally 3.11 or 3.12).

Set up virtual environment:

python3.12 -m venv {venv_location}
source {venv_location}/bin/activate
pip install jupyter

Or with Pyenv:

pyenv virtualenv 3.12 start-training
pyenv activate start-training
pip install jupyter

Register the venv as a Jupyter kernel so the notebook uses it:

python -m ipykernel install --user --name=start-training --display-name "start-training"

Option 1: Editable install (recommended for iterating on source)

pip install -e {path_to}/tracebloc-py-package

Source changes are picked up immediately — no reinstall needed. Best for day-to-day development.

Option 2: Local install (non-editable)

pip install {path_to}/tracebloc-py-package

Installs a snapshot into site-packages. You must re-run this command after every change. Useful for verifying the package works when installed normally.

Option 3: Install from a built distribution

Build a wheel or sdist first, then install it:

cd {path_to}/tracebloc-py-package
python -m build
cd {path_to}/start-training
pip install {path_to}/tracebloc-py-package/dist/tracebloc-*.whl

Use this to catch packaging issues (missing files, incorrect metadata, incomplete install_requires) before publishing to PyPI.

Switching between options

pip install on the same package name replaces the previous installation automatically. To remove the package entirely:

pip uninstall tracebloc -y

Running the notebook

jupyter notebook notebooks/traceblocTrainingGuide.ipynb

Select the "start-training" kernel if it isn't already selected.

Note: skip the !pip install tracebloc[pytorch] cell in the notebook — the package is already installed locally via one of the options above.

Releasing

Maintainer-only. Skip this section unless you're cutting a new tracebloc release.

Releases are tag-driven: pushing a tag matching v*.*.* on develop triggers .github/workflows/publish-release.yml, which validates the build matrix, publishes to TestPyPI, verifies the install, then waits for a manual approval before publishing to PyPI.

End-to-end shape: validate matrix → TestPyPI → verify-from-TestPyPI → manual approval → PyPI (~20 min wall-clock with a hold at the approval gate).

Pre-flight (one-time per repo)

These are configured once and stay good. Sanity-check them before the first release on a new repo:

  • GitHub secrets in repo settings:
    • TEST_PYPI_API_TOKEN — used by the publish-testpypi stage
    • PYPI_API_TOKEN — used by the publish-pypi stage
  • GitHub environment production-pypi exists with required reviewers configured. The publish-pypi job uses this environment to force a manual approval gate before the PyPI upload.

Step 0 — Optional dry-run (first-ever tag pipeline run)

Tag a release candidate first to exercise the pipeline without publishing to production PyPI — deny the approval gate to stop just before the PyPI upload:

git checkout develop && git pull --ff-only
git tag v0.X.YrcN && git push origin v0.X.YrcN

Skip this step on subsequent releases once the pipeline is known good.

Step 1 — Tag the real release

git checkout develop
git pull --ff-only

# Confirm pyproject.toml version matches the tag you're about to push
# (the workflow's verify-tag-matches-version step fails otherwise).
grep "^version" pyproject.toml

git tag v0.X.Y
git push origin v0.X.Y

Step 2 — Watch the workflow

gh run watch
gh run list --workflow=publish-release.yml --limit 5

Stages:

  1. validate — Py 3.9–3.12 × 7 extras matrix; ~10–15 min
  2. publish-testpypi — builds + uploads to TestPyPI; ~2 min
  3. verify-testpypi — installs from TestPyPI; ~3 min (includes a 60s sleep for indexing)
  4. publish-pypi — paused for approval

Step 3 — Approve the production publish

GitHub: Actions → workflow run → publish-pypi job → Review deployments → production-pypi → Approve.

Once approved, the PyPI upload runs (~1 min). Verify:

pip index versions tracebloc    # should show the new version

Step 4 — Same-day cross-repo coordination

Once the version is live on PyPI:

  1. tracebloc/start-training — bump the notebook pin if the release ships user-facing API changes; flip the coordination PR from draft → ready-for-review; merge.
  2. tracebloc/docs (Mintlify) — install command + API example updates as a same-day PR.
  3. tracebloc/tracebloc-website-main — homepage quickstart snippet PR if relevant.

Skip 2 and 3 for quiet patch releases with no doc-visible surface.

Step 5 — Post-release

  1. Update CHANGELOG.md: change ## [0.X.Y] — Unreleased## [0.X.Y] — YYYY-MM-DD. One-line follow-up commit on develop.
  2. Close any stale test-trigger PRs if still open.
  3. Announce per team norms.

Links

License

MIT

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

tracebloc-0.8.1.tar.gz (154.3 kB view details)

Uploaded Source

Built Distribution

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

tracebloc-0.8.1-py3-none-any.whl (206.0 kB view details)

Uploaded Python 3

File details

Details for the file tracebloc-0.8.1.tar.gz.

File metadata

  • Download URL: tracebloc-0.8.1.tar.gz
  • Upload date:
  • Size: 154.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for tracebloc-0.8.1.tar.gz
Algorithm Hash digest
SHA256 de5934cf19b7d09cd8bd09623dc86407d6dc99718eee7aca54d25e296d377c16
MD5 81a25400dcd50f11b2361ad990824a12
BLAKE2b-256 68493ae5c6da6400a1d919f7a769b8bc499f70ed4d91e579f0b877fa90a76257

See more details on using hashes here.

File details

Details for the file tracebloc-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: tracebloc-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 206.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for tracebloc-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 156da0c97c364638f5f268725c3b60cc9dd6fd58c89ca42ac5569110e278419a
MD5 da741e544c1697fca532ba49dac0ce58
BLAKE2b-256 d225d7a5a3eb3671330369eed391dbf2e5ea398c73c7e14174455e6de7b3be00

See more details on using hashes here.

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