bean-rs
Basic beancount clone (one day...) in Rust!
Still very very alpha and doesn't do most things that are necessary to be at all useful.
Python bindings are a WIP using PyO3;
The libraries:
- Rust: crates/bean-rs
- Python: pypi/bean-rs
Planned features:
- Parse beancount files using pest
- Stricter transaction keywords
- Propagate line numbers for debugging
- Calculate account balances
- Use proper Decimal handling
- Validate transactions against
open/closedirectives - Validate
balancedirectives - Pad statements
- Open/close with multiple currencies
- Add Python bindings
- Support
includes - Come up with a more punny name
- Currency conversions
- Price/cost and FIFO
(Deliberate) differences from beancount
- Postings can't omit the currency
Use from Rust
Install
cargo install bean-rs
Run
$ bean-rs
Usage: bean-rs <COMMAND>
Commands:
balance Display account balances
check Check for errors and quit
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
Calculate balances
bean-rs balance example.bean
Use from Python
More to come...
import bean_rs
ledger = bean_rs.py_load("example.bean")
print(ledger.opts)
Development
Build
make build
Test
make test
Metadata
Release files for bean-rs 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bean_rs-0.3.1.tar.gz | 27.4 kB | Details |
Built distributions (wheels)
Total release size: 8.5 MB
Release files / bean_rs-0.3.1.tar.gz
| Download URL | bean_rs-0.3.1.tar.gz |
|---|---|
| Size | 27.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e87b5e835eddbe912bdf574fe78b950cd429baa303f21223aafcbebd3a196be
|
|
BLAKE2b-256 checksum How to use checksums |
3fa1a84f1c1d5c859ea7d6df44b39c7d5b81390b96d6e8c247d8234e1fd4bfee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bean_rs-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
26041572cf6b29d4c6acc14356fbece746ed66a679abed99458509575ff33cf3
|
|
BLAKE2b-256 checksum How to use checksums |
a60409595ecc4bd624b3b30738e2fd1ac35644f8ff3d3ed5fdeb79c53c07945e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bean_rs-0.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
a7133e99773bb7624b5764fea2e0defbd164cc45d9963794fc6feb329ab9f9ca
|
|
BLAKE2b-256 checksum How to use checksums |
0fa0da216625649947503ebf29120737e8a3c16ac953b3e94e50423ccd8b8508
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp312-none-win_amd64.whl
| Download URL | bean_rs-0.3.1-cp312-none-win_amd64.whl |
|---|---|
| Size | 254.5 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
29c9a6b5cf71964944076c82e8cd58e2997f2cde55e08fd9ce0232fc95f75664
|
|
BLAKE2b-256 checksum How to use checksums |
6c92c76d167dd5df635d689fc564238f0abac65ec24e838e5b1679b861e803b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bean_rs-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
db3f55f43d5834566732239e0b8eb88c142d6efd9fee56d1f5972a1db9dbad93
|
|
BLAKE2b-256 checksum How to use checksums |
10dff36f9b9519d40101009085b817988dc7031b4cfffba4910fbae397a6cd77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | bean_rs-0.3.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 342.3 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eb711b435938c1500344c766fdcce20115dfd31b37efad5a4ccc66d491d8bf2c
|
|
BLAKE2b-256 checksum How to use checksums |
291196d6dc056e6c5fde199cb4fbc18842d936bb1963c6f74d2231b6d1902c7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp311-none-win_amd64.whl
| Download URL | bean_rs-0.3.1-cp311-none-win_amd64.whl |
|---|---|
| Size | 254.5 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a0d8aa38163411fe9694b67984bf2033c9b586ed45209b46864e0e36c63ec095
|
|
BLAKE2b-256 checksum How to use checksums |
7dd4ac12efd40d406bb35594b519b0f6ae9ed39cdf2108f3a3ebc9ddb4ff5b99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bean_rs-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
70066cd6eb8abae7067819803b69d29b87de4e855a6da14fc24e987c7cbbc041
|
|
BLAKE2b-256 checksum How to use checksums |
b2406813e852ffbf2ceaf804715fbdb179ab2bdb6d700795443fe9754bf352e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | bean_rs-0.3.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 342.9 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
74ecaa45567ffad11de26b4559a2c04ef2ebed7938f0d547783c99862696813c
|
|
BLAKE2b-256 checksum How to use checksums |
d59d7358d38985ee24bd82e660b7954fabc1c1dba6ca1166502382936c2eab88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp310-none-win_amd64.whl
| Download URL | bean_rs-0.3.1-cp310-none-win_amd64.whl |
|---|---|
| Size | 254.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fd501f9957347108d07cc905820600f0813ce8fc35a76bac33b9d9954783d853
|
|
BLAKE2b-256 checksum How to use checksums |
5bddbac0037f567f404f78ca386187c6c9db356aa0191f5e7ad00e87ac36d56d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bean_rs-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
dfc912fc000f33b98ee428999cd3e760c59666154249a031687d4ced41aa48ae
|
|
BLAKE2b-256 checksum How to use checksums |
f04b96bc74ac3dd9d926e3b4cf78b2ed65b9d51ab202de4043b567f56c37c225
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp39-none-win_amd64.whl
| Download URL | bean_rs-0.3.1-cp39-none-win_amd64.whl |
|---|---|
| Size | 254.8 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0eac6a5962329d22f69cc7adf1a0e46b4e3825a3ac73e6a8cf427851d54c8e08
|
|
BLAKE2b-256 checksum How to use checksums |
895458f232fe981d4bc7d205c406fd17f8a2e206a266f53fc3a321c20515be4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|
Release files / bean_rs-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bean_rs-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5924a183ee2b3e30db2c6f82fb6227489b350ff53d27a24b99250367f1e6d6de
|
|
BLAKE2b-256 checksum How to use checksums |
f1b678280a100ed77dbba5247ad9375b643b3596b41187d937f9818cce895acd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.5.1
|