Skip to main content

Schema inspection for PostgreSQL (and possibly others)

Project description

schemainspect: SQL Schema Inspection

Schema inspection for PostgreSQL (and potentially others in the future).

Inspects tables, views, materialized views, constraints, indexes, sequences, enums, functions, and extensions. Handles table partitioning and inheritance.

Limitations: Function inspection only confirmed to work with SQL/PLPGSQL languages so far.

Basic Usage

Get an inspection object from an already opened SQLAlchemy session or connection as follows:

from schemainspect import get_inspector
from sqlbag import S

with S('postgresql:///example') as s:
    i = get_inspector(s)

The inspection object has attributes for tables, views, and all the other things it tracks. At each of these attributes you'll find a dictionary (OrderedDict) mapping from fully-qualified-and-quoted-name-of-thing-in-database to information object.

For instance, the information about a table books would be accessed as follows:

>>> books_table = i.tables['"public"."books"']
>>> books_table.name
'books'
>>> books_table.schema
'public'
>>> [each.name for each in books_table.columns]
['id', 'title', 'isbn']

Documentation

Documentation is a bit patchy at the moment. Watch this space!

Author Credits

Initial development, maintenance:

Contributions:

Install

Install with pip:

$ pip install schemainspect

To install psycopg2 (the PostgreSQL driver) at the same time as well:

$ pip install schemainspect[pg]

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

schemahq-schemainspect-1.0.12.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

schemahq_schemainspect-1.0.12-py2.py3-none-any.whl (30.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file schemahq-schemainspect-1.0.12.tar.gz.

File metadata

  • Download URL: schemahq-schemainspect-1.0.12.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.3 Linux/5.3.0-1020-azure

File hashes

Hashes for schemahq-schemainspect-1.0.12.tar.gz
Algorithm Hash digest
SHA256 6d1389d009cda39cf4deb352233fe117e87734de75a80b9590e6360808534381
MD5 c59927b01c03be07779bf5ef036fede4
BLAKE2b-256 89c7bb8ec009eb70484e72dcaaef6f66a55d6666254928d1b5d58e024630014b

See more details on using hashes here.

File details

Details for the file schemahq_schemainspect-1.0.12-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for schemahq_schemainspect-1.0.12-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 50a422998a4d7270dcac65d405dd71caa5946b5d23e194972405f8aa99a56641
MD5 e977c43c68d732f6b2b14df552e8ea5c
BLAKE2b-256 8926272ddf4dae82c98ddb939b43bf5f8e932db4014b152c82f1f97ce0bbca39

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page