Skip to content

Jaxonomy documentation

Jaxonomy is a Python package for simulating hybrid dynamical systems described as block diagrams: wired blocks (integrators, gains, custom subsystems, acausal networks, and more), continuous and discrete states, and event/zero-crossing logic. The runtime is built around JAX, so you get JIT-friendly execution and automatic differentiation where the model allows it, while keeping a NumPy-style API for numerics.

The library runs entirely locally and can serialise models to Collimator-format JSON. There is no hosted cloud service — see the About page for the project's scope.

The source lives at github.com/machinavitalis/jaxonomy.


Install

pip install jaxonomy

Use a virtual environment when possible. Platform notes, optional extras ([safe], [nmpc], [all]), and development installs from a git clone are covered in the installation guide.


Where to go next

Goal Link
First simulation walkthrough Tutorials → Getting started
Shorter topical guides Tutorials index
Applied notebooks (control, MPC, ML, …) Examples
DiagramBuilder, LeafSystem, ports Framework
Built-in blocks Block library
simulate, solvers, options Simulation
Training / optimization helpers Optimization

Minimal pattern

  1. Add blocks with DiagramBuilder, connect outputs to inputs, then build().
  2. Call jaxonomy.simulate(diagram, context, t_span, ...), where t_span is a (start, stop) tuple (see Simulation for SimulatorOptions and results handling).
  3. Pass recorded_signals={name: port} for anything you want back — without it, results.time and results.outputs are None.

The Getting started tutorial builds a simple mass–spring–damper-style diagram step by step.


Using Jaxonomy from an AI agent

If you are pointing an AI coding agent at Jaxonomy, start it on the agent guide — when to use the library, when to reach for something else, the core API, and the pitfalls that most often break a first script.

Machine-readable views of this site, following the llms.txt convention:

File Contents
/llms.txt Index of the documentation, with a short description of each page
/llms-full.txt The full documentation as a single Markdown file

Jaxonomy also ships an MCP server that exposes the engine as tools an agent can call directly.


Build this site locally

pip install -r requirements.docs.txt
mkdocs serve

Source for this page: docs/index.md.


License and attribution

This project is released under the MIT License. See the LICENSE.md file in the repository for the full text.

Provenance: This library is derived from the MIT-licensed open-source Python package pycollimator, developed by Collimator, Inc.