rl


Namerl JSON
Version 3.2 PyPI version JSON
download
home_pagehttps://github.com/stefanholek/rl
SummaryAlternative Python bindings for GNU Readline
upload_time2024-10-15 13:35:57
maintainerNone
docs_urlhttps://pythonhosted.org/rl/
authorStefan H. Holek
requires_python!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7
licenseGPLv3
keywords gnu readline bindings gnureadline completion tab completion
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ==
rl
==
--------------------------------------------
Alternative Python bindings for GNU Readline
--------------------------------------------

Overview
============

The `GNU Readline Library`_ is the canonical implementation of command line
editing, tab completion, and history for console-based applications.
It is developed as part of Bash and available on virtually any platform.

While Python ships with readline bindings in its standard library, they
only implement a subset of readline's features, just enough to perform
identifier completion at the Python interpreter prompt.

The **rl** package aims to provide full implementations of GNU Readline's
`Custom Completer`_ and `History`_ interfaces.
It also contains high-level APIs to better organize the namespace and
shield applications from low-level verbosity.

.. _`GNU Readline Library`: https://tiswww.case.edu/php/chet/readline/rltop.html
.. _`Custom Completer`: https://tiswww.case.edu/php/chet/readline/readline.html#Custom-Completers
.. _`History`: https://tiswww.case.edu/php/chet/readline/history.html#History-Functions

Package Contents
================

rl exports these components:

completer
    Interface to the readline completer. Used to configure the completion
    aspects of readline.

completion
    Interface to the active readline completion. Used to interact
    with readline when a completion is in progress.

history
    Interface to the readline history. Used to read and write history files
    and to manipulate history entries.

readline
    The readline bindings module. Contains everything known from the standard
    library plus extensions specific to the rl package.  The *completer*,
    *completion*, and *history* interfaces make use of this module, and you
    should rarely need to interact with it directly.

generator
    A decorator turning any callable into a *completion entry function* that
    can be handed to readline.

print_exc
    A decorator printing exceptions to stderr. Useful when writing Python
    completions and hooks, as exceptions occurring there are usually
    swallowed by the in-between C code.

Documentation
=============

For further details please refer to the `API Documentation`_.

.. _`API Documentation`: https://rl.readthedocs.io/en/stable/

Development
===========

rl development is hosted on GitHub_ where it also has an `issue tracker`_.

.. _GitHub: https://github.com/stefanholek/rl
.. _`issue tracker`: https://github.com/stefanholek/rl/issues

Installation
============

rl requires Python 2.7 or higher. The installer builds GNU Readline 8.2
and a Python extension module.

On Mac OS X make sure you have Xcode Tools installed. Open a Terminal
window and type::

    gcc --version

You either see some output (good) or an installer window pops up. Click
the "Install" button to install the command line developer tools.
A more detailed tutorial is available from the `Mac Install Guide`_.

.. _`Mac Install Guide`: https://mac.install.guide/commandlinetools/

On Linux and BSD systems you probably already have a C compiler, but you may
need to verify the development environment is complete.
For example, Ubuntu lacks the Python headers by default and Fedora is
missing some compiler configuration. Lastly, readline needs a termcap library
to link to.

Ubuntu/Debian::

    sudo apt install build-essential
    sudo apt install python3-dev
    sudo apt install libncurses-dev

Redhat/Fedora::

    sudo dnf install gcc
    sudo dnf install python3-devel
    sudo dnf install ncurses-devel

Then type::

    pip install rl

Related
=======

`kmd.Kmd`_ is an rl-enabled version of `cmd.Cmd`_.

.. _`kmd.Kmd`: https://github.com/stefanholek/kmd
.. _`cmd.Cmd`: https://docs.python.org/3/library/cmd.html



Changelog
=========

3.2 - 2024-10-15
----------------

- Include fully-patched GNU Readline 8.2.13.
  [stefan]

- Replace size_t with Py_ssize_t.
  [stefan]

- Remove unnecessary function pointer casts.
  [stefan]

