DairyBrainUtils é um pacote PyPI com algumas funcionalidades básicas para interagir com um banco de dados PostgreSQL.
Por enquanto, está hospedado no TestPyPI. Se a distribuição TestPyPI foi limpa, entre em contato com o autor para carregá-la novamente.
Para instalar a versão mais recente do pacote, use o comando no PyPI.
Se o link acima estiver quebrado, tente:
pip install DairyBrainUtils
Depois de instalado, recomendamos que você importe o pacote com import DairyBrainUtils as dbu
.
(Atualização: isso foi resolvido quando carregamos no PyPI oficial) Se você vir uma mensagem de erro como esta:
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
tente instalá-lo mais uma vez. TestPyPI é estranho.
Uma lista de funções que estão disponíveis para uso são:
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)
Recebe credentials
de um dicionário com as chaves: [dialect, user, password, host, port, db_name, log]
e passa essas credenciais para sqlalchemy.create_engine() para criar uma nova instância de mecanismo.
dialect
: String. Um dialeto de banco de dados. No momento, este pacote suporta apenas postgresql
.user
: String. O nome de usuário de um usuário no banco de dados.password
: String. A senha associada ao usuário.host
: String. Nome do anfitrião.port
: inteiro. Número da porta.db_name
: String. Um nome de banco de dados.log
: Booleano. Se for True, o mecanismo registrará todas as instruções, bem como repr() de suas listas de parâmetros no registrador do mecanismo, cujo padrão é sys.stdout.check_if_database_exists(db_engine)
Use a funcionalidade sqlalchemy existente para verificar se o banco de dados existe. Retorna 'True' se o banco de dados existir, 'False' caso contrário
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
Cria uma tabela com table_name
no banco de dados se não existir uma tabela com o nome fornecido.
sql_statement
é uma instrução CREATE TABLE
que especifica os cabeçalhos da tabela a ser criada.
create_table(db_engine, table_name, sql_statement)
Cria uma tabela com table_name no banco de dados.
sql_statement
é uma instrução CREATE TABLE
que especifica os cabeçalhos da tabela a ser criada.
create_schema(db_engine, schema_name)
Cria um esquema com o schema_name
fornecido no banco de dados especificado.
create_sequence(db_engine, sequence_name)
Cria uma sequência no banco de dados.
get_next_from_sequence(db_engine, sequence_name)
Retorna o próximo ID inteiro na sequência fornecida (assumindo que exista)
populate_table_from_csv(table_name, csv_location, db_engine)
Recebe um csv_location
, o caminho de um arquivo csv, e preenche a tabela com o table_name
fornecido (supondo que exista) no banco de dados especificado.
execute_statement(statement, db_engine)
Executa uma instrução SQL no banco de dados especificado.
drop_table(table_name, db_engine)
Elimina uma tabela com table_name
no banco de dados especificado.
has_table(table_name, db_engine)
Retorna True
se existir uma tabela com o table_name
fornecido no banco de dados especificado, retorna False
caso contrário
Consulte este tutorial para obter orientação sobre como empacotar um projeto Python e carregá-lo no PyPI (Python Package Index). Este é um projeto de amostra com o melhor formato.
Para publicar uma nova versão do pacote, edite ./DairyBrainUtils/__init__.py
, altere o número da versão em setup.py
e publique os arquivos de distribuição seguindo o tutorial.
Mais especificamente, faça:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
Agora, um diretório dist
deve ser criado com dois arquivos. Se o pacote for hospedado em um servidor local, basta pegar o arquivo .whl
e usar pip
para instalar o pacote.
Para fazer upload dos pacotes de distribuição para TestPyPI, faça:
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
Use __token__
quando solicitado a inserir o nome de usuário. Para a senha, use o valor do token, incluindo o prefixo pypi-
.