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
piporuv. 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[].skuto 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:
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jin_monitor-1.0.0.tar.gz.
File metadata
- Download URL: jin_monitor-1.0.0.tar.gz
- Upload date:
- Size: 670.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
defc9a108779b3628842afbdd2199bd479ee7b9bc3480f2b90c4b08f9761cbed
|
|
| MD5 |
8d27290fdc1f7a57d384724be7ba9e0f
|
|
| BLAKE2b-256 |
fdcfadd7a1f76962fbdf2efedb2c9f0298976be915926c4386ab2fdc70fdd80e
|
Provenance
The following attestation bundles were made for jin_monitor-1.0.0.tar.gz:
Publisher:
publish.yml on amit-devb/jin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jin_monitor-1.0.0.tar.gz -
Subject digest:
defc9a108779b3628842afbdd2199bd479ee7b9bc3480f2b90c4b08f9761cbed - Sigstore transparency entry: 1338574322
- Sigstore integration time:
-
Permalink:
amit-devb/jin@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/amit-devb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Trigger Event:
push
-
Statement type:
File details
Details for the file jin_monitor-1.0.0-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: jin_monitor-1.0.0-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d72f0f85036315dad27c01e3a2c559141942301251bf707caa2fdae9735c8a6d
|
|
| MD5 |
5c79bc5ffbc665bf686c07aea222a5f5
|
|
| BLAKE2b-256 |
3a702105803fc3af00d2aa2e3c8ac3eb7d927c9b66eb433566035e5af55549d2
|
Provenance
The following attestation bundles were made for jin_monitor-1.0.0-cp39-abi3-win_amd64.whl:
Publisher:
publish.yml on amit-devb/jin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jin_monitor-1.0.0-cp39-abi3-win_amd64.whl -
Subject digest:
d72f0f85036315dad27c01e3a2c559141942301251bf707caa2fdae9735c8a6d - Sigstore transparency entry: 1338574340
- Sigstore integration time:
-
Permalink:
amit-devb/jin@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/amit-devb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Trigger Event:
push
-
Statement type:
File details
Details for the file jin_monitor-1.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: jin_monitor-1.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 14.2 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa38c08f1360b1f0e95bba53d041cb6a4d842aa12e6d3d8368a9890723a33872
|
|
| MD5 |
084c95eb5d9269ced34542dfde51c6a8
|
|
| BLAKE2b-256 |
b62081ba82adc3076831bb509e2519d6237cbbaaa84e7efdf5c9f7b5570a6431
|
Provenance
The following attestation bundles were made for jin_monitor-1.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on amit-devb/jin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jin_monitor-1.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
fa38c08f1360b1f0e95bba53d041cb6a4d842aa12e6d3d8368a9890723a33872 - Sigstore transparency entry: 1338574332
- Sigstore integration time:
-
Permalink:
amit-devb/jin@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/amit-devb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Trigger Event:
push
-
Statement type:
File details
Details for the file jin_monitor-1.0.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: jin_monitor-1.0.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 11.0 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df27f0d94c5f91d3ebbb56c18904353d341db18e80d69409b3c181a928a4ebaa
|
|
| MD5 |
856fb7202d0212394c011f12d3adaec4
|
|
| BLAKE2b-256 |
cffb497164efbf862dace2389cda6e8cbcfda42301cd2fad2442107dd8b020ab
|
Provenance
The following attestation bundles were made for jin_monitor-1.0.0-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
publish.yml on amit-devb/jin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jin_monitor-1.0.0-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
df27f0d94c5f91d3ebbb56c18904353d341db18e80d69409b3c181a928a4ebaa - Sigstore transparency entry: 1338574328
- Sigstore integration time:
-
Permalink:
amit-devb/jin@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/amit-devb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Trigger Event:
push
-
Statement type:
File details
Details for the file jin_monitor-1.0.0-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: jin_monitor-1.0.0-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20f7d15d03c70d8413efea7311818487cc882687de5697e3e635f8cfd3ba70ba
|
|
| MD5 |
78f4ab1fa94c7f4e3529122e919109b2
|
|
| BLAKE2b-256 |
ac05009cf999f658d638e0e63747135db839e6447d1a66bd044a8295635e6f02
|
Provenance
The following attestation bundles were made for jin_monitor-1.0.0-cp39-abi3-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on amit-devb/jin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jin_monitor-1.0.0-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
20f7d15d03c70d8413efea7311818487cc882687de5697e3e635f8cfd3ba70ba - Sigstore transparency entry: 1338574335
- Sigstore integration time:
-
Permalink:
amit-devb/jin@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/amit-devb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a7fd10575daef6aa7844e4f5fbd8596de1090e -
Trigger Event:
push
-
Statement type: