omniconf


Nameomniconf JSON
Version 1.5.0 PyPI version JSON
download
home_pagehttps://gitlab.com/CYSO/open-source/omniconf
SummaryA Python library that makes configuring your application independent from your configuration backend.
upload_time2024-03-10 16:32:46
maintainer
docs_urlNone
authorNick Douma
requires_python
licenseLGPLv3
keywords omniconf config configuration
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            omniconf
========

.. image:: https://img.shields.io/gitlab/pipeline-status/CYSO%2Fopen-source%2Fomniconf?branch=develop&logo=gitlab
   :alt: Gitlab Pipeline Status

.. image:: https://img.shields.io/gitlab/pipeline-coverage/CYSO%2Fopen-source%2Fomniconf?branch=develop&logo=gitlab
   :alt: Gitlab Code Coverage

.. image:: https://img.shields.io/pypi/l/omniconf
   :alt: License
   :target: https://pypi.python.org/pypi/omniconf

.. image:: https://img.shields.io/pypi/v/omniconf
   :alt: PyPI version
   :target: https://pypi.python.org/pypi/omniconf

.. image:: https://img.shields.io/pypi/pyversions/omniconf
   :alt: Supported Python versions
   :target: https://pypi.python.org/pypi/omniconf

.. image:: https://img.shields.io/pypi/implementation/omniconf
   :alt: Supported Python implementations
   :target: https://pypi.python.org/pypi/omniconf

A Python library that makes configuring your application independent from your configuration backend.

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

Read the complete documentation on `Read the Docs <http://omniconf.readthedocs.io/en/latest/>`_.

Why omniconf?
-------------

Configuring applications is hard, and it doesn't help that there are many different (and valid) ways to do it:

* cli arguments
* config files: ConfigObj (.ini like), JSON, YAML, TOML
* environment variables

Each of this methods are a valid way to configure an application, and each have their own strengths. Cli arguments are
most suited for tools and daemons. Configuration files are suited for applications that have more complex requirements.
Environment variables and key/value stores are handy when using containers. You may even want to use a combination of
methods (not yet implemented).

This library aims to make configuring the application easier, and allows you to use multiple configuration backends
transparently.

For up-to-date examples, take a look `here <http://omniconf.readthedocs.io/en/latest/examples.html>`_.

Changes
-------

For an up-to-date changelog, see `ChangeLog`_.

.. _ChangeLog: ChangeLog

* Full typing support and experimental mypy plugin added in 1.5.0 .
* Support for Python 3.9, 3.10, 3.11 and 3.12 was added in version 1.5.0 .
* Support for Python 2.7, 3.5, 3.6 and 3.7 was dropped in version 1.5.0 .
* Support for Vault backend was dropped in version 1.5.0 .
* Support for Python 3.4 was dropped in version 1.4.0 .
* Support for Jython was dropped in version 1.4.0 .
* Support for Python 3.8 was added in version 1.3.1 .
* Support for Python 3.3 was dropped in version 1.3.0 .

License
-------

omniconf is licensed under LGPLv3. See the LICENSE file for details.


Contributing
------------

To contribute, base your changes on the develop branch. Make sure your contribution doesn't break any existing tests,
and add relevant new tests. You can run the test suite using tox:

.. code-block:: bash

   $ tox

To check for style issues, just run the test suite, ruff is automatically called for linting and formatting checks.

