{ "info": { "author": "Michael Merickel", "author_email": "pylons-discuss@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "=======\nplaster\n=======\n\n.. image:: https://img.shields.io/pypi/v/plaster.svg\n :target: https://pypi.python.org/pypi/plaster\n\n.. image:: https://img.shields.io/travis/Pylons/plaster/master.svg\n :target: https://travis-ci.org/Pylons/plaster\n\n.. image:: https://readthedocs.org/projects/plaster/badge/?version=latest\n :target: https://readthedocs.org/projects/plaster/?badge=latest\n :alt: Documentation Status\n\n``plaster`` is a loader interface around multiple config file formats. It\nexists to define a common API for applications to use when they wish to load\nconfiguration. The library itself does not aim to handle anything except\na basic API that applications may use to find and load configuration settings.\nAny specific constraints should be implemented in a pluggable loader which can\nbe registered via an entrypoint.\n\nSee https://docs.pylonsproject.org/projects/plaster/en/latest/ or\n``docs/index.rst`` in this distribution for detailed documentation.\n\n\n1.0 (2017-10-11)\n================\n\n- Improve the exception message for ``InvalidURI`` to show the ``config_uri``.\n See https://github.com/Pylons/plaster/pull/17\n\n0.5 (2017-06-02)\n================\n\n- When a scheme is not supplied, ``plaster.parse_uri`` will now autogenerate\n a scheme from the file extension with the format ``file+`` instead of\n simply ```` (for example, ``file+ini`` instead of ``ini``).\n See https://github.com/Pylons/plaster/pull/16\n\n- Absolute lookups are now pulled from the start of the scheme instead of\n the end. This means that if you want to explicitly define the package that\n the loader is pulled from, use ``package+scheme`` instead of\n ``scheme+package``.\n See https://github.com/Pylons/plaster/pull/16\n\n0.4 (2017-03-30)\n================\n\n- Removed the ``plaster.NoSectionError`` exception. It's expected that\n individual loaders should return an empty dictionary of settings in the\n case that a section cannot be found.\n See https://github.com/Pylons/plaster/pull/12\n\n- Expect the ``wsgi`` protocol to raise ``LookupError`` exceptions when\n a named wsgi component cannot be found.\n See https://github.com/Pylons/plaster/pull/12\n\n0.3 (2017-03-27)\n================\n\n- Lookup now works differently. First \"foo+bar\" looks for an installed project\n distribution named \"bar\" with a loader named \"foo\". If this fails then it\n looks for any loader named \"foo+bar\".\n\n- Rename the loader entry point to ``plaster.loader_factory``.\n\n- Add the concept of protocols to ``plaster.get_loader`` and\n ``plaster.find_loaders``.\n\n- ``plaster.find_loaders`` now works on just schemes and protocols\n instead of full ``PlasterURL`` objects and implements the lookup\n algorithm for finding loader factories.\n\n- Change the ``ILoaderInfo`` interface to avoid being coupled to a\n particular uri. ``ILoaderInfo.load`` now takes a ``config_uri``\n parameter.\n\n- Add a ``options`` dictionary to ``PlasterURL`` containing any arguments\n decoded from the query string. Loaders may use these for whatever they wish\n but one good option is default values in a config file.\n\n- Define the ``IWSGIProtocol`` interface which addons can use to implement\n a loader that can return full wsgi apps, servers and filters.\n\n- The scheme is now case-insensitive.\n\n0.2 (2016-06-15)\n================\n\n- Allow ``config_uri`` syntax ``scheme:path`` alongside ``scheme://path``.\n See https://github.com/Pylons/plaster/issues/3\n\n- Improve errors to show the user-supplied values in the error message.\n See https://github.com/Pylons/plaster/pull/4\n\n- Add ``plaster.find_loaders`` which can be used by people who need a way\n to recover when ambiguous loaders are discovered via ``plaster.get_loader``.\n See https://github.com/Pylons/plaster/pull/5\n\n- Rename ``plaster.Loader`` to ``plaster.ILoader`` to signify its purpose\n as an interface with no actual implementation.\n See https://github.com/Pylons/plaster/pull/5\n\n- Introduce ``plaster.ILoaderFactory`` to document what the entry point targets\n are expected to implement.\n See https://github.com/Pylons/plaster/pull/5\n\n0.1 (2016-06-12)\n================\n\n- Initial release.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://docs.pylonsproject.org/projects/plaster/en/latest/", "keywords": "plaster pastedeploy ini config", "license": "", "maintainer": "", "maintainer_email": "", "name": "plaster", "package_url": "https://pypi.org/project/plaster/", "platform": "", "project_url": "https://pypi.org/project/plaster/", "project_urls": { "Homepage": "https://docs.pylonsproject.org/projects/plaster/en/latest/" }, "release_url": "https://pypi.org/project/plaster/1.0/", "requires_dist": [ "setuptools", "Sphinx; extra == 'docs'", "pylons-sphinx-themes; extra == 'docs'", "pytest; extra == 'testing'", "pytest-cov; extra == 'testing'" ], "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "summary": "A loader interface around multiple config file formats.", "version": "1.0" }, "last_serial": 3241274, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "528c462729503b0cc93f3eba15fb028d", "sha256": "d56c4e1dc6d17d8e9ffb200cb0e10e6c86af70f4dd565ce808f895987096ca09" }, "downloads": -1, "filename": "plaster-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "528c462729503b0cc93f3eba15fb028d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6775, "upload_time": "2016-06-11T05:01:22", "url": "https://files.pythonhosted.org/packages/08/9b/b429c80369020513ae34f5c2f76518c495c768d9afad1dfb88ee4e517640/plaster-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1a713280f1c288797cb7eb5baa73a5f", "sha256": "68280a6c6c33ad2c881c07856de43c405eac6d1fa77f8aa9b8399d3a595b28f5" }, "downloads": -1, "filename": "plaster-0.1.0.tar.gz", "has_sig": true, "md5_digest": "b1a713280f1c288797cb7eb5baa73a5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16579, "upload_time": "2016-06-11T05:01:26", "url": "https://files.pythonhosted.org/packages/34/85/3d273f3a9630bc95c3099e0b3323b291f24da7b00a7626b566701c3bdeee/plaster-0.1.0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c28d799587200f6016351d3f59e5b5ca", "sha256": "98df254083b92d491e9d7423290359e52d636eff62ce5917e12bf8bfa898e153" }, "downloads": -1, "filename": "plaster-0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "c28d799587200f6016351d3f59e5b5ca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7396, "upload_time": "2016-06-15T05:42:33", "url": "https://files.pythonhosted.org/packages/91/a0/8ea1ecf1c169d6430dfe63dff20d64fd1b9d655496cd8b67376eab459c5a/plaster-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c0def7632d06f939247e7da75d3a40d", "sha256": "05f2a18f6d79b787f596327a26965fec738df99081ba1d8cf6a471d2bff428c8" }, "downloads": -1, "filename": "plaster-0.2.tar.gz", "has_sig": true, "md5_digest": "3c0def7632d06f939247e7da75d3a40d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19423, "upload_time": "2016-06-15T05:42:51", "url": "https://files.pythonhosted.org/packages/55/6d/6f716b7a22f316e1d90e1efe18f44b746014c640967bd52a99126401541e/plaster-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ded3c1e49c34f13e3e9373b1d15b18cd", "sha256": "79a1cf7324c7802c1f3fd643cde93b62a3a210cc20f99f89920fe71a9956f08a" }, "downloads": -1, "filename": "plaster-0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ded3c1e49c34f13e3e9373b1d15b18cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 12411, "upload_time": "2017-03-28T04:07:41", "url": "https://files.pythonhosted.org/packages/43/63/2148a3052ac9762b33972ddf6b836df0499262c1c9a13c33b9af1816430e/plaster-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db42753a857bed777a24f51382802bca", "sha256": "df38e92b11f2b1f579afbbb370129cc604c42ba9e3e1787d5e36e3cbf0715ca2" }, "downloads": -1, "filename": "plaster-0.3.tar.gz", "has_sig": true, "md5_digest": "db42753a857bed777a24f51382802bca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 26311, "upload_time": "2017-03-28T04:07:44", "url": "https://files.pythonhosted.org/packages/7a/0a/2285afa4e999b08f85d02c8e788e9ab1aa148e703a338c9f24afbf0f0efb/plaster-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "96daa906edd7a7c215116fbe313a2bda", "sha256": "4f419205c585105dd9c008aee8686086b4a29405a6ae89cd0674cdd350ca8b8c" }, "downloads": -1, "filename": "plaster-0.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "96daa906edd7a7c215116fbe313a2bda", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 12675, "upload_time": "2017-03-30T06:29:46", "url": "https://files.pythonhosted.org/packages/84/b3/2a425cf9eacc000f501ae5a1e7e397f097807004c70da7e395896c161054/plaster-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4aa3f6b85f3cbf819d701c7826be66c9", "sha256": "039a13aa444112ee08fb84398695c0771ab62b3342009150fc266cf3da148514" }, "downloads": -1, "filename": "plaster-0.4.tar.gz", "has_sig": true, "md5_digest": "4aa3f6b85f3cbf819d701c7826be66c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 27040, "upload_time": "2017-03-30T06:29:47", "url": "https://files.pythonhosted.org/packages/ad/0a/b062f65cd3869807decd7b39d01720f40664c3214ec9e49fedd10e09b33e/plaster-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "dea94d878808326b0fe2e57e81128cee", "sha256": "626f4c2ffaaa101b9eced20da42fe44c460f1b0bb52b0add37b4836516978f53" }, "downloads": -1, "filename": "plaster-0.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "dea94d878808326b0fe2e57e81128cee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 13976, "upload_time": "2017-06-02T05:11:59", "url": "https://files.pythonhosted.org/packages/49/4c/7a110fe39ed78f3ccbe1ebb94da450bb23423f3fe8d5c6e16bb5c47ff95f/plaster-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c59345a67a860cfcaa1bd6a81451399d", "sha256": "2a028938dcbf41033c5d377363781b2528151b0159201587c41e7a4c74bc887c" }, "downloads": -1, "filename": "plaster-0.5.tar.gz", "has_sig": true, "md5_digest": "c59345a67a860cfcaa1bd6a81451399d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 29600, "upload_time": "2017-06-02T05:12:00", "url": "https://files.pythonhosted.org/packages/99/b3/d7ca1fe31d2b56dba68a238721fda6820770f9c2a3de17a582d4b5b2edcc/plaster-0.5.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "b79a3d5e2f892f12f115c4d70155023f", "sha256": "215c921a438b5349931fd7df9a5a11a3572947f20f4bc6dd622ac08f1c3ba249" }, "downloads": -1, "filename": "plaster-1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b79a3d5e2f892f12f115c4d70155023f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 14064, "upload_time": "2017-10-11T05:25:19", "url": "https://files.pythonhosted.org/packages/61/29/3ac8a5d03b2d9e6b876385066676472ba4acf93677acfc7360b035503d49/plaster-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80e6beb4760c16fea31754babcc0576e", "sha256": "8351c7c7efdf33084c1de88dd0f422cbe7342534537b553c49b857b12d98c8c3" }, "downloads": -1, "filename": "plaster-1.0.tar.gz", "has_sig": true, "md5_digest": "80e6beb4760c16fea31754babcc0576e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 29592, "upload_time": "2017-10-11T05:25:21", "url": "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b79a3d5e2f892f12f115c4d70155023f", "sha256": "215c921a438b5349931fd7df9a5a11a3572947f20f4bc6dd622ac08f1c3ba249" }, "downloads": -1, "filename": "plaster-1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b79a3d5e2f892f12f115c4d70155023f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 14064, "upload_time": "2017-10-11T05:25:19", "url": "https://files.pythonhosted.org/packages/61/29/3ac8a5d03b2d9e6b876385066676472ba4acf93677acfc7360b035503d49/plaster-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80e6beb4760c16fea31754babcc0576e", "sha256": "8351c7c7efdf33084c1de88dd0f422cbe7342534537b553c49b857b12d98c8c3" }, "downloads": -1, "filename": "plaster-1.0.tar.gz", "has_sig": true, "md5_digest": "80e6beb4760c16fea31754babcc0576e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 29592, "upload_time": "2017-10-11T05:25:21", "url": "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz" } ] }