Conexões simplificadas com bancos SQL/NoSQL
Project description
Easy MultiDB Connector
Um pacote Python completo para conexão com bancos de dados SQL e NoSQL, com suporte a operações assíncronas e ORM básico.
Recursos
- Conexão simplificada com diversos bancos de dados
- Suporte a SQL (MySQL, PostgreSQL, SQLite, Oracle, MSSQL) e NoSQL (MongoDB, Redis, Cassandra, Elasticsearch)
- Operações assíncronas
- ORM básico para operações CRUD
- Pool de conexões
- CLI para testes rápidos
- Tipagem completa para melhor suporte a IDEs
Instalação
Instalação básica:
pip install easy-multidb-connector
Instalação com suporte a bancos específicos:
pip install easy-multidb-connector[sql] # Bancos SQL
pip install easy-multidb-connector[mongodb] # MongoDB
pip install easy-multidb-connector[elasticsearch] # Elasticsearch
pip install easy-multidb-connector[async] # Suporte assíncrono
pip install easy-multidb-connector[all] # Todos os recursos
Uso Básico
Conexão Simples
from easy_multidb_connector import connect
# SQL
with connect('mysql', host='localhost', user='root', password='senha') as conn:
cursor = conn.connection.cursor()
cursor.execute("SELECT 1")
print(cursor.fetchone())
# NoSQL (MongoDB)
with connect('mongodb', host='localhost') as conn:
db = conn.connection['meu_banco']
print(db.list_collection_names())
Operações Assíncronas
import asyncio
from easy_multidb_connector import connect
async def test_async():
async with connect('postgresql', async_conn=True,
host='localhost', user='postgres') as conn:
result = await conn.connection.fetch("SELECT 1")
print(result)
asyncio.run(test_async())
ORM Básico
from easy_multidb_connector import SQLModel, connect
class User(SQLModel):
__fields__ = {
'id': 'INTEGER PRIMARY KEY',
'name': 'TEXT NOT NULL',
'email': 'TEXT UNIQUE'
}
with connect('sqlite', database=':memory:') as conn:
User.create_table(conn)
user_id = User.insert(conn, {'name': 'João', 'email': 'joao@exemplo.com'})
print(f"Usuário inserido com ID: {user_id}")
CLI
O pacote inclui uma CLI para testes rápidos:
multidb-connect test --type mysql --host localhost --user root
Opções disponíveis:
--type: Tipo de banco de dados (obrigatório)--host,--port,--user,--password,--database: Parâmetros de conexão--async: Usar conexão assíncrona
Documentação Completa
Consulte a documentação avançada para:
- Uso do connection pool
- Operações com NoSQL
- Transações
- Configuração de logging
- Decoradores úteis
Contribuição
Contribuições são bem-vindas! Por favor, abra uma issue ou envie um pull request.
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 easy_multidb_connector-0.2.1.tar.gz.
File metadata
- Download URL: easy_multidb_connector-0.2.1.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dc63e070876c9cdfc1b9d87373d72e8968dd6d6e57f04c6d1672b73fe6e3018
|
|
| MD5 |
162aada06d52ab47f1e8ddcbc4a00c29
|
|
| BLAKE2b-256 |
9cd2572486631c56ce9063b86dabe608598526a61c23ceb9a1266b8a0177908a
|
File details
Details for the file easy_multidb_connector-0.2.1-py3-none-any.whl.
File metadata
- Download URL: easy_multidb_connector-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f07c949237316bd9548fb7bd82a211b4226cb1c0f53fbd541d8b2b2d9c7dcb7d
|
|
| MD5 |
4033be0297312564c122b92ab955df9d
|
|
| BLAKE2b-256 |
68fac7c276f13d8c70baea496401604113c1f4ea66c89603d74fba558dccea71
|