--- id: qstash version: "3.4.0" license: MIT license_treatment: permissive maintenance: active --- # qstash — Python SDK for Upstash QStash License: permissive · Maintenance: active · Downloads: 281.1K/mo ## What it is and what it does QStash is a Python client for Upstash's HTTP-based message queue and scheduling service. It lets you publish messages to HTTP endpoints, schedule recurring or delayed tasks using cron expressions, and verify incoming webhook signatures from QStash. The SDK wraps HTTP calls to the QStash API and provides convenience methods for common operations like publishing JSON payloads, creating schedules, and receiving authenticated messages. Typically used in serverless environments (AWS Lambda, Vercel Functions, etc.) where you need to queue work, schedule background jobs, or coordinate between services without managing your own message broker. It depends on httpx for HTTP requests and pyjwt for signature verification, and supports Python 3.8 through 3.13. Use it for: - Queue HTTP requests to be delivered with retry logic and scheduling in serverless functions - Schedule recurring tasks using cron expressions without a persistent scheduler - Verify and process webhook callbacks from QStash in your application handlers - Publish messages to LLM APIs (e.g., OpenAI) with callback handling for results - Implement delayed task execution with configurable backoff and retry strategies ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Python SDK for publishing and receiving messages through Upstash QStash, an HTTP-based messaging and scheduling service for serverless and edge runtimes. Yes, if you are building on Upstash's infrastructure or need a managed message queue for serverless workloads. The package is actively maintained, has low install friction, carries a permissive MIT license, and has no known vulnerabilities. It is production-ready (GA status) and suitable for applications that rely on QStash for messaging and scheduling. ## Install pip install qstash uv add qstash poetry add qstash ## Installing qstash Before you install: Low install friction with only two runtime dependencies (httpx and pyjwt). Actively maintained with recent releases; marked as GA and covered by Upstash Professional Support. License in practice: MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you include the license notice. Quickstart: pip install qstash from qstash import QStash client = QStash("") res = client.message.publish_json( url="https://example.com", body={"hello": "world"}, ) print(res.message_id) Requires a valid QStash token from the Upstash Console (https://console.upstash.com/qstash) to authenticate API calls. Verify before relying: - Whether the package handles automatic retries for failed message deliveries to endpoints - Whether LLM provider integrations beyond OpenAI are supported - Performance characteristics under high message volume ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 281.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags serverless message queue, http messaging sdk, scheduled task delivery, upstash qstash python, edge runtime messaging, async job scheduling, webhook delivery service, serverless, message-queue, scheduling [View on SkillFed](https://skillfed.io/packages/qstash) · [View on PyPI](https://pypi.org/project/qstash/)