django-config-models


Namedjango-config-models JSON
Version 2.7.0 PyPI version JSON
download
home_pagehttps://github.com/openedx/django-config-models
SummaryConfiguration models for Django allowing config management with auditing.
upload_time2024-04-03 17:10:10
maintainerNone
docs_urlNone
authoredX
requires_pythonNone
licenseAGPL 3.0
keywords django edx
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            django-config-models
********************

|CI|_ |Codecov|_ |pypi-badge| |doc-badge| |pyversions-badge| |license-badge| |status-badge|
===========================================================================================

.. |CI| image:: https://github.com/openedx/django-config-models/workflows/Python%20CI/badge.svg?branch=master
.. _CI: https://github.com/openedx/django-config-models/actions?query=workflow%3A%22Python+CI%22

.. |Codecov| image:: http://codecov.io/github/openedx/django-config-models/coverage.svg?branch=master
.. _Codecov: http://codecov.io/github/openedx/django-config-models?branch=master

.. |pypi-badge| image:: https://img.shields.io/pypi/v/django-config-models.svg
    :target: https://pypi.python.org/pypi/django-config-models/
    :alt: PyPI

.. |doc-badge| image:: https://readthedocs.org/projects/django-config-models/badge/?version=latest
    :target: http://django-config-models.readthedocs.io/en/latest/
    :alt: Documentation

.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/django-config-models.svg
    :target: https://pypi.python.org/pypi/django-config-models/
    :alt: Supported Python versions

.. |license-badge| image:: https://img.shields.io/github/license/edx/django-config-models.svg
    :target: https://github.com/openedx/django-config-models/blob/master/LICENSE.txt
    :alt: License

.. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen
    :alt: Maintenance status


Purpose
-------

This app allows other apps to easily define a configuration model
that can be hooked into the admin site to allow configuration management
with auditing.

Getting Started
---------------

Add ``config_models`` to your ``INSTALLED_APPS`` list.

Usage
-----

Create a subclass of ``ConfigurationModel``, with fields for each
value that needs to be configured::

    class MyConfiguration(ConfigurationModel):
        frobble_timeout = IntField(default=10)
        frazzle_target = TextField(defalut="debug")

This is a normal django model, so it must be synced and migrated as usual.

The default values for the fields in the ``ConfigurationModel`` will be
used if no configuration has yet been created.

Register that class with the Admin site, using the ``ConfigurationAdminModel``::

    from django.contrib import admin

    from config_models.admin import ConfigurationModelAdmin

    admin.site.register(MyConfiguration, ConfigurationModelAdmin)

Use the configuration in your code::

    def my_view(self, request):
        config = MyConfiguration.current()
        fire_the_missiles(config.frazzle_target, timeout=config.frobble_timeout)

Use the admin site to add new configuration entries. The most recently created
entry is considered to be ``current``.

Configuration
-------------

The current ``ConfigurationModel`` will be cached in the ``configuration`` django cache,
or in the ``default`` cache if ``configuration`` doesn't exist. The ``configuration`` and ``default`` caches
are specified in the django ``CACHES`` setting. The caching can be per-process, per-machine, per-cluster, or
some other strategy, depending on the cache configuration.

You can specify the cache timeout in each ``ConfigurationModel`` by setting the ``cache_timeout`` property.

You can change the name of the cache key used by the ``ConfigurationModel`` by overriding
the ``cache_key_name`` function.

Extension
---------

``ConfigurationModels`` are just django models, so they can be extended with new fields
and migrated as usual. Newly added fields must have default values and should be nullable,
so that rollbacks to old versions of configuration work correctly.

Documentation
-------------

The full documentation is at https://django-config-models.readthedocs.org.

License
-------

The code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.

Please see ``LICENSE.txt`` for details.

Getting Help
------------

If you're having trouble, we have discussion forums at
`discuss.openedx.org <https://discuss.openedx.org>`_ where you can connect with others in the
community.

Our real-time conversations are on Slack. You can request a `Slack
invitation`_, then join our `community Slack workspace`_.

For anything non-trivial, the best path is to `open an issue`__ in this
repository with as many details about the issue you are facing as you
can provide.

__ https://github.com/openedx/django-config-models /issues

For more information about these options, see the `Getting Help`_ page.

.. _Slack invitation: https://openedx.org/slack
.. _community Slack workspace: https://openedx.slack.com/
.. _Getting Help: https://openedx.org/getting-help

How To Contribute
-----------------

Contributions are very welcome.

Please read `How To Contribute <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>`_ for details.


