Skip to main content

bdsim: Block Diagram Simulation for Python

bdsim logo
A Pythonic block-diagram environment for the simulation and analysis of dynamic systems.

Block diagram thinking → Python coding

JupyterLite PyPI version Documentation

GitHub • Wiki • Changelog • Installation


Status & Project Health

Build Status Downloads Python Version Coverage License: MIT

Ecosystem & Dependencies

A Python Robotics Package QUT Centre for Robotics Open Source

powered by NumPy powered by SciPy powered by Matplotlib Powered by Spatial Maths

Synopsis

bdsim bridges the gap between mathematical block diagrams and executable Python code. Unlike traditional graphical-only tools, it treats modelling as code, allowing you to define, simulate, and analyze continuous-time, discrete-time, or hybrid systems within a modern software engineering workflow. Wires in bdsim aren't limited to scalars; they pass NumPy arrays, dictionaries, or even SpatialMath objects seamlessly through your system, integrating directly with the Robotics and Machine Vision toolboxes.

🚀 Key Features

  • Python-First Workflow: Define your systems in pure Python code. Use your preferred IDE (like VS Code), manage versions with Git, and integrate with standard unit-testing frameworks.
  • Rich Data Types: Wires in bdsim aren't limited to scalars. Seamlessly pass NumPy arrays, dictionaries, or complex objects like SE3 and SO3 from the spatialmath-python library.
  • Modular & Extensible: Adding new functionality is straightforward. Create custom blocks by simply subclassing the Block class.
  • Hybrid Ecosystem: Native integration with the Robotics Toolbox and Machine Vision Toolbox for Python.
  • Powerful Editor: Includes bdedit, a PySide-based graphical editor for visual system design and discovery.
  • Publication Ready: Export diagrams or simulation data to to high-quality formats such as PDF or SVG for use in publications.

💻 Quick start

You can install bdsim directly from PyPI:

pip install bdsim

To include the graphical editor (bdedit) and its dependencies:

pip install bdsim[editor]

Install locally with help from the detailed installation guide.

Or skip setup and run the browser-based JupyterLite examples.

Example

The power of bdsim lies in its conciseness. The step response of a simple first-order system can be defined and simulated in just a few lines of code:

import bdsim

sim = bdsim.BDSim()
bd = sim.blockdiagram()

# Define blocks
step = bd.STEP(T=1, pos=1)
plant = bd.LTI_SISO(1, [1, 1]) # 1/(s+1)
scope = bd.SCOPE()

# Connect blocks
bd.connect(step, plant)
bd.connect(plant, scope)

bd.compile()
out = sim.run(bd, T=5)

🔍 Why bdsim?

In contrast to traditional graphical simulation tools, bdsim treats modelling as code. This ensures:

  • Better Version Control: No more opaque binary blobs. Your models are searchable, diffable text.

  • Seamless Integration: Incorporate SciPy solvers, PyTorch models, or custom robotic vision pipelines directly into your simulation loops.

  • Scalability: Programmatically generate massive block diagrams or run large-scale batch simulations on headless servers.

📚 Documentation

Full Documentation: https://petercorke.github.io/bdsim/

Wiki: Access the community wiki for deep dives into specific block behaviours and tutorials.

Metadata

Release files for bdsim 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bdsim 1.4.0
File Size Uploaded
bdsim-1.4.0.tar.gz 6.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for bdsim 1.4.0
File Interpreter ABI Platform
bdsim-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 MB

Release files / bdsim-1.4.0.tar.gz

Download URL bdsim-1.4.0.tar.gz
Size 6.2 MB
Tags Source
SHA-256 checksum
How to use checksums
c69811e8a11d319435585866a9d3a205fe6f686c9c4fa5a102a0fba2122c3085
BLAKE2b-256 checksum
How to use checksums
ad024dacbe41c50c56f0459b974a5283660f3a3fa0567b4270317f8e310b31f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / bdsim-1.4.0-py3-none-any.whl

Download URL bdsim-1.4.0-py3-none-any.whl
Size 619.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e6039d0175a13ade718296cb0fdfecd55fd603ac737d743372bd7071efec7aa1
BLAKE2b-256 checksum
How to use checksums
3f54aa2ee274235162d3a194fa0e3051efa1f7ac45b5bbe5e1f8e5b6837317d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7

1 release file

0.6

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page