Skip to main content

A tool for parsing and manipulating PostgreSQL libpq style connection strings and URIs

Project description

pgconnstr

A Python module for parsing and manipulating PostgreSQL libpq style connection strings and URIs.

PyPI version PyPI Supported Python Versions GitHub license GitHub Actions (Tests)

License

LGPLv3. See the file LICENSE for details.

class ConnectionString

pgconnstr.ConnectionString represents a libpq connection string.

>>> from pgconnstr import ConnectionString
>>> c = ConnectionString(host='1.2.3.4', dbname='mydb', port=5432, user='anon',
...                      password="sec'ret", application_name='myapp')
...
>>> print(str(c))
application_name=myapp dbname=mydb host=1.2.3.4 password=sec\'ret port=5432 user=anon
>>> print(str(ConnectionString(str(c), dbname='otherdb')))
application_name=myapp dbname=otherdb host=1.2.3.4 password=sec\'ret port=5432 user=anon

Components may be accessed as attributes.

>>> c.dbname
'mydb'
>>> c.host
'1.2.3.4'
>>> c.port
'5432'

Standard components will default to None if not explicitly set. See https://www.postgresql.org/docs/12/libpq-connect.html#LIBPQ-PARAMKEYWORDS for the list of standard keywords.

>>> c.connect_timeout is None
True

The standard URI format is also accessible:

>>> print(c.uri)
postgresql://anon:sec%27ret@1.2.3.4:5432/mydb?application_name=myapp

>>> print(ConnectionString(c, host='2001:db8::1234').uri)
postgresql://anon:sec%27ret@[2001:db8::1234]:5432/mydb?application_name=myapp

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

pgconnstr-1.0.1.zip (8.9 kB view details)

Uploaded Source

Built Distribution

pgconnstr-1.0.1-py2.py3-none-any.whl (7.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pgconnstr-1.0.1.zip.

File metadata

  • Download URL: pgconnstr-1.0.1.zip
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for pgconnstr-1.0.1.zip
Algorithm Hash digest
SHA256 0656129961ae879675d0842f5237db82d31ce59c7b3211b051c33e37a864826e
MD5 76b94005fec9560ed91b8dda6c9fc7e1
BLAKE2b-256 1ddd08e1b1a5c1586f5ad5e48ee09b8bfca5a116c12abfbb864c150bacfbaee8

See more details on using hashes here.

File details

Details for the file pgconnstr-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pgconnstr-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for pgconnstr-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0f65830e7e3b76adf4390a8592ee52343171a17caef7436257e7bc81c44e21a7
MD5 955d43e6989e7867fa2766a4c4908e34
BLAKE2b-256 b90b17145a8a6e353ee30f3fa4703d2c60b45900cf1eb6ddc601e3f28cd36312

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