Skip to main content

📦 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.

Metadata

Release files for pgdoc-datatype-parser 2.0.0

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

Source distribution (sdist)

Source distribution for pgdoc-datatype-parser 2.0.0
File Size Uploaded
pgdoc_datatype_parser-2.0.0.tar.gz 26.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pgdoc-datatype-parser 2.0.0
File Interpreter ABI Platform
pgdoc_datatype_parser-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 49.5 kB

Release files / pgdoc_datatype_parser-2.0.0.tar.gz

Download URL pgdoc_datatype_parser-2.0.0.tar.gz
Size 26.6 kB
Tags Source
SHA-256 checksum
How to use checksums
eead93265072d3fe5b2bf4b87afd10daba54ff1d7da0ac215c91298c6df1a48f
BLAKE2b-256 checksum
How to use checksums
dd0665f05666e0d44ccf5bf477e3dcda45b1b318da627679198d412312e2a505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / pgdoc_datatype_parser-2.0.0-py3-none-any.whl

Download URL pgdoc_datatype_parser-2.0.0-py3-none-any.whl
Size 22.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97a1417c2220d9e38e3f00f33e5ca99e0cfef46b327e68787d46e880928d888a
BLAKE2b-256 checksum
How to use checksums
5c6160f8df6fb0ab470b290a37e220708921224b75ee35edfa41ef751c72f132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.1.12

2 release files

1.1.11

2 release files

1.1.10

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.3

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