- Do not rely on Python.h for standard headers.
  [stefan]

- Update to Python 3.13 C-API.
  [stefan]

- Update tox.ini for latest tox.
  [stefan]

- Replace deprecated ``python setup.py build_sphinx`` in tox.ini.
  [stefan]


3.1 - 2022-10-31
----------------

- Include GNU Readline 8.2.
  [stefan]

- Improve documentation and example code. Promote using ``generator`` as a
  decorator.
  [stefan]

- Document how ``directory_completion_hook`` interacts with new hooks added
  in version 3.0.
  [stefan]

- Implement Python 3.6 ``readline.set_auto_history`` and the corresponding
  ``history.auto``.
  [stefan]

- Fall back to ncurses if termcap auto-detection fails. This at least produces
  a linker error instead of silently borking the extension.
  [stefan]

- Replace deprecated ``python setup.py test`` in tox.ini.
  [stefan]

- Remove deprecated ``test_suite`` from setup.py.
  [stefan]

- Remove setuptools from ``install_requires``.
  [stefan]

- Add a pyproject.toml file.
  [stefan]

- Include tests in sdist but not in wheel.
  [stefan]


3.0 - 2019-03-20
----------------

- rl is now GPLv3 because it statically links to GNU Readline.
  [stefan]

- Include GNU Readline 8.0.
  [stefan]

- Support Python 3.6 os.PathLike objects for filenames.
  [stefan]

- Handle new GIL checks in Python 3.6. See `PYTHONMALLOC`_.
  [stefan]

- Add ``history.max_file`` and ``history.append_file``.
  [stefan]

- Add ``directory_rewrite_hook``, ``filename_rewrite_hook``, and
  ``filename_stat_hook``.
  [stefan]

- Catch up with bug fixes applied to the standard library readline module.
  [stefan]

- Stop using 2to3.
  [stefan]

- Remove ``reset`` APIs from the documentation. They override
  ``~/.inputrc`` and should only be used in tests.
  [stefan]

.. _`PYTHONMALLOC`: https://docs.python.org/3/whatsnew/3.6.html


2.4 - 2012-10-05
----------------

- Update to Python 3.3 Unicode C-API.
  [stefan]


2.3 - 2012-07-18
----------------

- Implement history iterators in C instead of relying on
  intermediate lists.
  [stefan]

- Raise a more informative error when history slicing is attempted.
  [stefan]


2.2 - 2012-05-10
----------------

- Restore support for gcc < 4.2.
  [stefan]

- Switch to a happier looking Sphinx theme.
  [stefan]


2.1 - 2012-04-27
----------------

- Force a static build if the RL_BUILD_STATIC_READLINE environment
  variable is set.
  [stefan]

- Include readline 6.2 patches in static builds.
  [stefan]

- Suppress compiler warnings on more platforms.
  [stefan]


2.0.1 - 2011-10-06
------------------

- Fix a C compiler issue under Python 3 on Linux.
  [stefan]


2.0 - 2011-10-06
----------------

- Drop support for cmd.Cmd. You now must derive your command
  interpreters from `kmd.Kmd`_ to use rl features.
  [stefan]

- Accept None as argument to file operations under Python 3.
  [stefan]

- Switch to pretty Sphinx-based docs.
  [stefan]


1.16 - 2011-07-28
-----------------

- Tilde-expand filenames in ``read_history_file`` and ``write_history_file``.
  [stefan]


1.15.2 - 2011-07-03
-------------------

- Silence a second C compiler warning in function ``get_y_or_n``.
  [stefan]


1.15.1 - 2011-07-03
-------------------

- Silence a C compiler warning in function ``get_y_or_n``.
  [stefan]


1.15 - 2011-06-04
-----------------

- Fix memory leaks in ``py_remove_history``, ``py_replace_history``, and
  ``py_clear_history`` which can occur when history entries are edited.
  See Python `issue 12186`_.
  [stefan]

