All work

apps/means

myMeans

Double-Entry Accounting in Python

myMeans is a double-entry accounting library in Python based on ledger-cli, the C++ precursor to Beancount.

Open repository Version 0.7.0MPL-2.0
myMeans working preview

What it shows

What it is and what it demonstrates.

myMeans is a double-entry accounting library in Python, based on ledger-cli — the C++ precursor to Beancount. It brings plain-text accounting into the Python ecosystem so programs can read, validate, and report on financial ledgers without leaving the stack.

The problem

Plain-text accounting tools exist, but they live in C++ or Go and expose their logic through CLI front-ends rather than programmatic APIs. A Python codebase that needs to reason over ledger data — categorize transactions, compute balances, enforce commodity constraints — either shells out to a foreign binary or re-implements the posting rules from scratch. Neither scales.

The approach

myMeans ports the core ledger-cli model — accounts, commodities, transactions, and their balancing constraints — into a typed Python library with a public API instead of a CLI surface. The 44-test suite and CI gate cover the posting rules that make double-entry correct by construction. Published on PyPI under MPL-2.0 at version 0.7.0 with 17 documentation pages, pre-commit hooks, and full type annotations.

What it demonstrates

A stage-7 published library with 44 tests, 17 docs pages, CI, pre-commit, and full type coverage shows the same care applied to financial correctness that most teams reserve for their core product — accounting rules treated as a compile-time contract, not a spreadsheet convention.

Repository evidence

Observable facts.

Documentation
17 documentation files
Test surface
44 test files
Continuous integration
Configured
Pre-commit hooks
Configured
Typed source
Configured
Visual evidence
Working preview recorded
Technologies
py · pypi