Skip to main content

Emacs-like Python-infused editor

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elpie-0.1.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elpie-0.1.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file elpie-0.1.1.tar.gz.

File metadata

  • Download URL: elpie-0.1.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for elpie-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7655afd54c0d511a98668834d2ee8a0ee0a3bce3e6d30ebf8df0e70d5f96983e
MD5 d00ccd2f97757325acf8135cc2ea47da
BLAKE2b-256 411e59e051ea3de880ac333e956fa30fd77eb26286b504d4751aecb6daf1efae

See more details on using hashes here.

File details

Details for the file elpie-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: elpie-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for elpie-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e788dc420aeaab62ab26b3eba031ee3d3a67a93a321298bc7e4121f19b0f5f97
MD5 4e15c666dc4b202532b9e4146ab3ed7f
BLAKE2b-256 ae5d5a14607f4c407dae2b2605594f1416010943a6212197f682c9c38c960d05

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page