Skip to main content

PostgreSQL documentation data types parser.

Project description

📦 pgdoc-datatype-parser

PyPI Tests Coverage PostgreSQL versions

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pgdoc_datatype_parser-2.0.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

pgdoc_datatype_parser-2.0.0-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

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

Hashes for pgdoc_datatype_parser-2.0.0.tar.gz
Algorithm Hash digest
SHA256 eead93265072d3fe5b2bf4b87afd10daba54ff1d7da0ac215c91298c6df1a48f
MD5 e4cb1da999edd40b283d0b3cbff00181
BLAKE2b-256 dd0665f05666e0d44ccf5bf477e3dcda45b1b318da627679198d412312e2a505

See more details on using hashes here.

File details

Details for the file pgdoc_datatype_parser-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pgdoc_datatype_parser-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97a1417c2220d9e38e3f00f33e5ca99e0cfef46b327e68787d46e880928d888a
MD5 4716fd7a3f1633f85d1aad2d97d300e1
BLAKE2b-256 5c6160f8df6fb0ab470b290a37e220708921224b75ee35edfa41ef751c72f132

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