Skip to main content

SchemaIngest

A "gitingest"-style tool for databases. Browse your PostgreSQL, MySQL or MariaDB schema in a web UI (tables, columns, keys, indexes and an interactive relationship diagram), and copy a compact, token-efficient description of it for an AI. Your credentials never leave your machine.

This package is the local agent. It runs on 127.0.0.1, connects to your database read-only, and serves the schema to the web UI at https://jinethbosilu.github.io/SchemaIngest/.

Install

pipx install schemaingest      # or: pip install schemaingest

Requires Python 3.10+.

Use it with the web UI

schemaingest agent

The terminal shows a 6-digit pairing code. Open https://jinethbosilu.github.io/SchemaIngest/, enter the code, then pick your database engine and enter its connection details. They go only to the agent on localhost.

Chrome asks whether the page may access your local network. Allow it: that is the browser checking before a public site talks to the agent on 127.0.0.1. If you dismissed it, the page says the browser is blocking it: click the icon left of the address bar → Site settings → Local network access → Allow.

Relationships

Relationships come from declared foreign keys. For databases that declare none (MyISAM tables, or apps that only use names like user_id), the agent also infers links from column names: <name>_id to a table named after it with a single-column key of the same kind. Inferred links are always marked as inferred, and pull --no-infer leaves them out.

Use it without the web UI

# Full schema pack as JSON
schemaingest pull --conn "postgresql://user:pass@localhost:5432/mydb" --out schema.json

# Compact text, ready to paste into an AI
schemaingest pull --conn "postgresql://user:pass@localhost:5432/mydb" --out schema.txt --format txt

# MySQL or MariaDB: the scheme picks the engine
schemaingest pull --conn "mysql://user:pass@localhost:3306/mydb" --out schema.txt --format txt

For PostgreSQL, --schema picks a schema other than public. In MySQL a database is a schema, so the database in the connection string is the one introspected. MySQL connection strings accept ?ssl-mode= with MySQL's values (DISABLED, PREFERRED, REQUIRED, VERIFY_CA, VERIFY_IDENTITY).

Security

  • Binds to 127.0.0.1 only.
  • CORS allows only the GitHub Pages UI and local development origins.
  • A pairing code is required before any session is issued; sessions expire after 4 hours.
  • Connections are opened read-only.
  • Passwords are redacted from every printed error, and request bodies are never logged.

License

MIT

Metadata

Release files for schemaingest 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for schemaingest 0.1.2
File Size Uploaded
schemaingest-0.1.2.tar.gz 29.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for schemaingest 0.1.2
File Interpreter ABI Platform
schemaingest-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.3 kB

Release files / schemaingest-0.1.2.tar.gz

Download URL schemaingest-0.1.2.tar.gz
Size 29.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f245c92ccefb6728ab9501ab7d32a41cdbaee7da2a2a938aa0f7da8e91a71053
BLAKE2b-256 checksum
How to use checksums
6fd8e831cbe08db0359f0239c6a23008ec4fa53b84439baaee2555da97f26978
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release files / schemaingest-0.1.2-py3-none-any.whl

Download URL schemaingest-0.1.2-py3-none-any.whl
Size 23.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12503cdad4137095a49e2d5683ba2cc0ce6e27e8900b4b68bec2134cbe7c90ec
BLAKE2b-256 checksum
How to use checksums
014bd3536d18eddef8765e1721a43e6ca3ab6e5fe43819be88a26476b5548c48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page