PostgreSQL documentation data types parser.
Project description
📦 pgdoc-datatype-parser
PostgreSQL documentation datatypes table as a dictionary specifying a version. Supports all versions next to 6.3
.
Quickstart
pip install pgdoc-datatype-parser
You can retrieve all PostgreSQL datatypes for the latest version using:
>>> from pprint import pprint
>>> from pgdoc_datatype_parser import pgdoc_datatypes
>>>
>>> pprint(pgdoc_datatypes())
{'bigint': {'aliases': 'int8', 'description': 'Signed eight-byte integer'},
'bigserial': {'aliases': 'serial8',
'description': 'Autoincrementing eight-byte integer'},
'bit [ (n) ]': {'aliases': None, 'description': 'Fixed-length bit string'},
'bit varying [ (n) ]': {'aliases': 'varbit [ (n) ]',
'description': 'Variable-length bit string'},
'boolean': {'aliases': 'bool', 'description': 'Logical boolean (true/false)'},
'box': {'aliases': None, 'description': 'Rectangular box on a plane'},
'bytea': {'aliases': None, 'description': 'Binary data (byte array)'},
'character [ (n) ]': {'aliases': 'char [ (n) ]',
'description': 'Fixed-length character string'},
'character varying [ (n) ]': {'aliases': 'varchar [ (n) ]',
'description': 'Variable-length character '
'string'},
'cidr': {'aliases': None, 'description': 'Ipv4 or ipv6 network address'},
'circle': {'aliases': None, 'description': 'Circle on a plane'},
'date': {'aliases': None, 'description': 'Calendar date (year, month, day)'},
'double precision': {'aliases': 'float8',
'description': 'Double precision floating-point number '
'(8 bytes)'},
'inet': {'aliases': None, 'description': 'Ipv4 or ipv6 host address'},
'integer': {'aliases': ['int', ' int4'],
'description': 'Signed four-byte integer'},
'interval [ fields ] [ (p) ]': {'aliases': None, 'description': 'Time span'},
'json': {'aliases': None, 'description': 'Textual json data'},
'jsonb': {'aliases': None, 'description': 'Binary json data, decomposed'},
'line': {'aliases': None, 'description': 'Infinite line on a plane'},
'lseg': {'aliases': None, 'description': 'Line segment on a plane'},
'macaddr': {'aliases': None,
'description': 'Mac (media access control) address'},
'macaddr8': {'aliases': None,
'description': 'Mac (media access control) address (eui-64 '
'format)'},
'money': {'aliases': None, 'description': 'Currency amount'},
'numeric [ (p, s) ]': {'aliases': 'decimal [ (p, s) ]',
'description': 'Exact numeric of selectable precision'},
'path': {'aliases': None, 'description': 'Geometric path on a plane'},
'pg_lsn': {'aliases': None, 'description': 'Postgresql log sequence number'},
'pg_snapshot': {'aliases': None,
'description': 'User-level transaction id snapshot'},
'point': {'aliases': None, 'description': 'Geometric point on a plane'},
'polygon': {'aliases': None,
'description': 'Closed geometric path on a plane'},
'real': {'aliases': 'float4',
'description': 'Single precision floating-point number (4 bytes)'},
'serial': {'aliases': 'serial4',
'description': 'Autoincrementing four-byte integer'},
'smallint': {'aliases': 'int2', 'description': 'Signed two-byte integer'},
'smallserial': {'aliases': 'serial2',
'description': 'Autoincrementing two-byte integer'},
'text': {'aliases': None, 'description': 'Variable-length character string'},
'time [ (p) ] [ without time zone ]': {'aliases': None,
'description': 'Time of day (no time '
'zone)'},
'time [ (p) ] with time zone': {'aliases': 'timetz',
'description': 'Time of day, including time '
'zone'},
'timestamp [ (p) ] [ without time zone ]': {'aliases': None,
'description': 'Date and time (no '
'time zone)'},
'timestamp [ (p) ] with time zone': {'aliases': 'timestamptz',
'description': 'Date and time, including '
'time zone'},
'tsquery': {'aliases': None, 'description': 'Text search query'},
'tsvector': {'aliases': None, 'description': 'Text search document'},
'txid_snapshot': {'aliases': None, 'description': 'Pg_snapshot'},
'uuid': {'aliases': None, 'description': 'Universally unique identifier'},
'xml': {'aliases': None, 'description': 'Xml data'}}
You can check what is the latest version using latest_version function:
>>> from pgdoc_datatype_parser import latest_version
>>> latest_version()
'13.1b'
If you want to retrieve PostgreSQL datatypes for other version, you can specify the optional parameter
version
of pgdoc_datatypes function.
All versions can be listed using versions function.
Documentation
# pgdoc_datatypes(version="latest", pg_releases_filepath=None) ⇒ dict
Provides information for all PostgreSQL data types from documentation data types table.
- version (str) Version from which PostgreSQL datatypes will be retrieved.
- pg_releases_filepath (str) Path to PostgreSQL releases/commits file. By default, the file included with the package will be used.
# versions(pg_releases_filepath=None) ⇒ list
Returns all PostgreSQL available versions.
- pg_releases_filepath (str) Path to PostgreSQL releases/commits file. By default, the file included with the package will be used.
# latest_version(pg_releases_filepath=None) ⇒ str
Returns latest PostgreSQL available version.
- pg_releases_filepath (str) Path to PostgreSQL releases/commits file. By default, the file included with the package will be used.
# pg_release_name_to_version(release_name) ⇒ str
PostgreSQL releases are named in the form REL<MAJOR>_<MINOR>_<RC><PATCH>
. You can use this function to convert release names into semantic version form.
- release_name (str) Name of the PostgreSQL release name to convert into it's correspondent semantic version form.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pgdoc_datatype_parser-2.0.0.tar.gz
.
File metadata
- Download URL: pgdoc_datatype_parser-2.0.0.tar.gz
- Upload date:
- Size: 26.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eead93265072d3fe5b2bf4b87afd10daba54ff1d7da0ac215c91298c6df1a48f |
|
MD5 | e4cb1da999edd40b283d0b3cbff00181 |
|
BLAKE2b-256 | dd0665f05666e0d44ccf5bf477e3dcda45b1b318da627679198d412312e2a505 |
File details
Details for the file pgdoc_datatype_parser-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: pgdoc_datatype_parser-2.0.0-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97a1417c2220d9e38e3f00f33e5ca99e0cfef46b327e68787d46e880928d888a |
|
MD5 | 4716fd7a3f1633f85d1aad2d97d300e1 |
|
BLAKE2b-256 | 5c6160f8df6fb0ab470b290a37e220708921224b75ee35edfa41ef751c72f132 |