When you're done, open a pull request on Github.


            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/CYSO/open-source/omniconf",
    "name": "omniconf",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "omniconf,config,configuration",
    "author": "Nick Douma",
    "author_email": "n.douma@nekoconeko.nl",
    "download_url": "https://files.pythonhosted.org/packages/e0/e9/501a6bb71b0d3404798aef9fc647f927e70379b2ddb06d1da221360ad5aa/omniconf-1.5.0.tar.gz",
    "platform": null,
    "description": "omniconf\n========\n\n.. image:: https://img.shields.io/gitlab/pipeline-status/CYSO%2Fopen-source%2Fomniconf?branch=develop&logo=gitlab\n   :alt: Gitlab Pipeline Status\n\n.. image:: https://img.shields.io/gitlab/pipeline-coverage/CYSO%2Fopen-source%2Fomniconf?branch=develop&logo=gitlab\n   :alt: Gitlab Code Coverage\n\n.. image:: https://img.shields.io/pypi/l/omniconf\n   :alt: License\n   :target: https://pypi.python.org/pypi/omniconf\n\n.. image:: https://img.shields.io/pypi/v/omniconf\n   :alt: PyPI version\n   :target: https://pypi.python.org/pypi/omniconf\n\n.. image:: https://img.shields.io/pypi/pyversions/omniconf\n   :alt: Supported Python versions\n   :target: https://pypi.python.org/pypi/omniconf\n\n.. image:: https://img.shields.io/pypi/implementation/omniconf\n   :alt: Supported Python implementations\n   :target: https://pypi.python.org/pypi/omniconf\n\nA Python library that makes configuring your application independent from your configuration backend.\n\nDocumentation\n-------------\n\nRead the complete documentation on `Read the Docs <http://omniconf.readthedocs.io/en/latest/>`_.\n\nWhy omniconf?\n-------------\n\nConfiguring applications is hard, and it doesn't help that there are many different (and valid) ways to do it:\n\n* cli arguments\n* config files: ConfigObj (.ini like), JSON, YAML, TOML\n* environment variables\n\nEach of this methods are a valid way to configure an application, and each have their own strengths. Cli arguments are\nmost suited for tools and daemons. Configuration files are suited for applications that have more complex requirements.\nEnvironment variables and key/value stores are handy when using containers. You may even want to use a combination of\nmethods (not yet implemented).\n\nThis library aims to make configuring the application easier, and allows you to use multiple configuration backends\ntransparently.\n\nFor up-to-date examples, take a look `here <http://omniconf.readthedocs.io/en/latest/examples.html>`_.\n\nChanges\n-------\n\nFor an up-to-date changelog, see `ChangeLog`_.\n\n.. _ChangeLog: ChangeLog\n\n* Full typing support and experimental mypy plugin added in 1.5.0 .\n* Support for Python 3.9, 3.10, 3.11 and 3.12 was added in version 1.5.0 .\n* Support for Python 2.7, 3.5, 3.6 and 3.7 was dropped in version 1.5.0 .\n* Support for Vault backend was dropped in version 1.5.0 .\n* Support for Python 3.4 was dropped in version 1.4.0 .\n* Support for Jython was dropped in version 1.4.0 .\n* Support for Python 3.8 was added in version 1.3.1 .\n* Support for Python 3.3 was dropped in version 1.3.0 .\n\nLicense\n-------\n\nomniconf is licensed under LGPLv3. See the LICENSE file for details.\n\n\nContributing\n------------\n\nTo contribute, base your changes on the develop branch. Make sure your contribution doesn't break any existing tests,\nand add relevant new tests. You can run the test suite using tox:\n\n.. code-block:: bash\n\n   $ tox\n\nTo check for style issues, just run the test suite, ruff is automatically called for linting and formatting checks.\n\nWhen you're done, open a pull request on Github.\n\n",
    "bugtrack_url": null,
    "license": "LGPLv3",
    "summary": "A Python library that makes configuring your application independent from your configuration backend.",
    "version": "1.5.0",
    "project_urls": {
        "Homepage": "https://gitlab.com/CYSO/open-source/omniconf"
    },
    "split_keywords": [
        "omniconf",
        "config",
        "configuration"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f06d66be05af7ea441efdd09462f38bd4bae7d8455fb54bcfb2ad165ae69cdb6",
                "md5": "203d5a38f97e2100354942d565213d3a",
                "sha256": "2b8e0a837fabd80633b0b3e98b13471607d33a300b440fc3d8dc6eab7e1c1f34"
            },
            "downloads": -1,
            "filename": "omniconf-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "203d5a38f97e2100354942d565213d3a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 49442,
            "upload_time": "2024-03-10T16:32:44",
            "upload_time_iso_8601": "2024-03-10T16:32:44.815576Z",
            "url": "https://files.pythonhosted.org/packages/f0/6d/66be05af7ea441efdd09462f38bd4bae7d8455fb54bcfb2ad165ae69cdb6/omniconf-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0e9501a6bb71b0d3404798aef9fc647f927e70379b2ddb06d1da221360ad5aa",
                "md5": "15f27c87268a0b46f97c45f1a4db065d",
                "sha256": "d1f66f46310fbe9fdae09a5f040d023cfbd19f3c6fb6b0802e34c01ca8d38880"
            },
            "downloads": -1,
            "filename": "omniconf-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "15f27c87268a0b46f97c45f1a4db065d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 43453,
            "upload_time": "2024-03-10T16:32:46",
            "upload_time_iso_8601": "2024-03-10T16:32:46.023003Z",
            "url": "https://files.pythonhosted.org/packages/e0/e9/501a6bb71b0d3404798aef9fc647f927e70379b2ddb06d1da221360ad5aa/omniconf-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-10 16:32:46",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "CYSO",
    "gitlab_project": "open-source",
    "lcname": "omniconf"
}
        
Elapsed time: 0.21886s