Skip to main content

Grass

A calm, zero-config terminal code editor.

No modes. No config files. Just type.

tests PyPI

Grass demo

Why

Nano starts instantly but stays plain. Vim and Helix are powerful, but they ask you to learn an editing language first. Grass sits between them: one mode, one theme, syntax highlighting, and about 1,700 lines of Python you can read in an afternoon.

It is not a Vim replacement. No plugins, no LSP, no mouse. One file at a time, on purpose.

Install

pipx install grass-editor

No pipx? pip install grass-editor also works. On Windows, install curses support first:

pip install windows-curses
pip install grass-editor

Python 3.9 or newer.

Run

grass hello.py

With no file, grass opens the splash. grass --version prints the version.

A look

Splash Ctrl-P finder
Grass splash Grass finder

One theme, Meadow: warm off-white text, green keywords, gold functions, a dark status bar. It assumes a dark 256-color terminal; basic colors fall back.

Keys

Key Action
type edit
arrows, Home, End, PageUp, PageDown move
Enter new line, with auto-indent
Tab indent to the next tab stop
Backspace, Delete delete
Ctrl-F find as you type
Ctrl-H replace all
Ctrl-P fuzzy file finder
Ctrl-O open by path
Ctrl-K cut line
Ctrl-U paste line
Ctrl-S save (asks for a name if new)
Ctrl-Z undo
Ctrl-R redo
Ctrl-Q quit

Notes

  • Always in typing mode, like nano.
  • Saves are atomic: a crash cannot leave the original file truncated.
  • Tabs are preserved and shown at 4-column stops.
  • A file without a trailing newline stays that way. The status bar says no newline.
  • Highlighting is limited to the visible area and updates after a short pause, so typing stays fast in large files.
  • Highlighting covers C, C++, Perl, JavaScript, TypeScript, Go, Rust, Ruby, Java, shell, HTML, CSS, JSON, YAML, Markdown, and other Pygments languages.
  • Wide characters (CJK) and long wrapped lines are not fully supported yet.

Development

git clone https://github.com/mukundzha/grass.git
cd grass
pip install -e .
python tests/run_tests.py

Tests are plain functions with a small custom runner. CI runs on Python 3.9 through 3.13.

License

MIT. See LICENSE.

Issues and PRs are welcome.

Metadata

Release files for grass-editor 0.1.4

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

Source distribution (sdist)

Source distribution for grass-editor 0.1.4
File Size Uploaded Provenance
grass_editor-0.1.4.tar.gz 25.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for grass-editor 0.1.4
File Interpreter ABI Platform
grass_editor-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 44.0 kB

Release files / grass_editor-0.1.4.tar.gz

Download URL grass_editor-0.1.4.tar.gz
Size 25.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6ee892958901612db5392b20a06209ec4c7d00abb34e0edfb8e36f016d58859d
BLAKE2b-256 checksum
How to use checksums
f0224d97458c062d0500b6ceb328e668ad46699e69bc7ad589b44be325c9b16e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / grass_editor-0.1.4-py3-none-any.whl

Download URL grass_editor-0.1.4-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9076e51156745e8ed2a29391f2eb910445019c4d04b9153d29853fd96411447
BLAKE2b-256 checksum
How to use checksums
d7a94c97357da4f3369c29790963788a043196b6967b07627fe99ee8208da038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Security for grass-editor 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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