Skip to main content

Conexões simplificadas com bancos SQL/NoSQL

Project description

Easy MultiDB Connector

PyPI version License: MIT Python Versions

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


Download files

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

Source Distribution

easy_multidb_connector-0.2.1.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

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

easy_multidb_connector-0.2.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

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

Hashes for easy_multidb_connector-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0dc63e070876c9cdfc1b9d87373d72e8968dd6d6e57f04c6d1672b73fe6e3018
MD5 162aada06d52ab47f1e8ddcbc4a00c29
BLAKE2b-256 9cd2572486631c56ce9063b86dabe608598526a61c23ceb9a1266b8a0177908a

See more details on using hashes here.

File details

Details for the file easy_multidb_connector-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_multidb_connector-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f07c949237316bd9548fb7bd82a211b4226cb1c0f53fbd541d8b2b2d9c7dcb7d
MD5 4033be0297312564c122b92ab955df9d
BLAKE2b-256 68fac7c276f13d8c70baea496401604113c1f4ea66c89603d74fba558dccea71

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