Tesseract Core

Tesseract Core: Universal, autodiff-native software components for Simulation Intelligence - Published in JOSS (2025)

https://github.com/pasteurlabs/tesseract-core

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

api-rest automatic-differentiation containers differentiable-programming remote-procedure-calls scientific-machine-learning
Last synced: 4 months ago · JSON representation ·

Repository

Universal, autodiff-native software components for Simulation Intelligence. 📦

Basic Info
Statistics
  • Stars: 70
  • Watchers: 4
  • Forks: 4
  • Open Issues: 30
  • Releases: 17
Topics
api-rest automatic-differentiation containers differentiable-programming remote-procedure-calls scientific-machine-learning
Created 10 months ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners

README.md

Tesseract Core

Universal, autodiff-native software components for Simulation Intelligence. :package:

Read the docs | Report an issue | Talk to the community | Contribute


DOI

Tesseract Core bundles:

  1. Tools to define, create, and run Tesseracts, via the tesseract CLI and tesseract_core Python API.
  2. The Tesseract Runtime, a lightweight, high-performance execution environment for Tesseracts.

What is a Tesseract?

Tesseracts are components that expose experimental, research-grade software to the world. They are self-contained, self-documenting, and self-executing, via command line and HTTP. They are designed to be easy to create, easy to use, and easy to share, including in a production environment. This repository contains all you need to define your own and execute them.

Tesseracts provide built-in support for differentiable programming by propagating gradient information at the level of individual components, making it easy to build complex, diverse software pipelines that can be optimized end-to-end.

Quick start

[!NOTE] Before proceeding, make sure you have a working installation of Docker and a modern Python installation (Python 3.10+); if you prefer Docker Desktop for your platform, see our extended installation instructions.

  1. Install Tesseract Core:

bash $ pip install tesseract-core

  1. Build an example Tesseract:

bash $ git clone https://github.com/pasteurlabs/tesseract-core $ tesseract build tesseract-core/examples/vectoradd

  1. Display its API documentation:

bash $ tesseract apidoc vectoradd

  1. Run the Tesseract:

bash $ tesseract run vectoradd apply '{"inputs": {"a": [1], "b": [2]}}' {"result":{"object_type":"array","shape":[1],"dtype":"float64","data":{"buffer":[3.0],"encoding":"json"}}}⏎

[!TIP] Now you're ready to dive into the documentation for more information on installation, creating Tesseracts, and invoking them.

License

Tesseract Core is licensed under the Apache License 2.0 and is free to use, modify, and distribute (under the terms of the license).

Tesseract is a registered trademark of Pasteur Labs, Inc. and may not be used without permission.

Owner

  • Name: Pasteur-ISI
  • Login: pasteurlabs
  • Kind: organization

JOSS Publication

Tesseract Core: Universal, autodiff-native software components for Simulation Intelligence
Published
July 22, 2025
Volume 10, Issue 111, Page 8385
Authors
Dion Häfner ORCID
Pasteur Labs, Brooklyn, NY, USA
Alexander Lavin ORCID
Pasteur Labs, Brooklyn, NY, USA
Editor
Chris Vernon ORCID
Tags
automatic-differentiation differentiable-programming scientific-machine-learning simulation container remote-procedure-call cloud-computing scientific-computing python

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Häfner
  given-names: Dion
  orcid: "https://orcid.org/0000-0002-4465-7317"
- family-names: Lavin
  given-names: Alexander
  orcid: "https://orcid.org/0000-0003-3422-7820"
contact:
- family-names: Häfner
  given-names: Dion
  orcid: "https://orcid.org/0000-0002-4465-7317"
doi: 10.5281/zenodo.16333901
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Häfner
    given-names: Dion
    orcid: "https://orcid.org/0000-0002-4465-7317"
  - family-names: Lavin
    given-names: Alexander
    orcid: "https://orcid.org/0000-0003-3422-7820"
  date-published: 2025-07-22
  doi: 10.21105/joss.08385
  issn: 2475-9066
  issue: 111
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 8385
  title: "Tesseract Core: Universal, autodiff-native software components
    for Simulation Intelligence"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.08385"
  volume: 10
title: "Tesseract Core: Universal, autodiff-native software components
  for Simulation Intelligence"

GitHub Events

Total
  • Fork event: 3
  • Create event: 156
  • Commit comment event: 1
  • Issues event: 83
  • Release event: 8
  • Watch event: 66
  • Delete event: 145
  • Issue comment event: 458
  • Public event: 1
  • Push event: 958
  • Pull request review event: 644
  • Pull request review comment event: 498
  • Pull request event: 354
Last Year
  • Fork event: 3
  • Create event: 156
  • Commit comment event: 1
  • Issues event: 83
  • Release event: 8
  • Watch event: 66
  • Delete event: 145
  • Issue comment event: 458
  • Public event: 1
  • Push event: 958
  • Pull request review event: 644
  • Pull request review comment event: 498
  • Pull request event: 354

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 53
  • Total pull requests: 169
  • Average time to close issues: 28 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 13
  • Total pull request authors: 18
  • Average comments per issue: 1.43
  • Average comments per pull request: 1.69
  • Merged pull requests: 109
  • Bot issues: 1
  • Bot pull requests: 32
