Skip to main content

Django Logic - easy way to implement state-based business logic

Project description

Django-Logic (under development)

django-logic - easy way to implement state-based business logic

Django Logic is a lightweight workflow framework that provides an additional layer to implement the business logic with a Django. Inspired by Django FSM package and UML-state machine, we have developed a package which tends to solve a problem “Where to put the business logic in Django”.

The vision behind this package is that Django especially useful for small-medium size projects and developer teams. Especially who have many ideas needs to validate/business rules need to implement, validate and improve. The Django-Logic package provides a set of tools helping to build a reliable product within a limited time. Here is the functionality what the package can do for you:

  • Implement state-based business processes combined into Processes.
  • Provides a business logic layer as a set of conditions, side-effects, permissions, and even celery-tasks combined into a transition class.
  • In progress states
  • REST API actions - every transition could be turned into a POST request action within seconds by extending your ViewSet and Serialiser of Django-Rest-Framework
  • Form buttons (TODO) - add buttons to your form and templates based on available transitions
  • Background side-effects before or after transition executed. It gives you reach functionality to implement complicated business rules without into details.
  • Draw your business processes to get a full picture of all transitions and conditions.
  • Easy to read the business process
  • One and only one way to implement business logic. You will be able to extend and improve the Django-Logic functionality and available handlers. However, the business logic will remain the same and by following SOLID principles.
  • Test your business logic by unit-tests as pure functions.
  • Protects from overwritten states, locks, etc. already implemented in Django Logic and you could control the behaviour.
  • Several states can be combined under the same Model.

Project details


Download files

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

Files for django-logic, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size django_logic-0.0.1-py3-none-any.whl (8.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-logic-0.0.1.tar.gz (6.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page