Skip to main content

Lightweight reconciliation tests for DataFrames

Project description



Lightweight reconciliation tests for DataFrames

CI Build PyPI version PyPI license Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.

recx compares a candidate pandas.DataFrame against a baseline using declarative, column-level checks (exact equality, absolute tolerance, relative tolerance, or custom logic). It produces structured results you can assert on in tests or render as a concise textual summary.

Status: Early, experimental. API may change.

Install

With pip:

pip install recx

with uv:

uv add recx

Features

  • Index presence checks (missing + extra index values) out of the box
  • Built-in column checks:
    • EqualCheck -- exact equality (treats aligned NaNs as equal)
    • AbsTolCheck -- absolute error within tolerance (optional sort of failures)
    • RelTolCheck -- relative error within tolerance (optional sort of failures)
  • Rich per-check results (CheckResult) and aggregate (RecResult).
  • Easy to extend: implement a single check method on a ColumnCheck subclass

Feel free to open issues or PRs with suggestions or improvements.

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

recx-0.0.2.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

recx-0.0.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file recx-0.0.2.tar.gz.

File metadata

  • Download URL: recx-0.0.2.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for recx-0.0.2.tar.gz
Algorithm Hash digest
SHA256 066628e2e6f868fbda69d2b4296aa97f5ed063c3a0035ff75bf8a02b5ab1b84f
MD5 a6847c17f5e8d3c0d35559cc2231e897
BLAKE2b-256 6496fb5909ea66d1a9b87c9f04c77126f322003f904609901b0e4dbf6972a084

See more details on using hashes here.

File details

Details for the file recx-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: recx-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for recx-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 60d675a8e4d640fcdf4440d3736512638734ea244a4b1a34ca2354aff1ae4bd1
MD5 a2e8e6357f79fbfbcde1fa01bb7b3cdc
BLAKE2b-256 34d7fdd71837b5e49c6764ec068b2b564cf3da91a1c6df2aed857d5cb1f3b901

See more details on using hashes here.

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