Name | elpie JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | Emacs-like Python-infused editor |
upload_time | 2025-07-26 06:42:44 |
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-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"
}