djangoFCMv0.1.0
Django app which stores, manages FCM push tokens and interacts with them.
Description
djangoFCM is Django-compatible application which stores FCM push tokens, their parameters, and automates push notifications routines.
Main feature is for djangoFCM to be a "plug-in" Django application, thus capable to work with "little-to-no" configuring and changes to Django project.
Features
djangoFCM @ v0.1.0 can:
- store push tokens
- store push tokens` arbitrary parameters with types:
- foreign key
- store push notifications
- send scheduled push notifications
- compose recipients for push notifications based on user-specified conditions
Usage example
TODO
sample_project
sample-project is a showcase django project.
You can reference to it for usage cases, examples, testing.
You must never deploy sample_project in production due to exposed SECRET_KEY.
Getting Started
Dependencies
System dependencies
In means of automatisation, djangoFCM heavily relies on celery (via django-celery-beat), thus it is your task
to provide celery and celerybeat processes and message broker (e.g. rabbitMQ).
Python packages
django~=3.2.8might work on lesser versions, not testeddjango-celery-beat~=2.2.1might work on lesser versions, not testedpyfcm~=1.5.4might work on lesser versions, not tested
Django applications
django_celery_beat
Installing
Using Python Package Index
-
make sure to use latest
pip:python3 -m pip install --upgrade pip
-
install
djangoFCM:python3 -m pip install djangoFCM
OR download package from releases
-
download release asset (
.tar.gzor.whl) -
make sure to use latest
pip:python3 -m pip install --upgrade pip
-
install
djangoFCMfrom file:python3 -m pip install /path/to/downloaded/asset.tar.gz # or .whl
OR clone from repository
-
clone project:
git clone \ --depth=1 \ --branch=master \ git@github.com:omelched/djangoFCM.git \ </path/to/downloads>
-
move
/djangoFCM/djangoFCMsolely to folder containing django appsmv </path/to/downloads>/djangoFCM/djangoFCM \ </path/to/django/project/apps>
-
remove leftovers
rm -rf </path/to/downloads>/djangoFCM
Configuring
Installing application
Add djangoFCM to INSTALLED_APPS in your Django project settings.py.
If you installed package the third way, </path/to/django/project/apps>
must be added to PYTHONPATH. If you not sure add code below in your Django project manage.py before calling main():
sys.path.append('</path/to/django/project/apps>')
Provide FCM api key via DJANGOFCM_FCM_API_KEY in your Django project settings.py.
Celery
Make sure to point celery to djangoFCM.tasks.send_push_notification task.
Use app.autodiscover_tasks() in your celeryapp module or specify in settings:
CELERY_IMPORTS = (
'djangoFCM.tasks',
)
Provide Celery worker to execute tasks, e.g:
venv/bin/celery -A sample_project worker -l INFO
Official documentation may help.
Celerybeat
Provide Celery beat to start scheduled tasks, e.g:
venv/bin/celery -A sample_project beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler
Official documentation on custom schedulers.
Authors
@omelched (Denis Omelchenko)
Contributors
Changelist
djangoFCM version history and changelist available at releases page.
License
This project is licensed under the GNU APGLv3 License - see the LICENSE file for details.
Acknowledgments
Inspiration, code snippets, etc.
Metadata
Release files for djangoFCM 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| djangoFCM-0.3.0.tar.gz | 31.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| djangoFCM-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.7 kB
Release files / djangoFCM-0.3.0.tar.gz
| Download URL | djangoFCM-0.3.0.tar.gz |
|---|---|
| Size | 31.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8bcc9187d089ccdc383c19ab6c535794fb9f74758dc239968f59bf1658ea3e6
|
|
BLAKE2b-256 checksum How to use checksums |
31157ec89815eb4f88e9333c560251aabc2280d0722baa67550b44515fc928ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|
Release files / djangoFCM-0.3.0-py3-none-any.whl
| Download URL | djangoFCM-0.3.0-py3-none-any.whl |
|---|---|
| Size | 47.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ab1e7399f099f7fa043ef311e04ce2aeab4afcad48ed7a58157f1a5d789f2d5
|
|
BLAKE2b-256 checksum How to use checksums |
fcd9c63acde465d0f02a328e73c35b4f8c10ba6154eeae49609a88e183b83061
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
|