Skip to main content

homestead-ledger

Homestead · Affairs — module two. The homesteader keeping their own books.

A self-contained desktop module: it ships to a household who double-clicks it, so its store is embedded SQLite — a linked library, not a server (the face's 2026-08-04 "no listening socket" decision holds; SQLite binds no port). The record layer is the engine's: store.py is a thin binding — homestead.keep.store's adapter contract on a SQLite backing, in the ledger database. It pins the engine from PyPIhomestead-affairs>=0.1.0,<1.0 (the distribution name; import homestead is unchanged) — and shares the ~/.homestead root with homestead-law, because a household's affairs are one thing.

Mirror, not judge

The ledger reflects the household's money; it never authors a financial judgment and never edits a transaction. Concretely, that is the engine's record model applied to money:

  • Canonical = the household's own books — imported transactions, statements — read-only by type (I-6). The app has no write path to them.
  • Sidecar = the household's overlay — categorization, notes, budget envelopes, a confirmed merchant name. This is where the app writes.
  • Money amounts tied to an account are L4; account numbers / SSNs are L5; due-dates and schedules are L1/L2 (see the engine's rung model). The engine enforces this at the storage boundary; a corrupt or unclassified row reads L5 on the way out.

The shared Postgres engine on the fleet side is a sync target reached through the egress gate — never a runtime dependency of the shipped app. Sync is an S4 egress: an L5 record never crosses, and what lands in the shared store is only what the household chose to expose.

Status: bite 0 — the seat is bound. The store binding (homestead.keep.store on a SQLite ledger db), a no-egress AST guard over this package (I-17 — a money ledger must never dial out), CI (cold checkout, engine from PyPI, three OSes), and the build plan (docs/build-plan.md). The books, the "what's due" queue, CSV import, and the app land in the bites that follow.

The method

Test-first, as in homestead: every claim is a check somebody can run. From a cold checkout — the engine (homestead.keep) resolves from PyPI as homestead-affairs, no sibling checkout needed:

pip install -e .    # pulls homestead-affairs (homestead.keep) from PyPI
pytest -q

The full build plan — the reuse map, the bite order, the invariants that carry from the engine and the ones new to money — is in docs/build-plan.md.

Apache-2.0.

Download files

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

Source Distribution

homestead_ledger-0.1.0.tar.gz (94.2 kB view details)

Uploaded Source

Built Distribution

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

homestead_ledger-0.1.0-py3-none-any.whl (50.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: homestead_ledger-0.1.0.tar.gz
  • Upload date:
  • Size: 94.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for homestead_ledger-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9d0c7d81d2dd8c9a0be88dacbc87c06b0cc9a0bb0e09116a8551b8af50116e40
MD5 9f56c890a2866487a5333788f36e4901
BLAKE2b-256 86bd4928b13ee879499eadc18b4a8496fc6e10c0fbc9a4c23de44d807240965b

See more details on using hashes here.

Provenance

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

Publisher: release.yml on rudi193-cmd/homestead-ledger

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

File details

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

File metadata

File hashes

Hashes for homestead_ledger-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccb8946098699d5c7e773f6f234c44478fd43289849b2a6be8685b9215fbbb31
MD5 32e3a8f36da91045a9395f28f09ee32f
BLAKE2b-256 09704b779733bcee6f768c51340540e73ce27ad5fc69275a7da1e530730b00b3

See more details on using hashes here.

Provenance

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

Publisher: release.yml on rudi193-cmd/homestead-ledger

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

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 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