bitcaster-django
Bitcaster-django is a Django app for seamless integrating with Bitcaster system-to-user signal-to-message notification system.
Features
- Zero-configuration setup — the
bitcaster_sdkclient is initialized automatically at startup from theBITCASTERsettings dictionary (or theBITCASTER_BAEenvironment variable): nobitcaster_sdk.init()call needed. - Event triggering — a
Clientfacade triggers remote Bitcaster events by local name, using theEventConfigmodel to map local event names to remote event slugs. - User synchronisation — Bitcaster users are kept aligned with your Django users automatically (creation and updates), with helper mixins for user management.
- Runtime configuration — with the optional
constanceextra, anyBITCASTERsetting can be changed at runtime through django-constance; the sdk client is reinitialized automatically on changes. - System checks — the configuration is validated via Django's system check
framework (
python manage.py check).
Dependencies
- Python 3.10 or later
- Django 4.2 or later
Installation
-
Install bitcaster-django using your package manager of choice, e.g. Pip:
pip install bitcaster-django # or, with django-constance support for runtime configuration: pip install bitcaster-django[constance]
-
Add bitcaster-django to
INSTALLED_APPSin yourconfig/settings.pyfile:INSTALLED_APPS = ( ... "bitcaster_django", ... )
-
Configure the app with the
BITCASTERdictionary in yourconfig/settings.pyfile:BITCASTER = { # Bitcaster Application Endpoint. # Falls back to the BITCASTER_BAE environment variable when empty/omitted. "BAE": "https://<token>@<host>/api/o/<organization>/", # forwarded to the sdk client (optional, default: False) "DEBUG": False, # keep Bitcaster users aligned with Django users (optional, default: True) "SYNC_USERS": True, # project/application slugs used by Client.trigger_event() (optional) "PROJECT": "myprj", "APPLICATION": "myapp", # fully qualified name of the sdk client class to use # (optional, default: "bitcaster_sdk.client.Client") "CLIENT": "bitcaster_sdk.async_client.AsyncClient", }
The
bitcaster_sdkclient is initialized automatically at startup: nobitcaster_sdk.init()call is needed in your code. -
Check that your configuration is valid:
python manage.py check
User synchronisation
When SYNC_USERS is enabled (the default), a post_save handler on your
AUTH_USER_MODEL keeps Bitcaster users aligned with Django users:
- creating a Django user creates the matching Bitcaster user;
- updating a Django user updates it (creating it if missing).
Users without an email address are skipped, and any error while talking to Bitcaster is logged but never breaks the saving of the Django user.
Runtime configuration with django-constance (optional)
With the constance extra installed, any BITCASTER key can be overridden at
runtime by declaring a BITCASTER_<KEY> entry in CONSTANCE_CONFIG:
INSTALLED_APPS = [
...
"constance",
"bitcaster_django",
]
CONSTANCE_CONFIG = {
"BITCASTER_BAE": ("", "Bitcaster Application Endpoint"),
}
A non-empty constance value takes precedence over the BITCASTER dictionary,
and the sdk client is reinitialized automatically whenever a BITCASTER_*
constance key is updated.
Bug reports and requests for enhancements
Please open an issue on the project's issue tracker on GitHub.
Contributing to the project
See the contribution guide.
Licensing
All rights reserved.
Metadata
Release files for bitcaster-django 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bitcaster_django-0.5.tar.gz | 9.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bitcaster_django-0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.8 kB
Release files / bitcaster_django-0.5.tar.gz
| Download URL | bitcaster_django-0.5.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29d55041b5cdb2ae084a2f42b5909c5833de8310e3ae8984988c0e38de996778
|
|
BLAKE2b-256 checksum How to use checksums |
ef5295c9b3d5b5ce5c3bfcab416b2923864cce310f474c9d136ccb9f143fb7c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency logRelease files / bitcaster_django-0.5-py3-none-any.whl
| Download URL | bitcaster_django-0.5-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c6a04d9a6ea61cfdb9458d52b28ca815e8daa2748d148433f419170fe931156
|
|
BLAKE2b-256 checksum How to use checksums |
81b576336ab50bb7c9c30b738f53bc49ef663d1f11dc19072b4ecc828cce26e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency log