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-2.0.tar.gz (7.5 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-2.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file coplin_db2-2.0.tar.gz.

File metadata

  • Download URL: coplin_db2-2.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for coplin_db2-2.0.tar.gz
Algorithm Hash digest
SHA256 326232826705768079df6ce76aafab1478d4acf3f71bfccaf3c00f9193a511e7
MD5 6508fb4e11d39004d540ed1b5d7630c2
BLAKE2b-256 1d6e024aeecfe05b1201798cd10ffcd03de82242810f076db4e9b867224cbbcb

See more details on using hashes here.

File details

Details for the file coplin_db2-2.0-py3-none-any.whl.

File metadata

  • Download URL: coplin_db2-2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for coplin_db2-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fbe4ce4c05777b78847bb6523c43869021556d3ae95962edc916610c90149e5a
MD5 12d1f4bde80349b6ab16f3a70afa7c4e
BLAKE2b-256 5d90f5ab0b272c0b2e715d33d8fd59064b83fca62cde660b1122f68e7117e02c

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