Metadata-Version: 2.1
Name: groovindb
Version: 0.1.2
Summary: ORM asíncrono con interfaz similar a Prisma para PostgreSQL y MySQL
Home-page: https://github.com/jmpanozzogroovinads/groovindb
Author: Juan Manuel Panozzo Zénere
Author-email: juanmanuel.panozzo@groovinads.com
Project-URL: Documentation, https://github.com/jmpanozzogroovinads/groovindb/docs
Project-URL: Source, https://github.com/jmpanozzogroovinads/groovindb
Project-URL: Tracker, https://github.com/jmpanozzogroovinads/groovindb/issues
Keywords: database orm async postgresql mysql prisma
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Framework :: AsyncIO
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Requires-Dist: questionary>=1.10.0
Requires-Dist: asyncpg>=0.27.0
Requires-Dist: aiomysql>=0.1.1
Requires-Dist: colorama>=0.4.4
Requires-Dist: setuptools>=42.0.0
Requires-Dist: wheel>=0.37.0
Requires-Dist: redis>=5.0.0
Requires-Dist: psutil>=5.9.0

# 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://github.com/jmpanozzogroovinads/groovindb/docs).

## Licencia

MIT 
