====
Pyng
====
Pyng is a collection of Python utility functions I've written over the years,
and that I keep wishing were available everywhere. Sadly, in many cases I've
simply pasted copies of individual functions as needed. But no more!
It's organized as follows:
* **commands:** decorator to automatically build an argparse.ArgumentParser by
decorating functions you want to expose as script subcommands
* **dicts:** dict subsets, dict searching
* **exc:** manipulate exceptions, e.g. reraise, retry
* **genio:** generator-based file I/O, loosely related to Java file streams
* **graph:** filter DAG represented as dict of (key, otherkeys)
* **iters:** generic iterator functionality, akin to itertools
* **out:** construct a file-like output object to wrap a specified sink
function, with buffer_lines as a useful example and syslogger as a practical
use case
* **relwalk:** os.walk() filtered to produce pathnames relative to the
starting directory
* **replacefile:** filter a text file in-place
* **timing:** time-related utilities, e.g. duration() to produce a
human-friendly description of a specified interval and ProgressTimer to
abstract ETA computations
* **tk:** Tkinter utilities, e.g. prompt for a single password or construct a
prompt dialog from (description, type) tuples
* **toposort:** topological sort of DAG represented as dict of (key, otherkeys)
In addition...
* **ProgressBar** provides experimental progress-bar support for a long-
running console script, from self-overwriting console messages through
wxPython, zenity, Tkinter. This is very much a work in progress, though
functional subsets have been successfully used.
Please see the individual docstrings for more information.
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/Pyng/",
"name": "Pyng",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Nat Goodspeed",
"author_email": "nat.cognitoy@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b6/95/ef220509fcfe0d18beaacf78840a7edaa61668d299e3a62afd7ec6ab4443/Pyng-1.6.1.tar.gz",
"platform": null,
"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.\n",
"bugtrack_url": null,
"license": "LICENSE.txt",
"summary": "Yet another collection of Python utility functions",
"version": "1.6.1",
"project_urls": {
"Homepage": "https://pypi.org/project/Pyng/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b695ef220509fcfe0d18beaacf78840a7edaa61668d299e3a62afd7ec6ab4443",
"md5": "e2964de0d2badb48e82707924e702deb",
"sha256": "fcb1072423dc5b42ff7368664cfca23688f5fb9fcbdefdd54fa53354b8c64192"
},
"downloads": -1,
"filename": "Pyng-1.6.1.tar.gz",
"has_sig": false,
"md5_digest": "e2964de0d2badb48e82707924e702deb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 107577,
"upload_time": "2024-02-02T21:32:22",
"upload_time_iso_8601": "2024-02-02T21:32:22.078454Z",
"url": "https://files.pythonhosted.org/packages/b6/95/ef220509fcfe0d18beaacf78840a7edaa61668d299e3a62afd7ec6ab4443/Pyng-1.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-02 21:32:22",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pyng"
}