- Add a default ``display_matches_hook`` that behaves exactly like readline
  behaves in Bash.
  [stefan]

- Add ``reset`` functions to completer, completion, and history.
  [stefan]

.. _`issue 12186`: https://bugs.python.org/issue12186


1.14 - 2011-05-05
-----------------

- Add xfree.c to sources when building GNU Readline 6.2.
  [stefan]

- Allow history indexes of type long.
  [stefan]


1.13 - 2011-03-11
-----------------

- Use a custom build_ext command to find the best termcap library.
  [stefan]

- Update static builds to GNU Readline 6.2.
  [stefan]


1.12 - 2010-08-04
-----------------

- Fix memory leaks in ``py_remove_history`` and ``py_replace_history``.
  See Python `issue 9450`_.
  [stefan]

.. _`issue 9450`: https://bugs.python.org/issue9450


1.11 - 2010-05-21
-----------------

- Update README, API documentation, and examples.
  [stefan]

- MacPython detection caught other framework builds as well.
  [stefan]


1.10 - 2010-05-05
-----------------

- Rework the history interface: Implement iteration and remove redundant APIs.
  [stefan]

- History stifling could cause duplicate history entries.
  [stefan]

- Make sure ``begidx`` and ``endidx`` completion variables are reset to 0.
  [stefan]


1.9 - 2010-04-02
----------------

- Remove unused defines; we don't support libedit or readline < 5.0.
  [stefan]

- Improve performance of ``get_current_history_length``.
  [stefan]


1.8 - 2010-03-14
----------------

- Make ``get_history_item`` zero-based and remove ``get_history_base``.
  [stefan]


1.7 - 2010-03-09
----------------

- Support installation into MacPython for Mac OS X.
  [stefan]


1.6 - 2010-03-07
----------------

- The history size can now be limited ("stifled") by setting
  ``history.max_entries``. This supersedes ``history.length`` which has been
  removed.
  [stefan]

- Close a memory leak in ``get_current_history_length``. Also see Python
  `issue 8065`_.
  [stefan]

.. _`issue 8065`: https://bugs.python.org/issue8065


1.5.4 - 2010-03-01
------------------

- Avoid segfaults during codec lookup by calling ``PyGILState_Ensure`` in all
  the right places. Fixes rl `issue/5`_. Removes the workaround introduced in
  1.5.2.
  [stefan]


1.5.3 - 2010-02-26
------------------

- Re-release with link to the correct issue.
  [stefan]


1.5.2 - 2010-02-26
------------------

- Work around segfaults under Python 3 on Linux, which are caused by bad or
  missing codecs. This restricts Linux to UTF-8 and Latin-1 locales only.
  Also see rl `issue/5`_.
  [stefan]

.. _`issue/5`: https://github.com/stefanholek/rl/issues#issue/5


1.5.1 - 2010-02-25
------------------

- Switch readline download location to ftp.gnu.org for speed.
  [stefan]


1.5 - 2010-02-25
----------------

- In Python 3, convert to and from Unicode using filesystem encoding
  and "surrogateescape" error handler. See `PEP 383`_ for the low-down.
  [stefan]

.. _`PEP 383`: https://www.python.org/dev/peps/pep-0383/


1.4.1 - 2010-02-13
------------------

- Fix GPL trove classifier.
  [stefan]


1.4 - 2010-02-13
----------------

- rl can now be installed into the system Python on Mac OS X, the only
  dependency being Xcode Tools.
  [stefan]

- Change license to PSF or GPL.
  [stefan]


1.3 - 2010-01-03
----------------

- Fix header detection under Fink on Mac OS X.
  [stefan]

- Add ``readline_version`` API.
  [stefan]


1.2 - 2009-11-24
----------------

- Improve API documentation and examples.
  [stefan]


1.1 - 2009-11-16
----------------

- Remove all occurrences of old-style function typedefs to silence
  compiler warnings.
  [stefan]

- Make the ``display_matches_hook`` work in Python 2.5. Fixes rl `issue/1`_.
  [stefan]

