Etiqueta: python
Explora 151 recursos prácticos de ingeniería de software etiquetados con "python". Descubre recetas de código, patrones de diseño, plantillas de documentación y guías detalladas para ayudarte a construir, desplegar y mantener soluciones listas para producción con python.
Construye agentes IA con estado con maquinas de estados
Crea agentes IA multi-paso con LangGraph usando maquinas de estados, aristas condicionales, tool calling y checkpoints human-in-the-loop para workflows de produccion
Fine-tune y despliega clasificadores de texto con
Fine-tunea un modelo transformer pre-entrenado para clasificacion de texto usando Hugging Face Trainer, tokeniza datasets, evalua metricas y despliega para inferencia
Componer cadenas LCEL en LangChain para workflows LLM
Construye pipelines LLM componibles con LangChain Expression Language (LCEL) usando pipes, ejecucion paralela y componentes runnable personalizados
Evalua calidad RAG con metricas RAGAS
Mide la calidad del pipeline RAG usando metricas del framework RAGAS — fidelidad, relevancia de respuesta, precision de contexto y recall de contexto para evaluacion objetiva
Stream de salida LLM con Server-Sent Events (SSE)
Stream respuestas LLM a clientes en tiempo real usando Server-Sent Events con FastAPI, OpenAI streaming y async generators para salida token por token
Ejecuta LLMs localmente con Ollama para inferencia privada
Instala y usa Ollama para ejecutar LLMs open-source localmente con Python, incluyendo streaming, embeddings, function calling y gestion de modelos sin costos de API
Compara similitud semantica de texto con embeddings de
Genera embeddings de texto con OpenAI y calcula similitud coseno para medir similitud semantica entre textos para busqueda, deduplicacion y clustering
Salida JSON estructurada con OpenAI Function Calling
Usa function calling y structured outputs de OpenAI para obtener JSON confiable de LLMs con validacion Pydantic y manejo de errores
Construir un pipeline RAG local con ChromaDB y Sentence
Implementa retrieval-augmented generation localmente con ChromaDB, embeddings de sentence-transformers y generacion con LLM sin dependencias de APIs externas
Análisis de Sentimiento con Python y NLTK
Puntúa el sentimiento de texto usando NLTK VADER y léxicos personalizados en Python.
Almacenar y consultar embeddings en Pinecone Vector Database
Usa Pinecone para almacenar, consultar y filtrar embeddings vectoriales para busqueda semantica con filtrado de metadatos y aislamiento por namespaces
Rate Limiting de API en Python con Token Bucket
Implementa token bucket rate limiting en Flask y FastAPI con soporte Redis.
Inyección de Dependencias
Implementa inyección de dependencias para escribir código testeable, desacoplado y mantenible en múltiples lenguajes y frameworks.
Cachear Resultados de Consultas de Base de Datos con
Cachear resultados de consultas costosas en Redis con patron cache-aside, gestion de TTL e invalidacion en writes para aplicaciones Python.
Cachear Consultas de Base de Datos con Django Cache
Usa el framework de cache integrado de Django con caching por vista, fragmentos de template y API de cache de bajo nivel para optimizar consultas.
Cachear Respuestas HTTP con httpx y CacheControl en Python
Cachear respuestas HTTP en Python usando httpx con CacheControl para caching compatible con HTTP, manejo de ETag y peticiones condicionales.
Almacenar Sesiones de Usuario en Memcached con Python
Usa Memcached como almacen de sesiones distribuido en aplicaciones web Python con pymemcache, gestion de TTL y manejo de failover.
Cache de resultados de funciones con Redis y TTL en Python
Construye un decorador de Python que cachea resultados de funciones en Redis con TTL configurable, generacion de claves e invalidacion de cache
Haz Peticiones HTTP Concurrentes con Python y aiohttp
Obtén datos de múltiples APIs concurrentemente usando asyncio y aiohttp. Cubre connection pooling, rate limiting, reintentos y procesamiento por lotes.
Ejecutar Tareas Async Concurrentes con asyncio.gather y
Ejecutar multiples operaciones async concurrentemente en Python usando asyncio.gather, asyncio.TaskGroup, manejo de errores con return_exceptions, timeouts y semaforos para rate limiting.
Rate Limiting de Operaciones Async con asyncio.Semaphore
Controlar la concurrencia en async Python usando asyncio.Semaphore para rate limiting de llamadas a API, conexiones a base de datos y acceso a recursos con patrones de paralelismo limitado.
Programa Tareas Periódicas en Python con APScheduler
Ejecuta jobs tipo cron en Python usando APScheduler. Cubre triggers de intervalo, cron y fecha, job stores y scheduling en background.
Paralelizar Trabajo CPU y I/O con ThreadPoolExecutor
Usar ThreadPoolExecutor de Python para operaciones I/O paralelas, recoleccion thread-safe de resultados, callbacks de Future, manejo de errores y mezcla de threads con asyncio para trabajo bloqueante.
Comparar Objetos JSON
Cómo comparar dos objetos JSON y encontrar diferencias en Python, Java y JavaScript.
Formatear Números de Teléfono
Cómo formatear y validar números de teléfono en Python, Java y JavaScript.
Generar Reportes PDF con Python
Cómo crear documentos PDF con estilos a partir de datos usando ReportLab y fpdf2 en Python.
Generar Slugs URL
Cómo generar slugs limpios y amigables para URLs desde strings en múltiples lenguajes.
Fusionar Archivos JSON
Cómo fusionar múltiples archivos JSON en un solo objeto o array en Python, Java y JavaScript.
Analizar Argumentos de Línea de Comandos
Cómo analizar argumentos de línea de comandos en aplicaciones CLI de Python, Java y Node.js.
Analizar Archivos CSV
Cómo analizar archivos CSV en Python, Java y JavaScript con ejemplos de código prácticos.
Leer Archivos CSV con Python y Pandas
Cómo leer, filtrar y transformar archivos CSV grandes usando Python pandas y el módulo csv.
Analizar Archivos de Log
Cómo analizar archivos de log de servidores usando Python, Java y JavaScript.
Analizar Archivos Markdown
Cómo analizar Markdown a HTML y extraer datos estructurados en Python, Java y JavaScript.
Analizar Archivos XML
Cómo analizar documentos XML en Python, Java y JavaScript con ejemplos de código prácticos.
Programar y Monitorear DAGs con Apache Airflow
Cómo definir, programar y monitorear Directed Acyclic Graphs en Apache Airflow con operators, sensors, XCom y dependencias de tareas.
Operaciones Paralelas de DataFrame con Dask
Cómo usar Dask para operaciones paralelas de DataFrame en datasets más grandes que la memoria, cubriendo lazy evaluation, particiones, computations custom y scheduling distribuido.
Validar Schemas de DataFrame con Pandera
Cómo validar schemas de DataFrame de pandas y Polars con Pandera, cubriendo tipos de columnas, constraints, checks custom, hypothesis testing y herencia de schemas.
Transformar Datos en el Warehouse con dbt
Cómo usar dbt para transformaciones de datos basadas en SQL con models, tests, materializations, macros e incremental loading en un data warehouse.
Leer y Escribir Archivos Excel con Python
Cómo leer, escribir y formatear hojas de cálculo Excel usando openpyxl y pandas en Python.
Generar Códigos QR con Python
Crea códigos QR para URLs, texto y tarjetas de contacto usando la librería qrcode en Python.
Construir un Pipeline ETL con pandas y Parquet
Cómo construir un pipeline extract-transform-load usando pandas para procesamiento de datos y Parquet para almacenamiento columnar con coerción de tipos y validación.
Operaciones de DataFrame de Alto Rendimiento con Polars
Cómo usar Polars para operaciones rápidas de DataFrame con lazy evaluation, expression API, streaming e interop con pandas para datasets grandes.
Agregaciones a Gran Escala con PySpark
Cómo realizar agregaciones group-by en datasets grandes con PySpark, cubriendo window functions, UDFs, broadcast joins y tuning de performance.
Extrae Datos de Páginas HTML con Python y BeautifulSoup
Parsea HTML y extrae datos usando BeautifulSoup. Cubre selectores CSS, navegación DOM, tablas, paginación y scraping respetuoso con rate limiting.
Serializar y Deserializar Datos
Cómo serializar y deserializar datos en JSON, XML y YAML en Python, Java y JavaScript.
Conectar a Redis
Cómo conectarse a Redis y realizar operaciones básicas en Python, JavaScript y Java.
Ejecutar SQL Crudo
Cómo ejecutar consultas SQL crudas de forma segura con sentencias parametrizadas.
[ES] Use ORM for CRUD
[ES] How to perform CRUD operations using ORMs in Python, JavaScript, and Java.
Expón Métricas Personalizadas de Aplicación con Python y
Construye un exporter personalizado de métricas Prometheus en Python usando prometheus_client para counters, gauges, histograms y summaries.
Construye un Provider Personalizado de Terraform con
Extiende Terraform con un provider personalizado usando Python y terraform-plugin-framework para gestionar recursos externos.
Generar Archivos Temporales
Cómo crear archivos y directorios temporales de forma segura con limpieza automática en Python, Node.js, Java y Bash.
Redimensionar Imágenes en Lote con Python
Cómo redimensionar y optimizar imágenes en lote usando Pillow y Python para entrega web.
Extraer Archivos Zip de Forma Segura con Python
Cómo extraer y validar archivos zip de forma segura usando zipfile y shutil en Python.
Rotar Archivos de Log
Cómo implementar rotación de logs por tamaño, fecha y cantidad para prevenir la exaustión de disco en Python, Node.js, Java y Linux.
Procesar Archivos Grandes con Streams
Cómo leer, transformar y escribir archivos grandes eficientemente usando streams sin cargar archivos completos en memoria en Python, Node.js y Java.
Escribir Archivos Grandes
Cómo escribir archivos grandes de forma eficiente usando salida bufferizada y streaming.
Implementar Event Sourcing con CQRS en Python
Construir un sistema event-sourced con separacion CQRS usando Python, persistencia de event store, reconstruccion de proyecciones, snapshots y event handlers idempotentes para arquitecturas auditables.
Construir Consumer Groups de Kafka con Python para
Crear consumer groups de Kafka en Python con asignacion de particiones, gestion de offsets, estrategias de commit, manejo de rebalance y semantica exactly-once para stream processing escalable.
Patron Outbox Transaccional para Eventos Confiables
Usar el patron outbox transaccional para publicar eventos de dominio junto con cambios de base de datos, con un procesador relay, estrategias de polling y garantias de entrega exactly-once.
Distribuir Tareas en Background con Python Celery y Redis
Configurar Celery con Redis broker para procesamiento distribuido de tareas incluyendo chaining, groups, chords, estrategias de retry, tareas programadas con Celery Beat y result backends.
Construir un Consumer de RabbitMQ con Python y Pika
Crear un consumer y producer de RabbitMQ en Python usando pika con colas durables, dispatching de trabajo, acknowledgments, dead-letter exchanges y ajuste de prefetch.
Implementar Mensajeria Pub/Sub con Redis en Python
Construir mensajeria pub/sub en tiempo real con Redis y Python incluyendo suscripciones por patron, serializacion de mensajes, connection pooling y patrones de broadcast para microservicios.
Distributed Tracing con OpenTelemetry
Cómo implementar distributed tracing en Python con OpenTelemetry SDK, incluyendo spans, propagación de context, auto-instrumentación y export a Jaeger.
Exponer Métricas de Negocio con Prometheus
Cómo exponer métricas de negocio personalizadas en Python usando prometheus_client, incluyendo counters, gauges, histograms, summaries e integración con Flask.
Logging Estructurado JSON con structlog
Cómo emitir logs estructurados JSON en Python usando structlog, incluyendo context binding, niveles de log, processors e integración con standard logging.
Escapar Entidades HTML
Cómo escapar entidades HTML para prevenir ataques XSS en Python, Java y JavaScript.
Peticiones HTTP concurrentes con asyncio.gather y aiohttp
Obten multiples endpoints HTTP concurrentemente usando asyncio.gather y aiohttp con manejo de errores, rate limiting, timeouts y connection pooling para 10x throughput
Encontrar Problemas de Seguridad en Código Python con Bandit
Cómo usar Bandit para escanear código Python en busca de vulnerabilidades de seguridad comunes, configurar ignore lists, integrar con CI/CD e interpretar resultados.
Encripta y Desencripta Datos con AES-GCM en Python
Encripta datos sensibles usando AES-GCM con la librería cryptography. Cubre derivación de claves, generación de nonces, encriptación autenticada y encriptación de archivos.
Rotacion segura de JWT refresh tokens con Python
Implementa rotacion segura de JWT access y refresh tokens en Python con blacklist, deteccion de reuso y renovacion automatica de access tokens para auth stateless
Type Checking Estricto en Python con mypy
Cómo configurar mypy strict mode para proyectos Python, manejar errores de tipo comunes, usar Protocol y TypeGuard, e integrar con CI/CD.
Escanear Paquetes Python en busca de CVEs Conocidos con
Cómo usar pip-audit para escanear dependencias Python en busca de vulnerabilidades conocidas, configurar ignore lists, integrar con CI/CD y remediar findings.
Rate limiting distribuido con FastAPI y Redis
Implementa rate limiting distribuido en FastAPI usando algoritmos de sliding window y token bucket con Redis para limites por usuario, por IP y por endpoint
Gestiona secretos de aplicacion con HashiCorp Vault y Python
Almacena, recupera y rota secretos de aplicacion de forma segura usando HashiCorp Vault con cliente Python hvac, secretos dinamicos y renovacion automatica de leases
Previene inyeccion SQL con consultas parametrizadas en
Protege aplicaciones Python de inyeccion SQL usando consultas parametrizadas de SQLAlchemy, modelos ORM, validacion de input e inspeccion de queries para acceso seguro a base de datos
Sanitizar Input de Usuario
Cómo sanitizar y validar input de usuario en Python, Java y JavaScript para prevenir ataques de inyección.
Empaquetar Dependencias Python para AWS Lambda con Layers
Empaquetar dependencias Python para AWS Lambda usando Lambda Layers, builds con Docker para extensiones nativas e integracion con SAM/Serverless Framework.
Construir Azure Functions con HTTP Trigger en Python
Crear Azure Functions con HTTP trigger en Python con configuracion de bindings, handlers async, inyeccion de dependencias y despliegue via Azure CLI.
Generar Datos de Test
Cómo generar datos de test realistas y deterministas con Faker, factory-boy y generadores type-aware para suites de test confiables en Python, JavaScript y Java.
Medir Cobertura de Tests con pytest-cov
Cómo medir y exigir umbrales de cobertura de tests en Python con pytest-cov, incluyendo branch coverage, reportes HTML, exclusiones e integración con CI.
Property-Based Testing con Hypothesis
Cómo usar Hypothesis para property-based testing en Python, generando cientos de casos de test automáticamente desde strategies en lugar de escribirlos a mano.
Mockear APIs Externas con responses
Cómo mockear llamadas HTTP en tests de Python usando la librería responses, incluyendo códigos de estado, headers, bodies JSON y simulación de errores.
Pytest Fixtures y Parametrize
Cómo usar pytest fixtures y @pytest.mark.parametrize para escribir tests data-driven con lógica de setup reutilizable en proyectos Python.
Patrón Multi-Tenant Data Isolation
Aisla datos de tenants en infraestructura compartida usando row-level security, schema-per-tenant o database-per-tenant. Un patrón para aplicaciones SaaS.
Patrón Pipes and Filters
Encadena pasos de procesamiento con filtros independientes conectados por pipes. Un patrón para pipelines de transformación de datos donde cada paso es reutilizable y componible.
Patrón Federated Identity
Delega la autenticación a proveedores de identidad externos. Un patrón para integrar OAuth2, OIDC, SAML y SSO entre múltiples servicios y organizaciones.
Patrón Voucher
Valida claims y delega acceso usando vouchers firmados sin exponer datos sensibles. Un patrón de seguridad para autorización basada en tokens entre servicios.
Patrón Abstract Factory
Crea familias de objetos relacionados sin especificar sus clases concretas. Patrón de diseño creacional para familias de objetos consistentes.
Patrón Adapter
Convierte la interfaz de una clase en otra interfaz que los clientes esperan. Patrón de diseño estructural para compatibilidad de interfaces.
Patrón Bridge
Desacopla una abstracción de su implementación para que ambas puedan variar independientemente. Un patrón estructural para independencia de plataforma.
Patrón Builder
Construye objetos complejos paso a paso. Patrón de diseño creacional para construcción de objetos legible y configurable.
Patrón Cache-Aside
Carga datos en el caché bajo demanda desde el almacenamiento principal. Un patrón de caché que da a la aplicación control total sobre qué y cuándo cachear.
Patron Cache Invalidation
Estrategias para mantener frescos los datos cacheados: expiracion TTL, invalidacion explicita, write-through y eviccion basada en eventos.
Patron Cache Stampede Prevention
Previene thundering herd de cache misses con locks, single-flight y refresco temprano para proteger la base de datos de recargas concurrentes.
Patrón Chain of Responsibility
Pasa solicitudes a lo largo de una cadena de manejadores hasta que uno la procese. Un patrón de comportamiento para desacoplar emisores y receptores.
Patrón Circuit Breaker
Previene fallos en cascada deteniendo solicitudes a servicios que están fallando. Un patrón arquitectural para sistemas distribuidos resilientes.
Patrón Command
Encapsula una petición como un objeto, permitiendo parametrizar clientes con colas, logs y operaciones deshacibles. Patrón de diseño conductual.
Patrón Composite
Compone objetos en estructuras de árbol para representar jerarquías parte-todo. Un patrón estructural para tratar objetos individuales y composiciones uniformemente.
Patrón CQRS
Separa las operaciones de lectura y escritura en modelos diferentes, optimizando cada uno para su carga de trabajo específica. Un patrón de datos para sistemas escalables.
Patrón Decorator
Añade nueva funcionalidad a objetos dinámicamente envolviéndolos. Patrón de diseño estructural para extensión flexible de comportamiento.
Patrón Dependency Injection
Suministra dependencias desde fuera en lugar de crearlas internamente. Un patrón arquitectural para código desacoplado y testeable.
Patrón Event Sourcing
Almacena el estado de una aplicación como una secuencia de eventos en lugar de almacenar solo el estado actual. Un patrón arquitectónico para sistemas auditables.
Factory Pattern
Crea objetos sin especificar la clase exacta a instanciar. Un patrón de diseño creacional para la creación flexible de objetos.
Patrón Flyweight
Comparte objetos para soportar eficientemente grandes cantidades de objetos de grano fino. Un patrón estructural para optimización de memoria.
Patrón Interpreter
Define una representación para la gramática de un lenguaje junto con un intérprete que usa la representación para interpretar oraciones. Un patrón de diseño de comportamiento para mini-lenguajes.
Patrón Iterator
Proporciona una forma de acceder a los elementos de una colección secuencialmente sin exponer su representación subyacente. Un patrón de comportamiento para recorrido.
Patrón Mediator
Define un objeto que encapsula cómo interactúa un conjunto de objetos. Un patrón de comportamiento para reducir dependencias caóticas.
Patrón Memento
Captura y restaura el estado interno de un objeto sin violar el encapsulamiento. Un patrón de comportamiento para deshacer/rehacer.
Patrón MVC
Separa la aplicación en componentes Modelo, Vista y Controlador. Patrón de diseño arquitectural para código organizado y mantenible.
Patrón Observer
Define un mecanismo de suscripción para notificar a múltiples objetos sobre eventos. Patrón de diseño conductual para comunicación basada en eventos.
Patrón Prototype
Crea nuevos objetos copiando los existentes. Un patrón de diseño creacional para clonación y duplicación de objetos.
Patrón Proxy
Proporciona un sustituto o marcador de posición para otro objeto para controlar el acceso a él. Un patrón estructural para control de acceso, carga perezosa y logging.
Patron Read-Through Cache
Una capa de cache transparente que intercepta peticiones de lectura, obtiene del origen de datos en caso de miss y puebla el cache automaticamente.
Patron Refresh-Ahead Cache
Refresca proactivamente entradas de cache antes de que expiren para eliminar cache misses en hot keys y mantener latencia de lectura consistente.
Patrón Repository
Abstrae la lógica de acceso a datos detrás de una interfaz limpia. Patrón de diseño arquitectural para capas de datos testeables y mantenibles.
Patrón Retry
Reintenta una operación que ha fallado con errores transitorios, usando estrategias configurables como delay fijo, backoff exponencial o integración con circuit breaker.
Patrón Saga
Gestiona transacciones distribuidas a través de múltiples servicios encadenando transacciones locales con acciones compensatorias para rollbacks. Un patrón de microservicios.
Patron Serverless Event Sourcing
Almacena el estado de funciones como un log de eventos append-only para que los workflows puedan ser reproducidos, auditados y recuperados sin DB persistente.
Patron Serverless Fanout
Difunde un solo evento a multiples consumidores independientes via SNS, EventBridge o SQS para que cada consumidor procese sin acoplamiento.
Patron Serverless Function Composition
Encadena funciones serverless via Step Functions u orquestadores para construir workflows multi-paso con reintentos, branching y gestion de estado.
Patron Serverless Throttling
Maneja backpressure en serverless usando SQS, token buckets y limites de concurrencia para proteger servicios downstream de trafico burst.
Patron Serverless Warm Pool
Mantén las funciones Lambda calientes enviando pings periodicos para reducir la latencia de cold start en workloads sensibles a latencia.
Patrón Singleton
Garantiza que una clase tenga una única instancia y proporciona un acceso global a ella. Patrón de diseño creacional para controlar la creación de objetos.
Patrón State
Permite que un objeto altere su comportamiento cuando cambia su estado interno. Un patrón de comportamiento para máquinas de estados finitos.
Patrón Strategy
Define una familia de algoritmos, encapsula cada uno y los hace intercambiables. Patrón de diseño conductual para selección flexible de comportamiento.
Patrón Template Method
Define el esqueleto de un algoritmo en una clase base, permitiendo que las subclases sobreescriban pasos específicos sin cambiar la estructura del algoritmo. Un patrón de diseño de comportamiento.
Patrón Timeout
Previene que las operaciones se cuelguen indefinidamente imponiendo un tiempo máximo de ejecución. Un patrón de resiliencia para tiempos de respuesta predecibles.
Patron Two-Level Cache
Combina un cache L1 en memoria con un cache L2 distribuido para reducir latencia de hot keys manteniendo consistencia entre instancias.
Patrón Visitor
Representa una operación a realizar sobre los elementos de una estructura de objetos sin cambiar las clases de los elementos. Un patrón de diseño de comportamiento.
Patron Write-Behind Cache
Escribe en cache sincronamente y persiste a la base de datos asincronamente para workloads de escritura de alto throughput con consistencia eventual.
Patron Write-Through Cache
Escribe sincronamente en cache y backing store para que el cache siempre tenga los datos mas recientes sin invalidacion basada en TTL.
Plantilla de Sizing de Thread Pools
Plantilla para documentar thread pool configuration per service: pool type selection, sizing formulas, CPU vs I/O bound tuning, queue strategies, rejection policies, monitoring metrics y tuning examples para Java, Python, Go y Node.js.
Referencia Detallada de Python Asyncio en Producción
Ejecutar Python asyncio en produccion con confianza. Cubre event loops, gestion de tasks, debugging, cancellation, timeouts, backpressure y patrones para aplicaciones async de alta concurrencia.
Referencia Detallada de Python Asyncio
Master programación asincrónica en Python con asyncio. Cubre coroutines, tasks, event loops, async/await, gather, semaphores, queues, HTTP clients, websockets y debugging.
Property-Based Testing: Hypothesis, fast-check, QuickCheck
Dominá property-based testing con Hypothesis (Python), fast-check (TypeScript) y principios de QuickCheck. Generá test cases automáticamente, encontrá edge cases y shrinkéá failures.
Guía de Pytest en Producción
Dominá pytest para codebases de producción: fixtures avanzados, plugins, markers personalizados, tests parametrizados, ejecución paralela con pytest-xdist e integración con CI.
Testcontainers: Dependencias Reales en Integration Tests
Dominá Testcontainers para integration testing con databases reales, message brokers y APIs. Cubre Java, Python y Node.js con test fixtures basados en Docker.