Past Year
  • Issues: 53
  • Pull requests: 169
  • Average time to close issues: 28 days
  • Average time to close pull requests: 3 days
  • Issue authors: 13
  • Pull request authors: 18
  • Average comments per issue: 1.43
  • Average comments per pull request: 1.69
  • Merged pull requests: 109
  • Bot issues: 1
  • Bot pull requests: 32
Top Authors
Issue Authors
  • dionhaefner (18)
  • jpbrodrick89 (10)
  • xalelax (6)
  • angela-ko (3)
  • apaleyes (3)
  • linusseelinger (2)
  • jacanchaplais (2)
  • andrinr (2)
  • johnbcoughlin (2)
  • heitorPB (2)
  • nikolasborrel (1)
  • github-actions[bot] (1)
  • nmheim (1)
Pull Request Authors
  • dionhaefner (51)
  • github-actions[bot] (20)
  • jpbrodrick89 (12)
  • dependabot[bot] (12)
  • xalelax (11)
  • angela-ko (11)
  • zmheiko (9)
  • PasteurBot (9)
  • johnbcoughlin (7)
  • nmheim (6)
  • heitorPB (5)
  • linusseelinger (4)
  • BoltzmannBrain (3)
  • llueg (3)
  • pavloboyko (3)
Top Labels
Issue Labels
enhancement (7) good first issue (5) question (1)
Pull Request Labels
dependencies (12) github_actions (8) python (4)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,404 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 15
  • Total maintainers: 2
pypi.org: tesseract-core

A toolkit for universal, autodiff-native software components.

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,404 Last month
Rankings
Dependent packages count: 9.6%
Average: 31.7%
Dependent repos count: 53.9%
Maintainers (2)
Last synced: 4 months ago

Dependencies

.github/workflows/build_docs.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/conventional-pr-linter.yml actions
  • amannn/action-semantic-pull-request v5 composite
.github/workflows/get_coverage.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v5.3.1 composite
.github/workflows/pre-commit-cron-updater.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • peter-evans/create-pull-request v7 composite
.github/workflows/pre_commit.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • pre-commit/action v3.0.1 composite
.github/workflows/publish.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/run_tests.yml actions
  • Vampire/setup-wsl v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • conda-incubator/setup-miniconda v3 composite
tesseract_core/sdk/templates/docker-compose.yml docker
docs/requirements.txt pypi
  • autodoc_pydantic ==2.2.0
  • furo ==2024.8.6
  • myst-parser ==4.0.1
  • sphinx ==8.2.1
  • sphinx_autodoc_typehints ==3.1.0
  • sphinx_click ==6.0.0
  • sphinx_copybutton ==0.5.2
  • sphinx_design ==0.6.1
  • sphinxext_opengraph ==0.9.1
examples/helloworld/tesseract_requirements.txt pypi
examples/localpackage/package/pyproject.toml pypi
examples/localpackage/tesseract_requirements.txt pypi
examples/meshstats/tesseract_requirements.txt pypi
  • numpy ==1.26.0
examples/univariate/tesseract_requirements.txt pypi
  • jax ==0.4.28
examples/vectoradd/tesseract_requirements.txt pypi
  • numpy ==1.26.4
examples/vectoradd_jax/tesseract_requirements.txt pypi
  • jax *
pyproject.toml pypi
  • docker *
  • jinja2 *
  • numpy *
  • pydantic *
  • pyyaml *
  • requests *
  • rich *
  • typer *
requirements-dev.txt pypi
  • detect-secrets ==1.5.0 development
  • httpx ==0.28.1 development
  • jsf ==0.11.2 development
  • moto ==5.1.0 development
  • pre-commit ==4.1.0 development
  • pytest ==8.3.4 development
  • pytest-cov ==6.0.0 development
  • pytest-mock ==3.14.0 development
  • typeguard ==4.4.2 development
requirements.txt pypi
  • docker ==7.1.0
  • jinja2 ==3.1.5
  • numpy ==2.2.3
  • pydantic ==2.10.6
  • pyyaml ==6.0.1
  • requests ==2.32.3
  • rich ==13.9.4
  • typer ==0.15.1
tesseract_core/runtime/meta/pyproject.toml pypi
  • click >=8.1
  • fastapi >=0.115
  • fsspec [http,s3]>=2024.12
  • msgpack >=1.1
  • numpy >=1.26
  • pybase64 >=1.4
  • pydantic >=2.10
  • requests >=2.32
  • typer >=0.15
  • uvicorn >=0.34
tesseract_core/runtime/meta/requirements.txt pypi
  • click ==8.1.8
  • fastapi ==0.115.8
  • fsspec ==2025.2.0
  • msgpack ==1.1.0
  • numpy ==2.0.2
  • numpy ==2.2.3
  • pybase64 ==1.4.0
  • pydantic ==2.10.6
  • requests ==2.32.3
  • typer ==0.15.1
  • uvicorn ==0.34.0
tesseract_core/sdk/templates/base/tesseract_requirements.txt pypi
tesseract_core/sdk/templates/jax/tesseract_requirements.txt pypi
  • jax *
tests/dummy_tesseract/tesseract_requirements.txt pypi
  • numpy ==1.26.4 test