Skip to main content

A Woob Bank -> Beancount data pipeline.

Project description

Setting up

You can use a simple direnv setup

layout python3

And then use the provided Requirements file to setup an environment.

After this, you need to make a configuration file that can be read into a configuration. An example file will be given once the format stabilizes a bit. The file will be in TOML format (for readability), and read by default to the XDG location.

Running the app

Until a proper flit packaging is done, running the draft apps is done simply with

python -m konta

and dealing with the help messages

It will look for a configuration file in the common XDG path for a konta program, which must be a TOML file

# In ~/.config/konta/config.toml
[Default]
# Setting the category for unmatched payees.
category = "Expenses:Uncategorized"

[Accounts]
# Woob ID (from woob bank ls) to Beancount account, with a currency to be used as
# commodity for the transaction
"deadbeef0731233" = { name = "Assets:Bank:Checking", default-currency = "EUR" }

[Payees]
# An example of merging multiple payees to be the same name and the same category.
# Both 'name' and 'category' are optional here if you don't want to overwrite them.
"75 MONOP" = { name = "MONOPRIX", category = "Expenses:Food:Supermarché" }
"75 MONOPRIX" = { name = "MONOPRIX", category = "Expenses:Food:Supermarché" }

# Unused for now, but extra verifications can be done if we
# give the main input file, with valid/existing accounts.
# It takes a list of path to beancount input files
[Beans]
input = []

Roadmap [3/9]

DONE Add argparse support

DONE Pull woob configuration with account listing

TODO Pull woob data from given woob bank backends

Should be done by ignoring the accounts that are not in config

TODO Create the converter protocol/abstract class to change from woob to beancount

The main goal here is to allow providing custom matchers from the config, probably as python modules that would be provided by the end user. Just like the first Guile version of this tool.

DONE Read beancount data with category listing

TODO Allow users to interactively choose categories

That entails building a module that can meaningfully interact with a Config instancea

TODO Change the tracking id method to allow merging transactions

TODO Privacy option to hide amounts and optionally banks

Necessary option to be able to start streaming development, either that or the first item

TODO Find fake woob data to be able to stream

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

konta-0.3.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

konta-0.3.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file konta-0.3.0.tar.gz.

File metadata

  • Download URL: konta-0.3.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for konta-0.3.0.tar.gz
Algorithm Hash digest
SHA256 19cabcbe046f18679f27e0a613b7a54d72b6b485a7f405734db954ed9ee65d93
MD5 9f8e0775e6289c780f77dd8bf857ec66
BLAKE2b-256 7c7d2e28f084313b19b72311772b6299d3bd12ce990e8204d1b004d43eb56c73

See more details on using hashes here.

File details

Details for the file konta-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: konta-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for konta-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c193ab65b26179d754245067cba312ebd95293616a0264da56f6806de8c7530
MD5 f3c03e6376f688ada02c6db2cb98d8d6
BLAKE2b-256 7bb2d65fe0e641749beb9d57368cfb8589f3ddb080ae6d9f4a1817bc13661a9e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page