editor
🖋 Open the default text editor 🖋
Decision gist · record as of 2026-08-14
Yes. The package solves a specific, real problem (spawning an editor and capturing its output) with minimal dependencies, active maintenance, permissive licensing, and no known vulnerabilities. Install it if you need interactive text editing in a Python application; skip it if your use case is purely programmatic file manipulation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- The editor subprocess will block until the user closes the editor window.
- Low install friction with only two runtime dependencies (runs and xmod).
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with only attribution required.
last release 2026-05-09 (97 days) · last repo commit 2026-05-09 · 10 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,904,859 downloads/mo, #2,203 on PyPI
Alternatives
Verify before relying
import editor
# Edit a temporary file and get the result
comments = editor.editor(text='Initial text\n\n')
# Or edit a named file
comments = editor.editor(filename='file.txt', editor='vim')- Whether the package handles editor launch failures gracefully or what exceptions are raised.
- Whether temporary files are reliably cleaned up in all error scenarios.
- Cross-platform behavior on systems where VISUAL and EDITOR are not set and the OS is neither Windows nor Unix-like.
What it is and what it does
editor is a thin wrapper around your system's text editor that lets you spawn an interactive editing session from Python code. It detects and launches your preferred editor (via VISUAL or EDITOR environment variables, or platform defaults like Notepad on Windows or vim elsewhere), blocks while you edit, then returns the file contents back to your program. You can edit an existing file, create a new one, or work with a temporary buffer that gets cleaned up automatically.
The package is useful in CLI tools, interactive scripts, or any application that needs user input through a familiar text editor rather than stdin. It has minimal dependencies (runs and xmod) and supports current Python versions (3.10–3.14), making it straightforward to integrate into existing projects.
Use it for
- Collect multi-line user input in a CLI tool by opening the user's preferred editor.
- Let users edit configuration or data files interactively from within a Python script.
- Implement a 'compose' feature in a terminal application that spawns vim or another editor.
- Capture detailed feedback or comments by opening an editor with pre-filled template text.
- Build interactive workflows where editing a file is more natural than command-line prompts.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package solves a specific, real problem (spawning an editor and capturing its output) with minimal dependencies, active maintenance, permissive licensing, and no known vulnerabilities. Install it if you need interactive text editing in a Python application; skip it if your use case is purely programmatic file manipulation.
Install
editor on PyPI
Before you install
Low install friction with only two runtime dependencies (runs and xmod). Actively maintained with a recent release (97 days ago) and current Python version support (3.10–3.14).
Requires Python 3.10 or later. The editor subprocess will block until the user closes the editor window.
License in practice
MIT license permits unrestricted use, modification, and distribution with only attribution required.
Quickstart
import editor
# Edit a temporary file and get the result
comments = editor.editor(text='Initial text\n\n')
# Or edit a named file
comments = editor.editor(filename='file.txt', editor='vim')
Verify before relying
- Whether the package handles editor launch failures gracefully or what exceptions are raised.
- Whether temporary files are reliably cleaned up in all error scenarios.
- Cross-platform behavior on systems where VISUAL and EDITOR are not set and the OS is neither Windows nor Unix-like.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesrunsxmod |
| Maintenance | Actively maintained 97 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,904,859 / month, #2,203 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: editor-1.8.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “spawn editor subprocess”
- editorOpens your system's default text editor (or a specified one) to edit…
- python-editorProgrammatically open your system's $EDITOR from Python, capture…
- coverage_enable_subprocessInstalls a .pth file that automatically enables coverage.py's…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also bcsfe · python-editor · pyvim · memory-tempfile · in-place · blurb · streamlit-quill · djangocms-text-ckeditor · streamlit-ace · OpenTimelineIO