Skip to main content

Stand-alone GNU readline module

Some platforms, such as macOS, do not ship with GNU readline installed. The readline extension module in the standard library of Mac “system” Python uses NetBSD’s editline (libedit) library instead, which is a readline replacement with a less restrictive software license.

As the alternatives to GNU readline do not have fully equivalent functionality, it is useful to add proper readline support to these platforms. This module achieves this by bundling the standard Python readline module with the GNU readline source code, which is compiled and statically linked to it. The end result is a package which is simple to install and requires no extra shared libraries.

The module is called gnureadline so as not to clash with the readline module in the standard library. This keeps polite installers such as pip happy and is sufficient for shells such as IPython. Please take note that IPython does not depend on gnureadline anymore since version 5.0 as it now uses prompt_toolkit instead.

In order to use this module in the standard Python shell it has to be installed with the more impolite easy_install from setuptools. It is recommended that you use pip >= 1.4 together with setuptools >= 0.8 to install gnureadline. This will download a binary wheel from PyPI if available, thereby bypassing the need for compilation and its slew of potential problems (especially on macOS).

The module can be used with both Python 2.x and 3.x, and has been tested with Python versions 2.6, 2.7, 3.2, 3.3, 3.4, 3.5 and 3.6. The first three numbers of the module version reflect the version of the underlying GNU readline library (major, minor and patch level), while any additional fourth number distinguishes different module updates based on the same readline library.

This module is usually unnecessary on Linux and other Unix systems with default readline support. An exception is if you have a Python distribution that does not include GNU readline due to licensing restrictions (such as ActiveState’s ActivePython). If you are using Windows, which also ships without GNU readline, you might want to consider using the pyreadline module instead, which is a readline replacement written in pure Python that interacts with the Windows clipboard.

The latest development version is available from the GitHub repository.

History

6.3.8 (2017-10-20)

  • #42, #44: Address compiler issues (avoid Cygwin, fix multi-arch on gcc)

  • #40: Make GPLv3 license explicit

  • #39: Look for bash shell in more places

  • Uses Python 2.x readline.c from hg 2.7 branch (95814:192f9efe4a38)

  • Uses Python 3.x readline.c from hg 3.4 / 3.5 branch (95813:ec6ed10d611e)

  • Updated to build against readline 6.3 (patch-level 8)

6.3.3 (2014-04-08)

  • Major rework of OS X build process (detect arches, no custom flags)

  • #20, #22, #28: Various issues addressed by new streamlined build

  • #28: Use $CC or cc to compile libreadline instead of default gcc

  • #35: Workaround for clang from Xcode 5.1 and Mac OS X 10.9.2

  • Uses Python 3.4 readline.c from hg 3.4 branch (89086:3110fb3095a2)

  • Updated to build against readline 6.3 (patch-level 3)

6.2.5 (2014-02-19)

  • Renamed module to gnureadline to improve installation with pip

  • #23, #25-27, #29-33: Tweaks and package reworked to gnureadline

  • Uses Python 2.x readline.c from hg 2.7 branch (89084:6b10943a5916)

  • Uses Python 3.x readline.c from hg 3.3 branch (89085:6adac0d9b933)

  • Updated to build against readline 6.2 (patch-level 5)

6.2.4.1 (2012-10-22)

  • #21: Fixed building on Python.org 3.3 / Mac OS 10.8

6.2.4 (2012-10-17)

  • #15: Improved detection of compilers before Xcode 4.3

  • Uses Python 3.x readline.c from v3.3.0 tag (changeset 73997)

  • Updated to build against readline 6.2 (patch-level 4)

6.2.2 (2012-02-24)

  • #14: Fixed compilation with Xcode 4.3 on Mac OS 10.7

  • Updated to build against readline 6.2 (patch-level 2)

6.2.1 (2011-08-31)

  • #10: Fixed ‘_emacs_meta_keymap’ missing symbol on Mac OS 10.7

  • #7: Fixed SDK version check to work with Mac OS 10.7 and later

  • Uses Python 2.x readline.c from release27-maint branch (r87358)

  • Uses Python 3.x readline.c from release32-maint branch (r88446)

6.2.0 (2011-06-02)

  • #5: Removed ‘-arch ppc’ on Mac OS 10.6, as Snow Leopard supports Intel only

  • Updated to build against readline 6.2 (patch-level 1)

