{ "info": { "author": "evanunderscore", "author_email": "evanunderscore@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "=======\npygnurl\n=======\n\n``pygnurl`` is a dynamic GNU Readline interface. It provides:\n\n- A Pythonic interface similar to ``rl`` for ease of use\n- An interface to custom bindable functions\n- A ``readline`` compatibility layer for existing code\n\nYou should use ``pygnurl`` if you specifically want to use GNU Readline from\nyour Python program. If you are just looking for tools to help you build a\ncommand line interface, you may prefer prompt_toolkit_.\n\nRequirements\n------------\n\n``pygnurl`` dynamically loads a Readline library, so you need a version\nmatching the architecture of your Python interpreter (not necessarily your\nsystem).\n\nLinux users should already have Readline as part of the standard library.\n``pygnurl`` uses this version by default.\n\nWindows users can get a pre-built 32-bit Readline DLL from `gnuwin32\n`_.\n\nMore information on where to get Readline can be found on the `Readline home\npage `_.\n\nQuick Start Guide\n-----------------\n\nInstall ``pygnurl`` using ``pip install pygnurl``.\n\nSet the ``PYGNURL_LIB`` environment variable to the filename of your Readline\nlibrary. This will be loaded using the shared library search order rules of\nyour system. (Linux users can skip this step to use the system version).\n\nIf your version of Python already has a ``readline`` module, you will need to\ndo one of the following things to let ``pygnurl`` override it:\n\n#. Add ``/pygnurl/modules`` to your ``PYTHONPATH`` environment\n variable\n#. Install using ``easy_install`` instead of ``pip``\n\nIf you are using Python 3.4 or later, completion and history will be set up for\nyou automatically. If you are using an older version, you will need to set this\nup yourself.\n\n::\n\n >>> import rlcompleter\n >>> import readline\n >>> readline.parse_and_bind('tab: complete')\n >>> r\n\nExamples\n--------\n\n``pygnurl/examples/startup.py`` - An example startup file suitable for everyday\nuse. Point the ``PYTHONSTARTUP`` environment variable at this file to\nautomatically get tab completion and saved history in your interpreter. (If you\nare using Python 3.4 or later, you do not need to use this example.)\n\n``pygnurl/examples/functions.py`` - An example startup file demostrating a\ncustom bindable command. You must also use this with the ``PYTHONSTARTUP``\nenvironment variable. Run ``help(pygnurl.examples.functions)`` for more\ninformation.\n\n``pygnurl/examples/mycmd.py`` - A simple command line showing tab completion\ncapabilities. The argument to ``cat`` is completed based on your local\nfilesystem.\n\nMotivation\n----------\n\n``pygnurl`` aims to provide full GNU Readline support across all platforms with\nno compilation overhead. Any pre-built Readline library should be able to be\ndropped in with no code modifications. If necessary, version- or\nplatform-specific compatibility fixes can be implemented in Python, not C.\n\nDevelopment\n-----------\n\nFor source code, questions and bug reports, visit the GitHub repository:\n\nhttps://github.com/evanunderscore/pygnurl\n\nAlternatives\n------------\n\nreadline_ - Part of the standard library. Python on Mac OS X may implement this\nusing libedit instead of GNU Readline and must be configured accordingly.\n\npyreadline_ - A python implmentation of GNU readline.\n\ngnureadline_ - The standard Python readline extension statically linked against\nthe GNU readline library.\n\nrl_ - Alternative Python bindings for GNU Readline.\n\nprompt_toolkit_ - Library for building powerful interactive command lines in\nPython.\n\n+-------------------+-----------+---------------+---------------+\n| | Platforms | Library | Interface |\n+===================+===========+===============+===============+\n| pygnurl_ | Any | Dynamic | Extended |\n+-------------------+-----------+---------------+---------------+\n| readline_ | Unix-like | Static | Basic |\n+-------------------+-----------+---------------+---------------+\n| pyreadline_ | Windows | Pure Python | Basic |\n+-------------------+-----------+---------------+---------------+\n| gnureadline_ | Unix-like | Static | Basic |\n+-------------------+-----------+---------------+---------------+\n| rl_ | Unix-like | Static | Extended |\n+-------------------+-----------+---------------+---------------+\n| prompt_toolkit_ | Any | Pure Python | Alternative |\n+-------------------+-----------+---------------+---------------+\n\nKnown Bugs\n----------\n\n- ANSI color codes in the IPython terminal are not able to be printed. As a\n workaround, the codes are stripped and a plain prompt is displayed instead.\n- libreadline6 from MinGW lags behind one keystroke when using the arrow keys.\n This appears to be related to the Readline callback interface.\n\n.. _pygnurl: https://pypi.python.org/pypi/pygnurl\n.. _readline: https://docs.python.org/3/library/readline.html\n.. _pyreadline: https://pypi.python.org/pypi/pyreadline\n.. _gnureadline: https://pypi.python.org/pypi/gnureadline\n.. _rl: https://pypi.python.org/pypi/rl\n.. _prompt_toolkit: https://pypi.python.org/pypi/prompt_toolkit", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/pygnurl", "keywords": "gnu readline bindings", "license": "GNU General Public License v2", "maintainer": null, "maintainer_email": null, "name": "pygnurl", "package_url": "https://pypi.org/project/pygnurl/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pygnurl/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://pypi.python.org/pypi/pygnurl" }, "release_url": "https://pypi.org/project/pygnurl/1.0.1/", "requires_dist": null, "requires_python": null, "summary": "Dynamic GNU Readline interface", "version": "1.0.1" }, "last_serial": 1942951, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "b7cbefe418155af4370bc933abe7441d", "sha256": "00617328b4fe57ffe4510004f990ac69b32f7fe9aebaae0d663f235001de8fb5" }, "downloads": -1, "filename": "pygnurl-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b7cbefe418155af4370bc933abe7441d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13161, "upload_time": "2015-11-25T10:38:42", "url": "https://files.pythonhosted.org/packages/e9/59/5a509ba8b71a5ff6ee34e1c9c85a5dd18038c95277b8b7e2d6338991e8a3/pygnurl-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ea73241a22684065663b3bb7eec9e26", "sha256": "e7d08a0646182d7885bf1d91ca02ab63abd952563bf15949006ae671f0f09261" }, "downloads": -1, "filename": "pygnurl-0.3.0.zip", "has_sig": false, "md5_digest": "4ea73241a22684065663b3bb7eec9e26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22082, "upload_time": "2015-11-25T10:38:35", "url": "https://files.pythonhosted.org/packages/2e/c7/ea171ad59405d6da146312dee988deebbafd482808cc0fbcceaab51ce649/pygnurl-0.3.0.zip" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "5f9b746b36284d5c2cb63f2b7692085d", "sha256": "8b59d286baf4a66ccbe2d9d8204a93a40d40d702e17b59c9e29e0f1c5aba207a" }, "downloads": -1, "filename": "pygnurl-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f9b746b36284d5c2cb63f2b7692085d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13842, "upload_time": "2015-11-29T12:18:14", "url": "https://files.pythonhosted.org/packages/22/b5/c32c33d8d3af5d8a47685a06ea185e947f016f3a42574444e653e6bb7c02/pygnurl-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e1eb99cfe1752f4efc35fe44054dfd5", "sha256": "6f4a2464507b9a2c1db1723871ed1d6a4c3773f3da9377d2d2f587189a2456dd" }, "downloads": -1, "filename": "pygnurl-0.4.0.zip", "has_sig": false, "md5_digest": "3e1eb99cfe1752f4efc35fe44054dfd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23041, "upload_time": "2015-11-29T12:18:01", "url": "https://files.pythonhosted.org/packages/b1/57/a07ce18ddc2b01a39c2322759377f93441c9b0f9a476c06f2029756aed33/pygnurl-0.4.0.zip" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "d0ce71c14339ac3911f09761d3407598", "sha256": "f5a344c700f9bb2279d914ef85d68e140119878d825712a1e25f5205e485266e" }, "downloads": -1, "filename": "pygnurl-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0ce71c14339ac3911f09761d3407598", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14097, "upload_time": "2015-12-02T12:12:02", "url": "https://files.pythonhosted.org/packages/c2/5d/c5005015b4b5e9a62abeb13dc591d3db3bf8a6443b6f29d5d02a5806ffa4/pygnurl-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46e44d5bf22fa97010e4632c8bb31ced", "sha256": "7b25bbc334b354762be51aaa336654d72f0ce18f5ccbe162eeb8db218f375edf" }, "downloads": -1, "filename": "pygnurl-0.4.1.zip", "has_sig": false, "md5_digest": "46e44d5bf22fa97010e4632c8bb31ced", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23338, "upload_time": "2015-12-02T12:11:49", "url": "https://files.pythonhosted.org/packages/b5/8f/e2976a025003333bc9662c92b965072c2a4ef151f213bf85aa103287b95e/pygnurl-0.4.1.zip" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "44567360bd7dd1be61f67a603a0a7877", "sha256": "6f02864ad4ce69edf13e48d21c383965e6a003a5c0ec2096e0db1e9a73c8dbf8" }, "downloads": -1, "filename": "pygnurl-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "44567360bd7dd1be61f67a603a0a7877", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15147, "upload_time": "2015-12-04T10:55:27", "url": "https://files.pythonhosted.org/packages/8c/6b/970cc42a92c70a2d5c21f29caedc598d7388490e664aa84fe939afa81681/pygnurl-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f24531d2feb6db98b86552fc27d6c2a", "sha256": "ac2b7c629758a58dd6e4efe130fd439c7beb5d537471c6fb2784a0ea1212675d" }, "downloads": -1, "filename": "pygnurl-0.5.0.zip", "has_sig": false, "md5_digest": "1f24531d2feb6db98b86552fc27d6c2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24616, "upload_time": "2015-12-04T10:55:19", "url": "https://files.pythonhosted.org/packages/3f/c3/32b6760d5d152725fd62310b2a146182589035dfb92951b52313c5b952d3/pygnurl-0.5.0.zip" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c3889518b49ec3b33420cefcc3d621e4", "sha256": "b325e1b960ce676c6d360c6bc181f54458657a414f9d4b19242f85c7bcbae92e" }, "downloads": -1, "filename": "pygnurl-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3889518b49ec3b33420cefcc3d621e4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16374, "upload_time": "2015-12-06T03:42:16", "url": "https://files.pythonhosted.org/packages/06/aa/bca2724afa54d3be7b4966075da0ba621c3b4b6c0f93274aad6f79e99769/pygnurl-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c49d0dc28890296aa70b5ed126fa01d9", "sha256": "105850cb451892987e850862a5d61b3dc92b4879d2acfda2784ec4a9a7af5007" }, "downloads": -1, "filename": "pygnurl-0.6.0.zip", "has_sig": false, "md5_digest": "c49d0dc28890296aa70b5ed126fa01d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26198, "upload_time": "2015-12-06T03:42:11", "url": "https://files.pythonhosted.org/packages/03/a5/e8e1b1ff646be025d38e32eb9680a17cc788e3cf9c88217cb6042bfe30e9/pygnurl-0.6.0.zip" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "8c39878f24e7d21b34d68b372f813af1", "sha256": "5efd500441bf0ff2f1c74fbf263e7c979b0aaf9e39342bf7cdf9243cf9db6f21" }, "downloads": -1, "filename": "pygnurl-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8c39878f24e7d21b34d68b372f813af1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16726, "upload_time": "2015-12-06T09:11:41", "url": "https://files.pythonhosted.org/packages/1d/3a/203e334887796ef021ab8538bb97ed64c61bf23849c12f4ca357f52c46aa/pygnurl-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df1903f98cec9c339e106f9fc0fdf9d0", "sha256": "fbfd6dc13e56d20398e721af1607310cde947ba1430d4c0b75d018c57507a1d7" }, "downloads": -1, "filename": "pygnurl-0.6.1.zip", "has_sig": false, "md5_digest": "df1903f98cec9c339e106f9fc0fdf9d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26598, "upload_time": "2015-12-06T09:11:33", "url": "https://files.pythonhosted.org/packages/98/84/b35e3177c92b1e5a3359210c5858cdaccb4cf308ef6e87c20206049901b6/pygnurl-0.6.1.zip" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "0eb5b10e6ec07b2833484912618216c5", "sha256": "866f27e2da57f2124280dc6f52df5fd2a959a9e8fbfc715607777aeda545ee3a" }, "downloads": -1, "filename": "pygnurl-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0eb5b10e6ec07b2833484912618216c5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 25924, "upload_time": "2015-12-13T09:28:39", "url": "https://files.pythonhosted.org/packages/73/2f/38d859cc09cd64235cd93a4636cf9702dcdd835ccea648d7b75a746a2449/pygnurl-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2e50c0af1ebb7c7753afb0a3f91ffad", "sha256": "93d293211459dd2f7f9a19489f061430c0009a887002c2625d14f9a3b71c740a" }, "downloads": -1, "filename": "pygnurl-0.7.0.zip", "has_sig": false, "md5_digest": "c2e50c0af1ebb7c7753afb0a3f91ffad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28692, "upload_time": "2015-12-13T09:28:25", "url": "https://files.pythonhosted.org/packages/55/54/27c3b87926b43a7d5890ff39bfa044e70b883f822bd5c6b505566b014197/pygnurl-0.7.0.zip" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "8c2702c8a6ea5575fe8a9d0b2d1758c3", "sha256": "19653a1e6eb76e096a4728ee0cb1f8d9dc52078cda22539db3854ad987af0c66" }, "downloads": -1, "filename": "pygnurl-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8c2702c8a6ea5575fe8a9d0b2d1758c3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26775, "upload_time": "2015-12-22T01:56:55", "url": "https://files.pythonhosted.org/packages/53/6d/518398602029895cd47752aea14f46ddebc6f9ff1afecc9d39db3bf1cb72/pygnurl-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84cb0dd40facd1c5c63d31d6cebfda7e", "sha256": "1c5b2216de5b78d63332b15fd4b10566a67df5111a1846641629d647c74c7d25" }, "downloads": -1, "filename": "pygnurl-0.8.0.zip", "has_sig": false, "md5_digest": "84cb0dd40facd1c5c63d31d6cebfda7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29581, "upload_time": "2015-12-22T01:56:48", "url": "https://files.pythonhosted.org/packages/1b/84/5b182ce03bc93ad5dc91c5f3701b0f89e9f20b6ec43685094c24a684441d/pygnurl-0.8.0.zip" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "eb90d8c64439343e1e4323b8b0e9a9c3", "sha256": "2ce4e73b9bd5454ffa84243034b02263cb4a535210070e2ca7cab9230eb4b7a5" }, "downloads": -1, "filename": "pygnurl-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb90d8c64439343e1e4323b8b0e9a9c3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 34828, "upload_time": "2016-02-06T11:15:28", "url": "https://files.pythonhosted.org/packages/1d/6b/d452542bc09c2e7723576abfd8c6b0bbc7b162ee52a7539e9d6059b6f48c/pygnurl-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48c17ca0e13aec9f93c93d0f9ebf0eb6", "sha256": "b4400df27c596631a52276f84df8709ba24c49ec3c420570a0c1fdc822dc83f5" }, "downloads": -1, "filename": "pygnurl-1.0.0.zip", "has_sig": false, "md5_digest": "48c17ca0e13aec9f93c93d0f9ebf0eb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36591, "upload_time": "2016-02-06T11:15:21", "url": "https://files.pythonhosted.org/packages/e2/1e/18b2ca0261acab225732097ac3c133de3d2129bf0128e2e51a98ecd074a4/pygnurl-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f67c989b007c0af99531ec6255acdabd", "sha256": "49bacb9d735d14b0dc1da461c2fa458e8ca2f5649f0b964832a11c2ec75890cc" }, "downloads": -1, "filename": "pygnurl-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f67c989b007c0af99531ec6255acdabd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26068, "upload_time": "2016-02-06T11:30:34", "url": "https://files.pythonhosted.org/packages/bd/fd/ce5f63fd5ce08a12cc1c37eaee4828bd4837958afea72f887978b8e76445/pygnurl-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3debe3fb248d6e51176e4c16b17dcd29", "sha256": "8a3373c44ebfd554335a9f132d35680c442f0b837935bfab2b4cdc8f08ae9580" }, "downloads": -1, "filename": "pygnurl-1.0.1.zip", "has_sig": false, "md5_digest": "3debe3fb248d6e51176e4c16b17dcd29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36585, "upload_time": "2016-02-06T11:30:27", "url": "https://files.pythonhosted.org/packages/e6/79/5d3e6302e5ba9f7efa451dc543d1e234b308d4fffca87780c50eaaaea714/pygnurl-1.0.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f67c989b007c0af99531ec6255acdabd", "sha256": "49bacb9d735d14b0dc1da461c2fa458e8ca2f5649f0b964832a11c2ec75890cc" }, "downloads": -1, "filename": "pygnurl-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f67c989b007c0af99531ec6255acdabd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26068, "upload_time": "2016-02-06T11:30:34", "url": "https://files.pythonhosted.org/packages/bd/fd/ce5f63fd5ce08a12cc1c37eaee4828bd4837958afea72f887978b8e76445/pygnurl-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3debe3fb248d6e51176e4c16b17dcd29", "sha256": "8a3373c44ebfd554335a9f132d35680c442f0b837935bfab2b4cdc8f08ae9580" }, "downloads": -1, "filename": "pygnurl-1.0.1.zip", "has_sig": false, "md5_digest": "3debe3fb248d6e51176e4c16b17dcd29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36585, "upload_time": "2016-02-06T11:30:27", "url": "https://files.pythonhosted.org/packages/e6/79/5d3e6302e5ba9f7efa451dc543d1e234b308d4fffca87780c50eaaaea714/pygnurl-1.0.1.zip" } ] }