Un framework y toolkit ASGI ligero para crear servicios web asíncronos y APIs en Python.
ross/requests-futures
Un complemento pequeño para la biblioteca requests de Python que envía solicitudes HTTP de forma asíncrona con concurrent.futures.
- Estrellas
- 2,222
- Forks
- 158
- Issues abiertos
- 1
- Último commit
- hace 16 días
¿Qué es?
requests-futures añade una interfaz asíncrona a la popular biblioteca requests de Python. En lugar de esperar a que termine cada llamada, FuturesSession devuelve objetos Future, de modo que las solicitudes se ejecutan en segundo plano y puedes llamar a result() cuando necesites la respuesta. Por lo demás, la API coincide con requests.Session; las excepciones se lanzan desde result() y no en el momento de la llamada.
De forma predeterminada, la sesión usa un ThreadPoolExecutor con 8 workers, aunque también se puede proporcionar un ProcessPoolExecutor para usar concurrencia basada en procesos. Al cerrar la sesión como administrador de contexto, se cancelan las solicitudes en cola que aún no hayan empezado. Puedes adjuntar datos adicionales a los futures, y la biblioteca ofrece hooks como reemplazo de background_callback, que está obsoleto.
El executor predeterminado comparte un requests.Session entre los threads de trabajo, y Session no es thread-safe, así que hay que tener cuidado al modificar cookies o headers compartidos mientras hay solicitudes en curso. Requiere Python 3.10 o posterior.
Funciones clave
- 01Devuelve objetos Future desde la conocida API de requests.Session.
- 02Usa de forma predeterminada un ThreadPoolExecutor con 8 workers y admite ProcessPoolExecutor.
- 03Cancela las solicitudes en cola que aún no hayan empezado cuando se cierra la sesión.
- 04Permite adjuntar datos personalizados a los futures para identificar cada solicitud.
- 05Admite hooks como reemplazo de background_callback, que está obsoleto.
Casos de uso
- Obtener en paralelo muchas URL independientes desde un script de Python.
- Añadir llamadas HTTP en segundo plano a una base de código existente que use requests con cambios mínimos.
- Ejecutar grandes lotes de solicitudes cuando el uso de memoria por solicitud hace conveniente usar un pool de procesos.
Inicio rápido
- 1
Instala el paquete con pip
pip install requests-futures - 2
Crea una FuturesSession y envía solicitudes; llama a result() en cada future para obtener la respuesta
Antes de usarlo
- Requiere Python 3.10 o posterior.
- El executor predeterminado comparte una única requests.Session entre hilos, y no es segura para usarse entre hilos.
- La licencia no está especificada claramente en los metadatos del proyecto.
Temas
Preguntas frecuentes
- ¿Qué es requests-futures?
- Un complemento pequeño para la biblioteca requests de Python que envía solicitudes HTTP de forma asíncrona con concurrent.futures. requests-futures añade una interfaz asíncrona a la popular biblioteca requests de Python. En lugar de esperar a que termine cada llamada, FuturesSession devuelve objetos Future, de modo que las solicitudes se ejecutan en segundo plano y puedes llamar a result() cuando necesites la respuesta. Por lo demás, la API coincide con requests.Session; las excepciones se lanzan desde result() y no en el momento de la llamada.
- ¿requests-futures es gratuito? ¿Qué licencia tiene?
- requests-futures es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿requests-futures sigue mantenido?
- Mantenimiento activo. El último commit de requests-futures fue el 5 oct 2026.
- ¿Para qué puedo usar requests-futures?
- Obtener en paralelo muchas URL independientes desde un script de Python. Añadir llamadas HTTP en segundo plano a una base de código existente que use requests con cambios mínimos. Ejecutar grandes lotes de solicitudes cuando el uso de memoria por solicitud hace conveniente usar un pool de procesos.
- ¿Cómo se instala requests-futures?
- Instala el paquete con pip: pip install requests-futures Crea una FuturesSession y envía solicitudes; llama a result() en cada future para obtener la respuesta
- ¿Dónde consigo requests-futures?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ross/requests-futures
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Proxy HTTP interactivo con capacidad para interceptar TLS e interfaces de consola, línea de comandos y web para inspeccionar tráfico HTTP/1, HTTP/2 y WebSocket.
Servidor MCP que da a los asistentes de IA 39 herramientas para datos de mercado, análisis técnico, screeners, backtesting y sentimiento en cripto, acciones, forex y futuros.
Microframework de C++ rápido y al estilo de Flask para crear servicios web HTTP y WebSocket; solo requiere archivos de cabecera y es fácil de usar.
Framework de Python para crear agentes de IA orientados al cliente que siguen las reglas, pautas y procedimientos de la empresa de forma coherente, limitando el contexto del LLM a lo pertinente en cada turno.
Framework de Python para crear interfaces web y aplicaciones pequeñas en el navegador, sin escribir HTML, CSS ni JavaScript.