Skip to main content

Notebook editor and orchestrator for reproducible data science

Project description

BulletJournal

BulletJournal is a notebook orchestration platform for reproducible data science. It layers explicit artifact passing, persistent graph state, stale detection, checkpoints, and managed execution on top of Marimo notebooks.

For multi-project orchestration with separated environments through Docker containers, see BulletJournal-Controller.

DISCLAIMER: This project is part of an experiment to evaluate the potential of AI tooling for software engineering. Most of the code in this repo was produced by an LLM and may not offer the same security or robustness as human-written code. Please don't deploy it in a critical production environment without isolation, especially given that the project was made to run user-provided Python code.

Requirements

  • Python 3.11+
  • A dedicated environment is recommended (uv or venv)

Quickstart

pip install bulletjournal-editor
bulletjournal init testproject
bulletjournal start testproject --open

If you are already inside a project root, running bulletjournal with no subcommand starts the app.

Common commands

bulletjournal init testproject
bulletjournal init testproject --project-id custom-id
bulletjournal start .
bulletjournal dev . --open
bulletjournal doctor .
bulletjournal validate-templates
bulletjournal rebuild-state .
bulletjournal mark-environment-changed . --reason "dependencies updated"
bulletjournal export . testproject.zip
bulletjournal import testproject.zip restored-study

Project layout

project_root/
├─ graph/
│  ├─ meta.json
│  ├─ nodes.json
│  ├─ edges.json
│  └─ layout.json
├─ notebooks/
├─ artifacts/
│  └─ objects/
├─ metadata/
│  ├─ project.json
│  └─ state.db
├─ checkpoints/
├─ uploads/
│  └─ temp/
├─ pyproject.toml
└─ uv.lock

Docs

  • docs/EXECUTION_PLAN.md
  • docs/ARCHITECTURE.md
  • docs/PROJECT_FORMAT.md
  • docs/NOTEBOOK_AUTHORING.md
  • docs/API.md
  • docs/TEMPLATES.md
  • docs/OPERATIONS.md
  • docs/TROUBLESHOOTING.md

Testing

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
PYTHONPATH=src python -m pytest

Pre-commit

ruff.toml is consumed by ruff automatically from the repo root. To enable the git hook:

pre-commit install

Project details


Download files

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

Source Distribution

bulletjournal_editor-1.2.1.tar.gz (265.8 kB view details)

Uploaded Source

Built Distribution

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

bulletjournal_editor-1.2.1-py3-none-any.whl (296.7 kB view details)

Uploaded Python 3

File details

Details for the file bulletjournal_editor-1.2.1.tar.gz.

File metadata

  • Download URL: bulletjournal_editor-1.2.1.tar.gz
  • Upload date:
  • Size: 265.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bulletjournal_editor-1.2.1.tar.gz
Algorithm Hash digest
SHA256 2adfa0f2a3aef51d1b8b204385a689e759458583a4ff10bb826a50e585d25364
MD5 c4a1032abb94219c4e5235cc714e33a5
BLAKE2b-256 a55df76530a7f1bc0b3161e94101e2af888e5314120b53a8a78cf7f269faa3ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for bulletjournal_editor-1.2.1.tar.gz:

Publisher: publish.yml on Agoratlas/BulletJournal

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

File details

Details for the file bulletjournal_editor-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bulletjournal_editor-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9016cff846dfb16830b1407b4f109bc5f62fd257ead4f27896bb0967ef1790b1
MD5 f9cd0828a5fe24eb7ad4f1a3da175559
BLAKE2b-256 f8d193cff7fbf7b2bf01016f64da69c654b24e0a3b3e5a31f99a7f0c01961603

See more details on using hashes here.

Provenance

The following attestation bundles were made for bulletjournal_editor-1.2.1-py3-none-any.whl:

Publisher: publish.yml on Agoratlas/BulletJournal

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page