rudder-sdk-python
RudderStack is an open-source Segment alternative written in Go, built for the enterprise.
What it is and what it does
The rudder-sdk-python package is a client library that instruments Python applications to capture and send customer events to RudderStack's servers. Once initialized with a write key and data plane URL, it provides methods to send events with user IDs, event names, and custom properties; RudderStack then handles transformation and routing to your configured destination platforms.
The SDK wraps HTTP requests via requests and includes retry logic through backoff, date/time handling via python-dateutil, and environment variable support via python-dotenv. It supports Python 3.8 through 3.12 and is classified as Production/Stable, making it suitable for production event collection pipelines in applications that need to feed customer data into a centralized platform.
Use it for:
- Instrument a Python application backend to track user actions and send them to RudderStack for downstream analytics.
- Collect events from a Python service and route them to multiple destinations via RudderStack's transformation layer.
- Build event pipelines that feed customer behavior data into a data warehouse for analysis.
- Send server-side events to create a complete customer journey record alongside other tracking.
- Integrate event tracking into a Python CLI or batch job to monitor application behavior.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Sends customer events from Python applications to RudderStack servers, which then transforms and routes them to downstream platforms.
Yes. The package is actively maintained, has low install friction, carries a permissive MIT license, and is positioned as production-ready. It has no known vulnerabilities and depends on stable, widely-used libraries. Install it if you are already using RudderStack as your CDP and need to instrument Python services.
Install
rudder-sdk-python on PyPI
pip
pip install rudder-sdk-pythonuv
uv add rudder-sdk-pythonpoetry
poetry add rudder-sdk-pythonInstalling rudder-sdk-python
Before you install
Low friction installation via pip. The package is actively maintained with a recent commit on 2026-08-13, marked as Production/Stable, and depends on six common, well-established libraries.
License in practice
MIT License (permissive) allows free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install rudder-sdk-python
import rudderstack.analytics as analytics
analytics.write_key = '<SOURCE_WRITE_KEY>'
analytics.dataPlaneUrl = '<RUDDERSTACK_DATA_PLANE_URL>'
analytics.track('user_id', 'Simple Track Event', properties={'key1': 'val1'})
Requires a RudderStack write key and data plane URL to initialize the client; events will not be sent without these credentials.
Verify before relying
- Whether the SDK handles offline queueing or requires network connectivity at call time.
- Batch size limits or rate-limiting behavior when sending high-volume events.
- Exact retry and backoff strategy when RudderStack servers are unavailable.
- Whether gzip compression is enabled by default or requires explicit configuration.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.8.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — requests, monotonic, backoff, python-dateutil, python-dotenv, deprecation |
| Maintenance | actively maintained — 688 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 354,827/month — #7,294 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rudder_sdk_python-2.1.4-py2.py3-none-any.whl
Keywords: rudder, rudderstack, analytics
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
customerio-cdp-analyticsSends event and user data to Customer.io's Data…
permissive · top 15,000 on PyPI
analytics-pythonA Python client library that sends analytics…
permissive · top 5,000 on PyPI
segment-analytics-pythonA Python client for sending analytics events to…
permissive · top 5,000 on PyPI
customerioPython client library for the Customer.io API,…
permissive · top 5,000 on PyPI
benchling-sdkA typed Python SDK for interacting with the…
permissive · top 15,000 on PyPI
kanaries-trackSends event and metric data to Kanaries' data…
permissive · top 15,000 on PyPI
amplitude-analyticsOfficial Amplitude backend SDK for Python that…
permissive · top 5,000 on PyPI
hopsworksPython SDK for connecting to Hopsworks clusters…
permissive · top 15,000 on PyPI
posthogPostHog Python SDK integrates product analytics…
permissive · top 1,000 on PyPI
stigg-sidecar-sdkPython SDK for interacting with Stigg Sidecar,…
unclear · top 15,000 on PyPI