pyrepl


Namepyrepl JSON
Version 0.11.4 PyPI version JSON
download
home_pageNone
SummaryA library for building flexible command line interfaces
upload_time2025-07-17 22:56:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT X11 style
keywords readline shell
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyrepl

This is `pyrepl`, a readline-a-like in pure Python.

[![tests](https://github.com/bretello/pyrepl/actions/workflows/tests.yml/badge.svg)](https://github.com/bretello/pyrepl/actions/workflows/tests.yml)
[![lint](https://github.com/bretello/pyrepl/actions/workflows/lint.yml/badge.svg)](https://github.com/bretello/pyrepl/actions/workflows/lint.yml)
[![codecov](https://codecov.io/gh/bretello/pyrepl/graph/badge.svg?token=93KG729XHR)](https://codecov.io/gh/bretello/pyrepl)

It requires python 3.8 (or newer) and features:

- sane multi-line editing
- history, with incremental search
- completion, including displaying of available options
- a fairly large subset of the readline emacs-mode keybindings
  (adding more is mostly just a matter of typing)
- a liberal, Python-style, license
- a new python top-level
- no global variables, so you can run two or more independent readers
  without having their histories interfering.
- no hogging of control -- it should be easy to integrate pyrepl into
  YOUR application's event loop.
- generally speaking, a much more interactive experience than readline
  (it's a bit like a cross between readline and emacs's mini-buffer)

There are probably still a few little bugs & misfeatures, but _I_ like
it, and use it as my python top-level most of the time.

To get a feel for it, just execute:

```bash
python pyrepl/pythoni.py
```

(One point that may confuse: because the arrow keys are used to move
up and down in the command currently being edited, you need to use ^P
and ^N to move through the history)

## Installation

If you like what you see, you can install it with the familiar

```console
$ pip install pyrepl
```

which will also install `pythoni` script.

## Changelog

See [CHANGELOG](/CHANGELOG)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyrepl",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "bretello <bretello@distruzione.org>",
    "keywords": "readline, shell",
    "author": null,
    "author_email": "Michael Hudson-Doyle <micahel@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/08/4f/7088417e5465c53a30b918d30542aad89352ea0d635a5d077717c69a7d2b/pyrepl-0.11.4.tar.gz",
    "platform": null,
    "description": "# pyrepl\n\nThis is `pyrepl`, a readline-a-like in pure Python.\n\n[![tests](https://github.com/bretello/pyrepl/actions/workflows/tests.yml/badge.svg)](https://github.com/bretello/pyrepl/actions/workflows/tests.yml)\n[![lint](https://github.com/bretello/pyrepl/actions/workflows/lint.yml/badge.svg)](https://github.com/bretello/pyrepl/actions/workflows/lint.yml)\n[![codecov](https://codecov.io/gh/bretello/pyrepl/graph/badge.svg?token=93KG729XHR)](https://codecov.io/gh/bretello/pyrepl)\n\nIt requires python 3.8 (or newer) and features:\n\n- sane multi-line editing\n- history, with incremental search\n- completion, including displaying of available options\n- a fairly large subset of the readline emacs-mode keybindings\n  (adding more is mostly just a matter of typing)\n- a liberal, Python-style, license\n- a new python top-level\n- no global variables, so you can run two or more independent readers\n  without having their histories interfering.\n- no hogging of control -- it should be easy to integrate pyrepl into\n  YOUR application's event loop.\n- generally speaking, a much more interactive experience than readline\n  (it's a bit like a cross between readline and emacs's mini-buffer)\n\nThere are probably still a few little bugs & misfeatures, but _I_ like\nit, and use it as my python top-level most of the time.\n\nTo get a feel for it, just execute:\n\n```bash\npython pyrepl/pythoni.py\n```\n\n(One point that may confuse: because the arrow keys are used to move\nup and down in the command currently being edited, you need to use ^P\nand ^N to move through the history)\n\n## Installation\n\nIf you like what you see, you can install it with the familiar\n\n```console\n$ pip install pyrepl\n```\n\nwhich will also install `pythoni` script.\n\n## Changelog\n\nSee [CHANGELOG](/CHANGELOG)\n",
    "bugtrack_url": null,
    "license": "MIT X11 style",
    "summary": "A library for building flexible command line interfaces",
    "version": "0.11.4",
    "project_urls": {
        "homepage": "https://github.com/bretello/pyrepl",
        "issues": "https://github.com/bretello/pyrepl/issues"
    },
    "split_keywords": [
        "readline",
        " shell"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bda5ce97a778f096aaa27cfcb7ad09f1198cf73277dcab6c68a4b8f332d91e48",
                "md5": "4f8aa84f95e4c8a2e2d146cb7dffd6b5",
                "sha256": "ac30d6340267a21c39e1b1934f92bca6b8735017d14b17e40f903b2d1563541d"
            },
            "downloads": -1,
            "filename": "pyrepl-0.11.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4f8aa84f95e4c8a2e2d146cb7dffd6b5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 55596,
            "upload_time": "2025-07-17T22:56:24",
            "upload_time_iso_8601": "2025-07-17T22:56:24.537830Z",
            "url": "https://files.pythonhosted.org/packages/bd/a5/ce97a778f096aaa27cfcb7ad09f1198cf73277dcab6c68a4b8f332d91e48/pyrepl-0.11.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "084f7088417e5465c53a30b918d30542aad89352ea0d635a5d077717c69a7d2b",
                "md5": "9c82b723c4d5c7b8a7a06b9245c28d20",
                "sha256": "efe988b4a6e5eed587e9769dc2269aeec2b6feec2f5d77995ee85b9ad7cf7063"
            },
            "downloads": -1,
            "filename": "pyrepl-0.11.4.tar.gz",
            "has_sig": false,
            "md5_digest": "9c82b723c4d5c7b8a7a06b9245c28d20",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 51089,
            "upload_time": "2025-07-17T22:56:25",
            "upload_time_iso_8601": "2025-07-17T22:56:25.420525Z",
            "url": "https://files.pythonhosted.org/packages/08/4f/7088417e5465c53a30b918d30542aad89352ea0d635a5d077717c69a7d2b/pyrepl-0.11.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-17 22:56:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bretello",
    "github_project": "pyrepl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyrepl"
}
        
Elapsed time: 0.50677s