elpie


Nameelpie JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryEmacs-like Python-infused editor
upload_time2025-07-27 19:44:53
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-f     | Open file                                   |  
| Ctrl-x, b          | Switch 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/41/1e/59e051ea3de880ac333e956fa30fd77eb26286b504d4751aecb6daf1efae/elpie-0.1.1.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-f     | Open file                                   |  \n| Ctrl-x, b          | Switch 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.1",
    "project_urls": null,
    "split_keywords": [
        "cli",
        " editor",
        " emacs",
        " curses",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ae5d5a14607f4c407dae2b2605594f1416010943a6212197f682c9c38c960d05",
                "md5": "4e15c666dc4b202532b9e4146ab3ed7f",
                "sha256": "e788dc420aeaab62ab26b3eba031ee3d3a67a93a321298bc7e4121f19b0f5f97"
            },
            "downloads": -1,
            "filename": "elpie-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4e15c666dc4b202532b9e4146ab3ed7f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6111,
            "upload_time": "2025-07-27T19:44:52",
            "upload_time_iso_8601": "2025-07-27T19:44:52.555693Z",
            "url": "https://files.pythonhosted.org/packages/ae/5d/5a14607f4c407dae2b2605594f1416010943a6212197f682c9c38c960d05/elpie-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "411e59e051ea3de880ac333e956fa30fd77eb26286b504d4751aecb6daf1efae",
                "md5": "d00ccd2f97757325acf8135cc2ea47da",
                "sha256": "7655afd54c0d511a98668834d2ee8a0ee0a3bce3e6d30ebf8df0e70d5f96983e"
            },
            "downloads": -1,
            "filename": "elpie-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d00ccd2f97757325acf8135cc2ea47da",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5615,
            "upload_time": "2025-07-27T19:44:53",
            "upload_time_iso_8601": "2025-07-27T19:44:53.784226Z",
            "url": "https://files.pythonhosted.org/packages/41/1e/59e051ea3de880ac333e956fa30fd77eb26286b504d4751aecb6daf1efae/elpie-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-27 19:44:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "elpie"
}
        
Elapsed time: 2.48193s