Skip to content

machinable

research code

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

machinable-logo
🛠️

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 regression.py --rate=0.1 --logs=1 --name=run-01

... and loading the corresponding results ...

python plot_regression_result.py --experiment=run-01

... are distinct and often redundant.

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


machinable research code

Running code ...

get("regression", {"rate":0.1, "logs_": True}).launch()

... and loading the corresponding results ...

get("regression", {"rate":0.1, "logs_": True}).launch()

... 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




logo

MIT Licensed