DairyBrainUtils es un paquete PyPI con algunas funcionalidades básicas para interactuar con una base de datos PostgreSQL.
Por ahora, está alojado en TestPyPI. Si se limpió la distribución de TestPyPI, comuníquese con el autor para volver a cargarla.
Para instalar la última versión del paquete, use el comando en PyPI.
Si el enlace anterior no funciona, intente:
pip install DairyBrainUtils
Una vez instalado, le recomendamos importar el paquete con import DairyBrainUtils as dbu
.
(Actualización: esto se resolvió cuando lo subimos al PyPI oficial) Si ve un mensaje de error como este:
ERROR: Could not find a version that satisfies the requirement DairyBrainUtils-ruipeterpan==0.3.0 (from versions: 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1)
ERROR: No matching distribution found for DairyBrainUtils-ruipeterpan==0.3.0
intenta instalarlo una vez más. TestPyPI es extraño.
Una lista de funciones que están disponibles para su uso son:
get_engine(credentials)
check_if_database_exists(db_engine)
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
create_table(db_engine, table_name, sql_statement)
create_schema(db_engine, schema_name)
create_sequence(db_engine, sequence_name)
get_next_from_sequence(db_engine, sequence_name)
populate_table_from_csv(table_name, csv_location, db_engine)
execute_statement(statement, db_engine)
drop_table(table_name, db_engine)
has_table(table_name, db_engine)
get_engine(credentials)
Toma credentials
de un diccionario con las claves: [dialect, user, password, host, port, db_name, log]
y pasa estas credenciales a sqlalchemy.create_engine() para crear una nueva instancia del motor.
dialect
: Cadena. Un dialecto de base de datos. En este momento, este paquete solo admite postgresql
.user
: Cadena. El nombre de usuario de un usuario en la base de datos.password
: Cadena. La contraseña asociada al usuario.host
: Cadena. Nombre del anfitrión.port
: Entero. Número de puerto.db_name
: Cadena. Un nombre de base de datos.log
: booleano. Si es Verdadero, el motor registrará todas las declaraciones, así como un repr() de sus listas de parámetros en el registrador del motor, que por defecto es sys.stdout.check_if_database_exists(db_engine)
Utilice la funcionalidad sqlalchemy existente para comprobar si la base de datos existe. Devuelve 'Verdadero' si la base de datos existe, 'Falso' en caso contrario
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
Crea una tabla con table_name
en la base de datos si no existe una tabla con el nombre dado.
sql_statement
es una declaración CREATE TABLE
que especifica los encabezados de la tabla que se creará.
create_table(db_engine, table_name, sql_statement)
Crea una tabla con nombre_tabla en la base de datos.
sql_statement
es una declaración CREATE TABLE
que especifica los encabezados de la tabla que se creará.
create_schema(db_engine, schema_name)
Crea un esquema con el schema_name
dado en la base de datos especificada.
create_sequence(db_engine, sequence_name)
Crea una secuencia en la base de datos.
get_next_from_sequence(db_engine, sequence_name)
Devuelve el siguiente ID entero en la secuencia dada (suponiendo que exista).
populate_table_from_csv(table_name, csv_location, db_engine)
Toma una csv_location
, la ruta del archivo csv, y completa la tabla con el table_name
dado (suponiendo que exista uno) en la base de datos especificada.
execute_statement(statement, db_engine)
Ejecuta una declaración SQL en la base de datos especificada.
drop_table(table_name, db_engine)
Suelta una tabla con table_name
en la base de datos especificada.
has_table(table_name, db_engine)
Devuelve True
si existe una tabla con el table_name
dado en la base de datos especificada; devuelve False
en caso contrario.
Consulte este tutorial para obtener orientación sobre cómo empaquetar un proyecto de Python y cargarlo en PyPI (Índice de paquetes de Python). Este es un proyecto de muestra con el mejor formato.
Para publicar una nueva versión del paquete, edite ./DairyBrainUtils/__init__.py
, cambie el número de versión en setup.py
y publique los archivos de distribución siguiendo el tutorial.
Más específicamente, haz:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
Ahora, se debe crear un directorio dist
con dos archivos. Si el paquete se va a alojar en un servidor local, simplemente tome el archivo .whl
y use pip
para instalar el paquete.
Para cargar los paquetes de distribución a TestPyPI, haga:
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
Utilice __token__
cuando se le solicite ingresar el nombre de usuario. Para la contraseña, utilice el valor del token, incluido el prefijo pypi-
.