Coding

Leo – Python-Based Editor, Outliner and Personal Information Manager

Leo is an outline-oriented text editor, development environment and personal information manager written in Python. It provides a distinctive approach to organising source code, documents, notes and other information within hierarchical outlines.

Unlike conventional editors that treat files as the principal unit of organisation, Leo uses nodes containing headlines and body text. These nodes can be rearranged, expanded and collapsed, allowing users to approach complex material at different levels of detail.

Its most distinctive capability is cloning. A cloned node can appear in several places within an outline while referring to the same underlying content. Editing one occurrence automatically updates the others.

Leo is particularly useful for literate programming, organising large software projects, maintaining technical documentation and combining notes with executable Python scripts.

This is free and open source software.

Key Features

  • Hierarchical outliner with commands for creating, moving, promoting, demoting and organising nodes.
  • Cloned nodes allow the same content to appear in multiple outline locations without duplication.
  • Syntax highlighting and editing support for numerous programming languages.
  • External file directives including @file, @auto and @clean connect outlines with ordinary source files.
  • Python scripting interface provides programmatic access to outlines and editor commands.
  • @button and @command directives make scripts accessible directly from outlines.
  • Extensible plugin architecture adds commands, views and specialised functionality.
  • Search and navigation facilities help locate information across large outlines.
  • Personal information management features support notes, research and project organisation.
  • Customisable commands, keyboard shortcuts, settings and interface themes.
  • Support for creating documents and maintaining technical writing alongside source code.
  • Integration with external tools and workflows, including Jupyter notebooks.
  • WebSocket server facilities enable integration with external applications.
  • Cross-platform support – runs on Linux, macOS, and Windows.

Website: leo-editor.github.io/leo-editor
Support:
Developer: Edward K. Ream and 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
JupyterLabInteractive environment for notebooks, coding and data analysis
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
ZasperFast, notebook-focused IDE with integrated development tools

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
TheiaCloud & desktop IDE framework
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
CheKubernetes based Cloud Development Environments for Enterprise Teams
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 LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
1 Comment
Oldest
Newest Most Voted
Félix
Félix
2 years 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!