Cliente ligero para SQLite con SQL crudo y sin ORM
Project description
🐢 tkla_sqlite_client
Cliente liviano y robusto para trabajar con SQLite usando SQL puro.
Ideal para microservicios, APIs locales, scripts embebidos o herramientas de línea de comando donde se prefiera control total y bajo acoplamiento.
🚀 Características
- 📁 Conexión automática con
sqlite3.connect(path) - 🛠️ Creación dinámica de tablas desde esquemas tipo
dict - 🔄 Operaciones CRUD (
SELECT,INSERT,UPDATE,DELETE) - 🔎 Utilitarios:
exists()ycount() - 🧾 Respuesta unificada como
dict(success, data, message) - 🧱 Seguro por diseño: no permite
UPDATEniDELETEsinWHERE - 🧼 Logging centralizado
- 🚀 Sin ORM ni dependencias adicionales
📦 Instalación
pip install tkla_sqlite_client
O instalación local:
git clone https://github.com/LOVENXON/tkla_sqlite_client.git
cd tkla_sqlite_client
pip install -e .
⚙️ Uso Básico
1️⃣ Inicializar conexión
from tkla_sqlite_client.core import SQLiteClient
db = SQLiteClient("mi_base.sqlite")
2️⃣ Crear tablas
from tkla_sqlite_client.builder import create_tables
schema = {
"usuarios": {
"id": {"data_type": "INTEGER", "primary_key": True},
"nombre": {"data_type": "TEXT", "nullable": False},
"email": {"data_type": "TEXT", "unique": True}
}
}
create_tables(schema, db)
3️⃣ CRUD y Consultas
➕ Insertar
db.insert_data({"usuarios": {"nombre": "Ana", "email": "ana@example.com"}})
🔍 Consultar
db.select_data({
"usuarios": {
"conditions": {"email": "ana@example.com"},
"columns": ["id", "nombre"]
}
})
✏️ Actualizar
db.update_data({
"usuarios": {
"values": {"nombre": "Ana Actualizada"},
"conditions": {"email": "ana@example.com"}
}
})
❌ Eliminar
db.delete_data({
"usuarios": {"conditions": {"email": "ana@example.com"}}
})
🔎 Métodos Utilitarios
Verificar existencia
db.exists({"usuarios": {"conditions": {"email": "ana@example.com"}}})
Contar registros
db.count({"usuarios": {"conditions": {}}})
🧹 Buenas Prácticas
- ✅ Usa
db.close()al finalizar - ✅ Valida los campos obligatorios manualmente
- ✅ Evita insertar sin campos requeridos
📄 Licencia
MIT
✨ Autor
Lovenson Pierre
📧 lovesonpierre25@gmail.com
🔗 GitHub: LOVENXON
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 tkla_sqlite_client-0.1.0.tar.gz.
File metadata
- Download URL: tkla_sqlite_client-0.1.0.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7333ba9255c65e12bc744ccd81fa82d1718642269fd0ef03ed393bc913ea6513
|
|
| MD5 |
760dbde2a78686f0224b3ba87ec7dfd3
|
|
| BLAKE2b-256 |
1c7800c295f27c9ab26b1c9efc3644049143576695a4d4488735c60e6a6ebd0e
|
File details
Details for the file tkla_sqlite_client-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tkla_sqlite_client-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
691d15770972a18ca7fa0bf1c6c78579d0822b066ba170198144004d009c013f
|
|
| MD5 |
e88af313715079379bdc84ea734b7f5f
|
|
| BLAKE2b-256 |
ca022e1d16fe2c37f279b2365be93325069cb33f0d9211040c58028f8b794682
|