{ "info": { "author": "Stephan Druskat", "author_email": "mail@sdruskat.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "pykwalifire\n===========\n\n**pykwalifire** is a fork of the YAML/JSON validation library\n`pykwalify `__. It adds the\nfollowing features.\n\nNew features\n------------\n\nSpecify custom file extensions for YAML and JSON data files [1.7.0]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIn order to be able to validate JSON or YAML files with non-default file\nextensions, the following two options have been introduced:\n\n- ``-y EXT, --yaml-extension EXT`` to specify a custom extension\n ``EXT``, allowing to validate YAML files such as *my-yaml-file.yext*.\n- ``-j EXT, --json-extension EXT`` to specify a custom extension\n ``EXT``, allowing to validate JSON files such as *my-json-file.jext*.\n\nSupport Python 3.x exclusively [2.0.1]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n*pykwalifire* drops support for Python 2.7. Python 2.x will not be\nmaintained past 2020, and its default ``ascii`` encoding makes it a\nnightmare for unicode support. To be able to use *pykwalifire* you must\nuse it with Python 3.\n\nDefault ``ruamel`` YAML parser [2.0.1]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAs *PyYAML*, the most widely used YAML parser in the Python world, does\nnot support YAML 1.2, *ruamel.yaml* is the default parser for\n*pykwalifire*.\n\nHistory\n-------\n\nCf. `pykwalify `__.\n\nInstallation\n============\n\n*pykwalifire* is available from PyPI:\nhttps://pypi.python.org/pypi/pykwalifire.\n\nInstall it with\n\n.. code:: bash\n\n pip install pykwalifire\n\nBasic usage\n===========\n\nCreate a data file. JSON and YAML formats are both supported.\n\n.. code:: yaml\n\n - foo\n - bar\n\nCreate a schema file with validation rules.\n\n.. code:: yaml\n\n type: seq\n sequence:\n - type: str\n\nValidate the file from the command line:\n\n.. code:: bash\n\n pykwalifire -d data.yaml -s schema.yaml\n\nIf the YAML data file would be called *data.customextension*, you would\nvalidate it with\n\n.. code:: bash\n\n pykwalifire -d data.customextension -s schema.yaml -y customextension\n\nDocumentation\n-------------\n\nFor further documentation, please see the `pykwalify\ndocumentation `__.\n\nLicense\n=======\n\n*pykwalifire* is licensed under the MIT license, cf. `license\nfile `__.\n\n``pykwalify`` branch\n====================\n\nThe `pykwalify\nbranch `__ is\nused to create pull requests against the `upstream\nrepository `__. Hopefully this way\nall work that\u2019s been done in *pykwalifire* can be contributed back to\nthe original project.\n\n**Thanks @Grokzen for creating a great piece of open source software!**\n\n--------------\n\nChange Log\n==========\n\n`2.0.1 `__ (2017-12-20)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-1:\n\n`1.7.3 `__ (2017-12-18)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-2:\n\n`1.7.2 `__ (2017-12-18)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-3:\n\n`1.7.1 `__ (2017-12-18)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-4:\n\n`1.7.0 `__ (2017-12-13)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-5:\n\n`1.6.0 `__ (2017-01-22)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-6:\n\n`1.5.2 `__ (2016-11-12)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-7:\n\n`1.5.1 `__ (2016-03-06)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-8:\n\n`1.5.0 `__ (2015-09-30)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-9:\n\n`1.4.1 `__ (2015-08-27)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-10:\n\n`1.4.0 `__ (2015-08-04)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-11:\n\n`1.3.0 `__ (2015-07-13)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-12:\n\n`1.2.0 `__ (2015-05-19)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-13:\n\n`1.1.0 `__ (2015-04-04)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-14:\n\n`1.0.1 `__ (2015-03-08)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-15:\n\n`1.0.0 `__ (2015-03-08)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-16:\n\n`15.01 `__ (2015-01-17)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-17:\n\n`14.12 `__ (2014-12-24)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-18:\n\n`14.08 `__ (2014-08-24)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-19:\n\n`14.06.1 `__ (2014-06-23)\n-------------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-20:\n\n`14.06 `__ (2014-06-07)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n.. section-21:\n\n`0.1.2 `__ (2013-01-26)\n---------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n`v0.1.1 `__ (2013-01-21)\n-----------------------------------------------------------------------------\n\n`Full\nChangelog `__\n\n`v0.1.0 `__ (2013-01-20)\n-----------------------------------------------------------------------------\n\n\\* *This Change Log was automatically generated by\n`github_changelog_generator `__*\n\n.. |Build Status| image:: https://travis-ci.org/sdruskat/pykwalifire.svg?branch=master\n :target: https://travis-ci.org/sdruskat/pykwalifire\n.. |Coverage Status| image:: https://coveralls.io/repos/github/sdruskat/pykwalifire/badge.svg?branch=master\n :target: https://coveralls.io/github/sdruskat/pykwalifire?branch=master\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/sdruskat/pykwalifire", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pykwalifire", "package_url": "https://pypi.org/project/pykwalifire/", "platform": "", "project_url": "https://pypi.org/project/pykwalifire/", "project_urls": { "Homepage": "http://github.com/sdruskat/pykwalifire" }, "release_url": "https://pypi.org/project/pykwalifire/2.0.1/", "requires_dist": [ "ruamel.yaml (<0.12.0,>=0.11.0)", "docopt (>=0.6.2)", "PyYAML (>=3.11)", "python-dateutil (>=2.4.2)" ], "requires_python": "", "summary": "Python lib/cli for JSON/YAML schema validation, fork of pykwalify with added features", "version": "2.0.1" }, "last_serial": 3431134, "releases": { "1.7.0": [ { "comment_text": "", "digests": { "md5": "50f51589f59fe4d353e4006a604efaeb", "sha256": "fe06e98d8241dbf3127c537c996c9740af1f53c999358816eb9f340503365ad3" }, "downloads": -1, "filename": "pykwalifire-1.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "50f51589f59fe4d353e4006a604efaeb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24866, "upload_time": "2017-12-13T15:08:09", "url": "https://files.pythonhosted.org/packages/16/9a/76f242164fe4b8a94c39fc7179b7b0391f97448a64d00145962b7386a841/pykwalifire-1.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ec8ecaa870b1f64d8086129b6a50412", "sha256": "f23042a54c43f3f64c5f14b977cb3a0bf47318cd02e555e9ec25eadd03099329" }, "downloads": -1, "filename": "pykwalifire-1.7.0.tar.gz", "has_sig": false, "md5_digest": "0ec8ecaa870b1f64d8086129b6a50412", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49325, "upload_time": "2017-12-13T15:08:11", "url": "https://files.pythonhosted.org/packages/4b/42/5c1f42f182e0b43b1e178f9062e876c3ed5ee6bcfc8b4aadaf872e4c29b6/pykwalifire-1.7.0.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "c04b961dd33f3ac7292f03360896edf9", "sha256": "e85329dd596710b6a57737b6ad1807d806189145c2513c3ea758ecdd4016ec0d" }, "downloads": -1, "filename": "pykwalifire-1.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c04b961dd33f3ac7292f03360896edf9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25017, "upload_time": "2017-12-18T11:07:25", "url": "https://files.pythonhosted.org/packages/c2/fa/7702487e237ff506299cb43e008ec915218d9f77f34c7cd2afa267e16476/pykwalifire-1.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b305a6b2173ca24330c3b2295b25d4c", "sha256": "f989f490d11706d36eff17d45478d8c24caafbdd58dc01803e51ff471d58cd2d" }, "downloads": -1, "filename": "pykwalifire-1.7.1.tar.gz", "has_sig": false, "md5_digest": "8b305a6b2173ca24330c3b2295b25d4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49800, "upload_time": "2017-12-18T11:07:27", "url": "https://files.pythonhosted.org/packages/f5/69/d67cb67c8d9e7dae5551b1bad5aff39a11ff89eaa41ffb3ecbc54c7a451b/pykwalifire-1.7.1.tar.gz" } ], "1.7.2": [ { "comment_text": "", "digests": { "md5": "3d17e83d65c49ccb5042163b15a6a75e", "sha256": "8a536d4203170108fdbb98c53dbd8536119afbfdb3f38c2fa4ebfb98af9487d8" }, "downloads": -1, "filename": "pykwalifire-1.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d17e83d65c49ccb5042163b15a6a75e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26176, "upload_time": "2017-12-18T11:20:47", "url": "https://files.pythonhosted.org/packages/e4/d2/68db15df158c4e394f94ed0326c50f1d9252961effc9afa3e3606119d762/pykwalifire-1.7.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac5c7995cebf5630a21cb901cc041fcb", "sha256": "c914381f7c76a800fc73d21cf597c2ea17862cb0571cf06d79b0710a646d818d" }, "downloads": -1, "filename": "pykwalifire-1.7.2.tar.gz", "has_sig": false, "md5_digest": "ac5c7995cebf5630a21cb901cc041fcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51257, "upload_time": "2017-12-18T11:20:48", "url": "https://files.pythonhosted.org/packages/bf/ac/01ca5b8887476b3ae8211ed95e1709e5f0ef2fd1bc7acbc6be6815a5c2c4/pykwalifire-1.7.2.tar.gz" } ], "1.7.3": [ { "comment_text": "", "digests": { "md5": "1b8408cabf52208b09098285e75e37f0", "sha256": "094fd9efbe37dd5b2a2d53e41fe12dab50d6b75adbe7a3051c386c9c0d9edab6" }, "downloads": -1, "filename": "pykwalifire-1.7.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b8408cabf52208b09098285e75e37f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26238, "upload_time": "2017-12-18T11:31:01", "url": "https://files.pythonhosted.org/packages/91/30/983962cee472bb441f18c5cabc0260359baa46392e6c05981ce6de46cfee/pykwalifire-1.7.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "decdd2aaed8e7f3c7f6e90026853c259", "sha256": "3cd220fa7ae721e72ecf308852e6dbd9cdf2e33630b6508b1c03bd8313e512c1" }, "downloads": -1, "filename": "pykwalifire-1.7.3.tar.gz", "has_sig": false, "md5_digest": "decdd2aaed8e7f3c7f6e90026853c259", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51416, "upload_time": "2017-12-18T11:31:05", "url": "https://files.pythonhosted.org/packages/af/4b/b41382dc91565a7309950903c6818fbf1da50972e2ddfa5fa04f3f4ddc90/pykwalifire-1.7.3.tar.gz" } ], "1.7.5": [ { "comment_text": "", "digests": { "md5": "9f1de41af0bbdfebffbf59e018d72a10", "sha256": "3fbebadfe5b09a437ecbc66b9fedbe4956006d62e3c07b25119952dfaee3d924" }, "downloads": -1, "filename": "pykwalifire-1.7.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9f1de41af0bbdfebffbf59e018d72a10", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26243, "upload_time": "2017-12-19T13:50:05", "url": "https://files.pythonhosted.org/packages/fb/c1/bce0b5a9bd490d272faca9d12682e93869fbad66da9cb9e19c74bbe58436/pykwalifire-1.7.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79011c43e2906cca9d8e2ebbe599125c", "sha256": "13110e9003901b2e811f912a15ad183e503a223ed4b02c8fb0d3b31bd1984a33" }, "downloads": -1, "filename": "pykwalifire-1.7.5.tar.gz", "has_sig": false, "md5_digest": "79011c43e2906cca9d8e2ebbe599125c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51407, "upload_time": "2017-12-19T13:50:08", "url": "https://files.pythonhosted.org/packages/76/0f/01a97b8e9157d4da4b15b02fe72cdf84cc1d4454b4d457b5add60a42fb1e/pykwalifire-1.7.5.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "dac2e7c070438490fda7f8303ba62e0f", "sha256": "b83f1b3cbc2cf8ee9bb665b389168aa1a803755f2ba65344137d1a9fe88bc8b6" }, "downloads": -1, "filename": "pykwalifire-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dac2e7c070438490fda7f8303ba62e0f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26590, "upload_time": "2017-12-20T12:05:32", "url": "https://files.pythonhosted.org/packages/60/6d/bba1b8c3db8cdf2236819431883859f9226f89156afb72364b94d9233752/pykwalifire-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0fb11bdeb261da6b61b4d80797ca141", "sha256": "ebf7dcaa53dbe43238ebf1cc3b89471c29276b6e188ae9ff329ea69b2f1288e4" }, "downloads": -1, "filename": "pykwalifire-2.0.1.tar.gz", "has_sig": false, "md5_digest": "f0fb11bdeb261da6b61b4d80797ca141", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51793, "upload_time": "2017-12-20T12:05:34", "url": "https://files.pythonhosted.org/packages/bb/be/815089e00344528779f7bc4a78e352a42b1e80bb4ead1c7cb1df20931ed0/pykwalifire-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dac2e7c070438490fda7f8303ba62e0f", "sha256": "b83f1b3cbc2cf8ee9bb665b389168aa1a803755f2ba65344137d1a9fe88bc8b6" }, "downloads": -1, "filename": "pykwalifire-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dac2e7c070438490fda7f8303ba62e0f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26590, "upload_time": "2017-12-20T12:05:32", "url": "https://files.pythonhosted.org/packages/60/6d/bba1b8c3db8cdf2236819431883859f9226f89156afb72364b94d9233752/pykwalifire-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0fb11bdeb261da6b61b4d80797ca141", "sha256": "ebf7dcaa53dbe43238ebf1cc3b89471c29276b6e188ae9ff329ea69b2f1288e4" }, "downloads": -1, "filename": "pykwalifire-2.0.1.tar.gz", "has_sig": false, "md5_digest": "f0fb11bdeb261da6b61b4d80797ca141", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51793, "upload_time": "2017-12-20T12:05:34", "url": "https://files.pythonhosted.org/packages/bb/be/815089e00344528779f7bc4a78e352a42b1e80bb4ead1c7cb1df20931ed0/pykwalifire-2.0.1.tar.gz" } ] }