freshcrate
Home > Frameworks > launchdarkly-server-sdk

launchdarkly-server-sdk

LaunchDarkly SDK for Python

Description

# LaunchDarkly Server-side SDK for Python [![Actions Status](https://github.com/launchdarkly/python-server-sdk/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/launchdarkly/python-server-sdk/actions/workflows/ci.yml) [![readthedocs](https://readthedocs.org/projects/launchdarkly-python-sdk/badge/)](https://launchdarkly-python-sdk.readthedocs.io/en/latest/) [![PyPI](https://img.shields.io/pypi/v/launchdarkly-server-sdk.svg?maxAge=2592000)](https://pypi.python.org/pypi/launchdarkly-server-sdk) [![PyPI](https://img.shields.io/pypi/pyversions/launchdarkly-server-sdk.svg)](https://pypi.python.org/pypi/launchdarkly-server-sdk) ## LaunchDarkly overview [LaunchDarkly](https://www.launchdarkly.com) is a feature management platform that serves trillions of feature flags daily to help teams build better software, faster. [Get started](https://docs.launchdarkly.com/home/getting-started) using LaunchDarkly today! [![Twitter Follow](https://img.shields.io/twitter/follow/launchdarkly.svg?style=social&label=Follow&maxAge=2592000)](https://twitter.com/intent/follow?screen_name=launchdarkly) ## Supported Python versions This version of the LaunchDarkly SDK is compatible with Python 3.10+. ## Getting started Refer to the [SDK reference guide](https://docs.launchdarkly.com/sdk/server-side/python) for instructions on getting started with using the SDK. ## Learn more Read our [documentation](http://docs.launchdarkly.com) for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the [complete reference guide for this SDK](http://docs.launchdarkly.com/docs/python-sdk-reference). Generated API documentation is on [readthedocs.io](https://launchdarkly-python-sdk.readthedocs.io/en/latest/). ## Testing We run integration tests for all our SDKs using a centralized test harness. This approach gives us the ability to test for consistency across SDKs, as well as test networking behavior in a long-running application. These tests cover each method in the SDK, and verify that event sending, flag evaluation, stream reconnection, and other aspects of the SDK all behave correctly. ## Contributing We encourage pull requests and other contributions from the community. Check out our [contributing guidelines](CONTRIBUTING.md) for instructions on how to contribute to this SDK. ## Verifying SDK build provenance with the SLSA framework LaunchDarkly uses the [SLSA framework](https://slsa.dev/spec/v1.0/about) (Supply-chain Levels for Software Artifacts) to help developers make their supply chain more secure by ensuring the authenticity and build integrity of our published SDK packages. To learn more, see the [provenance guide](PROVENANCE.md). ## About LaunchDarkly * LaunchDarkly is a continuous delivery platform that provides feature flags as a service and allows developers to iterate quickly and safely. We allow you to easily flag your features and manage them from the LaunchDarkly dashboard. With LaunchDarkly, you can: * Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases. * Gradually roll out a feature to an increasing percentage of users, and track the effect that the feature has on key metrics (for instance, how likely is a user to complete a purchase if they have feature A versus feature B?). * Turn off a feature that you realize is causing performance problems in production, without needing to re-deploy, or even restart the application with a changed configuration file. * Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan). Disable parts of your application to facilitate maintenance, without taking everything offline. * LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Read [our documentation](https://docs.launchdarkly.com/sdk) for a complete list. * Explore LaunchDarkly * [launchdarkly.com](https://www.launchdarkly.com/ "LaunchDarkly Main Website") for more information * [docs.launchdarkly.com](https://docs.launchdarkly.com/ "LaunchDarkly Documentation") for our documentation and SDK reference guides * [apidocs.launchdarkly.com](https://apidocs.launchdarkly.com/ "LaunchDarkly API Documentation") for our API documentation * [blog.launchdarkly.com](https://blog.launchdarkly.com/ "LaunchDarkly Blog Documentation") for the latest product updates

Release History

