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 conectores
pip install metamorfo metamorfo[databases]
from metamorfo.database import TrinoDB
from metamorfo.utility 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
)
Também é possível de conectar usando variáveis de ambiente, porém dessa forma é possível se conectar a somente um banco de cada instância por vez.
Utilizar as seguintes variáveis
Para TrinoDB
- METAMORFO_TRINO_USER
- METAMORFO_TRINO_PASSWORD
- METAMORFO_TRINO_HOST
- METAMORFO_TRINO_PORT
- METAMORFO_TRINO_SOURCE
Para Redis
- METAMORFO_REDIS_USER
- METAMORFO_REDIS_PASSWORD
- METAMORFO_REDIS_HOST
- METAMORFO_REDIS_PORT
Para MongoDB
- METAMORFO_MONGO_USER
- METAMORFO_MONGO_PASSWORD
- METAMORFO_MONGO_HOST
- METAMORFO_MONGO_PORT
Para PostgreSQL
- METAMORFO_POSTGRES_USER
- METAMORFO_POSTGRES_PASSWORD
- METAMORFO_POSTGRES_HOST
- METAMORFO_POSTGRES_PORT
- METAMORFO_POSTGRES_DB
Contribuindo
Contribuições são bem-vindas! Para contribuir com metamorfo, siga estes passos:
- Fork este repositório.
- Crie um novo branch para sua feature.
- Faça suas alterações e commit.
- 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
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 metamorfo-0.3.3.tar.gz.
File metadata
- Download URL: metamorfo-0.3.3.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.7 Linux/5.15.167.4-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d588421f9fcb465c96e2240589d582d747caa6d7a525a122affdfb1da08bd896
|
|
| MD5 |
18d312c29995021af4b9411cf2092f0b
|
|
| BLAKE2b-256 |
6aba66b2679e007d184f3eae567f18bb885cb267ef01c7d62b4a3b7a835760a2
|
File details
Details for the file metamorfo-0.3.3-py3-none-any.whl.
File metadata
- Download URL: metamorfo-0.3.3-py3-none-any.whl
- Upload date:
- Size: 21.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.7 Linux/5.15.167.4-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e238ca43ea5438d203346ae691f751bd662194521b1d647f2370c7e7c281f620
|
|
| MD5 |
25f0822f5f30a731de320f5acd8853d1
|
|
| BLAKE2b-256 |
c6c65a6c7e59df524b2ad8e7de1b7b874995fc0362d460bc86782d87e6f21cda
|