- No longer auto-refresh the prompt at the end of ``display_match_list``.
  Applications should call ``redisplay(force=True)`` to restore the prompt.
  [stefan]

.. _`issue/1`: https://github.com/stefanholek/rl/issues#issue/1


1.0 - 2009-11-08
----------------

- No changes since 1.0a8.


1.0a8 - 2009-11-07
------------------

- Close a memory leak in ``word_break_hook``. Three cheers for Xcode's
  ``leaks`` tool.
  [stefan]


1.0a7 - 2009-11-05
------------------

- Rename ``_readline`` module to ``readline`` since it's not private.
  [stefan]

- Remove ``dump`` and ``read_key`` APIs from public interfaces.
  [stefan]


1.0a6 - 2009-10-30
------------------

- Unclutter the ``completer`` interface by removing settings that can
  just as well be made with ``parse_and_bind``.
  [stefan]

- Fix a memory leak in ``username_completion_function`` and
  ``filename_completion_function``.
  [stefan]

- Add a custom epydoc stylesheet to make its reST rendering more pleasant.
  [stefan]


1.0a5 - 2009-10-29
------------------

- Make all ``completion`` properties writable. While not useful in
  production, this allows us to write better tests.
  [stefan]

- Improve API documentation and add a call graph for the completion
  process. This goes a long way in explaining how readline completion
  works.
  [stefan]


1.0a4 - 2009-10-27
------------------

- Implement the ``generator`` factory using an iterator instead of a list.
  [stefan]

- Remove ``find_completion_word`` so people don't get ideas.
  [stefan]

- Don't list distribute as dependency, setuptools will do the
  right thing.
  [stefan]


1.0a3 - 2009-10-22
------------------

- Add ``__slots__`` to interface objects to make them immutable.
  [stefan]

- Support Python 2.5, 2.6, and 3.1 (thanks to distribute).
  [stefan]

- Approach something like test coverage.
  [stefan]


1.0a2 - 2009-10-08
------------------

- Make the ``generator`` factory work for all types of callables.
  [stefan]

- Improve examples.
  [stefan]


1.0a1 - 2009-10-04
------------------