VersionChangesUrgencyDate
9.15.1Imported from PyPI (9.15.1)Low4/21/2026
9.15.0## [9.15.0](https://github.com/launchdarkly/python-server-sdk/compare/9.14.1...9.15.0) (2026-02-10) ### Features * Drop support for python 3.9 ([#393](https://github.com/launchdarkly/python-server-sdk/issues/393)) ([5b761bd](https://github.com/launchdarkly/python-server-sdk/commit/5b761bd306e1e6973b59cea3f7657463de0204d1)) * Update ChangeSet to always require a Selector ([#405](https://github.com/launchdarkly/python-server-sdk/issues/405)) ([5dc4f81](https://github.com/launchdarkly/python-serLow2/10/2026
9.14.1## [9.14.1](https://github.com/launchdarkly/python-server-sdk/compare/9.14.0...9.14.1) (2025-12-15) ### Bug Fixes * Remove all synchronizers in daemon mode ([#388](https://github.com/launchdarkly/python-server-sdk/issues/388)) ([441a5ec](https://github.com/launchdarkly/python-server-sdk/commit/441a5ecb3d3f1428801c44b875b32ef396df2fa3)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-pleasLow12/15/2025
9.14.0## [9.14.0](https://github.com/launchdarkly/python-server-sdk/compare/9.13.1...9.14.0) (2025-12-04) ### Features * adding data system option to create file datasource intializer ([e5b121f](https://github.com/launchdarkly/python-server-sdk/commit/e5b121f92a09fcaf717f88b426348798961ab62e)) * adding file data source as an intializer ([#381](https://github.com/launchdarkly/python-server-sdk/issues/381)) ([3700d1d](https://github.com/launchdarkly/python-server-sdk/commit/3700d1ddd9ef6c7a505ec24783Low12/4/2025
9.13.1## [9.13.1](https://github.com/launchdarkly/python-server-sdk/compare/9.13.0...9.13.1) (2025-11-19) ### Bug Fixes * Include ldclient.datasystem in docs ([#379](https://github.com/launchdarkly/python-server-sdk/issues/379)) ([318c6fe](https://github.com/launchdarkly/python-server-sdk/commit/318c6fea0738d296713768afc8e08ee9b2360dc2)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#reLow11/19/2025
9.13.0## [9.13.0](https://github.com/launchdarkly/python-server-sdk/compare/9.12.3...9.13.0) (2025-11-19) ### Features * **experimental:** Release EAP support for FDv2 data system ([#376](https://github.com/launchdarkly/python-server-sdk/issues/376)) ([0e7c32b](https://github.com/launchdarkly/python-server-sdk/commit/0e7c32b4df12daef25e9b2e9b637225c3e74a2dd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleLow11/19/2025
9.12.3## [9.12.3](https://github.com/launchdarkly/python-server-sdk/compare/9.12.2...9.12.3) (2025-10-30) ### Bug Fixes * Fix overly generic type hint on File data source ([#365](https://github.com/launchdarkly/python-server-sdk/issues/365)) ([52a7499](https://github.com/launchdarkly/python-server-sdk/commit/52a7499f7cf1d4311f89fa98e65bca670e127aa6)), closes [#364](https://github.com/launchdarkly/python-server-sdk/issues/364) --- This PR was generated with [Release Please](https://github.com/googlLow10/30/2025
9.12.2## [9.12.2](https://github.com/launchdarkly/python-server-sdk/compare/9.12.1...9.12.2) (2025-10-27) ### Bug Fixes * Fix incorrect event count in failure message ([#359](https://github.com/launchdarkly/python-server-sdk/issues/359)) ([91f4163](https://github.com/launchdarkly/python-server-sdk/commit/91f416329bd3e53a622ce58caa63cdd6cdcc8896)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-Low10/27/2025
9.12.1## [9.12.1](https://github.com/launchdarkly/python-server-sdk/compare/9.12.0...9.12.1) (2025-09-30) ### Bug Fixes * Add validation format check for SDK key ([#351](https://github.com/launchdarkly/python-server-sdk/issues/351)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY -->Low9/30/2025
9.12.0## [9.12.0](https://github.com/launchdarkly/python-server-sdk/compare/9.11.1...9.12.0) (2025-07-11) ### ⚠ BREAKING CHANGES * Drop support for Python 3.8 (eol 2024-10-07) ([#339](https://github.com/launchdarkly/python-server-sdk/issues/339)) ### Features * Add support for plugins. ([#337](https://github.com/launchdarkly/python-server-sdk/issues/337)) ([241f6f4](https://github.com/launchdarkly/python-server-sdk/commit/241f6f49b203044f801fdfc976f7d446225ec5e1)) * Drop support for Python 3.8 (eLow7/14/2025
9.11.1## [9.11.1](https://github.com/launchdarkly/python-server-sdk/compare/9.11.0...9.11.1) (2025-05-29) ### Bug Fixes * Raise minimum eventsource dep to v1.2.4 ([#333](https://github.com/launchdarkly/python-server-sdk/issues/333)) ([5270962](https://github.com/launchdarkly/python-server-sdk/commit/527096275c20668041436b770270375be397033b))Low5/29/2025
9.11.0## [9.11.0](https://github.com/launchdarkly/python-server-sdk/compare/9.10.0...9.11.0) (2025-04-08) ### Features * Add `postfork` method to re-initialize after forking ([#329](https://github.com/launchdarkly/python-server-sdk/issues/329)) ([581fcfb](https://github.com/launchdarkly/python-server-sdk/commit/581fcfb5d7df36219f5735e21097838c323c13da))Low4/16/2025
9.10.0## [9.10.0](https://github.com/launchdarkly/python-server-sdk/compare/9.9.0...9.10.0) (2025-03-13) ### Features * Inline context for custom and migration op events ([#327](https://github.com/launchdarkly/python-server-sdk/issues/327)) ([ecfd56c](https://github.com/launchdarkly/python-server-sdk/commit/ecfd56cc916c72095764349741a0396d295f932f))Low3/13/2025
9.9.0## [9.9.0](https://github.com/launchdarkly/python-server-sdk/compare/9.8.1...9.9.0) (2025-01-03) ### Features * Add support for payload filtering ([#323](https://github.com/launchdarkly/python-server-sdk/issues/323)) ([1115afb](https://github.com/launchdarkly/python-server-sdk/commit/1115afb454ac6ca16e1ff44cc73aa4d683786188))Low1/3/2025
9.8.1## [9.8.1](https://github.com/launchdarkly/python-server-sdk/compare/9.8.0...9.8.1) (2024-12-23) ### Bug Fixes * Close SSE thread on shutdown ([#320](https://github.com/launchdarkly/python-server-sdk/issues/320)) ([2210658](https://github.com/launchdarkly/python-server-sdk/commit/22106589cb1886db6fc878e5701fdb7bc7e2537a))Low12/23/2024
9.8.0## [9.8.0](https://github.com/launchdarkly/python-server-sdk/compare/9.7.2...9.8.0) (2024-10-16) ### Features * Add support for client-side prerequisite events ([#314](https://github.com/launchdarkly/python-server-sdk/issues/314)) ([3025af4](https://github.com/launchdarkly/python-server-sdk/commit/3025af4dc6499c678e30bb2ae240a30b8c89f101))Low10/16/2024
9.7.2## [9.7.2](https://github.com/launchdarkly/python-server-sdk/compare/9.7.1...9.7.2) (2024-10-01) ### Bug Fixes * Set explicit names for each spawned thread ([#311](https://github.com/launchdarkly/python-server-sdk/issues/311)) ([9c7777c](https://github.com/launchdarkly/python-server-sdk/commit/9c7777ca4d628f1d19de631310bf8ae5d90ab60a)) * Shutdown diagnostic thread if enabled ([#312](https://github.com/launchdarkly/python-server-sdk/issues/312)) ([cde6cfb](https://github.com/launchdarkly/pythoLow10/1/2024
9.7.1## [9.7.1](https://github.com/launchdarkly/python-server-sdk/compare/9.7.0...9.7.1) (2024-08-26) ### Bug Fixes * Skip empty hosts when processing NO_PROXY variable ([#309](https://github.com/launchdarkly/python-server-sdk/issues/309)) ([82d8117](https://github.com/launchdarkly/python-server-sdk/commit/82d8117bcc375ffd8c3028589905dd4005e31b5a))Low8/26/2024
9.7.0## [9.7.0](https://github.com/launchdarkly/python-server-sdk/compare/9.6.0...9.7.0) (2024-08-20) ### Features * Add option to omit anonymous users from index and identify events ([#306](https://github.com/launchdarkly/python-server-sdk/issues/306)) ([8f13ffe](https://github.com/launchdarkly/python-server-sdk/commit/8f13ffe965b13df6398746866d464722d70e8508))Low8/21/2024
9.6.0## [9.6.0](https://github.com/launchdarkly/python-server-sdk/compare/9.5.0...9.6.0) (2024-08-19) ### Features * `NO_PROXY` environment variable can be used to override `HTTP(S)_PROXY` values ([#301](https://github.com/launchdarkly/python-server-sdk/issues/301)) ([d0913ee](https://github.com/launchdarkly/python-server-sdk/commit/d0913ee44b5fffce70dfd3b01631cc0817f1b2e8))Low8/19/2024
9.5.0## [9.5.0](https://github.com/launchdarkly/python-server-sdk/compare/9.4.0...9.5.0) (2024-07-25) This release introduces the ability to enable compression of event payloads. When enabled, the SDK will compress events before sending them to the LaunchDarkly servers. This can reduce the bandwidth required to send events, which can be useful in high-traffic environments to reduce egress traffic costs. > [!IMPORTANT] > Relay Proxy users **MUST** upgrade to version 8.9 or higher prior to enabling tLow7/25/2024
9.4.0## [9.4.0](https://github.com/launchdarkly/python-server-sdk/compare/9.3.1...9.4.0) (2024-04-29) ### Features * Add support for hooks ([#287](https://github.com/launchdarkly/python-server-sdk/issues/287)) ([eef6e26](https://github.com/launchdarkly/python-server-sdk/commit/eef6e26470afc1cb3f99efa0a07bb501d8a176c4))Low4/29/2024
9.3.1## [9.3.1](https://github.com/launchdarkly/python-server-sdk/compare/9.3.0...9.3.1) (2024-04-04) ### Bug Fixes * Move tests under ldclient namespace ([#29](https://github.com/launchdarkly/python-server-sdk/issues/29)) ([#283](https://github.com/launchdarkly/python-server-sdk/issues/283)) ([c7d367a](https://github.com/launchdarkly/python-server-sdk/commit/c7d367a7c11501448414842efdff8f404855d414))Low4/5/2024
9.3.0## [9.3.0](https://github.com/launchdarkly/python-server-sdk/compare/9.2.2...9.3.0) (2024-03-14) ### Features * Inline contexts for all evaluation events ([#245](https://github.com/launchdarkly/python-server-sdk/issues/245)) ([8b5429b](https://github.com/launchdarkly/python-server-sdk/commit/8b5429bd03194a0bf1e299fa63a559f2888321c0)) * Redact anonymous attributes within feature events ([#246](https://github.com/launchdarkly/python-server-sdk/issues/246)) ([4022ee2](https://github.com/launchdaLow3/14/2024
9.2.2## [9.2.2](https://github.com/launchdarkly/python-server-sdk/compare/9.2.1...9.2.2) (2024-03-07) ### Bug Fixes * Correct typehint on Config.update_processor_class ([#274](https://github.com/launchdarkly/python-server-sdk/issues/274)) ([d386f9c](https://github.com/launchdarkly/python-server-sdk/commit/d386f9c0efa318a128aa0960db0dbe332db1862d)), closes [#273](https://github.com/launchdarkly/python-server-sdk/issues/273)Low3/7/2024
9.2.1## [9.2.1](https://github.com/launchdarkly/python-server-sdk/compare/9.2.0...9.2.1) (2024-03-01) ### Bug Fixes * Raise minimum urllib3 package to 1.26.0 ([#271](https://github.com/launchdarkly/python-server-sdk/issues/271)) ([ffeded9](https://github.com/launchdarkly/python-server-sdk/commit/ffeded9f5f047c70b0ec365401d2b92194232994)), closes [#270](https://github.com/launchdarkly/python-server-sdk/issues/270) ### Documentation * Add example output for PROVENANCE.md [#268](https://github.comLow3/1/2024
9.2.0## [9.2.0](https://github.com/launchdarkly/python-server-sdk/compare/9.1.0...9.2.0) (2024-02-14) ### Features * Enable gzip Accept-Encoding header on polling requests ([2c2e4fa](https://github.com/launchdarkly/python-server-sdk/commit/2c2e4fa4eaacf1deca24e68b91d73314c39cb986)) ### Bug Fixes * **deps:** Update flask requirement from 2.2.5 to 3.0.0 ([#250](https://github.com/launchdarkly/python-server-sdk/issues/250)) ([b3cc0fa](https://github.com/launchdarkly/python-server-sdk/commit/b3cc0fLow2/14/2024
8.3.0## [8.3.0](https://github.com/launchdarkly/python-server-sdk/compare/8.2.1...8.3.0) (2024-02-14) ### Features * Enable gzip Accept-Encoding header on polling requests ([537b240](https://github.com/launchdarkly/python-server-sdk/commit/537b240558321198796c248a7c7487e2b4dfbf52))Low2/14/2024
9.1.0## [9.1.0](https://github.com/launchdarkly/python-server-sdk/compare/9.0.1...9.1.0) (2023-12-20) ### Features * Add data source status provider support ([#228](https://github.com/launchdarkly/python-server-sdk/issues/228)) ([f733d07](https://github.com/launchdarkly/python-server-sdk/commit/f733d07efc660357ae09afbf9c9fa32fe7712a77)) * Add support for data store status monitoring ([#252](https://github.com/launchdarkly/python-server-sdk/issues/252)) ([57ca6ac](https://github.com/launchdarkly/pyLow12/20/2023
9.0.1## [9.0.1] - 2023-10-27 ### Fixed: - Replace deprecated `utcfromtimestamp` usage.Low10/27/2023
8.2.1## [8.2.1] - 2023-10-23 ### Fixed: - Replace deprecated `utcfromtimestamp` usage.Low10/23/2023
9.0.0## [9.0.0] - 2023-10-17 The latest version of this SDK supports the ability to manage migrations or modernizations, using migration flags. You might use this functionality if you are optimizing queries, upgrading to new tech stacks, migrating from one database to another, or other similar technology changes. Migration flags are part of LaunchDarkly's Early Access Program. This feature is available to all LaunchDarkly customers but may undergo additional changes before it is finalized. For detaiLow10/17/2023
8.2.0## [8.2.0] - 2023-10-17 ### Deprecated: - Creating an `LDContext` using the legacy user format has been deprecated and will be removed in the next major release. To learn more, read the [Contexts documentation](https://docs.launchdarkly.com/guides/flags/intro-contexts). - Providing client methods `track`, `identify`, `variation`, `variation_detail`, `all_flags_state`, and `secure_mode_hash` with a context dictionary is deprecated. In the next major release, a `Context` will be required.Low10/17/2023
8.1.7## [8.1.7] - 2023-10-05 ### Changed: - Loosened urllib3 requirement to <3Low10/5/2023
8.1.6## [8.1.6] - 2023-09-06 ### Changed: - Recoverable errors are logged as a warning not an error. (Thanks, [fritzdj](https://github.com/launchdarkly/python-server-sdk/pull/219)!)Low9/6/2023
8.1.5## [8.1.5] - 2023-08-15 ### Changed: - Loosened the requirements on the semver package. (Thanks, [hauntsaninja](https://github.com/launchdarkly/python-server-sdk/pull/216)!)Low8/15/2023
8.1.4## [8.1.4] - 2023-06-01 ### Fixed: - Password will be redacted from redis URL prior to logging.Low6/1/2023
8.1.3## [8.1.3] - 2023-05-03 ### Fixed: - Updated usage of `HTTPResponse.getheader` to remove deprecation warning from upstream `urllib3` package. (Thanks, [mnito](https://github.com/launchdarkly/python-server-sdk/pull/206)!)Low5/3/2023
8.1.2## [8.1.2] - 2023-05-01 ### Fixed: - Pinned urllib3 dependency to <2. (Thanks, [prpnmac](https://github.com/launchdarkly/python-server-sdk/pull/202)!)Low5/1/2023
8.1.1## [8.1.1] - 2023-02-10 ### Fixed: - Fixed indexing error raised by calling `all_flags_state` while using the `TestData` data source.Low2/10/2023
7.6.1## [7.6.1] - 2023-02-07 ### Fixed: - Fixed indexing error raised by calling `all_flags_state` while using the `TestData` data source.Low2/7/2023
8.1.0## [8.1.0] - 2023-01-31 ### Added: - Introduced support for an `application` config property which sets application metadata that may be used in LaunchDarkly analytics or other product features. This does not affect feature flag evaluations.Low1/31/2023
7.6.0## [7.6.0] - 2023-01-31 ### Added: - Introduced support for an `application` config property which sets application metadata that may be used in LaunchDarkly analytics or other product features. . This does not affect feature flag evaluations.Low1/31/2023
8.0.0## [8.0.0] - 2022-12-30 The latest version of this SDK supports LaunchDarkly's new custom contexts feature. Contexts are an evolution of a previously-existing concept, "users." Contexts let you create targeting rules for feature flags based on a variety of different information, including attributes pertaining to users, organizations, devices, and more. You can even combine contexts to create "multi-contexts." This feature is only available to members of LaunchDarkly's Early Access Program (EALow12/30/2022
7.5.1## [7.5.1] - 2022-09-29 ### Added: - Publishing this package now includes a pre-built wheel distribution in addition to the customary source distribution.Low9/29/2022
7.5.0## [7.5.0] - 2022-07-01 ### Added: - A new `redis_opts` parameter is available when configuring a [Redis feature or Big Segment store](https://launchdarkly-python-sdk.readthedocs.io/en/latest/api-integrations.html#ldclient.integrations.Redis). This parameter will be passed through to the underlying redis driver, allowing for greater configurability. (Thanks, [danie1k](https://github.com/launchdarkly/python-server-sdk/pull/170)!) ### Fixed: - Our previous attempt at adding mypy type checking supLow7/1/2022
7.4.2## [7.4.2] - 2022-06-16 ### Changed: - Removed upper version restriction on expiringdict. This was originally necessary to allow compatibility with older Python versions which are no longer supported.Low6/16/2022
7.4.1## [7.4.1] - 2022-04-22 ### Added: - Added py.typed file to indicate typing support. Thanks [@phillipuniverse](https://github.com/launchdarkly/python-server-sdk/pull/166) ### Fixed: - Fixed invalid operator in key in TestData. - Fixed bucketing logic to not treat boolean values as bucketable value types.Low4/22/2022
7.4.0## [7.4.0] - 2022-02-16 ### Added: - `TestData`, in the new module `ldclient.integrations.test_data`, is a new way to inject feature flag data programmatically into the SDK for testing—either with fixed values for each flag, or with targets and/or rules that can return different values for different users. Unlike the file data source, this mechanism does not use any external resources, only the data that your test code has provided.Low2/16/2022
7.3.1## [7.3.1] - 2022-02-14 ### Added: - CI builds now include a cross-platform test suite implemented in https://github.com/launchdarkly/sdk-test-harness. This covers many test cases that are also implemented in unit tests, but may be extended in the future to ensure consistent behavior across SDKs in other areas. ### Fixed: - The SDK no longer uses the deprecated method `threading.Condition.notifyAll()`. (Thanks, [jdmoldenhauer](https://github.com/launchdarkly/python-server-sdk/pull/162)!) - A ruLow2/14/2022

Dependencies & License Audit

Loading dependencies...

Similar Packages

pre-commitA framework for managing and maintaining multi-language pre-commit hooks.v4.6.0
azure-core-tracing-opentelemetryMicrosoft Azure Azure Core OpenTelemetry plugin Library for Pythonazure-template_0.1.0b6187637
spdx-toolsSPDX parser and tools.0.8.5
lacesDjango components that know how to render themselves.0.1.2
django-tasksA backport of Django's built in Tasks framework0.12.0