Skip to main content

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:

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/close directives
  • Validate balance directives
  • 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)

Source distribution for bean-rs 0.3.1
File Size Uploaded
bean_rs-0.3.1.tar.gz 27.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for bean-rs 0.3.1
File
bean_rs-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ x86-64 Details
bean_rs-0.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64 Details
bean_rs-0.3.1-cp312-none-win_amd64.whl CPython 3.12 none Windows x86-64 Details
bean_rs-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
bean_rs-0.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
bean_rs-0.3.1-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details
bean_rs-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
bean_rs-0.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
bean_rs-0.3.1-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
bean_rs-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
bean_rs-0.3.1-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
bean_rs-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details

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

Release history Release notifications | RSS feed

This release

0.3.1 This release

13 release files

0.3.0

13 release files

0.0.1

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