{ "info": { "author": "Shawn Boyette", "author_email": "shawn@firepear.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: User Interfaces" ], "description": "Multireadline\n=============\n\nA wrapper around Python's readline module which makes it easy to have\nan arbitrary number of \"inputs\", each with its own history\n\n\nBasic Usage\n-----------\n\n```\nimport multireadline as mrl\n\nm = mrl.Multireadline()\n\nm.add_readline(name=\"band\")\nm.add_readline(name=\"album\")\nm.add_readline(name=\"year\")\n\nwhile True:\n m.get(\"band\")\n m.get(\"album\")\n m.get(\"year\")\n```\n\nEach of the three calls to `get()` will have their own history,\ntab-completion lists, and prompts, which will be shown by letting the\nloop run for several iterations.\n\nCalls to `add_readline()` may raise exceptions (see below).\n\nSee the Tutorial for more information on usage.\n\n### _Nota Bene_\n\nSince `multireadline` is built atop the standard Python bindings for\nreadline, it does not handle spaces in inputs well. As a workaround,\nthe internal input list substitutes another character (by default, a\ncaret) anywhere that a space occurs. So if I enter\n\n`band> Three Dog Night`\n\nthen, while my program would get `Three Dog Night` as my input, the\nreadline history would store`Three^Dog^Night`. This workaround lets\ntab-completion work \"the right way\".\n\nThis is an unbeautiful, ungraceful hack, but I'd rather have that (and\nworking code) than spend several weeks digging into the innards of\nreadline (without working code).\n\nExceptions\n----------\n\n* `AttributeMissingError` - raised when `name` (or other required\nattribute) is not included in a call.\n\n* `IdMissError` - Raised when a name lookup fails\n\n* `IdCollisionError` - Raised when a specified name conflicts with an existing (unique) name\n\n* `ArgConflictError` - Raised when incompatible/impossible argument combinations are given\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/firepear/multireadline", "keywords": "console,readline", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "multireadline", "package_url": "https://pypi.org/project/multireadline/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/multireadline/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/firepear/multireadline" }, "release_url": "https://pypi.org/project/multireadline/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "A wrapper around Python's readline module which makes it easy to have an arbitrary number of 'inputs', each with its own history", "version": "0.2.0" }, "last_serial": 795090, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "af81792f0593d61e74ef4b147001ec5f", "sha256": "8cf7b2f42ba1b782d4b2d8312b5435f4a7d6e5e78376aca9e24a155783646136" }, "downloads": -1, "filename": "multireadline-0.1.0.tar.gz", "has_sig": false, "md5_digest": "af81792f0593d61e74ef4b147001ec5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2797, "upload_time": "2012-11-08T15:58:39", "url": "https://files.pythonhosted.org/packages/a2/b1/96f328ab00a6195f0c7a5f349d6dabb34be4106723ccc74583d0f89fe7b7/multireadline-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9dff2ba5b7fa24c3da1142d652b63ed0", "sha256": "583c332ea701de1c9cab3abfe134a41944f0859862f1100b8345509b4d84702b" }, "downloads": -1, "filename": "multireadline-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9dff2ba5b7fa24c3da1142d652b63ed0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4083, "upload_time": "2012-11-09T04:32:10", "url": "https://files.pythonhosted.org/packages/5b/0a/80650a985eac1ee5b37dc014ca9951ba3664d45cf2ffb36488732a3c2947/multireadline-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8062bfac249cd3feb4c4836159280d82", "sha256": "20535188af3e3a2968c30f8226f06fd40d6d5b997df9caac78d38d88105ecb11" }, "downloads": -1, "filename": "multireadline-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8062bfac249cd3feb4c4836159280d82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6237, "upload_time": "2012-11-10T21:09:13", "url": "https://files.pythonhosted.org/packages/3c/a2/a95cb647610c2caf21dcf9911e31942eea343f1d2c9ac377739c56e5a32e/multireadline-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8062bfac249cd3feb4c4836159280d82", "sha256": "20535188af3e3a2968c30f8226f06fd40d6d5b997df9caac78d38d88105ecb11" }, "downloads": -1, "filename": "multireadline-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8062bfac249cd3feb4c4836159280d82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6237, "upload_time": "2012-11-10T21:09:13", "url": "https://files.pythonhosted.org/packages/3c/a2/a95cb647610c2caf21dcf9911e31942eea343f1d2c9ac377739c56e5a32e/multireadline-0.2.0.tar.gz" } ] }