Skip to main content

Conexões simplificadas com bancos SQL/NoSQL

Project description

DBConnector

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 dbconnector

Instalação com suporte a bancos específicos:

pip install dbconnector[sql]          # Bancos SQL
pip install dbconnector[mongodb]      # MongoDB
pip install dbconnector[elasticsearch] # Elasticsearch
pip install dbconnector[async]        # Suporte assíncrono
pip install dbconnector[all]          # Todos os recursos

Uso Básico

Conexão Simples

from dbconnector 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 dbconnector 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 dbconnector 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:

dbconnector-cli 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.0.tar.gz (11.6 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.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file easy_multidb_connector-0.2.0.tar.gz.

File metadata

  • Download URL: easy_multidb_connector-0.2.0.tar.gz
  • Upload date:
  • Size: 11.6 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.0.tar.gz
Algorithm Hash digest
SHA256 f0f22f3b216ecf7ef397952be4459a5f0ee97768286e68e3685c8a6e26ac94e0
MD5 d614ba520bb0dc1604168bacd4af33a1
BLAKE2b-256 e6d1a85a81046b4b5192e81b99a627b0c4e1d1560b9d9fe742544776cce62032

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for easy_multidb_connector-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68565cd79a542364ebb81e9a1af76923a2a54cb1bebb57edbb70e806fbe81466
MD5 a76b337418868359ccbd2ec0b54799a4
BLAKE2b-256 a30a7b951a7eba37a260173da863bb08b8dda04843d30cb09d2e891190026e0c

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