Skip to main content

Rust-first data quality monitoring middleware for FastAPI

Project description

Jin

SaaS-Grade Observability & Reconciliation for FastAPI Data Products

Jin is a Rust-first, drop-in reconciliation engine that actively monitors internal data quality natively inside your FastAPI applications. Designed for engineers and tailored for Product Owners (POs).

The Killer App: Deep-Nested Reconciliation

Traditional data quality reconciliation requires tedious, custom data pipeline scripts that flatten complex JSON structures. Jin solves this instantly.

With our fast, persistent Rust core, Jin automatically traverses deeply nested Pydantic responses (e.g., catalog.categories[].products[].stats.revenue), and accurately reconciles those metrics against flat reference/CSV files provided by your business teams.

No custom validation scripts. No pipeline bloat. Just point Jin to your endpoint, map the grain in the UI, and let the engine do the work.

Features

  • Zero-Friction Integration: 30-second install via pip or uv. Drop a single middleware into your FastAPI app and go.
  • PO Wizard Setup: The Jin Dashboard helps non-technical Product Owners map JSON paths, define metric tolerances, and upload CSV ground truth.
  • Field Aliasing (Coming Soon): Shield business users from JSON paths by mapping catalog.categories[].products[].sku to simple aliases like "Product SKU".
  • Executive Reporting: One-click generation of beautifully formatted, executive-ready Markdown and CSV Data Quality reports.
  • Built-in Incident Workflow: Track "Match" or "Mismatch" issues with full lifecycle support (Assign, Snooze, Resolve, Suppress).

Start Here

1. Install (Pre-compiled wheels ensure a blazingly fast install):

uv add jin-monitor
# or
pip install jin-monitor

2. Add the middleware to your app:

from fastapi import FastAPI
from jin import JinMiddleware

app = FastAPI()
app.add_middleware(
    JinMiddleware, 
    db_path="./jin.duckdb", 
    global_threshold=10.0
)

3. Launch your app and open the Data Quality Dashboard:

http://127.0.0.1:8000/jin

Documentation

Read the short docs in this order to become a Jin power user:

  1. Why Jin (Vision)
  2. Getting Started
  3. Configuration Guide
  4. Data Shape Guide
  5. Incident Workflow
  6. CLI Operations

Local pre-push sandbox smoke

For an end-to-end local sanity check (FastAPI + Jin mount + config + baseline upload + reconciliation), run:

./scripts/prepush_sandbox_smoke.sh

To enforce this automatically before every git push on your machine:

./scripts/install_pre_push_hook.sh

Full OS matrix (GitHub Actions)

To validate Linux + macOS + Windows in a real OS matrix without opening a PR, push the commit you want to test to branch ci-test. That triggers .github/workflows/os-smoke.yml.

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

jin_monitor-1.2.2.tar.gz (676.5 kB view details)

Uploaded Source

Built Distributions

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

jin_monitor-1.2.2-cp39-abi3-win_amd64.whl (10.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

jin_monitor-1.2.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

jin_monitor-1.2.2-cp39-abi3-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

jin_monitor-1.2.2-cp39-abi3-macosx_10_12_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file jin_monitor-1.2.2.tar.gz.

File metadata

  • Download URL: jin_monitor-1.2.2.tar.gz
  • Upload date:
  • Size: 676.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jin_monitor-1.2.2.tar.gz
Algorithm Hash digest
SHA256 2b04f5f964026d645a0e72cbe5f12b0eb43b20cc83124e4dc2b78372cb3a9c60
MD5 2fe94faf1d80ee5e6da64d3a87da56d4
BLAKE2b-256 99683b709927d3971450ff5e0848c753001bec2563ba5434ac90d072ace4df35

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.2.tar.gz:

Publisher: publish.yml on amit-devb/jin

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

File details

Details for the file jin_monitor-1.2.2-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: jin_monitor-1.2.2-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 10.4 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jin_monitor-1.2.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f9d083cb4ffe1fb5a585eaf93e7897a155e714fd915e889a61449f7e4b64ca4b
MD5 4b11175a26fba13bc380ba253919595a
BLAKE2b-256 bf670a0fc9c0c83cc5791c7f24daa8b5a3889aeac7c39cab86c08b598d7555d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.2-cp39-abi3-win_amd64.whl:

Publisher: publish.yml on amit-devb/jin

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

File details

Details for the file jin_monitor-1.2.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jin_monitor-1.2.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a7fc14c8dbd92401f24cbc2a69501dc6814bf0f0e2f49ab9a7f40d0e27ab3da
MD5 6d378af4591fde40244663a64ae8fc90
BLAKE2b-256 1fdac7ff5cfc731c6f3d1ce0cd2db077af1489b91636d64a6039003e7523f651

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on amit-devb/jin

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

File details

Details for the file jin_monitor-1.2.2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jin_monitor-1.2.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0f2a81a5f0dfc001f3830d5f964c4fbd02824c2da13420b7a0ffd96972ca839
MD5 73a9a00ee704a0eaecc43578886ed382
BLAKE2b-256 ec10b61678a8e0a26098e75bd0542ebac8252d4d8fb6c2511d8f2114d156e906

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.2-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on amit-devb/jin

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

File details

Details for the file jin_monitor-1.2.2-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for jin_monitor-1.2.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8fa3e9aedfa6c2429788dfc60dcf824d64675bc126d652122e2ecdb5a5bae2d1
MD5 93e63ceaa34d99c7720eed6d5d20660a
BLAKE2b-256 42c92625b70d1b4e38b808dc9806efda51b3c2c767f4d6ef2290caa24456f34b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.2-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: publish.yml on amit-devb/jin

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