# GroovinDB
GroovinDB es un ORM asíncrono para Python que proporciona una interfaz similar a Prisma para interactuar con bases de datos PostgreSQL y MySQL.
## Características
- Soporte para PostgreSQL y MySQL
- API asíncrona
- Sistema de caché integrado (memoria y Redis)
- CLI para inicialización y gestión
- Introspección automática de bases de datos
- Generación automática de modelos
- Soporte para múltiples esquemas
- Sistema de logging configurable
## Instalación
```bash
pip install groovindb
```
## Uso Rápido
1. Inicializar el proyecto:
```bash
groovindb init
```
2. Usar en código:
```python
import asyncio
from groovindb import GroovinDB
async def main():
db = GroovinDB()
await db.connect()
# Consultar registros
users = await db.client.users.findMany(
where={"active": True},
orderBy=[{"name": "asc"}],
take=10
)
await db.disconnect()
if __name__ == "__main__":
asyncio.run(main())
```
## Configuración
La configuración se almacena en `groovindb.json`:
```json
{
"postgresql": {
"user": "user",
"password": "password",
"database": "mydb",
"host": "localhost",
"port": 5432,
"schema": "public"
},
"cache": {
"type": "memory",
"ttl": 300
},
"debug": {
"level": "INFO"
}
}
```
## Documentación
Para más información, consulta la [documentación completa](https://bitbucket.org/groovinads/groovindb/src/master/README.md).
## Licencia
MIT
Raw data
{
"_id": null,
"home_page": "https://bitbucket.org/groovinads/groovindb",
"name": "groovindb",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "database orm async postgresql mysql prisma",
"author": "Juan Manuel Panozzo Zenere",
"author_email": "juanmanuel.panozzo@groovinads.com",
"download_url": "https://files.pythonhosted.org/packages/21/bf/877cd2d68be67ead62ed96f467a2309b7f5b2a82f7c7c03e62a09ac8a461/groovindb-0.1.4.tar.gz",
"platform": null,
"description": "# GroovinDB\n\nGroovinDB es un ORM as\u00edncrono para Python que proporciona una interfaz similar a Prisma para interactuar con bases de datos PostgreSQL y MySQL.\n\n## Caracter\u00edsticas\n\n- Soporte para PostgreSQL y MySQL\n- API as\u00edncrona\n- Sistema de cach\u00e9 integrado (memoria y Redis)\n- CLI para inicializaci\u00f3n y gesti\u00f3n\n- Introspecci\u00f3n autom\u00e1tica de bases de datos\n- Generaci\u00f3n autom\u00e1tica de modelos\n- Soporte para m\u00faltiples esquemas\n- Sistema de logging configurable\n\n## Instalaci\u00f3n\n\n```bash\npip install groovindb\n```\n\n## Uso R\u00e1pido\n\n1. Inicializar el proyecto:\n\n```bash\ngroovindb init\n```\n\n2. Usar en c\u00f3digo:\n\n```python\nimport asyncio\nfrom groovindb import GroovinDB\n\nasync def main():\n db = GroovinDB()\n await db.connect()\n\n # Consultar registros\n users = await db.client.users.findMany(\n where={\"active\": True},\n orderBy=[{\"name\": \"asc\"}],\n take=10\n )\n\n await db.disconnect()\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n## Configuraci\u00f3n\n\nLa configuraci\u00f3n se almacena en `groovindb.json`:\n\n```json\n{\n \"postgresql\": {\n \"user\": \"user\",\n \"password\": \"password\",\n \"database\": \"mydb\",\n \"host\": \"localhost\",\n \"port\": 5432,\n \"schema\": \"public\"\n },\n \"cache\": {\n \"type\": \"memory\",\n \"ttl\": 300\n },\n \"debug\": {\n \"level\": \"INFO\"\n }\n}\n```\n\n## Documentaci\u00f3n\n\nPara m\u00e1s informaci\u00f3n, consulta la [documentaci\u00f3n completa](https://bitbucket.org/groovinads/groovindb/src/master/README.md).\n\n## Licencia\n\nMIT\n",
"bugtrack_url": null,
"license": null,
"summary": "ORM as\u00edncrono para Python con interfaz similar a Prisma",
"version": "0.1.4",
"project_urls": {
"Bug Tracker": "https://bitbucket.org/groovinads/groovindb/issues",
"Documentation": "https://bitbucket.org/groovinads/groovindb/src/master/README.md",
"Homepage": "https://bitbucket.org/groovinads/groovindb",
"Source Code": "https://bitbucket.org/groovinads/groovindb"
},
"split_keywords": [
"database",
"orm",
"async",
"postgresql",
"mysql",
"prisma"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "efd90f3660cad21e658e52c6f6ca60732e886755c828d98cc7dde241ba5cd9d0",
"md5": "481c5654b843d115d8b2e05eaf0d829d",
"sha256": "84f7ec530d10959a81fc356ed99417d3e4fb172417d766827d4b5899f3139233"
},
"downloads": -1,
"filename": "groovindb-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "481c5654b843d115d8b2e05eaf0d829d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 31705,
"upload_time": "2024-12-23T15:08:14",
"upload_time_iso_8601": "2024-12-23T15:08:14.122604Z",
"url": "https://files.pythonhosted.org/packages/ef/d9/0f3660cad21e658e52c6f6ca60732e886755c828d98cc7dde241ba5cd9d0/groovindb-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "21bf877cd2d68be67ead62ed96f467a2309b7f5b2a82f7c7c03e62a09ac8a461",
"md5": "240a88094b72e52359370227f98067b7",
"sha256": "d3463873ad7d45bc8e8fc10d6a502e97f6b4aca1eac5f6d6f6a4f97b331a6f90"
},
"downloads": -1,
"filename": "groovindb-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "240a88094b72e52359370227f98067b7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 22218,
"upload_time": "2024-12-23T15:08:15",
"upload_time_iso_8601": "2024-12-23T15:08:15.354866Z",
"url": "https://files.pythonhosted.org/packages/21/bf/877cd2d68be67ead62ed96f467a2309b7f5b2a82f7c7c03e62a09ac8a461/groovindb-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-23 15:08:15",
"github": false,
"gitlab": false,
"bitbucket": true,
"codeberg": false,
"bitbucket_user": "groovinads",
"bitbucket_project": "groovindb",
"lcname": "groovindb"
}