Skip to main content

A django extension for dynamically enabling/disabling signals

Project description

django-signalcontrol

Downloads OpenSSF Best Practices

PyPI - Python PyPI - Django

Django signalcontrol is a django extension for dynamically enabling/disabling signals. This application allows django signals to be disabled or enabled on-demand through the django admin interface.


Code Quality

Workflow Description Status
Bandit security checks Bandit
Black code formatting Black
CodeQL security analysis CodeQL
Coveralls code coverage status Coverage Status
Isort python import ordering Isort
Mypy static type checking Mypy
Pytest unit testing Pytest
Radon code complexity analysis Radon
Ruff static code analysis Ruff
Safety dependency scanner Saftey

Code Coverage Dashboard:

https://coveralls.io/github/djangoaddicts/django-signalcontrol


Documentation

Full documentation can be found on http://django-signalcontrol.readthedocs.org. Documentation source files are available in the docs folder.


License

django-signalcontrol is licensed under the GNU-3 license (see the LICENSE file for details).

https://github.com/djangoaddicts/django-signalcontrol/blob/docs/LICENSE


Installation

  • install via pip:

    pip install django-signalcontrol
    
  • add the following to your INSTALLED_APPS in settings.py:

    djangoaddicts.signalcontrol
    

Features

Signal Decorator

SignalControl can be added to a signal with the provided decorator. In the signals.py file, import the signalcontrol decorator and add the signal_control decorator to the line directly above the signal definition.

Admin Interface

An django admin interface for django-signalcontrol is available to set signals to enabled or disabled. This displays all signals that can be controlled, and lists the application, model, signal receiver and signal name. Additionally, full search is available and filters are available for each field. Signals can be enabled or disabled individually or in bulk.


Usage Example

from signalcontrol.decorators import signal_control

@receiver(post_save, sender=MyCoolModel)
@signal_control
def msg_after_my_model_save(sender, instance, created, **kwargs):
    """ some signal """
    print('you just saved an instance of MyCoolModel')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-signalcontrol-0.1.2.tar.gz (45.5 kB view details)

Uploaded Source

Built Distribution

django_signalcontrol-0.1.2-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file django-signalcontrol-0.1.2.tar.gz.

File metadata

  • Download URL: django-signalcontrol-0.1.2.tar.gz
  • Upload date:
  • Size: 45.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for django-signalcontrol-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2d06b8382f594aa0c211da3f586a5c8a1ca7d69aa952ffb9bed078b9f4876f49
MD5 0d777c87fb266704814812246baf969c
BLAKE2b-256 ce7e84ef433658439687ef6632c3dcc7fd03bd8b24539d314ea14c1a6a3ab9be

See more details on using hashes here.

File details

Details for the file django_signalcontrol-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_signalcontrol-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0fe2ee6ee9ed438eab3df91c39f83803dcc48fef57e22c6614017bd8dea57183
MD5 1d7c62847c41fe44cf6ae4a767321636
BLAKE2b-256 e7cb3377be783383ed1e65ed176ee6faa1f615d488b1e5b603dd6c417dfc6fc4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page