Socket
Socket
Sign inDemoInstall

pgconnstr

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    pgconnstr

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


Maintainers
1

Readme

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

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc