{ "info": { "author": "Niklas Rosenstein", "author_email": "rosensteinniklas@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "> __Deprecated__. Use the [`nr.types.structured`](https://github.com/NiklasRosenstein/python-nr.types) module instead.\n\n---\n\n# nr.config\n\nThe `nr.config` package provides an API to define models to parse\nJSON/CSON/YAML configuration files.\n\n```python\nfrom nr.config import Field, Partial, extract, dump\n\nclass User(Partial):\n name = Field(str)\n realm = Field(str)\n\nclass AuthConfig(Partial):\n authorized_users = Field((list, User), name='authorized-users')\n\ndata = {'authorized-users': [{'name': 'me', 'realm': 'sso'}]}\nconfig = extract(AuthConfig, data)\nprint(config.authorized_users[0].name)\nassert dump(AuthConfig, config) == data\n```\n\n### Changelog\n\n#### v1.2.3 (2019-07-20)\n\n* Deprecated. Use `nr.types.structured` instead (available as of `nr.types 2.5.0`)\n\n#### v1.2.2 (2019-06-05)\n\n* Fix Python 2 compatible `super()` call in `Field` constructor\n\n#### v1.2.1 (2019-05-21)\n\n* Add `Partial._from_config()`\n* Fix handling of `Field.config_name` in the `Partial` constructor and the\n `PartialTypeHandler.load()` method\n\n#### v1.2.0 (2019-05-21)\n\n* Add `Key` class that can be used to track the location of an element in\n a nested structure\n* Add `key` argument to `extract()` method\n* Add `bool` class to be handled by the `GenericTypeHandler`\n* `Context.key` is not a `Key` instance and is no longer protected by a setter method\n* Setting `Context.key` is no longer supported\n\n#### v1.1.0 (2019-04-16)\n\n* Update `nr.types` dependency to `>=2.0.1`\n* Removed `nr.stream` dependency\n* `Field.get_default()` now raises a `RuntimeError` instead of `NotImplementedError`\n if the field has no default value\n\n#### v1.0.3 (2019-04-06)\n\n* `extract()` now accepts an optional *kwargs* parameter that overrides\n the top-level values of the input data\n* add `Partial.as_dict()`\n\n#### v1.0.2 (2019-03-21)\n\n* Add `nr.types>=1.1.0` dependency\n* Use `yaml.safe_load()` in `nr.config.extract()` if possible\n* Use `OrderedDict` with `json.load()`\n\n#### v1.0.1 (2019-03-21)\n\n* Fix Python 3 compatibility in GenericTypeHandler\n\n#### v1.0.0 (2019-03-21)\n\n* Initial version", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/NiklasRosenstein/python-nr.config", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nr.config", "package_url": "https://pypi.org/project/nr.config/", "platform": "", "project_url": "https://pypi.org/project/nr.config/", "project_urls": { "Homepage": "https://github.com/NiklasRosenstein/python-nr.config" }, "release_url": "https://pypi.org/project/nr.config/1.2.3/", "requires_dist": null, "requires_python": "", "summary": "This packages provides a class-oriented API for parsing YAMl/JSON configs.", "version": "1.2.3" }, "last_serial": 5559164, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "867c197b21abb568c1e7a549598e4e93", "sha256": "911107b3c64c53dfca4716e201773b6d1cf9bc50cb6671c3226f37c78b5ee182" }, "downloads": -1, "filename": "nr.config-1.0.0.tar.gz", "has_sig": false, "md5_digest": "867c197b21abb568c1e7a549598e4e93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7056, "upload_time": "2019-03-21T15:44:06", "url": "https://files.pythonhosted.org/packages/73/ca/8b04a7f242dec4b96dbd6aa09e189a1c705f6323a14349a9d3a9be71a5b3/nr.config-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "62f540027297701bf5b3d225def1e001", "sha256": "bd8e9b13770cabe52b930e52162dee56b5e50a263c3e96433670b715fd92917b" }, "downloads": -1, "filename": "nr.config-1.0.1.tar.gz", "has_sig": false, "md5_digest": "62f540027297701bf5b3d225def1e001", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7172, "upload_time": "2019-03-21T16:20:14", "url": "https://files.pythonhosted.org/packages/19/2c/3dd9b9008e976dfd8e1b87a31dc33458dd2382fca7ab92abb4d3da03257f/nr.config-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "e5fa60a2600c3d31e14ee919edc4a0d5", "sha256": "96b3f77d00f0b0fa279d263dae70890e7b8c3a0e5a36f195e1373a51840e953a" }, "downloads": -1, "filename": "nr.config-1.0.2.tar.gz", "has_sig": false, "md5_digest": "e5fa60a2600c3d31e14ee919edc4a0d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7316, "upload_time": "2019-03-21T16:54:52", "url": "https://files.pythonhosted.org/packages/b4/a0/068afddec774546ecbda7131c9bf0bda3f088aaa47340d068459639797cf/nr.config-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "6856dcb1f376f0daac48d4c5982bf106", "sha256": "dd2a171624b2efcb5649c5cbd6872c050002760bb525b46de0986a06ed0a9a7c" }, "downloads": -1, "filename": "nr.config-1.0.3.tar.gz", "has_sig": false, "md5_digest": "6856dcb1f376f0daac48d4c5982bf106", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7714, "upload_time": "2019-04-06T01:20:50", "url": "https://files.pythonhosted.org/packages/e8/5d/4f39d441b1d58fa88ee33e67d6eec3bfed2463a78db5a110a8a48c180347/nr.config-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e9ed58c1dd91b8cbad6467d356b763a6", "sha256": "f3a811d4e89d428b80f4ca7ae0afbdd3a1d292d3ba28dbcf808064ee31337aac" }, "downloads": -1, "filename": "nr.config-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e9ed58c1dd91b8cbad6467d356b763a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7901, "upload_time": "2019-04-16T17:03:55", "url": "https://files.pythonhosted.org/packages/9e/4e/feb764f1fcc017fd7b6c7ac5d7bb6b4c0a3ac43a520b07a9177a7f72bdc5/nr.config-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1a97fa2192b8d7b41d984974a9024dcc", "sha256": "1e3435b1e9b9710cb83420b3982d9a431d8493078d2e413b74461db8bcb3108e" }, "downloads": -1, "filename": "nr.config-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1a97fa2192b8d7b41d984974a9024dcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8307, "upload_time": "2019-05-21T14:20:02", "url": "https://files.pythonhosted.org/packages/2b/ee/581740a5f4af7388bdc923c7be19b21b498bd4f2e84877e7dc471836f0b6/nr.config-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "128ee6610640e604b5a0c18a08178a32", "sha256": "9b9142b72dfe791272647b8393f636bab5e85395cace4c4dc48286dd8f1c00f4" }, "downloads": -1, "filename": "nr.config-1.2.1.tar.gz", "has_sig": false, "md5_digest": "128ee6610640e604b5a0c18a08178a32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8808, "upload_time": "2019-05-21T14:49:59", "url": "https://files.pythonhosted.org/packages/de/08/b583923a590e55f4aeb6fa571de4967d27b348bf2a2af2fa36bf0cc1b3d2/nr.config-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "d7b36fc9ed4b951f4501333de667666e", "sha256": "6f9986e507a247996ff0a78b760f483f5222e8e89d2507295af15005d0906c18" }, "downloads": -1, "filename": "nr.config-1.2.2.tar.gz", "has_sig": false, "md5_digest": "d7b36fc9ed4b951f4501333de667666e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8870, "upload_time": "2019-06-05T15:54:39", "url": "https://files.pythonhosted.org/packages/ba/fe/3a2b0d69962aa9f023fab0dcd3233ed00a9a6319a6119fa01d3ac8fee808/nr.config-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "bb875673d11a15c3782bd66d0c9c31e8", "sha256": "2f3e08a5993adee8227931c56a09ef1aba4e3a4f7a30afe9e9dda31a324c7390" }, "downloads": -1, "filename": "nr.config-1.2.3.tar.gz", "has_sig": false, "md5_digest": "bb875673d11a15c3782bd66d0c9c31e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9027, "upload_time": "2019-07-19T23:27:30", "url": "https://files.pythonhosted.org/packages/d2/f7/1cb3b49adec5f2985f251e9f58a11bb665deed356c98d82a25659fe8b74d/nr.config-1.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bb875673d11a15c3782bd66d0c9c31e8", "sha256": "2f3e08a5993adee8227931c56a09ef1aba4e3a4f7a30afe9e9dda31a324c7390" }, "downloads": -1, "filename": "nr.config-1.2.3.tar.gz", "has_sig": false, "md5_digest": "bb875673d11a15c3782bd66d0c9c31e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9027, "upload_time": "2019-07-19T23:27:30", "url": "https://files.pythonhosted.org/packages/d2/f7/1cb3b49adec5f2985f251e9f58a11bb665deed356c98d82a25659fe8b74d/nr.config-1.2.3.tar.gz" } ] }