{ "info": { "author": "James C. Stroud", "author_email": "jstroud@mbi.ucla.edu", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "description": "========\n phyles\n========\n\nBackground\n----------\n\nPhyles is a set of somewhat eclectic functions that makes the\nimplementation of utilities (little programs that can be controlled\nby config files) easier. It started as a mass of boilerplate that I\nwould copy into almost every utility I wrote. I finally decided to\nconsolidate this code into a package and add some schema-based\nvalidation of config files and to document it fully.\n\nFeatures\n--------\n\nPhyles provides support for `YAML`_-based\nconfig files as well as a means for validating the config files.\nPhyles also provides several facilities for making utilities\nmore user friendly, including automatically generated banners,\nautomatically documented configuration templates, and graceful\nrecovery from configuration errors.\n\nHome Page & Repository\n----------------------\n\nThe phyles home page is http://phyles.bravais.net, and the source\ncode is maintained at github: https://github.com/jcstroud/phyles\\.\n\nExample\n-------\n\nAbout 90% of the convenience that phyles offers can\nbe summarized by a few lines of code. From the example\nutility in the tutorial (http://pythonhosted.org/phyles):\n\n.. code-block:: python\n\n 1| spec = phyles.package_spec(phyles.Undefined, \"barbecue\",\n | \"schema\", \"barbecue-time.yml\")\n 2| converters = {'celsius to farenheit':\n | barbecue.celsius_to_farenheit}\n 3| setup = phyles.set_up(__program__, __version__,\n | spec, converters)\n 4| phyles.run_main(main, setup['config'],\n | catchall=barbecue.BarbecueError)\n\nThese few lines find a schema specification from the package\ncontents (line 1), parses command line arguments (line 3),\nvalidates a config file (lines 2 & 3), overrides configuration\nsettings therein (line 3), and runs the main function of the utility\nin a try-except block that ensures graceful exit in the event that\nan anticipated exception is raised (line 4).\n\nSchema are specified in `YAML`_, terse, and hopefully intuitive.\nFollowing is the example from the tutorial:\n\n.. code-block:: yaml\n\n !!omap\n - dish :\n - - vegetable kabobs\n - smoked salmon\n - brisket\n - smoked salmon\n - Dish to cook\n - doneness :\n - rare : 200\n medium : 350\n well-done : 500\n - medium\n - How much to cook the dish\n - temperature :\n - celsius to farenheit\n - 105\n - Cooking temperature in \u00b0C\n - 105\n - width :\n - int\n - 70\n - width of report\n - 70\n\nPhyles will automatically generate a documented sample\nconfig files for users if they run the utility with\nthe ``--template`` (or ``-t``) command line option. In the\ntutorial, calling the example script (``barbecue-time``) with::\n\n barbecue_time -t\n\nproduces the following output, which is valid for the above\nschema:\n\n.. code-block:: yaml\n\n %YAML 1.2\n ---\n\n # Dish to cook\n # One of: vegetable kabobs, smoked salmon, brisket\n dish : smoked salmon\n\n # How much to cook the dish\n # One of: well-done, medium, rare\n doneness : medium\n\n # Cooking temperature in \u00b0C\n temperature : 105\n\n # width of report\n width : 70\n\n\nAs one final example, another valid config file for this schema is:\n\n.. code-block:: yaml\n\n dish : smoked salmon\n doneness : medium\n temperature : 107\n width : 70\n\n.. _`YAML`: http://www.yaml.org", "description_content_type": null, "docs_url": "https://pythonhosted.org/phyles/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://phyles.bravais.net", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "phyles", "package_url": "https://pypi.org/project/phyles/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/phyles/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://phyles.bravais.net" }, "release_url": "https://pypi.org/project/phyles/0.2.16/", "requires_dist": null, "requires_python": null, "summary": "Simple validation of YAML config files with YAML-based schema.", "version": "0.2.16" }, "last_serial": 1006953, "releases": { "0.2.0b4": [ { "comment_text": "", "digests": { "md5": "0d0a4b262e17ee56b943669c29120f4d", "sha256": "98746e72ae987fd4e19aed624b5236e53de323bab90a083f08ce909cf43e7c8e" }, "downloads": -1, "filename": "phyles-0.2.0b4.tar.gz", "has_sig": false, "md5_digest": "0d0a4b262e17ee56b943669c29120f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 442459, "upload_time": "2013-02-21T01:06:04", "url": "https://files.pythonhosted.org/packages/9a/6f/1fbedc9942dd6c7f8b43d4caa96fc719214ce2e12ed351706501f9dd164a/phyles-0.2.0b4.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "16a9427408eece9c4698cca93d150a61", "sha256": "31a19b64a4e295924cf85c41fe7e36fdfd6feb20f575476c1d9b552fd4ed6a66" }, "downloads": -1, "filename": "phyles-0.2.1.tar.gz", "has_sig": false, "md5_digest": "16a9427408eece9c4698cca93d150a61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143861, "upload_time": "2013-02-25T21:25:31", "url": "https://files.pythonhosted.org/packages/b3/de/c0827746ed67fe8a16ffd9425f74628e27710d2758a5848e55f904bc4081/phyles-0.2.1.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "4ecd24b274284065a37aa64122a81a54", "sha256": "b87a48b35ca1215ff209e203f057a175a1d99aad124e25b5820f8a93db85e113" }, "downloads": -1, "filename": "phyles-0.2.11.tar.gz", "has_sig": false, "md5_digest": "4ecd24b274284065a37aa64122a81a54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157514, "upload_time": "2013-09-08T07:48:56", "url": "https://files.pythonhosted.org/packages/ae/52/b8ab34c992b2f5cac33d46f6e84f3c4bb7bc7f6c3328002c7d43e01b4175/phyles-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "5f83075702a8356c749136f0f4a2ef89", "sha256": "be3cce7c27e178c65fecc103bd2a952c5ca4b9039f9ae9953c943df76a44f9e7" }, "downloads": -1, "filename": "phyles-0.2.12.tar.gz", "has_sig": false, "md5_digest": "5f83075702a8356c749136f0f4a2ef89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166512, "upload_time": "2013-10-18T19:44:06", "url": "https://files.pythonhosted.org/packages/8f/f4/19474cf8b94edd1ea6057650f00918a761ba485051b8bb1be0e907cac87a/phyles-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "b13bf75e9e654d90516d2db69e74622d", "sha256": "c7d07de931b48d25ce1deb8e95e2fa779550c6321fc0f7a7892b09be479ad437" }, "downloads": -1, "filename": "phyles-0.2.13.tar.gz", "has_sig": false, "md5_digest": "b13bf75e9e654d90516d2db69e74622d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166503, "upload_time": "2013-10-18T19:49:11", "url": "https://files.pythonhosted.org/packages/d0/a5/b4efe450b18333684eb06a3b55ec550a59656ad0200c393c529fdf3ab55d/phyles-0.2.13.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "2fb4188301baa7c9636d7466e804d433", "sha256": "d62f3d6047b67d2803818bd2d0e4f76da4b4a3b3e8babf2a9f7ff8d21182987e" }, "downloads": -1, "filename": "phyles-0.2.14.tar.gz", "has_sig": false, "md5_digest": "2fb4188301baa7c9636d7466e804d433", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158066, "upload_time": "2013-10-18T19:57:27", "url": "https://files.pythonhosted.org/packages/c7/6f/45f5001a70e4b94158ea8d3b96e7eafb2fd41f0dfe0069983a689f977951/phyles-0.2.14.tar.gz" } ], "0.2.15": [ { "comment_text": "", "digests": { "md5": "697eee46af9ac843f2f72a4feb75928d", "sha256": "b5946233442bf009cd91587b2c14a660e5b2916217227400105e63dbd9bdd2b4" }, "downloads": -1, "filename": "phyles-0.2.15.tar.gz", "has_sig": false, "md5_digest": "697eee46af9ac843f2f72a4feb75928d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157887, "upload_time": "2013-10-18T20:00:44", "url": "https://files.pythonhosted.org/packages/42/59/a143d51d7f63fae027a0548a0a55b2d3c690dfd00e46bea28598fb2f6fd1/phyles-0.2.15.tar.gz" } ], "0.2.16": [ { "comment_text": "", "digests": { "md5": "920c5b7f3ed8efbed353731a3e34303b", "sha256": "af6b9beaf8581e19f0154ac8370cbd69445fb795aeea5125b5249259fb0ccf18" }, "downloads": -1, "filename": "phyles-0.2.16.tar.gz", "has_sig": false, "md5_digest": "920c5b7f3ed8efbed353731a3e34303b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158182, "upload_time": "2014-02-20T22:22:04", "url": "https://files.pythonhosted.org/packages/41/79/b8c0a7a13cb84281bfbc59445b0f15b4c8b342e5094b4375ab237fb69fb0/phyles-0.2.16.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "bc3c18840a511256ed4b7be18093e30e", "sha256": "f071d442997e15d258b64570c0fc2981b84542e2db156aa7b945edab739c0c9f" }, "downloads": -1, "filename": "phyles-0.2.2.tar.gz", "has_sig": false, "md5_digest": "bc3c18840a511256ed4b7be18093e30e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154336, "upload_time": "2013-02-25T22:11:04", "url": "https://files.pythonhosted.org/packages/af/5e/afb976c254ce277d029261cf22d7e81b61d74810e982dcec09349da58f59/phyles-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "9651791bdba0ccd7b0db504d73dab1bb", "sha256": "eb557f5424204ab0e89db96117da03ef3b0a781dcf9dcc3db586d9515c875742" }, "downloads": -1, "filename": "phyles-0.2.3.tar.gz", "has_sig": false, "md5_digest": "9651791bdba0ccd7b0db504d73dab1bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154082, "upload_time": "2013-02-26T23:45:02", "url": "https://files.pythonhosted.org/packages/20/06/8bca92f20ad49a6cbc5cf96d54ab410e5ac8d7d6caa0ae1a2e2392cbc085/phyles-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "83e64a81d32787b3bb612d7532dd153a", "sha256": "6703972320fcf64788d3068c3674653859a8ade4419a913164808a860e4637d4" }, "downloads": -1, "filename": "phyles-0.2.4.tar.gz", "has_sig": false, "md5_digest": "83e64a81d32787b3bb612d7532dd153a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154360, "upload_time": "2013-02-26T23:55:45", "url": "https://files.pythonhosted.org/packages/ef/d1/3aaf7941e7153e53e4633fb43e5e17d59fdebe7680204fc334b4457cfec4/phyles-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "d089e9aec65f7ebe4df1063297fc44de", "sha256": "6971efd5ffe00832789d970f18b53b433f280c9a7db2bd6e62914ce075b2af4b" }, "downloads": -1, "filename": "phyles-0.2.5.tar.gz", "has_sig": false, "md5_digest": "d089e9aec65f7ebe4df1063297fc44de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154592, "upload_time": "2013-02-28T22:27:50", "url": "https://files.pythonhosted.org/packages/94/88/ab0482854a540852f05eda53b108add48c4ef135766e51272c57077b7676/phyles-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "344e86ab9f7cc1c9879b0fe3ce7023b5", "sha256": "549acfec5d8c2e64b94707f1d0de7321ef26f6ed197aa35b61091be70c74b7a9" }, "downloads": -1, "filename": "phyles-0.2.6.tar.gz", "has_sig": false, "md5_digest": "344e86ab9f7cc1c9879b0fe3ce7023b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154738, "upload_time": "2013-02-28T23:00:07", "url": "https://files.pythonhosted.org/packages/e4/94/3a3bed3ce8036652b5478bedb2c39d7bb387e0ef408fc7c7f2278472d0c4/phyles-0.2.6.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "5d2bfe97866d4502da692e8126a3105e", "sha256": "3f47602da43966474da90e1231bb06e4474816c0c0cb1292d8fc2e85c2ef49b1" }, "downloads": -1, "filename": "phyles-0.2.8.tar.gz", "has_sig": false, "md5_digest": "5d2bfe97866d4502da692e8126a3105e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156327, "upload_time": "2013-07-26T03:58:20", "url": "https://files.pythonhosted.org/packages/0b/aa/db30424bf1fc602f5c68411330d14864951ee6a8c87a571b80cb0d62050d/phyles-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "93c787f937ef2dda0aa8b2a1e12542de", "sha256": "7e7f0b00245fefc61a654e937c36ab43f1bc601040a0f18e60c7792b1c2ce5ee" }, "downloads": -1, "filename": "phyles-0.2.9.tar.gz", "has_sig": false, "md5_digest": "93c787f937ef2dda0aa8b2a1e12542de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156693, "upload_time": "2013-08-06T17:54:24", "url": "https://files.pythonhosted.org/packages/4f/43/38350f08ca0b0945a8793c6fa1e4572168784c62fb06203eacc28cd63aa0/phyles-0.2.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "920c5b7f3ed8efbed353731a3e34303b", "sha256": "af6b9beaf8581e19f0154ac8370cbd69445fb795aeea5125b5249259fb0ccf18" }, "downloads": -1, "filename": "phyles-0.2.16.tar.gz", "has_sig": false, "md5_digest": "920c5b7f3ed8efbed353731a3e34303b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158182, "upload_time": "2014-02-20T22:22:04", "url": "https://files.pythonhosted.org/packages/41/79/b8c0a7a13cb84281bfbc59445b0f15b4c8b342e5094b4375ab237fb69fb0/phyles-0.2.16.tar.gz" } ] }