Metadata-Version: 2.1
Name: settei
Version: 0.5.1
Summary: Configuration loader from a TOML file
Home-page: https://github.com/spoqa/settei
Author: Spoqa Creators
Author-email: dev@spoqa.com
License: Apache 2.0
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.4.0
Provides-Extra: docs
Provides-Extra: tests
Provides-Extra: flask
Provides-Extra: celery
Requires-Dist: pytoml (<0.2.0,>=0.1.10)
Requires-Dist: setuptools
Requires-Dist: typeguard (>=2.2.1)
Provides-Extra: celery
Requires-Dist: celery; extra == 'celery'
Requires-Dist: kombu; extra == 'celery'
Provides-Extra: docs
Requires-Dist: Sphinx (>=1.4); extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Requires-Dist: Flask; extra == 'docs'
Requires-Dist: Werkzeug; extra == 'docs'
Requires-Dist: celery; extra == 'docs'
Requires-Dist: kombu; extra == 'docs'
Provides-Extra: flask
Requires-Dist: Flask; extra == 'flask'
Requires-Dist: Werkzeug; extra == 'flask'
Provides-Extra: tests
Requires-Dist: pytest (<4.0.0,>=3.6.3); extra == 'tests'
Requires-Dist: Flask; extra == 'tests'
Requires-Dist: Werkzeug; extra == 'tests'
Requires-Dist: celery; extra == 'tests'
Requires-Dist: kombu; extra == 'tests'

Settei
======

.. image:: https://readthedocs.org/projects/settei/badge/?version=latest
   :target: https://settei.readthedocs.io/
   :alt: Documentation Status

.. image:: https://badge.fury.io/py/settei.svg
   :target: https://badge.fury.io/py/settei

.. image:: https://travis-ci.org/spoqa/settei.svg
   :target: https://travis-ci.org/spoqa/settei

Configuration utility for common Python applications and services.
FYI, "settei" (設定) means settings in Japanese. :)


Loading a configuration is easy
-------------------------------

Suppose you use `Flask`_ with Settei.

.. code-block:: python

   from flask import Flask
   from settei import Configuration, config_property

   class WebConfiguration(Configuration):
      """Load Configuration::

         [web]
         debug = true

      """

      #: debug option
      debug = config_property('web.debug', bool, default=False)


   conf = WebConfiguration.from_path(pathlib.Path('.') / 'dev.toml')
   app = Flask(__name__)


   if __name__ == '__main__':
       app.run(debug=conf.debug)


.. _Flask: http://flask.pocoo.org/


