https://github.com/twilco/beancount
Rust tooling surrounding beancount, a text-based double-entry bookkeeping language.
https://github.com/twilco/beancount
accounting beancount rust
Last synced: about 1 year ago
JSON representation
Rust tooling surrounding beancount, a text-based double-entry bookkeeping language.
- Host: GitHub
- URL: https://github.com/twilco/beancount
- Owner: twilco
- Created: 2019-01-30T01:27:07.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-02-12T19:19:41.000Z (over 1 year ago)
- Last Synced: 2025-03-31T13:18:15.524Z (over 1 year ago)
- Topics: accounting, beancount, rust
- Language: Rust
- Homepage:
- Size: 144 KB
- Stars: 65
- Watchers: 6
- Forks: 14
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- not-yet-awesome-rust - implementation of Beancount bindings, parser, and emitter in Rust
README
# Beancount
[](https://gitter.im/beancount-rs/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Rust tooling surrounding [Beancount](https://github.com/beancount/beancount), a text-based double-entry bookkeeping system.
This repository contains three crates currently.
1. `beancount-core`, which contains a compile-time type-checked builder API and core data structures for representing Beancount data.
2. `beancount-parser`, which parses valid Beancount input and will output it's representation as Rust data structures.
3. `beancount-render`, which can format the beancount structures and output it via anything that implements `Write`.
This repository will also provide:
1. A crate (`beancount-sys`) that provides bindings to the [Python Beancount library](https://github.com/beancount/beancount), likely through the use of [pyo3](https://github.com/PyO3/pyo3). If deemed useful, a crate that exposes higher-level Beancount bindings will be created. With this work, we could hopefully unlock the ability to integrate with existing Python Beancount plugins.
If any of these things interest you feel free to contact me and/or submit a PR!
## License
This work is licensed under Apache/2 or MIT license, per your choice. All contributions
are also given under the same license.