Metadata-Version: 2.1
Name: django-composed-configuration
Version: 0.10.0
Summary: Turnkey Django settings for data management applications
Home-page: https://github.com/girder/django-composed-configuration
Author: Kitware, Inc
Author-email: kitware@kitware.com
License: Apache 2.0
Project-URL: Bug Reports, https://github.com/girder/django-composed-configuration/issues
Project-URL: Source, https://github.com/girder/django-composed-configuration
Description: # django-composed-configuration
        [![PyPI](https://img.shields.io/pypi/v/django-composed-configuration)](https://pypi.org/project/django-composed-configuration/)
        
        Turnkey Django settings for data management applications
        
        ## Installation
        Add to your project's requirements:
        ```
        django-composed-configuration[dev,prod]
        ```
        
        In your project's `settings.py`:
        ```python
        from composed_configuration import (
            ComposedConfiguration,
            ConfigMixin,
            DevelopmentBaseConfiguration,
            ProductionBaseConfiguration,
        )
        
        
        class _ProjectMixin(ConfigMixin):
            # Define additional project-specific settings or overrides here
            pass
        
            @staticmethod
            def before_binding(configuration: ComposedConfiguration) -> None:
                # Perform any non-overriding mutation of existing settings here
                # The "configuration" variable contains the flattened settings
                # For example:
                #   configuration.INSTALLED_APPS += ['my_extra_app']
                pass
        
        
        class DevelopmentConfiguration(_ProjectMixin, DevelopmentBaseConfiguration):
            pass
        
        
        class ProductionConfiguration(_ProjectMixin, ProductionBaseConfiguration):
            pass
        ```
        
        At runtime:
        * continue to set the `DJANGO_SETTINGS_MODULE` environment variable (pointing to `settings.py`)
        * also set `DJANGO_CONFIGURATION`, with a value of 
          either `DevelopmentConfiguration` or `ProductionConfiguration` 
        
Keywords: django girder configuration configurations setting settings
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Django :: 3.0
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: dev
Provides-Extra: prod
