{"slug": "tesseract-core-universal-components-for-differentiable-scientific-computing", "title": "Tesseract Core: Universal components for differentiable scientific computing", "summary": "Pasteur Labs released Tesseract Core, an open-source framework for packaging scientific software into portable, differentiable components that can run across local machines, cloud, and HPC clusters. The tool enables end-to-end optimization of heterogeneous scientific pipelines by propagating gradients through components written in different languages and using different differentiation strategies.", "body_md": "Universal components for differentiable scientific computing 📦\n\n[Read the docs](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/) |\n[Showcases & tutorials](https://si-tesseract.discourse.group/c/showcase/11) |\n[Report an issue](https://github.com/pasteurlabs/tesseract-core/issues) |\n[Community forum](https://si-tesseract.discourse.group/) |\n[Contribute](https://github.com/pasteurlabs/tesseract-core/blob/main/CONTRIBUTING.md)\n\n**Real-world scientific workflows span multiple tools, languages, and computing environments.** You might have a mesh generator in C++, a solver in Julia, and post-processing in Python. Getting these to work together is painful. Getting gradients to flow through them for optimization is nearly impossible.\n\nExisting autodiff frameworks work great within a single codebase, but fall short when your pipeline crosses framework boundaries or includes legacy tools.\n\nTesseract packages scientific software into **self-contained, portable components** that:\n\n**Run anywhere**— Local machines, cloud, HPC clusters. Same container, same results.** Expose clean interfaces**— CLI, REST API, and Python SDK. No more deciphering undocumented scripts.** Propagate gradients**— Each component can expose derivatives, enabling end-to-end optimization across heterogeneous pipelines.** Self-document**— Schemas, types, and API docs are generated automatically.\n\n**Researchers** interfacing with (differentiable) simulators or probabilistic models, or who need to combine tools from different ecosystems.**R&D engineers** packaging research code for use by others, without spending weeks on DevOps.**Platform engineers** deploying scientific workloads at scale with consistent interfaces and dependency isolation.\n\nThe [rocket fin optimization case study](https://si-tesseract.discourse.group/t/parametric-shape-optimization-of-rocket-fins-with-ansys-spaceclaim-pyansys-and-tesseract/109) combines three Tesseracts:\n\n```\n[SpaceClaim geometry] → [Mesh + SDF] → [PyMAPDL FEA solver]\n         ↑                                      |\n         └──────── gradients flow back ─────────┘\n```\n\nEach component uses a different differentiation strategy (analytic adjoints, finite differences, JAX autodiff), yet they compose into a single optimizable pipeline that [is one jax.grad call away](https://github.com/pasteurlabs/tesseract-jax) from end-to-end gradients.\n\nTip\n\nMore examples in the [example gallery](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/examples/example_gallery.html) and [community showcases](https://si-tesseract.discourse.group/c/showcase/11).\n\n[\n](https://github.com/pasteurlabs/tesseract-core/blob/main/docs/img/demo.gif)\n\n*Getting started: install, build an example, and run it.*\n\nNote\n\nRequires [Docker](https://docs.docker.com/engine/install/) and Python 3.10+.\n\n**CLI:**\n\n``` bash\n# Install Tesseract Core\n$ pip install tesseract-core\n\n# Create a new project in the current directory\n$ tesseract init --name my-tesseract\n\n# Edit `tesseract_api.py`, or download an example\n$ curl -so ./tesseract_api.py https://raw.githubusercontent.com/pasteurlabs/tesseract-core/main/examples/vectoradd/tesseract_api.py\n\n# Build it into a container\n$ tesseract build .\n\n# Run it\n$ tesseract run my-tesseract apply '{\"inputs\": {\"a\": [1, 2, 3], \"b\": [10, 20, 30]}}'\n# → {\"result\": [11, 22, 33]}\n\n# Compute the Jacobian\n$ tesseract run my-tesseract jacobian '{\"inputs\": {\"a\": [1, 2, 3], \"b\": [10, 20, 30]}, \"jac_inputs\": [\"a\"], \"jac_outputs\": [\"result\"]}'\n# → {\"result\": {\"a\": [[1, 0, 0], [0, 1, 0], [0, 0, 1]]}}\n```\n\n**Python SDK:**\n\n``` python\nfrom tesseract_core import Tesseract\n\nwith Tesseract.from_image(\"my-tesseract\") as t:\n    result = t.apply({\"a\": [1, 2, 3], \"b\": [10, 20, 30]})\n    jac = t.jacobian({\"a\": [1, 2, 3], \"b\": [10, 20, 30]}, jac_inputs=[\"a\"], jac_outputs=[\"result\"])\n```\n\n**Containerized**— Docker-based packaging ensures reproducibility and dependency isolation.** Multi-interface**— Use the same components via CLI, REST API, and Python SDK.** Differentiable**— First-class support for Jacobians, JVPs, and VJPs across component and network boundaries.** Schema-validated**— Pydantic models define explicit input/output contracts.** Language-agnostic**— Wrap Python, Julia, C++,[Fortran](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/examples/building-blocks/fortran.html), or any executable behind a thin Python API.**Self-documenting**— Auto-generated API docs and schemas for every Tesseract (`tesseract apidoc <name>`\n\n).\n\n[\n](https://github.com/pasteurlabs/tesseract-core/blob/main/docs/img/apidoc-screenshot.png)\n\n*Auto-generated API documentation ( tesseract apidoc).*\n\n— CLI, Python SDK, and runtime (this repo).[Tesseract Core](https://github.com/pasteurlabs/tesseract-core)— Embed Tesseracts as JAX primitives into end-to-end differentiable JAX programs.[Tesseract-JAX](https://github.com/pasteurlabs/tesseract-jax)— Embed Tesseracts as PyTorch operators into end-to-end differentiable PyTorch programs.[Tesseract-Torch](https://github.com/pasteurlabs/tesseract-torch)— Auto-generate interactive web apps from Tesseracts.[Tesseract-Streamlit](https://github.com/pasteurlabs/tesseract-streamlit)\n\n[Documentation](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/)[Creating your first Tesseract](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/creating-tesseracts/create.html)[Differentiable programming guide](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/introduction/differentiable-programming.html)[Design patterns](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/creating-tesseracts/design-patterns.html)[Example gallery](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/examples/example_gallery.html)\n\nIf you use Tesseract in your research, please cite:\n\n```\n@article{TesseractCore,\n  doi = {10.21105/joss.08385},\n  url = {https://doi.org/10.21105/joss.08385},\n  year = {2025},\n  publisher = {The Open Journal},\n  volume = {10},\n  number = {111},\n  pages = {8385},\n  author = {Häfner, Dion and Lavin, Alexander},\n  title = {Tesseract Core: Universal, autodiff-native software components for Simulation Intelligence},\n  journal = {Journal of Open Source Software}\n}\n```\n\nTesseract Core is licensed under the [Apache License 2.0](https://github.com/pasteurlabs/tesseract-core/blob/main/LICENSE) and is free to use, modify, and distribute (under the terms of the license).\n\nTesseract is a registered trademark of Pasteur Labs, Inc. and may not be used without permission.", "url": "https://wpnews.pro/news/tesseract-core-universal-components-for-differentiable-scientific-computing", "canonical_source": "https://github.com/pasteurlabs/tesseract-core", "published_at": "2026-07-16 13:08:02+00:00", "updated_at": "2026-07-16 13:25:29.832073+00:00", "lang": "en", "topics": ["developer-tools", "machine-learning", "artificial-intelligence"], "entities": ["Pasteur Labs", "Tesseract Core", "Docker", "Python", "Julia", "C++", "SpaceClaim", "PyMAPDL"], "alternates": {"html": "https://wpnews.pro/news/tesseract-core-universal-components-for-differentiable-scientific-computing", "markdown": "https://wpnews.pro/news/tesseract-core-universal-components-for-differentiable-scientific-computing.md", "text": "https://wpnews.pro/news/tesseract-core-universal-components-for-differentiable-scientific-computing.txt", "jsonld": "https://wpnews.pro/news/tesseract-core-universal-components-for-differentiable-scientific-computing.jsonld"}}