A simple sqlalchemy connection configuration manager
Project description
db_hooks
Extremely beta sqlalchemy and toml based sql connection manager.
config file
db_hooks
looks for a local config file at ./.databases.toml
in your working directory and then looks for a global config file using the appdirs library. Right now there isn't an obvious way to find this path, but running db_hooks list
will bomb with a useful error message if the file isn't there. In general, try these locations:
os | location |
---|---|
linux | ~/.local/share/db_hooks/databases.toml |
osx | ~/Library/Application Support/db_hooks/databases.toml |
windows 10 | ~\AppData\local\jfhbrook\db_hooks |
Keys in the TOML file are connection names. Under those are key/value pairs for the varios parameters in a connection. Connections support the following parameters:
connection
- a sqlalchemy-compatible connstring. May have a{password}
f-string parameter.password_cmd
- a bash command that will be executed in order to fetch the password, which will be applied toconnection
as an f-string.
In general, one would use password_cmd
to write a small snippet that fetches the password. This is designed to allow the most flexibility and therefore will depend on your needs.
For example, you may have a local postgres account and want to read the password using zenity
:
[pg_example]
connection = "postgresql+psycopg2://josh:{password}@localhost:5432/josh"
password_cmd = "zenity --password"
the cli
db_hooks
exposes a CLI that will launch either psql
or mysql
in a manner appropriate to the underlying connection. You can run db_hooks --help
for hopefully useful help output.
licensing
This library is licensed under the Apache Software License. See the LICENSE and NOTICE files for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for db_hooks-0.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ffaa7f18b3f919b3216bf659f71d5435ff51748a4cdd6b176fd9fa6ad9e35c |
|
MD5 | 41a75b96fc708c692b30cf86bdd6935c |
|
BLAKE2b-256 | 33b8abb77dc32cc6775b6d284c6e75ec0fb06b33eb6a991d912cd4d31e829d23 |