6.1.0 (2010-09-20)

  • Changed version number to reflect readline version instead of Python version

  • #4: Updated to build against readline 6.1 (patch-level 2)

  • #2: Python 3 support

  • Uses Python 2.x readline.c from release27-maint branch (r83672)

  • Uses Python 3.x readline.c from r32a2 tag (r84541)

  • Source code moved to GitHub

  • Additional maintainer: Sridhar Ratnakumar

2.6.4 (2009-11-26)

  • Added -fPIC to compiler flags to fix linking error on 64-bit Ubuntu

  • Enabled all readline functionality specified in pyconfig.h macros

  • Uses readline.c from Python svn trunk (r75725), which followed 2.6.4 release

  • Patched readline.c to replace Py_XDECREF calls with the safer Py_CLEAR

  • Fixed compilation error on Mac OS 10.4 with XCode older than version 2.4

2.6.1 (2009-11-18)

  • Updated package to work with Mac OS 10.6 (Snow Leopard), which ships with Python 2.6.1

  • Uses readline.c from Python 2.6.1 release

  • Backported “spurious trailing space” bugfix from Python svn trunk (see e.g. https://bugs.launchpad.net/python/+bug/470824 for details on bug)

  • Updated to build against readline 6.0 (patch-level 4)

  • Now builds successfully on Linux (removed Mac-specific flags in this case), and still supports Mac OS 10.4 and 10.5

2.5.1 (2008-05-28)

  • Updated package to work with Mac OS 10.5 (Leopard), which ships with Python 2.5.1

  • Uses readline.c from Python 2.5.1 release

  • Updated to build against readline 5.2 (patch-level 12)

  • New maintainer: Ludwig Schwardt

2.4.2 (2005-12-26)

  • Original package by Bob Ippolito, supporting Python 2.3 / 2.4 on Mac OS 10.3 (Panther) and 10.4 (Tiger)

  • Builds against readline 5.1

Metadata

Release files for gnureadline 6.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gnureadline 6.3.8
File Size Uploaded
gnureadline-6.3.8.tar.gz 2.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for gnureadline 6.3.8
File
gnureadline-6.3.8-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
gnureadline-6.3.8-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.10+ Intel (x86-64, i386), macOS 10.9+ x86-64, macOS 10.9+ Intel (x86-64, i386), macOS 10.10+ x86-64, macOS 10.6+ Intel (x86-64, i386) Details
gnureadline-6.3.8-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
gnureadline-6.3.8-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.10+ Intel (x86-64, i386), macOS 10.6+ Intel (x86-64, i386), macOS 10.9+ Intel (x86-64, i386), macOS 10.9+ x86-64, macOS 10.10+ x86-64 Details
gnureadline-6.3.8-cp34-cp34m-manylinux1_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64 Details
gnureadline-6.3.8-cp27-cp27mu-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
gnureadline-6.3.8-cp27-cp27mu-manylinux1_i686.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-32 Details
gnureadline-6.3.8-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl CPython 2.7 CPython 2.7 pymalloc macOS 10.9+ x86-64, macOS 10.10+ x86-64, macOS 10.9+ Intel (x86-64, i386), macOS 10.6+ Intel (x86-64, i386), macOS 10.10+ Intel (x86-64, i386) Details
gnureadline-6.3.8-cp26-cp26mu-manylinux1_x86_64.whl CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
gnureadline-6.3.8-cp26-cp26mu-manylinux1_i686.whl CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-32 Details

Total release size: 6.6 MB

Release files / gnureadline-6.3.8.tar.gz

Download URL gnureadline-6.3.8.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
58e208ed34a53456ecf58bc11eacbe332c50d322b329457e2c645bd15192b035
BLAKE2b-256 checksum
How to use checksums
506486085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp36-cp36m-manylinux1_x86_64.whl

Download URL gnureadline-6.3.8-cp36-cp36m-manylinux1_x86_64.whl
Size 474.9 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7acd5bafcbfd8d3ad34d35b8aa478513185e6b39ea549991c99b64a0482534e5
BLAKE2b-256 checksum
How to use checksums
f5c703754b54c8d0c5c5303ae2232ed36734faa91e819f0738b0d5d0a581f68c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl

Download URL gnureadline-6.3.8-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Size 264.1 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.10+ Intel (x86-64, i386) macOS 10.10+ x86-64 macOS 10.6+ Intel (x86-64, i386) macOS 10.9+ Intel (x86-64, i386) macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9e6589f3119c27808630118d2345b601a865d699495bf2929d87401e980b43e6
BLAKE2b-256 checksum
How to use checksums
897c83a10a5993c17b8b519cef8ddb68f915cc3ef4f5a9135265d5bb1b584108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp35-cp35m-manylinux1_x86_64.whl

Download URL gnureadline-6.3.8-cp35-cp35m-manylinux1_x86_64.whl
Size 474.8 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8f4de3f730f99ab01db35caf83b251159b5fe7427cc89630276f664292b4f398
BLAKE2b-256 checksum
How to use checksums
bab47b0d7879fe819e219909e8ceb5aba872cee1c46def0869fcb00b6529908e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl

Download URL gnureadline-6.3.8-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Size 264.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.10+ Intel (x86-64, i386) macOS 10.10+ x86-64 macOS 10.6+ Intel (x86-64, i386) macOS 10.9+ Intel (x86-64, i386) macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
41c53183e57f02a8683b9e72ca8d42141e4a377893612e6aa022f6c969f2143a
BLAKE2b-256 checksum
How to use checksums
2ecc770628657cf24207dbbb33dd6cca2d924a1cb8904dcf48e1e045cb884799
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp34-cp34m-manylinux1_x86_64.whl

Download URL gnureadline-6.3.8-cp34-cp34m-manylinux1_x86_64.whl
Size 474.6 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
4bf883a08ac02f9bcd3a1991633a774ce8692c4c5855f2e7c557e242c3266353
BLAKE2b-256 checksum
How to use checksums
9ab53d8d8c3b5b7ccf64f3f605c5b411e1f77410c75518bc190fd3b6e04094db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp27-cp27mu-manylinux1_x86_64.whl

Download URL gnureadline-6.3.8-cp27-cp27mu-manylinux1_x86_64.whl
Size 470.1 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
cc293089fc76dd7f068db2d8c8d23238ea0181a31feacd11d674e4a20038448d
BLAKE2b-256 checksum
How to use checksums
54189d2bbaa4ea63cb9dbe8d6a7e88a14aede73ba0263d07105e34ce53a742da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp27-cp27mu-manylinux1_i686.whl

Download URL gnureadline-6.3.8-cp27-cp27mu-manylinux1_i686.whl
Size 443.7 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
12a38c189020fd60914da7d0d39a98237a6c372d83a229e3166fc259413c4621
BLAKE2b-256 checksum
How to use checksums
6639e86bf37f663278903873b7d0ad080d5c0bdcb6e17149013042b8ddc34259
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl

Download URL gnureadline-6.3.8-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Size 261.8 kB
Tags CPython 2.7 CPython 2.7 pymalloc macOS 10.10+ Intel (x86-64, i386) macOS 10.10+ x86-64 macOS 10.6+ Intel (x86-64, i386) macOS 10.9+ Intel (x86-64, i386) macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
27e0a87edb5c049ac6516a9f2dd55c16fa9e2db95be5e147175c83a9af368df0
BLAKE2b-256 checksum
How to use checksums
fe66f2ceeb9bfaf5b51cfa7a4a24b3e90daaf7739c38dafb9f7d5fa2b5a503d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp26-cp26mu-manylinux1_x86_64.whl

Download URL gnureadline-6.3.8-cp26-cp26mu-manylinux1_x86_64.whl
Size 470.1 kB
Tags CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
faa92b9ea4a64dc8403cf2a0c9dfa839745cfff50e1f04c39dbec908d35e250b
BLAKE2b-256 checksum
How to use checksums
efa808445e90b57d57d7d6f9612fdf77279b5d67af364a69e6c3958dfd8d43c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / gnureadline-6.3.8-cp26-cp26mu-manylinux1_i686.whl

Download URL gnureadline-6.3.8-cp26-cp26mu-manylinux1_i686.whl
Size 443.6 kB
Tags CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
10da0e30e1e014cc5879f63e987e28dd84f7dc6c36bc2e3b170355f9c18ad4e0
BLAKE2b-256 checksum
How to use checksums
90b70a66bf492b55b82f42ac10e55de0f41ac3091e9ca2e817af3e416653a8b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

8.1.2

27 release files

8.0.0

12 release files

This release

6.3.8 This release

11 release files

6.2.5

19 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page