pgserviceparser
A python package parsing the PostgreSQL connection service file.
>>> import pgserviceparser
Finding the PostgreSQL connection service file with conf_path
Returns the path found for the pg_service.conf on the system as string.
>>> pgserviceparser.conf_path()
'/home/dave/.pg_service.conf'
Listing all the services with service_names
Returns all service names in a list.
Optionally you can pass a config file path. Otherwise it gets it by conf_path.
>>> pgserviceparser.service_names()
['srvce_wandplaene', 'ktn_solothurn', 'daves_bakery']
Receiving the configuration for a service with service_config
Returns the config from the given service name as a dict.
Optionally you can pass a config file path. Otherwise it gets it by conf_path.
>>> pgserviceparser.service_config('daves_bakery')
{'host': 'localhost', 'port': '5432', 'dbname': 'bakery', 'user': 'dave', 'password': 'fischersfritz'}
Getting the full configuration with full_config
Returns full pgservice config as configparser.ConfigParser().
Optionally you can pass a config file path. Otherwise it gets it by conf_path.
>>> pgserviceparser.full_config()
<configparser.ConfigParser object at 0x7f4c6d66b580>
Add a new service or remove one
Add a new service:
import pgserviceparser
new_srv_settings = {"host": "localhost", "dbname": "best_database_ever", "port": 5432, "user": "ro_gis_user"}
new_srv = pgserviceparser.write_service(service_name="gis_prod_ro", settings=new_srv_settings, create_if_not_found=True)
assert isinstance(new_srv, dict)
The PG service file has now:
[gis_prod_ro]
host=localhost
dbname=best_database_ever
port=5432
user=ro_gis_user
To remove it:
pgserviceparser.remove_service("gis_prod_ro")
Contribute
Test
pip install -e .
export PGSERVICEPARSER_SRC_DIR=$pwd
python -m unittest test.test_lib
Git hooks
pip install pre-commit
pre-commit install
Build documentation
pip install -e .[docs]
mkdocs build -f docs/mkdocs.yml
Metadata
Release files for pgserviceparser 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pgserviceparser-2.2.0.tar.gz | 8.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pgserviceparser-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / pgserviceparser-2.2.0.tar.gz
| Download URL | pgserviceparser-2.2.0.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f84f37aafb3cb6478a82b33bc2fea7c323327133145ee628bcf3d96012cb2efc
|
|
BLAKE2b-256 checksum How to use checksums |
9736ff073cee5bb72aa91559d358bb2169f386a682a12d1707257b263baed9c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / pgserviceparser-2.2.0-py3-none-any.whl
| Download URL | pgserviceparser-2.2.0-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3bd9f1941b5717ca48b1c7aa1126f1d7fdc2a320dffd1e17532d201d7f89937f
|
|
BLAKE2b-256 checksum How to use checksums |
f2474b8ac0a37ebc69949b57128603b5b7609f18bad7d09ffc410625a3b8c45d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|