Coding

Leo – Python based IDE, Outliner and PIM

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

Leo

Learn Python with our recommended free books and free tutorials.


Related Software

Python Integrated Development Environments
PyCharmFull-featured IDE. Two editions are available, one is open source software
SpyderPython development environment providing MATLAB-like features
ericFull featured Python editor and IDE, written in Python
ThonnyTk-based IDE designed for novice programmers
PyDevPython plugin for Eclipse
LeoPIM, IDE and outliner
PyzoInteractive editor for scientific Python
PTKInteractive environment for Python
IDLEPython’s Integrated Development and Learning Environment

Read our verdict in the software roundup.

Integrated Development Environments
RStudioEnterprise-ready professional software for R
PyCharmIntegrated Development Environment for Python
NeovimContinuation and extension of Vim
LapceFast and powerful code editor written in Rust
NetBeans IDEJava based IDE from Apache
VSCodiumBinary distribution of VS Code
EclipseJava based environment combining a number of different Eclipse projects
Qt CreatorCross-platform, complete Integrated Development Environment
SpyderThe Scientific Python Development Environment
KDevelopAn easy to use IDE for KDE
HelixPost-modern modal text editor
PositronNext-generation data science IDE
ericFull featured Python editor and IDE
ThonnyPython Integrated Development Environment for Beginners
LazarusDelphi compatible cross-platform IDE
PyDevPython Integrated Development Environment for Eclipse
GambasDevelopment environment and a full powerful development platform
LeoPython based IDE, Outliner and PIM
IntelliJ IDEAIDE for Java, Groovy, and other languages
LiteIDEEdit and build Go projects
Arduino IDEElectronics prototyping platform
ZeroBrane StudioLightweight Lua-based IDE for Lua
CodeLitePowerful and lightweight C/C++ IDE
PyzoCross-Platform Python IDE focused on interactivity and introspection
DrRacketIDE for the Racket programming languages
BuilderIDE for GNOME
GeanySmall and lightweight IDE based on Scintilla
Code::BlocksVery extensible and fully configurable
Ecere SDKSoftware development kit
ZasperIDE for Data Science
U++Rapid application development framework
roobuilderVala and JavaScript IDE

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Félix
Félix
1 year ago

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!