Skip to main content

Double book-keeping transaction framework

Project description

little-bank

CI Build Status

Little Bank is a framework for analyzing financial transactions.

Design goals

  • All analysis should be a matter of summarizing credit, debit or balance of an account in a system. The intention is to reduce bugs by making all analysis use the same numerical implementation.
  • This means that we're of the opinion that implementing filters and doing arithmetic on transactions outside of little-bank code is wrong. If we find ourselves grasping to do this, what we should instead do is introduce new accounts our possibly restructure the flow between the existing ones.
  • Allow defining rules for a system in a declarative way.
  • Disallow mutation. The design encourages immutable, append-only transactions.
  • All operations that update the system are very similar: appending transactions which automatically verifies all defined rules, and persisting the new transactions. This allows centralizing code that saves transactions to a single place.

Non-goals

  • Performance. This library is intended to be used to analyze systems of a small number of transactions. Therefor exposing APIs that are easy to reason about is a much higher priority than performance.

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

little_bank-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

little_bank-0.1.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file little_bank-0.1.0.tar.gz.

File metadata

  • Download URL: little_bank-0.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for little_bank-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4eb76ddb7a69c840622ea1376b13f5c0b32d3cbd4ede815a9ced10dad974c267
MD5 ab0ebb6a33e1d6bea2feb7a25f494f38
BLAKE2b-256 3bae6e3bd47bf8b7aa5505b5af348d0cb7cf1615435b5df60852ded9745d5f37

See more details on using hashes here.

Provenance

The following attestation bundles were made for little_bank-0.1.0.tar.gz:

Publisher: release.yaml on antonagestam/little-bank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file little_bank-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: little_bank-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for little_bank-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f30a3c41d0a7edb270f95596b7b3b057b0a756860d17e93c3809b999b576d865
MD5 01cff84943481ede0add97c3ed68ec62
BLAKE2b-256 b22909ed56521934d86a0b7952b9ab83c3c46834c4e62f019f2c4eb9257bbbac

See more details on using hashes here.

Provenance

The following attestation bundles were made for little_bank-0.1.0-py3-none-any.whl:

Publisher: release.yaml on antonagestam/little-bank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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