Um módulo de conveniência para manipulação de bancos de dados IBM DB2 em Python.
Project description
coplin-db2
A biblioteca coplin-db2 é um módulo de conveniência para acessar bancos de dados do tipo IBM DB2, desenvolvido pela Coordenadoria de Planejamento Informacional da UFSM (COPLIN).
Com esta biblioteca, é possível definir um arquivo com credenciais de acesso ao banco de dados, no formato json, que
podem ser utilizadas posteriormente:
Arquivo credentials.json:
{
"user": "nome_de_usuário",
"password": "sua_senha_aqui",
"host": "URL_do_host",
"port": 50000,
"database": "nome_do_banco"
}
Arquivo db2_schema.sql:
CREATE TABLE USERS_TEST_IBMDB2(
ID INTEGER NOT NULL PRIMARY KEY,
NAME VARCHAR(10) NOT NULL,
AGE INTEGER NOT NULL
);
INSERT INTO USERS_TEST_IBMDB2(ID, NAME, AGE) VALUES (1, 'HENRY', 32);
INSERT INTO USERS_TEST_IBMDB2(ID, NAME, AGE) VALUES (2, 'JOHN', 20);
Arquivo main.py:
import os
from db2 import DB2Connection
# arquivo JSON com credenciais de login para o banco de dados
credentials = 'credentials.json'
with DB2Connection(credentials) as db2_conn:
db2_conn.create_tables('db2_schema.sql')
query_str = '''
SELECT *
FROM USERS_TEST_IBMDB2;
'''
df = db2_conn.query_to_dataframe(query_str)
print(df)
# deleta a tabela
# db2_conn.modify('''DROP TABLE USERS_TEST_IBMDB2;''', suppress=False)
A saída esperada deve ser:
ID NAME AGE
0 1 HENRY 32
1 2 JOHN 20
Instalação
Para instalar o pacote pelo pip, digite o seguinte comando:
pip install coplin-db2
Desenvolvimento
Este passo-a-passo refere-se às instruções para desenvolvimento do pacote. Se você deseja apenas usá-lo, siga para a seção Instalação.
-
Instale o Python Anaconda na sua máquina
-
Crie o ambiente virtual do anaconda e instale as bibliotecas necessárias com o comando
conda env create -f environment.yml
-
Construa o pacote:
python -m build
-
Instale-o localmente com
-
Este repositório já conta com uma GitHub Action para publicar automaticamente no PyPi e TestPyPi. Consulte o arquivo python-publish.yml para detalhes da implementação.
Todos os commits serão enviados para o TestPyPi, mas apenas commits com tags serão enviados para o PyPi:
# alguma modificação no código fonte # ... git add . git commit -m "mensagem do commit" git tag -a <tag_name> -m "título da versão" git push origin main # envia o commit para o repositório e o pacote para TestPyPi git push origin <tag_name> # publica a tag e envia o pacote para o PyPi
Onde <tag_name> é um número no formato, por exemplo,
v1.4.1.Use apenas os comandos
git tag -a <tag_name>egit push origin <tag_name>quando quiser publicar o pacote no canal PyPi!Um tutorial de publicação com GitHub Actions está disponível neste link
Contato
Biblioteca desenvolvida originalmente por Henry Cagnini: henry.cagnini@ufsm.br
Caso encontre algum problema no uso, abra um issue no repositório da biblioteca.
Pull requests são bem-vindos!
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file coplin_db2-1.4.3.3.tar.gz.
File metadata
- Download URL: coplin_db2-1.4.3.3.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baec484cd2042af0d1d4c62b75d7b6ec41a5d79a9dc1644688ab0ccb08982a6d
|
|
| MD5 |
4f9e7b1ae3f0cf7e3186e71cba0a4996
|
|
| BLAKE2b-256 |
edcbee528131958098e38f4e5c3a9c4e4e282bbebd83387660a1cfbe5d8e1797
|
File details
Details for the file coplin_db2-1.4.3.3-py3-none-any.whl.
File metadata
- Download URL: coplin_db2-1.4.3.3-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b3da78cde3f440506b4f9611193ff8aeba993d75b8c7098f679e34a6235aea5
|
|
| MD5 |
9c9297704a9816260ddb6a1ae49142e2
|
|
| BLAKE2b-256 |
84f61f9f401d1db7d0837a9a4d82daaf8c0e24a318d6ca5b6e25e345681c2211
|