Skip to main content

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.

  1. Instale o Python Anaconda na sua máquina

  2. Crie o ambiente virtual do anaconda e instale as bibliotecas necessárias com o comando

    conda env create -f environment.yml
    
  3. Construa o pacote:

    python -m build
    
  4. Instale-o localmente com

  5. 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> e git 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coplin_db2-1.4.3.3.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coplin_db2-1.4.3.3-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

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

Hashes for coplin_db2-1.4.3.3.tar.gz
Algorithm Hash digest
SHA256 baec484cd2042af0d1d4c62b75d7b6ec41a5d79a9dc1644688ab0ccb08982a6d
MD5 4f9e7b1ae3f0cf7e3186e71cba0a4996
BLAKE2b-256 edcbee528131958098e38f4e5c3a9c4e4e282bbebd83387660a1cfbe5d8e1797

See more details on using hashes here.

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

Hashes for coplin_db2-1.4.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b3da78cde3f440506b4f9611193ff8aeba993d75b8c7098f679e34a6235aea5
MD5 9c9297704a9816260ddb6a1ae49142e2
BLAKE2b-256 84f61f9f401d1db7d0837a9a4d82daaf8c0e24a318d6ca5b6e25e345681c2211

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page