Skip to main content

protobean

Protobuf schemas for Beancount ledgers, plus generated Dart and Python packages (protobean) that bind those messages.

The schemas cover a parsed ledger (parser output, including elided amounts and parse-time cost specs) and a processed ledger (booked, interpolated, and consistency-checked).

Protobuf

Sources live under proto/beancount/. Lint and format with Buf 1.72.0 (see buf.yaml):

buf lint
buf format --diff --exit-code

Dart package

Generated code is not committed. After fvm use (or otherwise putting Dart on PATH) and installing Buf:

./tool/generate_dart.sh
dart pub get
dart analyze --fatal-infos
import 'package:protobean/protobean.dart';

The Dart SDK is pinned via FVM in .fvmrc.

Python package

Generated code is not committed. After installing uv and Buf:

./tool/generate_python.sh
uv sync --group dev
uv run ruff check
uv run ruff format --check
from protobean import ledger_pb2

The Python version is pinned in .python-version.

Contributing

Commits follow Conventional Commits and should be atomic (one concern each). Local hooks are in .pre-commit-config.yaml.

Every pull request either adds one changelog line under ## [Unreleased] in CHANGELOG.md, or cuts a release.

An entry line is the squash-merge subject (the PR title) and the PR number:

- feat(proto): add processed ledger messages (#12)

Put that line in its own commit that only touches CHANGELOG.md. Open the PR first so you have a number, then add the changelog commit.

A release PR bumps the version in both pubspec.yaml and pyproject.toml and moves every Unreleased bullet under ## [<version>] - YYYY-MM-DD, leaving Unreleased empty. Publishing a v* tag fails unless Unreleased is empty.

CI runs ./tool/check-changelog.sh and rejects PRs that skip this.

License

GPL-3.0

Release files for protobean 0.2.0

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

Source distribution (sdist)

Source distribution for protobean 0.2.0
File Size Uploaded
protobean-0.2.0.tar.gz 24.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for protobean 0.2.0
File Interpreter ABI Platform
protobean-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 55.3 kB

Release files / protobean-0.2.0.tar.gz

Download URL protobean-0.2.0.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7e31abaa1870eb4a21272ec18ea139b92953acea20a91638c88a93fd010cea7e
BLAKE2b-256 checksum
How to use checksums
db48375297c34432d90b607dc7b681a09c0ffc24450a3f58e41cf696a6d70146
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 Sep 8, 2026.

Transparency log

Release files / protobean-0.2.0-py3-none-any.whl

Download URL protobean-0.2.0-py3-none-any.whl
Size 30.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d58878b657b0195bd574fbedeab9a7d6124fb29a06a64654c29c8c415249439
BLAKE2b-256 checksum
How to use checksums
a98420a98809c5f14ccc5eb675885a9497d93bf7a8ba5d6f32dae42dc44f93c3
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 Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.0 This release

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