Name | elpie JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | Emacs-like Python-infused editor |
upload_time | 2025-07-27 19:44:53 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
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"
}