Skip to content


research code

A modular system to manage research code so you can move quickly while enabling reuse and collaboration.


Unified representation

Run code and inspect results using the same abstraction. Check out the example below ⏬


Designed for rapid iteration

Spend more time experimenting while relying on machinable to keep things organized.


Hackable and interactive

Tweak, extend, override while leveraging first-class support for Jupyter as well as the CLI.


Some research code

Running code ...

python --rate=0.1 --logs=1 --name=run-01

... and loading the corresponding results ...

python --component=run-01

... are distinct and often redundant.

This means you have to manually keep track by remembering what the component with rate=0.1 was called.

machinable research code

Running code ...

machinable regression rate=0.1 logs_=True --launch

... and loading the corresponding results ...

machinable regression rate=0.1 logs_=True --launch --plot

... are distinct but use the same abstraction.

This means no need to worry about names as machinable automatically keeps track if you ran rate=0.1 before.

➡️ Learn more about machinable's approach


MIT Licensed