florecon (Python host)
A generic wasmtime host that
drives self-describing florecon reconciliation plugins. The host knows
nothing about any domain: it loads a plugin .wasm, reads its describe(), and
ships the raw columns the plugin declares. The same code runs every florecon
plugin.
Money is integer minor units; nothing is created or lost.
Authoring a plugin
This package also ships the florecon CLI, so you can build a plugin without
cloning the florecon repo:
florecon new my-recon # scaffold a Rust plugin (needs a Rust toolchain)
cd my-recon
florecon author # fast native loop on data/sample.csv
florecon ship # build the production solver.wasm
Then load target/wasm32-unknown-unknown/release/solver.wasm with the host
below. See the scaffolded README.md for the full journey.
Running a plugin
from florecon import Workspace
ws = Workspace("interco_plugin.wasm") # any florecon plugin wasm
ws.upsert(
{"row_id": 1, "company": "A", "icp": "B", "objsub": "61500",
"indicative_usd_amt": 100.0, "trx_currency": "USD", "trx_amt": 100.0,
"gl_date": 0, "reference": "INV0001"},
{"row_id": 2, "company": "B", "icp": "A", "objsub": "61500",
"indicative_usd_amt": -100.0, "trx_currency": "USD", "trx_amt": 100.0,
"gl_date": 1, "reference": "INV0001"},
)
rep = ws.solve() # the proposal: groups + per-row allocations
ws.pin_clean(tol=0) # sign off every clean net-zero match
ws.solve() # warm re-solve; pinned groups kept verbatim
Surface
A group lives on a lifecycle axis — proposed (the solver's current opinion,
recomputed each solve) or pinned (your decision, kept verbatim).
ledger upsert(*rows) · remove(*ids)
machine solve()
lifecycle pin(gid) · pin_clean(tol) · pin_singletons(ids) · unpin(gid)
partition merge(allocs, label, reason) · detach(gid, ids) · dissolve(gid)
read report()
Failures raise PluginError carrying a stable code (e.g. "frozen_group",
"conservation_violated") plus the id / group_id it concerns.
strict_assignments / connected_components project the allocation hypergraph
into per-row assignments or settlement clusters.
The plugin/host ABI is versioned: the host refuses a wasm whose abi_version
differs from florecon.ABI_VERSION.
Release files for florecon-host 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| florecon_host-0.4.0.tar.gz | 24.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| florecon_host-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.4 kB
Release files / florecon_host-0.4.0.tar.gz
| Download URL | florecon_host-0.4.0.tar.gz |
|---|---|
| Size | 24.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a96aec45faa283a501de3c4d1c0df778d5acde3a87d8c27c9430b002bc5f0aa3
|
|
BLAKE2b-256 checksum How to use checksums |
868c51fc85ce52c86bb46c5879d24f6b8f1e44032d8ee3e334a5f854dab4359d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency logRelease files / florecon_host-0.4.0-py3-none-any.whl
| Download URL | florecon_host-0.4.0-py3-none-any.whl |
|---|---|
| Size | 28.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16e0b01536a44dffae1e02e2f7862c25906148d13326c9bfe8f95f0db788dceb
|
|
BLAKE2b-256 checksum How to use checksums |
3f4347165c6b6f8aa75f47f56d17b26e149d1b7ccd146d9b823ec01f0ab03da0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency log