Usage¶
To use sqlauthandle in a project:
from sqlauthandle.sqlauthandle import Sqlauth
import getpass
Choose an alias name and instantiate Sqlauth.
auth = Sqlauth(alias='postgres_dev', reset_file=True)
and set the credentials:
auth.set_credentials(dialect='postgresql',
host='localhost',
port='5432',
user='usuario',
db_name='customers',
passwd=getpass.getpass('Password: '))
It will ask you for password interactively. The password will be saved encryptedly in your
system keyring.
(Hint: Qt console does not support input password mode. If you don’t want yo show your password on the screen, you
need to use another console.)
The dialect, host, port, user, db_name and passwd are saved in a config file in .sqlauthande/.
You can add this folder to .gitignore file if you don’t want to follow config files with Git
Then, you can authenticate at DB with:
auth.conect_db()
It returns a sqlalchemy.engine.base.Engine from sqlalchemy package.
You can use it, for example, with pandas:
pd.read_sql('clients', auth.conect_db())
CLI interface¶
You can set your credentials interactively directly from shell
$ sqlauthandle
Sqlauthandle
See sqlauthandle documentation at https://sqlauthandle.readthedocs.io/
Alias [sqlauthandle]: postgres_dev
Dialect [postgresql]:
Host [localhost]:
Port [5432]:
User: usuario
Database name: customers
Password:
Then, on your Python project, you can instantiate Sqlauth with the alias:
auth = Sqlauth(alias='postgres_dev', reset_file=True)