{ "info": { "author": "Nat Goodspeed", "author_email": "nat.cognitoy@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "====\nPyng\n====\n\nPyng is a collection of Python utility functions I've written over the years,\nand that I keep wishing were available everywhere. Sadly, in many cases I've\nsimply pasted copies of individual functions as needed. But no more!\n\nIt's organized as follows:\n\n* **commands:** decorator to automatically build an argparse.ArgumentParser by\n decorating functions you want to expose as script subcommands\n\n* **dicts:** dict subsets, dict searching\n\n* **exc:** manipulate exceptions, e.g. reraise, retry\n\n* **genio:** generator-based file I/O, loosely related to Java file streams\n\n* **graph:** filter DAG represented as dict of (key, otherkeys)\n\n* **iters:** generic iterator functionality, akin to itertools\n\n* **out:** construct a file-like output object to wrap a specified sink\n function, with buffer_lines as a useful example and syslogger as a practical\n use case\n\n* **relwalk:** os.walk() filtered to produce pathnames relative to the\n starting directory\n\n* **replacefile:** filter a text file in-place\n\n* **timing:** time-related utilities, e.g. duration() to produce a\n human-friendly description of a specified interval and ProgressTimer to\n abstract ETA computations\n\n* **tk:** Tkinter utilities, e.g. prompt for a single password or construct a\n prompt dialog from (description, type) tuples\n\n* **toposort:** topological sort of DAG represented as dict of (key, otherkeys)\n\nIn addition...\n\n* **ProgressBar** provides experimental progress-bar support for a long-\n running console script, from self-overwriting console messages through\n wxPython, zenity, Tkinter. This is very much a work in progress, though\n functional subsets have been successfully used.\n\nPlease see the individual docstrings for more information.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/Pyng/", "keywords": "", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "Pyng", "package_url": "https://pypi.org/project/Pyng/", "platform": "", "project_url": "https://pypi.org/project/Pyng/", "project_urls": { "Homepage": "http://pypi.python.org/pypi/Pyng/" }, "release_url": "https://pypi.org/project/Pyng/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Yet another collection of Python utility functions", "version": "1.0.3" }, "last_serial": 5891047, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "62fd60afae5e77c63c38e523517a3b1a", "sha256": "a1301f4cade8d9569cfad7a867c9b9a4ff0ce1324531b0388e0936873aa2182a" }, "downloads": -1, "filename": "Pyng-0.1.0.zip", "has_sig": false, "md5_digest": "62fd60afae5e77c63c38e523517a3b1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9406, "upload_time": "2010-12-01T15:38:05", "url": "https://files.pythonhosted.org/packages/77/a3/490652b18e3431bda392e6bf35386a873066d15b83114d643045c40c8c46/Pyng-0.1.0.zip" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "38ec4c90030cf18742f5f11d9954fae6", "sha256": "73564cf3cf473a3a581caf942b9049b4fdbfcb1098f0cc128f00c080abfbcdc4" }, "downloads": -1, "filename": "Pyng-0.3.0.tar.gz", "has_sig": false, "md5_digest": "38ec4c90030cf18742f5f11d9954fae6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11537, "upload_time": "2011-04-14T03:49:59", "url": "https://files.pythonhosted.org/packages/b9/f1/e2505f79cd09c0009b4e927f28e90870942a4cd54a6250af26176ce62bda/Pyng-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a15636d0cfb2613f79f2da902d6e9fe4", "sha256": "e9e1a58ce478a4638eeb989add8023c04b8f0d4ef509a5a40acf8c64f6ff0e4e" }, "downloads": -1, "filename": "Pyng-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a15636d0cfb2613f79f2da902d6e9fe4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13917, "upload_time": "2012-04-27T04:52:06", "url": "https://files.pythonhosted.org/packages/19/d3/c9c5dcccfe3aa012ff0ff5ac19510e3b1240bb6c4c7c18edb80139325c5c/Pyng-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "973808a3b041296fc39b16e3c2448d09", "sha256": "953aeaf854677f11bd436b8d54dc38cbb2603ce5d77345b8780d9ca03cc11b43" }, "downloads": -1, "filename": "Pyng-0.5.0.tar.gz", "has_sig": false, "md5_digest": "973808a3b041296fc39b16e3c2448d09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42094, "upload_time": "2016-12-04T20:59:04", "url": "https://files.pythonhosted.org/packages/bd/55/d4277096e33fff7d74b5ccbaf5788c6569500a57be98d28eaae386998dac/Pyng-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "07967e33cc4f1d4d6895ea4494646a9d", "sha256": "bb81babd4b00160a797177e847ed87e9f5d7848006ac74c9ce916c478dced87b" }, "downloads": -1, "filename": "Pyng-0.6.0.tar.gz", "has_sig": false, "md5_digest": "07967e33cc4f1d4d6895ea4494646a9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42854, "upload_time": "2017-10-30T15:57:51", "url": "https://files.pythonhosted.org/packages/9f/f8/a2c7d9d865d17086c3d7345cb45f84e2fd436693b722f0d23a11c98a8654/Pyng-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "65c8fc630bb2e2f1cada3a2c55e1eb61", "sha256": "764bd8ae3f7c7a272e31f05f53ba65c5dff160c3082b26f7e03a83b4ca77f244" }, "downloads": -1, "filename": "Pyng-0.6.1.tar.gz", "has_sig": false, "md5_digest": "65c8fc630bb2e2f1cada3a2c55e1eb61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43053, "upload_time": "2017-11-20T21:06:51", "url": "https://files.pythonhosted.org/packages/b4/bd/bcdf1457ae7cc90df83b180e648b85071e78611cd86fb6ebaf667f7dcf1b/Pyng-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "b87407a479f74064a6f95f589cd85efb", "sha256": "53a14bb2c0453d6da24338d7faa356a59cb7dc6976056307bd0f6e7cfa4f2ef1" }, "downloads": -1, "filename": "Pyng-0.6.2.tar.gz", "has_sig": false, "md5_digest": "b87407a479f74064a6f95f589cd85efb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48929, "upload_time": "2017-11-21T22:02:13", "url": "https://files.pythonhosted.org/packages/fc/fb/78b357a9e4c4ac671d692c6a2e1a234f9b8c212f08a4281b060586a2e4e6/Pyng-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "f4509933c8382d494df0858c7fac8c89", "sha256": "f17f07a9e78a601f3b825998ae1837725ed506d55076408a8894a8e4d72b5040" }, "downloads": -1, "filename": "Pyng-0.6.3.tar.gz", "has_sig": false, "md5_digest": "f4509933c8382d494df0858c7fac8c89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49725, "upload_time": "2017-11-22T13:58:37", "url": "https://files.pythonhosted.org/packages/ff/b2/46cb54ca09a606047e5a5b9c6dd9947a9d8a0d8d773c1bb5c1a2e12acf60/Pyng-0.6.3.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "3730b050394408a9a74e89f87752412a", "sha256": "5663b665c270d4f02affdbefac1feb253c5552c82142cac3f685efcd846180f2" }, "downloads": -1, "filename": "Pyng-0.7.1.tar.gz", "has_sig": false, "md5_digest": "3730b050394408a9a74e89f87752412a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60240, "upload_time": "2018-10-09T12:52:25", "url": "https://files.pythonhosted.org/packages/b8/ed/1b1f99fd53b222d772463f02a292290f54a8890031e2adce1208239e2ceb/Pyng-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "0b485ed92e21a34e7cc0f21863b1898e", "sha256": "22b3dec3e9569d9844edf0d744b82763eefbcb1df8b410c2d5cb66f5844e59aa" }, "downloads": -1, "filename": "Pyng-0.7.2.tar.gz", "has_sig": false, "md5_digest": "0b485ed92e21a34e7cc0f21863b1898e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62114, "upload_time": "2018-12-20T23:34:51", "url": "https://files.pythonhosted.org/packages/9c/53/8b1129d74e9021c96907d4883516eb4958b67316f611a37bad6ebed34f70/Pyng-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "098556163e57f5bb6c9b8df2f4ff7da2", "sha256": "1af90a6317098b77bf4bf56a5df13259c78ee0d7544c201a3b3ecc0ce800a9d6" }, "downloads": -1, "filename": "Pyng-0.7.3.tar.gz", "has_sig": false, "md5_digest": "098556163e57f5bb6c9b8df2f4ff7da2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61990, "upload_time": "2018-12-21T16:46:17", "url": "https://files.pythonhosted.org/packages/ef/b0/f6f8cd067273cc67183eed53a62420b4b6df413ae6f0acb5b5cbe761c154/Pyng-0.7.3.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "586e9624d3cb730ec49918704a480ba5", "sha256": "964329ad5ea0047ebc38970ce7be7d1b5583129c197f7da3367b26ac36a571d7" }, "downloads": -1, "filename": "Pyng-0.7.5.tar.gz", "has_sig": false, "md5_digest": "586e9624d3cb730ec49918704a480ba5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62384, "upload_time": "2019-01-04T03:49:11", "url": "https://files.pythonhosted.org/packages/5d/4b/07d933a9a29998c6533cf2d9a2e7067bee4aabf883eeaec373784c34f4b3/Pyng-0.7.5.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "a9bada5fcad0b8f6829533be87ebf79c", "sha256": "b36906a00cf90fe39fff89a4daffb7cfc2bb99294685824b75b1544f931b2c40" }, "downloads": -1, "filename": "Pyng-0.8.0.tar.gz", "has_sig": false, "md5_digest": "a9bada5fcad0b8f6829533be87ebf79c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63289, "upload_time": "2019-01-10T14:40:33", "url": "https://files.pythonhosted.org/packages/6d/90/16ec1663299e99726ccefda84250877aa729f5af2ecc4b8de30203823c7f/Pyng-0.8.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8fd1d8f51128f967ec4b4a25000ac585", "sha256": "62eba429ac9a84bba26314b19d989050b7a7342b65faaa39d8b60c3705db784e" }, "downloads": -1, "filename": "Pyng-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8fd1d8f51128f967ec4b4a25000ac585", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65913, "upload_time": "2019-01-22T14:25:47", "url": "https://files.pythonhosted.org/packages/55/5e/42107173a43b5c7082cd16ab120189d7c5cbde8e1b03938356694260e157/Pyng-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0acfeb83b0db3e2a73268a911ea36303", "sha256": "a505407de06e12fcf89d96638a53752e9c9c7aa2f7931d186a78ea2d39c61135" }, "downloads": -1, "filename": "Pyng-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0acfeb83b0db3e2a73268a911ea36303", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65999, "upload_time": "2019-02-02T15:50:13", "url": "https://files.pythonhosted.org/packages/f7/67/42352a30a6b4b7eacc2cace2c3a391706d7d72efe4e81f3cfe413067e368/Pyng-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "531d467c8ef0a6936259d80975b67677", "sha256": "f49d255bb4f4069264b13e45fba697127e5251b9804060a84a887159cbb99f39" }, "downloads": -1, "filename": "Pyng-1.0.2.tar.gz", "has_sig": false, "md5_digest": "531d467c8ef0a6936259d80975b67677", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66255, "upload_time": "2019-02-23T17:06:44", "url": "https://files.pythonhosted.org/packages/32/1f/e7fe8ee70497b77f27ab393beac423d32f9078948e8494d3c12339090bce/Pyng-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e6a3c1abf76ff11d63a45a47ef4e1e5c", "sha256": "7ad6a0252546f789fe744e1a1a870f373e88b26781e53b761be6ae125bf66fff" }, "downloads": -1, "filename": "Pyng-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e6a3c1abf76ff11d63a45a47ef4e1e5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67375, "upload_time": "2019-09-26T14:51:53", "url": "https://files.pythonhosted.org/packages/9d/44/291a7dd078eeaded6c701c528d3027651d0adc0f4760f3f38a6181a6d85c/Pyng-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e6a3c1abf76ff11d63a45a47ef4e1e5c", "sha256": "7ad6a0252546f789fe744e1a1a870f373e88b26781e53b761be6ae125bf66fff" }, "downloads": -1, "filename": "Pyng-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e6a3c1abf76ff11d63a45a47ef4e1e5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67375, "upload_time": "2019-09-26T14:51:53", "url": "https://files.pythonhosted.org/packages/9d/44/291a7dd078eeaded6c701c528d3027651d0adc0f4760f3f38a6181a6d85c/Pyng-1.0.3.tar.gz" } ] }