This project is currently accepting all types of contributions, bug fixes, security fixes, maintenance work, or new features. However, please make sure to have a discussion about your new feature idea with the maintainers prior to beginning development to maximize the chances of your change being accepted. You can start a conversation by creating a new issue on this repo summarizing your idea.

Open edX Code of Conduct
------------------------
All community members are expected to follow the `Open edX Code of Conduct`_.

.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/

People
------
The assigned maintainers for this component and other project details may be
found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
file in this repo.

.. _Backstage: https://backstage.openedx.org/catalog/default/component/django-config-models

Reporting Security Issues
-------------------------

Please do not report security issues in public. Please email security@openedx.org.


Change Log
----------

..
   All enhancements and patches to django-config-models will be documented
   in this file.  It adheres to the structure of http://keepachangelog.com/ ,
   but in reStructuredText instead of Markdown (for ease of incorporation into
   Sphinx documentation and the PyPI description).

   This project adheres to Semantic Versioning (http://semver.org/).

.. There should always be an "Unreleased" section for changes pending release.

[2.6.0] - 2024-03-30
~~~~~~~~~~~~~~~~~~~~

* Adding python3.11 and 3.12 support.


[2.5.1] - 2023-09-22
~~~~~~~~~~~~~~~~~~~~

* Fixed issues with Django 4.2

[2.5.0] - 2023-08-07
~~~~~~~~~~~~~~~~~~~~

* Fixed ``ConfigurationModel.current``: it will make sure that it does not return None for current configuration.

[2.4.0] - 2023-07-19
~~~~~~~~~~~~~~~~~~~~

* Added support for Django42 in CI
* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
  deprecated

[2.3.0] - 2022-01-19
~~~~~~~~~~~~~~~~~~~~
* Added Support for Django40 in CI
* Dropped Support for Django22, 30, 31

[2.2.2] - 2021-20-12
~~~~~~~~~~~~~~~~~~~~
* Updated dependencies after removing unnecessary constraint on edx-django-utils, so the constraint will no longer be advertised.

[2.2.1] - 2021-20-12
~~~~~~~~~~~~~~~~~~~~
* Replaced deprecated 'django.utils.translation.ugettext' with 'django.utils.translation.gettext'

[2.2.0] - 2021-07-14
~~~~~~~~~~~~~~~~~~~~
* Added support for django3.2

[2.1.2] - 2021-06-24
~~~~~~~~~~~~~~~~~~~~
* Move out django pin from base.in. Now it is coming from global constraint. Ran make upgrade.

[2.1.1] - 2021-01-28
~~~~~~~~~~~~~~~~~~~~
* Fix deprecated reference of ``util.memcache.safe_key``

[2.1.0] - 2021-01-12
~~~~~~~~~~~~~~~~~~~~
* Dropped Python 3.5 Support

[2.0.2] - 2020-05-10
~~~~~~~~~~~~~~~~~~~~
* Fix html escaping of edit links in admin

[2.0.1] - 2020-05-08
~~~~~~~~~~~~~~~~~~~~
* Dropped support for Django<2.2
* Dropped support for python3.6
* Added support for python3.8

[2.0.0] - 2020-02-06
~~~~~~~~~~~~~~~~~~~~
* Dropping support for Python 2.7
* Switch to using edx-django-utils TieredCache (a two-layer cache that uses both
  Django's cache and an internal request-level cache) to reduce the number of
  memcached roundtrips. This was a major performance issue that accounted for
  10-20% of transaction time for certain courseware views in edx-platform.
* It is now REQUIRED to add `RequestCacheMiddleware` `to middleware
  <https://github.com/openedx/edx-django-utils/tree/master/edx_django_utils/cache#tieredcachemiddleware>`_
  to use ConfigModels.
* Remove usage of the "configuration" cache setting. ConfigModels now always use
  the default Django cache.
* Django Rest Framework 3.7 and 3.8 are no longer supported.

[1.0.1] - 2019-04-23
~~~~~~~~~~~~~~~~~~~~
* Fix auto publishing to PyPI

[1.0.0] - 2019-04-23
~~~~~~~~~~~~~~~~~~~~
Changed
-------
* Unpin django-rest-framework requirements. This is a potentially **breaking change** if people were
  relying on this package to ensure the correct version of djangorestframework was being installed.


[0.2.0] - 2018-07-13
~~~~~~~~~~~~~~~~~~~~

Added
-----
* Support for Python 3.6

Removed
-------
* Testing against Django 1.8 - 1.10

Changed
-------
* Updated dependency management to follow OEP-18

[0.1.10] - 2018-05-21
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Changed
-------
* Don't assume the user model is Django's default auth.User


[0.1.9] - 2017-08-07
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Changed
-------
* Updated Django REST Framework dependency to 3.6 as we were not actually compatible with 3.2.


[0.1.8] - 2017-06-19
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Added
-----
* Support for Django 1.11.


[0.1.7] - 2017-06-19
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Unreleased version number


[0.1.6] - 2017-06-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Added
-----
* Support for Django 1.10.

[0.1.1] - [0.1.5] - 2017-06-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Added
_____

* Add quality testing to travis run.
* Add encrypted password for package PyPI.

Removed
-------

* Remove the quality condition on deployment.
* Remove the version combos known to fail.

Changed
-------

* Allow for lower versions of djangorestframework, to be compatible with edx-platform.
* Constrict DRF to version that works.
* Update versions of requirements via pip-compile.
* Use different test target - test-all instead of validate.

Fixed
-----

* Fix name and supported versions.

[0.1.0] - 2016-10-06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Added
_____

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openedx/django-config-models",
    "name": "django-config-models",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "Django edx",
    "author": "edX",
    "author_email": "oscm@edx.org",
    "download_url": "https://files.pythonhosted.org/packages/bc/3d/1b27885382a405097061068c970d50afcf742f74692494d08f640a78ab4b/django-config-models-2.7.0.tar.gz",
    "platform": null,
    "description": "django-config-models\n********************\n\n|CI|_ |Codecov|_ |pypi-badge| |doc-badge| |pyversions-badge| |license-badge| |status-badge|\n===========================================================================================\n\n.. |CI| image:: https://github.com/openedx/django-config-models/workflows/Python%20CI/badge.svg?branch=master\n.. _CI: https://github.com/openedx/django-config-models/actions?query=workflow%3A%22Python+CI%22\n\n.. |Codecov| image:: http://codecov.io/github/openedx/django-config-models/coverage.svg?branch=master\n.. _Codecov: http://codecov.io/github/openedx/django-config-models?branch=master\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/django-config-models.svg\n    :target: https://pypi.python.org/pypi/django-config-models/\n    :alt: PyPI\n\n.. |doc-badge| image:: https://readthedocs.org/projects/django-config-models/badge/?version=latest\n    :target: http://django-config-models.readthedocs.io/en/latest/\n    :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/django-config-models.svg\n    :target: https://pypi.python.org/pypi/django-config-models/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/django-config-models.svg\n    :target: https://github.com/openedx/django-config-models/blob/master/LICENSE.txt\n    :alt: License\n\n.. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n    :alt: Maintenance status\n\n\nPurpose\n-------\n\nThis app allows other apps to easily define a configuration model\nthat can be hooked into the admin site to allow configuration management\nwith auditing.\n\nGetting Started\n---------------\n\nAdd ``config_models`` to your ``INSTALLED_APPS`` list.\n\nUsage\n-----\n\nCreate a subclass of ``ConfigurationModel``, with fields for each\nvalue that needs to be configured::\n\n    class MyConfiguration(ConfigurationModel):\n        frobble_timeout = IntField(default=10)\n        frazzle_target = TextField(defalut=\"debug\")\n\nThis is a normal django model, so it must be synced and migrated as usual.\n\nThe default values for the fields in the ``ConfigurationModel`` will be\nused if no configuration has yet been created.\n\nRegister that class with the Admin site, using the ``ConfigurationAdminModel``::\n\n    from django.contrib import admin\n\n    from config_models.admin import ConfigurationModelAdmin\n\n    admin.site.register(MyConfiguration, ConfigurationModelAdmin)\n\nUse the configuration in your code::\n\n    def my_view(self, request):\n        config = MyConfiguration.current()\n        fire_the_missiles(config.frazzle_target, timeout=config.frobble_timeout)\n\nUse the admin site to add new configuration entries. The most recently created\nentry is considered to be ``current``.\n\nConfiguration\n-------------\n\nThe current ``ConfigurationModel`` will be cached in the ``configuration`` django cache,\nor in the ``default`` cache if ``configuration`` doesn't exist. The ``configuration`` and ``default`` caches\nare specified in the django ``CACHES`` setting. The caching can be per-process, per-machine, per-cluster, or\nsome other strategy, depending on the cache configuration.\n\nYou can specify the cache timeout in each ``ConfigurationModel`` by setting the ``cache_timeout`` property.\n\nYou can change the name of the cache key used by the ``ConfigurationModel`` by overriding\nthe ``cache_key_name`` function.\n\nExtension\n---------\n\n``ConfigurationModels`` are just django models, so they can be extended with new fields\nand migrated as usual. Newly added fields must have default values and should be nullable,\nso that rollbacks to old versions of configuration work correctly.\n\nDocumentation\n-------------\n\nThe full documentation is at https://django-config-models.readthedocs.org.\n\nLicense\n-------\n\nThe code in this repository is licensed under the AGPL 3.0 unless\notherwise noted.\n\nPlease see ``LICENSE.txt`` for details.\n\nGetting Help\n------------\n\nIf you're having trouble, we have discussion forums at\n`discuss.openedx.org <https://discuss.openedx.org>`_ where you can connect with others in the\ncommunity.\n\nOur real-time conversations are on Slack. You can request a `Slack\ninvitation`_, then join our `community Slack workspace`_.\n\nFor anything non-trivial, the best path is to `open an issue`__ in this\nrepository with as many details about the issue you are facing as you\ncan provide.\n\n__ https://github.com/openedx/django-config-models /issues\n\nFor more information about these options, see the `Getting Help`_ page.\n\n.. _Slack invitation: https://openedx.org/slack\n.. _community Slack workspace: https://openedx.slack.com/\n.. _Getting Help: https://openedx.org/getting-help\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\n\nPlease read `How To Contribute <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>`_ for details.\n\n\nThis project is currently accepting all types of contributions, bug fixes, security fixes, maintenance work, or new features. However, please make sure to have a discussion about your new feature idea with the maintainers prior to beginning development to maximize the chances of your change being accepted. You can start a conversation by creating a new issue on this repo summarizing your idea.\n\nOpen edX Code of Conduct\n------------------------\nAll community members are expected to follow the `Open edX Code of Conduct`_.\n\n.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/\n\nPeople\n------\nThe assigned maintainers for this component and other project details may be\nfound in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``\nfile in this repo.\n\n.. _Backstage: https://backstage.openedx.org/catalog/default/component/django-config-models\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@openedx.org.\n\n\nChange Log\n----------\n\n..\n   All enhancements and patches to django-config-models will be documented\n   in this file.  It adheres to the structure of http://keepachangelog.com/ ,\n   but in reStructuredText instead of Markdown (for ease of incorporation into\n   Sphinx documentation and the PyPI description).\n\n   This project adheres to Semantic Versioning (http://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\n[2.6.0] - 2024-03-30\n~~~~~~~~~~~~~~~~~~~~\n\n* Adding python3.11 and 3.12 support.\n\n\n[2.5.1] - 2023-09-22\n~~~~~~~~~~~~~~~~~~~~\n\n* Fixed issues with Django 4.2\n\n[2.5.0] - 2023-08-07\n~~~~~~~~~~~~~~~~~~~~\n\n* Fixed ``ConfigurationModel.current``: it will make sure that it does not return None for current configuration.\n\n[2.4.0] - 2023-07-19\n~~~~~~~~~~~~~~~~~~~~\n\n* Added support for Django42 in CI\n* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is\n  deprecated\n\n[2.3.0] - 2022-01-19\n~~~~~~~~~~~~~~~~~~~~\n* Added Support for Django40 in CI\n* Dropped Support for Django22, 30, 31\n\n[2.2.2] - 2021-20-12\n~~~~~~~~~~~~~~~~~~~~\n* Updated dependencies after removing unnecessary constraint on edx-django-utils, so the constraint will no longer be advertised.\n\n[2.2.1] - 2021-20-12\n~~~~~~~~~~~~~~~~~~~~\n* Replaced deprecated 'django.utils.translation.ugettext' with 'django.utils.translation.gettext'\n\n[2.2.0] - 2021-07-14\n~~~~~~~~~~~~~~~~~~~~\n* Added support for django3.2\n\n[2.1.2] - 2021-06-24\n~~~~~~~~~~~~~~~~~~~~\n* Move out django pin from base.in. Now it is coming from global constraint. Ran make upgrade.\n\n[2.1.1] - 2021-01-28\n~~~~~~~~~~~~~~~~~~~~\n* Fix deprecated reference of ``util.memcache.safe_key``\n\n[2.1.0] - 2021-01-12\n~~~~~~~~~~~~~~~~~~~~\n* Dropped Python 3.5 Support\n\n[2.0.2] - 2020-05-10\n~~~~~~~~~~~~~~~~~~~~\n* Fix html escaping of edit links in admin\n\n[2.0.1] - 2020-05-08\n~~~~~~~~~~~~~~~~~~~~\n* Dropped support for Django<2.2\n* Dropped support for python3.6\n* Added support for python3.8\n\n[2.0.0] - 2020-02-06\n~~~~~~~~~~~~~~~~~~~~\n* Dropping support for Python 2.7\n* Switch to using edx-django-utils TieredCache (a two-layer cache that uses both\n  Django's cache and an internal request-level cache) to reduce the number of\n  memcached roundtrips. This was a major performance issue that accounted for\n  10-20% of transaction time for certain courseware views in edx-platform.\n* It is now REQUIRED to add `RequestCacheMiddleware` `to middleware\n  <https://github.com/openedx/edx-django-utils/tree/master/edx_django_utils/cache#tieredcachemiddleware>`_\n  to use ConfigModels.\n* Remove usage of the \"configuration\" cache setting. ConfigModels now always use\n  the default Django cache.\n* Django Rest Framework 3.7 and 3.8 are no longer supported.\n\n[1.0.1] - 2019-04-23\n~~~~~~~~~~~~~~~~~~~~\n* Fix auto publishing to PyPI\n\n[1.0.0] - 2019-04-23\n~~~~~~~~~~~~~~~~~~~~\nChanged\n-------\n* Unpin django-rest-framework requirements. This is a potentially **breaking change** if people were\n  relying on this package to ensure the correct version of djangorestframework was being installed.\n\n\n[0.2.0] - 2018-07-13\n~~~~~~~~~~~~~~~~~~~~\n\nAdded\n-----\n* Support for Python 3.6\n\nRemoved\n-------\n* Testing against Django 1.8 - 1.10\n\nChanged\n-------\n* Updated dependency management to follow OEP-18\n\n[0.1.10] - 2018-05-21\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nChanged\n-------\n* Don't assume the user model is Django's default auth.User\n\n\n[0.1.9] - 2017-08-07\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nChanged\n-------\n* Updated Django REST Framework dependency to 3.6 as we were not actually compatible with 3.2.\n\n\n[0.1.8] - 2017-06-19\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n-----\n* Support for Django 1.11.\n\n\n[0.1.7] - 2017-06-19\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Unreleased version number\n\n\n[0.1.6] - 2017-06-01\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n-----\n* Support for Django 1.10.\n\n[0.1.1] - [0.1.5] - 2017-06-01\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* Add quality testing to travis run.\n* Add encrypted password for package PyPI.\n\nRemoved\n-------\n\n* Remove the quality condition on deployment.\n* Remove the version combos known to fail.\n\nChanged\n-------\n\n* Allow for lower versions of djangorestframework, to be compatible with edx-platform.\n* Constrict DRF to version that works.\n* Update versions of requirements via pip-compile.\n* Use different test target - test-all instead of validate.\n\nFixed\n-----\n\n* Fix name and supported versions.\n\n[0.1.0] - 2016-10-06\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "Configuration models for Django allowing config management with auditing.",
    "version": "2.7.0",
    "project_urls": {
        "Homepage": "https://github.com/openedx/django-config-models"
    },
    "split_keywords": [
        "django",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c770adb4a1821d0c3f008662e756be27ef925bc3a55a18b3df9e13d48e489b9",
                "md5": "0a89d37abcc5d317953c0b5e11d4271a",
                "sha256": "5cd6c0547ef19236d83ad1dec27bead9a915e73f3b3de38ba989ec49190b0431"
            },
            "downloads": -1,
            "filename": "django_config_models-2.7.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0a89d37abcc5d317953c0b5e11d4271a",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 30200,
            "upload_time": "2024-04-03T17:10:06",
            "upload_time_iso_8601": "2024-04-03T17:10:06.557145Z",
            "url": "https://files.pythonhosted.org/packages/8c/77/0adb4a1821d0c3f008662e756be27ef925bc3a55a18b3df9e13d48e489b9/django_config_models-2.7.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc3d1b27885382a405097061068c970d50afcf742f74692494d08f640a78ab4b",
                "md5": "cb152dbc42e510d181869f4ecc480edd",
                "sha256": "e2d454c72071b5967424a9cac90b60a631dc66e42497c5d97d067c463817dedc"
            },
            "downloads": -1,
            "filename": "django-config-models-2.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "cb152dbc42e510d181869f4ecc480edd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 39759,
            "upload_time": "2024-04-03T17:10:10",
            "upload_time_iso_8601": "2024-04-03T17:10:10.407529Z",
            "url": "https://files.pythonhosted.org/packages/bc/3d/1b27885382a405097061068c970d50afcf742f74692494d08f640a78ab4b/django-config-models-2.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-03 17:10:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openedx",
    "github_project": "django-config-models",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "django-config-models"
}
        
edX
Elapsed time: 0.23377s