Skip to main content

codecov sphinx

brom_drake-py

Brom is a helper library for the Drake robotics simulation and verification library. Its goal is to simplify common debugging and testing activities in Drake (for example, logging the outputs of systems in your block diagrams).

Some of Brom's features:

Feature Code Results
The Diagram Watcher (the DiagramWatcher will log + plot all output ports of your Diagram automatically) add_watcher_and_build() Creation of Brom Directory
The Drake-ify feature (converts your URDF file into a form that Drake can consume) drakeify_my_urdf() Drakeify Example
Productions (partially complete robot scenarios to test your algorithms) (See Examples Directory or the Docs) Kinematic Motion Planning Example
Puppeteer (Move free bodies in drake with a RigidTransform input) Puppetmaker class's methods A cube being moved using the Puppetmaker's methods.

To learn more, look through our documentation here.

Installation

brom_drake is available on PyPI and installable with pip:

pip install brom-drake

ROS 2-capable install

If you use ROS 2 package URIs (for example, package://...) and want brom_drake to resolve package share directories via ament_index_python, install the optional ROS 2 extra:

pip install "brom-drake[ros2]"

In most ROS 2 workflows, make sure your ROS 2 environment is sourced before running your scripts so package discovery works as expected.

Developer install

You can also install the package during local development by cloning the repository and running the following commands from inside it:

pip install -r requirements.txt
pip install -e .

Citation

Feel free to cite this project if it helped with your work!

@misc{bromDrake2024,
  author = "Kwesi Rutledge and the Wrench Robotics Team",
  title = "Brom: A Helper Library for the Drake Toolbox",
  year = 2024,
}

FAQs

Why the name Brom?

Brom the storyteller is a character from the Inheritance series by Christopher Paolini. He is a wise mentor that helps Eragon (the protagonist) master dragons. ;)

Where are the release notes?

You can follow the development of Brom by:

  • Following the Release Notes on Substack ([Substack])
  • Studying the Pull Requests (available above in the Pull Requests tab of GitHub), or

How can I support this project?

Feel free to create an issue/send the Wrench Robotics team a message if you're interested in helping out!

Some other work in the open-source Drake community:

  • kinova_drake - A Drake-based library that builds a simple version of the manipulation station for the Kinova Gen3 robot arm. Also works with the hardware.
  • airo-drake - A python package meant to simplify working with Drake and the airo-mono repository from the AI and Robotics Lab at Ghent University.

To-Dos

  • Figure out how to tell if two systems are connected in Drake.
  • Add more readme explanations of what is going on under the hood.
  • Create a method that makes each material in a URDF file have unique names if they have specific values
  • Allow for the user to give "Drake-unfriendly" URDFs to ShowMeThisModel production

Metadata

Release files for brom-drake 1.0.0.post2

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

Source distribution (sdist)

Source distribution for brom-drake 1.0.0.post2
File Size Uploaded Provenance Actions
brom_drake-1.0.0.post2.tar.gz 27.6 MB With provenance Details for brom_drake-1.0.0.post2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for brom-drake 1.0.0.post2
File Interpreter ABI Platform Actions
brom_drake-1.0.0.post2-py3-none-any.whl Python 3 none any Details for brom_drake-1.0.0.post2-py3-none-any.whl

Total release size: 55.4 MB

Release files / brom_drake-1.0.0.post2.tar.gz

Download URL brom_drake-1.0.0.post2.tar.gz
Size 27.6 MB
Tags Source
SHA-256 checksum
How to use checksums
77ab085aa8a4498aa10f3c760afdb78c681cc7acb1417c297196c41af5d8cc06
BLAKE2b-256 checksum
How to use checksums
70dd4884f9964ca8e616c0995bbb9d5f6428be73773b33516a411aecc3e5b13b
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 23, 2026.

Transparency log

Release files / brom_drake-1.0.0.post2-py3-none-any.whl

Download URL brom_drake-1.0.0.post2-py3-none-any.whl
Size 27.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
699d5acb29f39d27577d412f9c5f5d6cdba3eb11b7131aae6990fe5592123f28
BLAKE2b-256 checksum
How to use checksums
4062e32dfcf7fa67bf2f66874c6c11163fe15a124a1bfc7533ba50987b9870ad
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 23, 2026.

Transparency log

Security for brom-drake 1.0.0.post2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for brom_drake-1.0.0.post2.tar.gz

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 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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