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.3.tar.gz (677.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.3-cp39-abi3-win_amd64.whl (10.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

jin_monitor-1.2.3-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.3-cp39-abi3-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

jin_monitor-1.2.3-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.3.tar.gz.

File metadata

  • Download URL: jin_monitor-1.2.3.tar.gz
  • Upload date:
  • Size: 677.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.3.tar.gz
Algorithm Hash digest
SHA256 2898ee97d967e53259e79cc6cb714f7c0c200c18a47413c7ffc12d4137e4e808
MD5 6ba6568a06e1164c7d63db51b4c6ce15
BLAKE2b-256 f7b63ed84a996e9b878abd78b8f65fe6ca92bc3f29cce00cf2e6945a56a60a71

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.3.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.3-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: jin_monitor-1.2.3-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.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 585d4ff8113b71abb086dcc823be55adc7ad83430838e4f337295b63ccf9b39b
MD5 80c913f524a418b16e1f2132abee2544
BLAKE2b-256 10d68de1d30332458370b820abc7a9b58db5b7a0a87ba8388a953b8aa378850d

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.3-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.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jin_monitor-1.2.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6043203c83190df8ea43e705f6b926519977481d24d06f9f055bc3b04b3fb1c9
MD5 740d3d753a76d5aac89759565368a4d3
BLAKE2b-256 453cd95c4ebd3754999cf9ed7e54ff4877ca03073342aaf98e4caad86b7754c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.3-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.3-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for jin_monitor-1.2.3-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9622cdbd54a71513d1007b434eb9efdd8617e0fce6b364acd85066f07bd0eb5
MD5 1577e1097ef8ab9ed8f8bfc7e205d03d
BLAKE2b-256 df3ed318c1649b524ddd61aa68d0a5c7274da9e2371f581949006176f9588ad8

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.3-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.3-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for jin_monitor-1.2.3-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d82b4ca71d5f4d5f08efecd0ccc4317fb135d413c5e0f27e357a9aca42aaee1e
MD5 c710acb122ee4de7a9292ee0e4b1ba7f
BLAKE2b-256 76c20b19e361e446194d3e71ad0e5febeebe1f2af6f6f95c035fae70d27a2b4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jin_monitor-1.2.3-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