Skip to main content

sillon

Git for simulations — log, track, and analyze your simulation runs.

sillon records the parameters, results, metadata, figures, and source code of every run into a local store (SQLite + HDF5), then lets you explore and compare those runs from the command line or from a notebook. It is designed for researchers who run many simulations and want to keep track of what produced what.

Status: 1.0. The Python logging API, the background server, the CLI, and the analysis library are functional. See the roadmap for what is not yet implemented.

Install

pip install sillon              # the full toolchain
pip install "sillon[analysis]"  # also installs pandas for to_dataframe()

For development from a clone (editable install with test/build tooling):

pip install -e ".[dev]"         # or: make install

Either way you get two console commands: sillon (the CLI) and sillon-server-daemon (the logging server, launched automatically by the Python API).

Quickstart — logging a run

import sillonpy as sp
import numpy as np

sp.init(run_name="my_fit", project_name="demo")   # starts/at­taches to the project store

x = np.linspace(0, 10, 100)
sp.log_param("degree", 1)
coef = np.polyfit(x, 1.3 * x + 5, 1)
sp.log_result("coef", coef)                        # heavy arrays go to HDF5 automatically

import matplotlib.pyplot as plt
fig, ax = plt.subplots(); ax.plot(x, np.polyval(coef, x))
sp.log_figure(fig, name="fit", used=["coef"], caption="Linear fit")  # figure + data provenance

sp.add_tag("baseline"); sp.add_note("first attempt")

Run your script normally (python my_script.py). A run is stored under .sillon/. Re-running with the same run_name auto-increments it (my_fit, my_fit_2, ...), so nothing is overwritten.

Quickstart — analyzing runs

import sillonlab as sl

project = sl.load_project()          # defaults to the current directory
project.show()                       # pretty overview of all runs

run = project.get("my_fit")
run.show()                           # detail card: params, results (+sizes), figures, notes
coef = run.load_result("coef")       # read the array back from HDF5
project.query(degree=1, has_result="coef").to_dataframe()   # filter + tabulate

# attach post-processed data to an existing run for later reuse
run.add_analysis("fit_on_grid", np.polyval(coef, np.linspace(0, 1, 50)), comment="fine grid")

# bundle a run's full context (manifest + readable report + source) into a zip
run.report("my_fit_report.zip", with_data=True)

CLI overview

Run from inside a project directory:

sillon context                       # overview of all runs
sillon search -p optimizer=adam -r coef   # find runs by parameter / result / artifact
sillon show my_fit -p -r             # detailed parameters and results
sillon compare my_fit my_fit_2       # parameter + source diff
sillon add my_fit --tag production --note "kept"
sillon grab my_fit -r coef --dest ./out      # fetch a result/artifact as a file
sillon report my_fit --with-data     # export a context bundle zip
sillon prune --older-than 30d        # free disk space (keeps metadata by default)

See docs/cli.md for the full reference.

Packages

Package Role
silloncommon Data layer: ORM models, queries, command protocol
silloncore Engine (single source of truth), logging server, HDF5/glob storage
sillonpy Python client API used inside simulation scripts
silloncli The sillon command-line tool
sillonlab Analysis library for scripts and notebooks

Testing

make test

Roadmap

Not yet implemented: a GUI, a collaborative web platform, Slurm integration, run reproduction/relaunch (sillon run), a live-monitoring TUI (sillon watch), resource estimation (sillon estimate), and native client APIs for other languages.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sillon-1.3.0.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sillon-1.3.0-py3-none-any.whl (102.1 kB view details)

Uploaded Python 3

File details

Details for the file sillon-1.3.0.tar.gz.

File metadata

  • Download URL: sillon-1.3.0.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sillon-1.3.0.tar.gz
Algorithm Hash digest
SHA256 fdb7d29840a788c58bf63f37ab6642c1c03316b4b49a8f2d6c314a944c3ea0dc
MD5 86dc7ca9af0b5f8bf88dbee189f59d87
BLAKE2b-256 d92ab1697b348e522e2526e26142ca328251caf4c063bc5d7a838aa854f27f4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sillon-1.3.0.tar.gz:

Publisher: publish.yml on balerat/sillon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sillon-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: sillon-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 102.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sillon-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cc7cf5f9440dd7486f571aee3640cd1d9321e7364b24ffd8d9b38d4a205d124
MD5 bc1e553a9c9131688ed88d821828c5a7
BLAKE2b-256 b2bf59c4efd8d2f34c0c9341e3df5733e0f2e036e297e9e0459c6263aead0479

See more details on using hashes here.

Provenance

The following attestation bundles were made for sillon-1.3.0-py3-none-any.whl:

Publisher: publish.yml on balerat/sillon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.3.6

2 files

1.3.5

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

This release

1.3.0 This release

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.1.2

2 files

1.1.0

2 files

1.0.0

2 files

0.1.0

2 files

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