- Initial release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/stefanholek/rl",
    "name": "rl",
    "maintainer": null,
    "docs_url": "https://pythonhosted.org/rl/",
    "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
    "maintainer_email": null,
    "keywords": "gnu, readline, bindings, gnureadline, completion, tab completion",
    "author": "Stefan H. Holek",
    "author_email": "stefan@epy.co.at",
    "download_url": "https://files.pythonhosted.org/packages/1e/dc/32f8f8ab211742f95045e292f0eb4f265639ee955e4f96edac77a8a92404/rl-3.2.tar.gz",
    "platform": null,
    "description": "==\nrl\n==\n--------------------------------------------\nAlternative Python bindings for GNU Readline\n--------------------------------------------\n\nOverview\n============\n\nThe `GNU Readline Library`_ is the canonical implementation of command line\nediting, tab completion, and history for console-based applications.\nIt is developed as part of Bash and available on virtually any platform.\n\nWhile Python ships with readline bindings in its standard library, they\nonly implement a subset of readline's features, just enough to perform\nidentifier completion at the Python interpreter prompt.\n\nThe **rl** package aims to provide full implementations of GNU Readline's\n`Custom Completer`_ and `History`_ interfaces.\nIt also contains high-level APIs to better organize the namespace and\nshield applications from low-level verbosity.\n\n.. _`GNU Readline Library`: https://tiswww.case.edu/php/chet/readline/rltop.html\n.. _`Custom Completer`: https://tiswww.case.edu/php/chet/readline/readline.html#Custom-Completers\n.. _`History`: https://tiswww.case.edu/php/chet/readline/history.html#History-Functions\n\nPackage Contents\n================\n\nrl exports these components:\n\ncompleter\n    Interface to the readline completer. Used to configure the completion\n    aspects of readline.\n\ncompletion\n    Interface to the active readline completion. Used to interact\n    with readline when a completion is in progress.\n\nhistory\n    Interface to the readline history. Used to read and write history files\n    and to manipulate history entries.\n\nreadline\n    The readline bindings module. Contains everything known from the standard\n    library plus extensions specific to the rl package.  The *completer*,\n    *completion*, and *history* interfaces make use of this module, and you\n    should rarely need to interact with it directly.\n\ngenerator\n    A decorator turning any callable into a *completion entry function* that\n    can be handed to readline.\n\nprint_exc\n    A decorator printing exceptions to stderr. Useful when writing Python\n    completions and hooks, as exceptions occurring there are usually\n    swallowed by the in-between C code.\n\nDocumentation\n=============\n\nFor further details please refer to the `API Documentation`_.\n\n.. _`API Documentation`: https://rl.readthedocs.io/en/stable/\n\nDevelopment\n===========\n\nrl development is hosted on GitHub_ where it also has an `issue tracker`_.\n\n.. _GitHub: https://github.com/stefanholek/rl\n.. _`issue tracker`: https://github.com/stefanholek/rl/issues\n\nInstallation\n============\n\nrl requires Python 2.7 or higher. The installer builds GNU Readline 8.2\nand a Python extension module.\n\nOn Mac OS X make sure you have Xcode Tools installed. Open a Terminal\nwindow and type::\n\n    gcc --version\n\nYou either see some output (good) or an installer window pops up. Click\nthe \"Install\" button to install the command line developer tools.\nA more detailed tutorial is available from the `Mac Install Guide`_.\n\n.. _`Mac Install Guide`: https://mac.install.guide/commandlinetools/\n\nOn Linux and BSD systems you probably already have a C compiler, but you may\nneed to verify the development environment is complete.\nFor example, Ubuntu lacks the Python headers by default and Fedora is\nmissing some compiler configuration. Lastly, readline needs a termcap library\nto link to.\n\nUbuntu/Debian::\n\n    sudo apt install build-essential\n    sudo apt install python3-dev\n    sudo apt install libncurses-dev\n\nRedhat/Fedora::\n\n    sudo dnf install gcc\n    sudo dnf install python3-devel\n    sudo dnf install ncurses-devel\n\nThen type::\n\n    pip install rl\n\nRelated\n=======\n\n`kmd.Kmd`_ is an rl-enabled version of `cmd.Cmd`_.\n\n.. _`kmd.Kmd`: https://github.com/stefanholek/kmd\n.. _`cmd.Cmd`: https://docs.python.org/3/library/cmd.html\n\n\n\nChangelog\n=========\n\n3.2 - 2024-10-15\n----------------\n\n- Include fully-patched GNU Readline 8.2.13.\n  [stefan]\n\n- Replace size_t with Py_ssize_t.\n  [stefan]\n\n- Remove unnecessary function pointer casts.\n  [stefan]\n\n- Do not rely on Python.h for standard headers.\n  [stefan]\n\n- Update to Python 3.13 C-API.\n  [stefan]\n\n- Update tox.ini for latest tox.\n  [stefan]\n\n- Replace deprecated ``python setup.py build_sphinx`` in tox.ini.\n  [stefan]\n\n\n3.1 - 2022-10-31\n----------------\n\n- Include GNU Readline 8.2.\n  [stefan]\n\n- Improve documentation and example code. Promote using ``generator`` as a\n  decorator.\n  [stefan]\n\n- Document how ``directory_completion_hook`` interacts with new hooks added\n  in version 3.0.\n  [stefan]\n\n- Implement Python 3.6 ``readline.set_auto_history`` and the corresponding\n  ``history.auto``.\n  [stefan]\n\n- Fall back to ncurses if termcap auto-detection fails. This at least produces\n  a linker error instead of silently borking the extension.\n  [stefan]\n\n- Replace deprecated ``python setup.py test`` in tox.ini.\n  [stefan]\n\n- Remove deprecated ``test_suite`` from setup.py.\n  [stefan]\n\n- Remove setuptools from ``install_requires``.\n  [stefan]\n\n- Add a pyproject.toml file.\n  [stefan]\n\n- Include tests in sdist but not in wheel.\n  [stefan]\n\n\n3.0 - 2019-03-20\n----------------\n\n- rl is now GPLv3 because it statically links to GNU Readline.\n  [stefan]\n\n- Include GNU Readline 8.0.\n  [stefan]\n\n- Support Python 3.6 os.PathLike objects for filenames.\n  [stefan]\n\n- Handle new GIL checks in Python 3.6. See `PYTHONMALLOC`_.\n  [stefan]\n\n- Add ``history.max_file`` and ``history.append_file``.\n  [stefan]\n\n- Add ``directory_rewrite_hook``, ``filename_rewrite_hook``, and\n  ``filename_stat_hook``.\n  [stefan]\n\n- Catch up with bug fixes applied to the standard library readline module.\n  [stefan]\n\n- Stop using 2to3.\n  [stefan]\n\n- Remove ``reset`` APIs from the documentation. They override\n  ``~/.inputrc`` and should only be used in tests.\n  [stefan]\n\n.. _`PYTHONMALLOC`: https://docs.python.org/3/whatsnew/3.6.html\n\n\n2.4 - 2012-10-05\n----------------\n\n- Update to Python 3.3 Unicode C-API.\n  [stefan]\n\n\n2.3 - 2012-07-18\n----------------\n\n- Implement history iterators in C instead of relying on\n  intermediate lists.\n  [stefan]\n\n- Raise a more informative error when history slicing is attempted.\n  [stefan]\n\n\n2.2 - 2012-05-10\n----------------\n\n- Restore support for gcc < 4.2.\n  [stefan]\n\n- Switch to a happier looking Sphinx theme.\n  [stefan]\n\n\n2.1 - 2012-04-27\n----------------\n\n- Force a static build if the RL_BUILD_STATIC_READLINE environment\n  variable is set.\n  [stefan]\n\n- Include readline 6.2 patches in static builds.\n  [stefan]\n\n- Suppress compiler warnings on more platforms.\n  [stefan]\n\n\n2.0.1 - 2011-10-06\n------------------\n\n- Fix a C compiler issue under Python 3 on Linux.\n  [stefan]\n\n\n2.0 - 2011-10-06\n----------------\n\n- Drop support for cmd.Cmd. You now must derive your command\n  interpreters from `kmd.Kmd`_ to use rl features.\n  [stefan]\n\n- Accept None as argument to file operations under Python 3.\n  [stefan]\n\n- Switch to pretty Sphinx-based docs.\n  [stefan]\n\n\n1.16 - 2011-07-28\n-----------------\n\n- Tilde-expand filenames in ``read_history_file`` and ``write_history_file``.\n  [stefan]\n\n\n1.15.2 - 2011-07-03\n-------------------\n\n- Silence a second C compiler warning in function ``get_y_or_n``.\n  [stefan]\n\n\n1.15.1 - 2011-07-03\n-------------------\n\n- Silence a C compiler warning in function ``get_y_or_n``.\n  [stefan]\n\n\n1.15 - 2011-06-04\n-----------------\n\n- Fix memory leaks in ``py_remove_history``, ``py_replace_history``, and\n  ``py_clear_history`` which can occur when history entries are edited.\n  See Python `issue 12186`_.\n  [stefan]\n\n- Add a default ``display_matches_hook`` that behaves exactly like readline\n  behaves in Bash.\n  [stefan]\n\n- Add ``reset`` functions to completer, completion, and history.\n  [stefan]\n\n.. _`issue 12186`: https://bugs.python.org/issue12186\n\n\n1.14 - 2011-05-05\n-----------------\n\n- Add xfree.c to sources when building GNU Readline 6.2.\n  [stefan]\n\n- Allow history indexes of type long.\n  [stefan]\n\n\n1.13 - 2011-03-11\n-----------------\n\n- Use a custom build_ext command to find the best termcap library.\n  [stefan]\n\n- Update static builds to GNU Readline 6.2.\n  [stefan]\n\n\n1.12 - 2010-08-04\n-----------------\n\n- Fix memory leaks in ``py_remove_history`` and ``py_replace_history``.\n  See Python `issue 9450`_.\n  [stefan]\n\n.. _`issue 9450`: https://bugs.python.org/issue9450\n\n\n1.11 - 2010-05-21\n-----------------\n\n- Update README, API documentation, and examples.\n  [stefan]\n\n- MacPython detection caught other framework builds as well.\n  [stefan]\n\n\n1.10 - 2010-05-05\n-----------------\n\n- Rework the history interface: Implement iteration and remove redundant APIs.\n  [stefan]\n\n- History stifling could cause duplicate history entries.\n  [stefan]\n\n- Make sure ``begidx`` and ``endidx`` completion variables are reset to 0.\n  [stefan]\n\n\n1.9 - 2010-04-02\n----------------\n\n- Remove unused defines; we don't support libedit or readline < 5.0.\n  [stefan]\n\n- Improve performance of ``get_current_history_length``.\n  [stefan]\n\n\n1.8 - 2010-03-14\n----------------\n\n- Make ``get_history_item`` zero-based and remove ``get_history_base``.\n  [stefan]\n\n\n1.7 - 2010-03-09\n----------------\n\n- Support installation into MacPython for Mac OS X.\n  [stefan]\n\n\n1.6 - 2010-03-07\n----------------\n\n- The history size can now be limited (\"stifled\") by setting\n  ``history.max_entries``. This supersedes ``history.length`` which has been\n  removed.\n  [stefan]\n\n- Close a memory leak in ``get_current_history_length``. Also see Python\n  `issue 8065`_.\n  [stefan]\n\n.. _`issue 8065`: https://bugs.python.org/issue8065\n\n\n1.5.4 - 2010-03-01\n------------------\n\n- Avoid segfaults during codec lookup by calling ``PyGILState_Ensure`` in all\n  the right places. Fixes rl `issue/5`_. Removes the workaround introduced in\n  1.5.2.\n  [stefan]\n\n\n1.5.3 - 2010-02-26\n------------------\n\n- Re-release with link to the correct issue.\n  [stefan]\n\n\n1.5.2 - 2010-02-26\n------------------\n\n- Work around segfaults under Python 3 on Linux, which are caused by bad or\n  missing codecs. This restricts Linux to UTF-8 and Latin-1 locales only.\n  Also see rl `issue/5`_.\n  [stefan]\n\n.. _`issue/5`: https://github.com/stefanholek/rl/issues#issue/5\n\n\n1.5.1 - 2010-02-25\n------------------\n\n- Switch readline download location to ftp.gnu.org for speed.\n  [stefan]\n\n\n1.5 - 2010-02-25\n----------------\n\n- In Python 3, convert to and from Unicode using filesystem encoding\n  and \"surrogateescape\" error handler. See `PEP 383`_ for the low-down.\n  [stefan]\n\n.. _`PEP 383`: https://www.python.org/dev/peps/pep-0383/\n\n\n1.4.1 - 2010-02-13\n------------------\n\n- Fix GPL trove classifier.\n  [stefan]\n\n\n1.4 - 2010-02-13\n----------------\n\n- rl can now be installed into the system Python on Mac OS X, the only\n  dependency being Xcode Tools.\n  [stefan]\n\n- Change license to PSF or GPL.\n  [stefan]\n\n\n1.3 - 2010-01-03\n----------------\n\n- Fix header detection under Fink on Mac OS X.\n  [stefan]\n\n- Add ``readline_version`` API.\n  [stefan]\n\n\n1.2 - 2009-11-24\n----------------\n\n- Improve API documentation and examples.\n  [stefan]\n\n\n1.1 - 2009-11-16\n----------------\n\n- Remove all occurrences of old-style function typedefs to silence\n  compiler warnings.\n  [stefan]\n\n- Make the ``display_matches_hook`` work in Python 2.5. Fixes rl `issue/1`_.\n  [stefan]\n\n- No longer auto-refresh the prompt at the end of ``display_match_list``.\n  Applications should call ``redisplay(force=True)`` to restore the prompt.\n  [stefan]\n\n.. _`issue/1`: https://github.com/stefanholek/rl/issues#issue/1\n\n\n1.0 - 2009-11-08\n----------------\n\n- No changes since 1.0a8.\n\n\n1.0a8 - 2009-11-07\n------------------\n\n- Close a memory leak in ``word_break_hook``. Three cheers for Xcode's\n  ``leaks`` tool.\n  [stefan]\n\n\n1.0a7 - 2009-11-05\n------------------\n\n- Rename ``_readline`` module to ``readline`` since it's not private.\n  [stefan]\n\n- Remove ``dump`` and ``read_key`` APIs from public interfaces.\n  [stefan]\n\n\n1.0a6 - 2009-10-30\n------------------\n\n- Unclutter the ``completer`` interface by removing settings that can\n  just as well be made with ``parse_and_bind``.\n  [stefan]\n\n- Fix a memory leak in ``username_completion_function`` and\n  ``filename_completion_function``.\n  [stefan]\n\n- Add a custom epydoc stylesheet to make its reST rendering more pleasant.\n  [stefan]\n\n\n1.0a5 - 2009-10-29\n------------------\n\n- Make all ``completion`` properties writable. While not useful in\n  production, this allows us to write better tests.\n  [stefan]\n\n- Improve API documentation and add a call graph for the completion\n  process. This goes a long way in explaining how readline completion\n  works.\n  [stefan]\n\n\n1.0a4 - 2009-10-27\n------------------\n\n- Implement the ``generator`` factory using an iterator instead of a list.\n  [stefan]\n\n- Remove ``find_completion_word`` so people don't get ideas.\n  [stefan]\n\n- Don't list distribute as dependency, setuptools will do the\n  right thing.\n  [stefan]\n\n\n1.0a3 - 2009-10-22\n------------------\n\n- Add ``__slots__`` to interface objects to make them immutable.\n  [stefan]\n\n- Support Python 2.5, 2.6, and 3.1 (thanks to distribute).\n  [stefan]\n\n- Approach something like test coverage.\n  [stefan]\n\n\n1.0a2 - 2009-10-08\n------------------\n\n- Make the ``generator`` factory work for all types of callables.\n  [stefan]\n\n- Improve examples.\n  [stefan]\n\n\n1.0a1 - 2009-10-04\n------------------\n\n- Initial release.\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Alternative Python bindings for GNU Readline",
    "version": "3.2",
    "project_urls": {
        "Documentation": "https://rl.readthedocs.io/en/stable/",
        "Homepage": "https://github.com/stefanholek/rl"
    },
    "split_keywords": [
        "gnu",
        " readline",
        " bindings",
        " gnureadline",
        " completion",
        " tab completion"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1edc32f8f8ab211742f95045e292f0eb4f265639ee955e4f96edac77a8a92404",
                "md5": "c11a43cea0e05f343ca2b13a4ac4ef91",
                "sha256": "736783c415e0ec63895ac9c0638e7b88c904d3e625ea16e062f6d8d997a01a20"
            },
            "downloads": -1,
            "filename": "rl-3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "c11a43cea0e05f343ca2b13a4ac4ef91",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
            "size": 474158,
            "upload_time": "2024-10-15T13:35:57",
            "upload_time_iso_8601": "2024-10-15T13:35:57.437450Z",
            "url": "https://files.pythonhosted.org/packages/1e/dc/32f8f8ab211742f95045e292f0eb4f265639ee955e4f96edac77a8a92404/rl-3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-15 13:35:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "stefanholek",
    "github_project": "rl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "rl"
}
        
Elapsed time: 0.40442s