elpie


Nameelpie JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryEmacs-like Python-infused editor
upload_time2025-07-26 06:42:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords cli editor emacs curses python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # elpie

elpie is a minimalist Emacs-style command-line text editor written in
Python, developed by AI (Microsoft Copilot) and product architect
Francis Peck. It leverages only the standard library (curses,
dataclasses) to deliver a familiar editing experience without external
dependencies.

## Features

- Emacs-style keybindings for navigation and editing  
- Kill-ring support with `Ctrl-k` (kill-line) and `Ctrl-y` (yank)  
- Auto-save via `Ctrl-s` and graceful exit with `Ctrl-x` `Ctrl-c`  
- Zero external dependencies; runs on Python 3.8+  
- Easy pip installation and console-script usage  

## Installation


    # From your project directory (with pyproject.toml present)
    pip install .

or ...

    pip install elpie

## Usage

    elpie [path/to/file.txt]

Providing a filename opens (or creates) that file. Omitting the argument opens an empty buffer.

| Key Combination    | Action                                      |  
| ------------------ | ------------------------------------------- |  
| Ctrl-f / →         | Move cursor forward one character           |  
| Ctrl-b / ←         | Move cursor backward one character          |  
| Ctrl-n / ↓         | Move cursor to next line                    |  
| Ctrl-p / ↑         | Move cursor to previous line                |  
| Enter              | Insert newline                              |  
| Backspace          | Delete character or join current with previous line |  
| Ctrl-k             | Kill from cursor to end of line             |  
| Ctrl-y             | Yank (paste) last killed text               |  
| Ctrl-s             | Save current buffer                         |  
| Ctrl-x, Ctrl-c     | Exit editor                                 |  

## Configuration

At present, elpie does not support a user configuration file or custom keybindings. Future releases may introduce:

- Custom keybinding profiles
- Plugin hooks for additional functionality
- Syntax highlighting via curses color pairs

## Development

To work on elpie locally:

    git clone https://github.com/frncspeck/elpie.git
    cd elpie
    pip install -e .

When tests are available, run them with:

    pytest

## Contributing

Contributions are welcome! Please open issues for bug reports or feature requests, and submit pull requests for enhancements.

## License

This project is licensed under the MIT License. See the LICENSE file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "elpie",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "cli, editor, emacs, curses, python",
    "author": null,
    "author_email": "Francis Peck <frncspeck@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/1e/7d/7180a0c4ba7ca87515298ba8ad4331edead792cb3137144babed1daec1d3/elpie-0.1.0.tar.gz",
    "platform": null,
    "description": "# elpie\n\nelpie is a minimalist Emacs-style command-line text editor written in\nPython, developed by AI (Microsoft Copilot) and product architect\nFrancis Peck. It leverages only the standard library (curses,\ndataclasses) to deliver a familiar editing experience without external\ndependencies.\n\n## Features\n\n- Emacs-style keybindings for navigation and editing  \n- Kill-ring support with `Ctrl-k` (kill-line) and `Ctrl-y` (yank)  \n- Auto-save via `Ctrl-s` and graceful exit with `Ctrl-x` `Ctrl-c`  \n- Zero external dependencies; runs on Python 3.8+  \n- Easy pip installation and console-script usage  \n\n## Installation\n\n\n    # From your project directory (with pyproject.toml present)\n    pip install .\n\nor ...\n\n    pip install elpie\n\n## Usage\n\n    elpie [path/to/file.txt]\n\nProviding a filename opens (or creates) that file. Omitting the argument opens an empty buffer.\n\n| Key Combination    | Action                                      |  \n| ------------------ | ------------------------------------------- |  \n| Ctrl-f / \u2192         | Move cursor forward one character           |  \n| Ctrl-b / \u2190         | Move cursor backward one character          |  \n| Ctrl-n / \u2193         | Move cursor to next line                    |  \n| Ctrl-p / \u2191         | Move cursor to previous line                |  \n| Enter              | Insert newline                              |  \n| Backspace          | Delete character or join current with previous line |  \n| Ctrl-k             | Kill from cursor to end of line             |  \n| Ctrl-y             | Yank (paste) last killed text               |  \n| Ctrl-s             | Save current buffer                         |  \n| Ctrl-x, Ctrl-c     | Exit editor                                 |  \n\n## Configuration\n\nAt present, elpie does not support a user configuration file or custom keybindings. Future releases may introduce:\n\n- Custom keybinding profiles\n- Plugin hooks for additional functionality\n- Syntax highlighting via curses color pairs\n\n## Development\n\nTo work on elpie locally:\n\n    git clone https://github.com/frncspeck/elpie.git\n    cd elpie\n    pip install -e .\n\nWhen tests are available, run them with:\n\n    pytest\n\n## Contributing\n\nContributions are welcome! Please open issues for bug reports or feature requests, and submit pull requests for enhancements.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Emacs-like Python-infused editor",
    "version": "0.1.0",
    "project_urls": null,
    "split_keywords": [
        "cli",
        " editor",
        " emacs",
        " curses",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee31e8820ed13a86136e4713183977d468d29e7f7881fc9f33ac06ecafc17a1e",
                "md5": "41e2d58f3f20a8799adfdc01fad75277",
                "sha256": "48795d57ae922f80ec7bbf8f44add27b3de702327a44c139e1f9e38ce9189131"
            },
            "downloads": -1,
            "filename": "elpie-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "41e2d58f3f20a8799adfdc01fad75277",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4146,
            "upload_time": "2025-07-26T06:42:42",
            "upload_time_iso_8601": "2025-07-26T06:42:42.612261Z",
            "url": "https://files.pythonhosted.org/packages/ee/31/e8820ed13a86136e4713183977d468d29e7f7881fc9f33ac06ecafc17a1e/elpie-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e7d7180a0c4ba7ca87515298ba8ad4331edead792cb3137144babed1daec1d3",
                "md5": "6d96b426606a93afdb6d668def7658de",
                "sha256": "d91ed3c17c4776db1779879099a66a85dace88ab5234721eaa388c5deb5fd277"
            },
            "downloads": -1,
            "filename": "elpie-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6d96b426606a93afdb6d668def7658de",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 3781,
            "upload_time": "2025-07-26T06:42:44",
            "upload_time_iso_8601": "2025-07-26T06:42:44.317319Z",
            "url": "https://files.pythonhosted.org/packages/1e/7d/7180a0c4ba7ca87515298ba8ad4331edead792cb3137144babed1daec1d3/elpie-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-26 06:42:44",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "elpie"
}
        
Elapsed time: 0.57189s