Skip to main content

FastAPI framework templates and utilities for rapid API development

Project description

FastAPI Templates Framework

PyPI version Python versions License: MIT

Un framework moderno y eficiente para el desarrollo rápido de APIs con FastAPI, que incluye templates, utilidades y patrones pre-configurados para acelerar el desarrollo de aplicaciones web.

🚀 Características

  • Templates pre-configurados para diferentes tipos de APIs
  • 🏗️ Arquitectura modular con separación clara de responsabilidades
  • 🔍 Sistema de búsqueda avanzado para frameworks y endpoints
  • 📊 Gestión de base de datos con SQLModel integrado
  • 🔄 Procesamiento asíncrono de tareas
  • 📝 Documentación automática con OpenAPI
  • 🛡️ Middleware de seguridad incluido

📦 Instalación

pip install fastapi-templates-framework

Para desarrollo:

pip install fastapi-templates-framework[dev]

🎯 Uso rápido

from fastapi import FastAPI
from fastapi_templates_framework import DatabaseRegistry, Framework, Endpoint

# Crear aplicación FastAPI
app = FastAPI(title="Mi API")

# Configurar base de datos
DatabaseRegistry.initialize()

# Importar routers
from fastapi_templates_framework.openapi import core_router
app.include_router(core_router, prefix="/api/v1")

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

🏗️ Estructura del proyecto

fastapi-templates-framework/
├── dependencies/          # Gestión de dependencias y BD
│   ├── entities/         # Modelos de datos (Framework, Endpoint)
│   └── registry.py       # Registro de base de datos
├── openapi/              # Controladores de API
│   ├── core.py          # Endpoints principales
│   └── tasks.py         # Gestión de tareas
├── middleware/           # Middleware personalizado
└── security/            # Utilidades de seguridad

🔍 Funcionalidades principales

1. Gestión de Frameworks

from fastapi_templates_framework.dependencies import Framework, FrameworkTypes

# Crear un nuevo framework
framework = Framework(
    name="FastAPI REST API",
    type=FrameworkTypes.API_FRAMEWORK
)

2. Endpoints dinámicos

from fastapi_templates_framework.dependencies import Endpoint

# Definir endpoint
endpoint = Endpoint(
    name="/users",
    method="GET",
    description="Obtener lista de usuarios",
    framework_id=1
)

3. Búsqueda inteligente

# Búsqueda por texto
response = await client.post("/api/v1/search/text", json={
    "query": "api rest fastapi"
})

🛠️ Desarrollo

Requisitos

  • Python 3.8+
  • FastAPI 0.100.0+
  • SQLModel 0.0.8+

Configuración de desarrollo

git clone https://github.com/tu-usuario/fastapi-templates-framework.git
cd fastapi-templates-framework
pip install -e ".[dev]"

Ejecutar tests

pytest

Formatear código

black .
isort .

📚 Documentación

La documentación completa está disponible en GitHub.

Ejemplos de uso

Configuración básica de base de datos

import os
from fastapi_templates_framework.dependencies import DatabaseRegistry

# Configurar variables de entorno
os.environ["DB_HOST"] = "localhost"
os.environ["DB_USER"] = "user"
os.environ["DB_PASSWORD"] = "password"
os.environ["DB_NAME"] = "fastapi_templates"

# Inicializar
DatabaseRegistry.initialize()

Usar los routers incluidos

from fastapi import FastAPI
from fastapi_templates_framework.openapi import core_router, tasks_router

app = FastAPI()
app.include_router(core_router, prefix="/api/v1", tags=["core"])
app.include_router(tasks_router, prefix="/api/v1", tags=["tasks"])

🤝 Contribuir

¡Las contribuciones son bienvenidas! Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -am 'Añadir nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Crea un Pull Request

📄 Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

🔗 Enlaces útiles

📧 Contacto


⭐ ¡No olvides dar una estrella al proyecto si te ha sido útil!

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

fastapi_templates_framework-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

fastapi_templates_framework-0.1.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_templates_framework-0.1.0.tar.gz.

File metadata

File hashes

Hashes for fastapi_templates_framework-0.1.0.tar.gz
Algorithm Hash digest
SHA256 329298bf4049bc1f29d482720fa4855b0013878a3da302d4be6f31387418e682
MD5 5f01da30162a502f03d1cfac98d69147
BLAKE2b-256 d1040a10caefb8fa8132d3b19ac0a15d0c8ddd2981defc8542e1ddb3e7d77d72

See more details on using hashes here.

File details

Details for the file fastapi_templates_framework-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_templates_framework-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ecca4a07c6a35da1819f04c0ae4fb914e681da6f2b64d1d1ecfc16320e603a
MD5 3893948d46b3056c97bf9a279fcadc00
BLAKE2b-256 481225a9b217d6401024546ef0fd9f5e9d225cc65376aa856263652e99225a47

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