django-lazy-services

A helper for switching between test and production versions of a service module


License
MIT
Install
pip install django-lazy-services==0.0.3

Documentation

django-lazy-services

A helper for switching between test and production versions of a service

Purpose

Lets you easily switch between versions of a service based on a Django setting entry. Good for situations where you want to use different versions between production and development and/or test. In the client code you might use: from . import my_service which might go to either .services.MyService or .services.MyFakeService depending on the content of your settings.

Usage

Construct your service as a class whose init takes no arguments.

In services.py:

class MyService:
    def __init__(self):
        pass
    def hello(self):
        print("hello world")

Declare the service.

In __init__.py:

from lazy_services import LazyService
my_service = LazyService("MY_SERVICE")

Select the service.

In settings.py

MY_SERVICE = "my_project.services.MyService"

Use the service.

from . import my_serivce
my_service.hello()