Skip to main content

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.

Release files for elpie 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for elpie 0.1.1
File Size Uploaded
elpie-0.1.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for elpie 0.1.1
File Interpreter ABI Platform
elpie-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.7 kB

Release files / elpie-0.1.1.tar.gz

Download URL elpie-0.1.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7655afd54c0d511a98668834d2ee8a0ee0a3bce3e6d30ebf8df0e70d5f96983e
BLAKE2b-256 checksum
How to use checksums
411e59e051ea3de880ac333e956fa30fd77eb26286b504d4751aecb6daf1efae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / elpie-0.1.1-py3-none-any.whl

Download URL elpie-0.1.1-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e788dc420aeaab62ab26b3eba031ee3d3a67a93a321298bc7e4121f19b0f5f97
BLAKE2b-256 checksum
How to use checksums
ae5d5a14607f4c407dae2b2605594f1416010943a6212197f682c9c38c960d05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page