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.3.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.3.0
File Size Uploaded
protobean-0.3.0.tar.gz 26.2 kB Details

Built distribution (wheel)

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

Total release size: 59.7 kB

Release files / protobean-0.3.0.tar.gz

Download URL protobean-0.3.0.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
124d95e8a4c5be3ac5f9e741da6c4751f06e630b759fdac09494828585ee19a0
BLAKE2b-256 checksum
How to use checksums
b7af74d54efb4f9ba687f512a2f07ad9e9f763920a95ece8fafb23c91500eb8a
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 9, 2026.

Transparency log

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

Download URL protobean-0.3.0-py3-none-any.whl
Size 33.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1efc538b46fa9a595f6c6eddb1f431abe2e66b6dcbff4842c715abdf95f35c36
BLAKE2b-256 checksum
How to use checksums
89045759008390d0be60edc6e9f6f8d2a462f4211645252ee2d9dd40ecd18194
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 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

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