diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e828f142..14ba73c8 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,6 +16,12 @@ Unreleased ~~~~~~~~~~ +[3.7.1] - 2020-08-10 +~~~~~~~~~~~~~~~~~~~~ + +* Exposing all public functions in edx_django_utils/plugins directory in its __init__.py file. + - this was done to keep inline with standard/pattern used in other packages in edx_django_utils + [3.7.0] - 2020-08-10 ~~~~~~~~~~~~~~~~~~~~ * Adding Plugin infrastructure diff --git a/README.rst b/README.rst index f22e282c..89cda90e 100644 --- a/README.rst +++ b/README.rst @@ -35,6 +35,11 @@ The full documentation is in the docs directory. TODO: Publish to https://edx-django-utils.readthedocs.org. +Design Pattern followed by packages +----------------------------------- + +All tools in edx_django_utils should expose their public api in their __init__.py files. This entails adding to __init__.py all functions/classes/constants/objects that are intended to be used by users of library. + License ------- diff --git a/edx_django_utils/__init__.py b/edx_django_utils/__init__.py index ee42098b..70500a8a 100644 --- a/edx_django_utils/__init__.py +++ b/edx_django_utils/__init__.py @@ -2,7 +2,7 @@ EdX utilities for Django Application development.. """ -__version__ = "3.7.0" +__version__ = "3.7.1" default_app_config = ( "edx_django_utils.apps.EdxDjangoUtilsConfig" diff --git a/edx_django_utils/plugins/__init__.py b/edx_django_utils/plugins/__init__.py index e69de29b..d7d293d8 100644 --- a/edx_django_utils/plugins/__init__.py +++ b/edx_django_utils/plugins/__init__.py @@ -0,0 +1,14 @@ +""" +Plugins infrastructure + +See README.rst for details. +""" + +from .constants import PluginSettings, PluginURLs +from .plugin_apps import get_apps +from .plugin_contexts import get_plugins_view_context +from .plugin_manager import PluginManager +from .plugin_settings import add_plugins +from .plugin_signals import connect_receivers +from .plugin_urls import get_patterns +from .registry import get_app_configs diff --git a/edx_django_utils/plugins/plugin_apps.py b/edx_django_utils/plugins/plugin_apps.py index 87af45c8..f73fa351 100644 --- a/edx_django_utils/plugins/plugin_apps.py +++ b/edx_django_utils/plugins/plugin_apps.py @@ -1,5 +1,7 @@ """ Methods to get plugin apps + +Please remember to expose any new public methods in the `__init__.py` file. """ from logging import getLogger diff --git a/edx_django_utils/plugins/plugin_contexts.py b/edx_django_utils/plugins/plugin_contexts.py index ae0daf46..b425333c 100644 --- a/edx_django_utils/plugins/plugin_contexts.py +++ b/edx_django_utils/plugins/plugin_contexts.py @@ -1,5 +1,7 @@ """ Various functions to get view contexts + +Please remember to expose any new public methods in the `__init__.py` file. """ import functools from importlib import import_module diff --git a/edx_django_utils/plugins/plugin_manager.py b/edx_django_utils/plugins/plugin_manager.py index 1283598b..86142b9d 100644 --- a/edx_django_utils/plugins/plugin_manager.py +++ b/edx_django_utils/plugins/plugin_manager.py @@ -1,5 +1,7 @@ """ Adds support for first class plugins that can be added to an IDA. + +Please remember to expose any new public methods in the `__init__.py` file. """ import functools diff --git a/edx_django_utils/plugins/plugin_settings.py b/edx_django_utils/plugins/plugin_settings.py index cc176bf2..acf31906 100644 --- a/edx_django_utils/plugins/plugin_settings.py +++ b/edx_django_utils/plugins/plugin_settings.py @@ -1,5 +1,7 @@ """ Functions that deal with settings related to plugins + +Please remember to expose any new public methods in the `__init__.py` file. """ from logging import getLogger diff --git a/edx_django_utils/plugins/plugin_signals.py b/edx_django_utils/plugins/plugin_signals.py index 6cfaf23d..6a64bdc5 100644 --- a/edx_django_utils/plugins/plugin_signals.py +++ b/edx_django_utils/plugins/plugin_signals.py @@ -1,5 +1,7 @@ """ Allows plugins to work with django signals + +Please remember to expose any new public methods in the `__init__.py` file. """ from logging import getLogger diff --git a/edx_django_utils/plugins/plugin_urls.py b/edx_django_utils/plugins/plugin_urls.py index e3da3eb8..ee26579e 100644 --- a/edx_django_utils/plugins/plugin_urls.py +++ b/edx_django_utils/plugins/plugin_urls.py @@ -1,5 +1,7 @@ """ Urls utility functions + +Please remember to expose any new public methods in the `__init__.py` file. """ from logging import getLogger diff --git a/edx_django_utils/plugins/registry.py b/edx_django_utils/plugins/registry.py index 321fcf21..0f956aea 100644 --- a/edx_django_utils/plugins/registry.py +++ b/edx_django_utils/plugins/registry.py @@ -1,5 +1,7 @@ """ Code to create Registry of django app plugins + +Please remember to expose any new public methods in the `__init__.py` file. """ import six diff --git a/edx_django_utils/plugins/utils.py b/edx_django_utils/plugins/utils.py index 38f03f6b..6b69bc55 100644 --- a/edx_django_utils/plugins/utils.py +++ b/edx_django_utils/plugins/utils.py @@ -1,5 +1,7 @@ """ utils to help with imports + +Please remember to expose any new public methods in the `__init__.py` file. """ from importlib import import_module as system_import_module