Skip to main content

Pacotes de funções utilitárias e classes de uso geral em aplicações

Project description

metamorfo: Seu Utilitário Python Multiforme

Visão Geral

Metamorfo é um pacote Python de versatilidade, projetado para fornecer um conjunto de ferramentas e utilitários de uso geral, com foco especial em conexões com diversos bancos de dados.

Seja você um desenvolvedor back-end, data scientist ou entusiasta de Python, metamorfo pode simplificar suas tarefas e aumentar sua produtividade.

Características Principais

  • Conexões com múltiplos bancos de dados: Conecte-se facilmente à diversas bases de dados.
    • PostgreSQL
    • MongoDB
    • Redis
    • TrinoDB
  • Funções utilitárias: Uma coleção de funções para tarefas comuns, como por exemplo:
    • Geração dinamica para listas em consultas
    • Geração de hash`s para pacote de dados, em base64, sha-256 e md5
    • Muito mais.
  • Design modular: O pacote é organizado em módulos bem definidos, facilitando a manutenção e a expansão.
  • Documentação clara: Documentação detalhada para cada função e classe, com exemplos práticos.

Instalação

Foi pensado em instalações opcionais dos módulos, instalando somente dependencias que serão realmente utilizadas.

Para instalar metamorfo, utilize o pip:

## Para instalar utilitários
pip install metamorfo metamorfo[utils]
## Para instalar conectores
pip install metamorfo metamorfo[databases]

from metamorfo.database import TrinoDB
from metamorfo.utils import list_in_query

# Conectando ao TrinoDB
db = TrinoDB(
    host='seu_host'
    , database='sua_base'
    , username='seu_usuario'
    , password='sua_senha'
    , source='sua_sorce'
)

# Executando uma consulta
resultado = db.execute_query(
    "SELECT current_timestamp, :valor as column_1"
    , params={'valor': 1}
)

# Função utilitária
# Gerar lista de parametros e valores em uma consulta com IN
data_formatada = metamorfo.formatar_data('2023-11-22', formato='%d/%m/%Y')
qry = 'SELECT * FROM sua_tabela WHERE seu_campo in (:lista_campo) and outro_campo = :outro_campo_valor'
prm = {
    'outro_campo_valor': 123
}
qry, prm = list_in_query(
    lista=[1,2,3,4,5,6]
    , nome_parametro="lista_campo"
    , query=qry
    , parametros=prm
)
resultado = db.execute_query(
    qry
    , params=prm
)

Contribuindo

Contribuições são bem-vindas! Para contribuir com metamorfo, siga estes passos:

  1. Fork este repositório.
  2. Crie um novo branch para sua feature.
  3. Faça suas alterações e commit.
  4. Envie um pull request.

Licença

Este projeto está licenciado sob a licença MIT.

Autores

Guilherme Costa - criador e mantenedor principal

Funcionalidades Futuras

  • Classe de conexão unificada: Implementação de uma classe base abstrata para conexões de banco de dados, utilizando o padrão de projeto Interface, para facilitar a adição de novos bancos de dados e a criação de adapters.
  • Suporte a outros bancos de dados: Expansão para incluir suporte a outros sistemas de gerenciamento de bancos de dados como SQL Server, Oracle, MySQL, SQLite, DuckDB, MemGraph entre outros.

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

metamorfo-0.1.1.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

metamorfo-0.1.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file metamorfo-0.1.1.tar.gz.

File metadata

  • Download URL: metamorfo-0.1.1.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for metamorfo-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8cd9520619cd68e7088569834eca19d61e5fab09de6e1d121c39d99416a1fd40
MD5 e7a8732f552d0bbd3a81fbd00c57ec7b
BLAKE2b-256 4b83b8f44cd310322f3c65205840ce201140ede5ee534b704508e15921673b3b

See more details on using hashes here.

File details

Details for the file metamorfo-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: metamorfo-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for metamorfo-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cac869664a0c03d8bc553f48a75fb70c7924fb8e0c92dd3df92642f24add2d1c
MD5 462d9bb4385e5af8bfe054c4f97dfc8c
BLAKE2b-256 b3860a677f60b300b10ccd24c90c659a482d640be7a9013a8dfed2c75639da68

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