Last Updated on September 22, 2023
Leo (Leonine Editor with Outlines) is an open source text editor, outliner and IDE that features clones (virtual copies of outline nodes) as its central tool of organization, navigation, customization and scripts.
This IDE is written in Python and can be extended with plugins written in Python. The GUI uses the Qt toolkit.
It’s very mature software with development spanning more than 20 years.
Key Features
- A fully-featured IDE, with many features inspired by Emacs.
- Syntax highlighting is provided for many different programming languages.
- An outliner. Everything in Leo is an outline. It provides commands to insert, delete, move, hoist, promote and demote nodes. Clones are a unique feature of Leo.
- Directives control how Leo works.
- @file and @clean nodes create external files.
- myLeoSettings.leo specifies your personal settings.
- Plugins extend Leo. @enabled-plugins settings nodes enable plugins.
- Easy-to-use scripting API, giving full access to all data in the outline.
- @button and @command nodes define scripts that can be applied to other nodes.
- @test nodes create unit tests.
- Alt-1 enables autocompletion.
- A data manager, data manager and personal information manager.
- A powerful scripting environment.
- A tool for organizing and studying computer code.
- Extensible via a simple plugin architecture.
- A tool that works well with IPython, Vim and Emacs.
- Support for Jupyter (.ipynb) files.
- Plugins – give Leo new commands, modify how existing commands work, or change any other aspect of the software’s look and feel. There are dozens of plugins available including:
- bookmarks.py manages and shows bookmarks.
- contextmenu.py shows a context menu when you right-click a headline.
- mod_scripting.py supports @button and @command nodes.
- quicksearch.py adds Nav tab for searching.
- todo.py provides to-do list and simple project-management capabilities.
- valuespace.py adds outline-oriented spreadsheet capabilities.
- viewrendered.py creates the rendering pane and renders content in it.
- Execute Python unit test from within Leo outlines.
- Written in 100% pure Python.
- Completely integrates Python scripting and outlines.
- Highly configurable.
Website: leo-editor.github.io
Support: Documentation, GitHub Code Repository, Mailing List
Developer: Edward K. Ream and many contributors
License: MIT License

Learn Python with our recommended free books and free tutorials.
Related Software
| Python Integrated Development Environments | |
|---|---|
| PyCharm | Full-featured IDE. Two editions are available, one is open source software |
| Spyder | Python development environment providing MATLAB-like features |
| eric | Full featured Python editor and IDE, written in Python |
| Thonny | Tk-based IDE designed for novice programmers |
| PyDev | Python plugin for Eclipse |
| Leo | PIM, IDE and outliner |
| Pyzo | Interactive editor for scientific Python |
| PTK | Interactive environment for Python |
| IDLE | Python’s Integrated Development and Learning Environment |
Read our verdict in the software roundup.
| Integrated Development Environments | |
|---|---|
| RStudio | Enterprise-ready professional software for R |
| PyCharm | Integrated Development Environment for Python |
| Neovim | Continuation and extension of Vim |
| Lapce | Fast and powerful code editor written in Rust |
| NetBeans IDE | Java based IDE from Apache |
| VSCodium | Binary distribution of VS Code |
| Eclipse | Java based environment combining a number of different Eclipse projects |
| Qt Creator | Cross-platform, complete Integrated Development Environment |
| Spyder | The Scientific Python Development Environment |
| KDevelop | An easy to use IDE for KDE |
| Helix | Post-modern modal text editor |
| Positron | Next-generation data science IDE |
| eric | Full featured Python editor and IDE |
| Thonny | Python Integrated Development Environment for Beginners |
| Lazarus | Delphi compatible cross-platform IDE |
| PyDev | Python Integrated Development Environment for Eclipse |
| Gambas | Development environment and a full powerful development platform |
| Leo | Python based IDE, Outliner and PIM |
| IntelliJ IDEA | IDE for Java, Groovy, and other languages |
| LiteIDE | Edit and build Go projects |
| Arduino IDE | Electronics prototyping platform |
| ZeroBrane Studio | Lightweight Lua-based IDE for Lua |
| CodeLite | Powerful and lightweight C/C++ IDE |
| Pyzo | Cross-Platform Python IDE focused on interactivity and introspection |
| DrRacket | IDE for the Racket programming languages |
| Builder | IDE for GNOME |
| Geany | Small and lightweight IDE based on Scintilla |
| Code::Blocks | Very extensible and fully configurable |
| Ecere SDK | Software development kit |
| Zasper | IDE for Data Science |
| U++ | Rapid application development framework |
| roobuilder | Vala and JavaScript IDE |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


To the author, or to you the reader, In case you like Leo 🙂
There’s now a vscode extension that integrates Leo completely in VSCode, called LeoInteg, and even another one that is a complete Leo re-implementation in typescript called LeoJS, – also as an VSCode extension.
Hope you try them out!