15 Free and Open-source Python IDE

15 Free and Open-source Python IDE

Python Integrated Development Environment (IDE) and Editor provide comprehensive facilities for software development, including a source code editor, build automation tools, and a debugger.

They are essential for Python coders, including students, educators, and developers, as they simplify the process of writing, testing, and debugging Python code, and often include features like syntax highlighting and automatic formatting.

In this post, we have listed the best open-source Python-specific IDE apps, for Windows, Linux, and macOS.

1. Thonny

Thonny is a Python Integrated Development Environment (IDE) designed for learning programming. It is meant for students and for building small projects.

Features

  • Easy to get started with Python 3.10 built in
  • No-hassle variables
  • Simple debugger
  • Step through expression evaluation
  • Faithful representation of function calls
  • Highlights syntax errors
  • Explains scopes
  • Mode for explaining references
  • Code completion
  • Beginner friendly system shell
  • Simple and clean pip GUI

Platforms

Thonny, Python IDE for beginners

2. PyDev

PyDev is a Python IDE for Eclipse, suitable for Python, Jython, and IronPython development. It offers features like Django integration, code completion with auto import, and type hinting.

Features

  • Built-in Django Framwork integration
  • Code completion
  • Auto-import with code completion
  • Type hinting
  • Code analysis
  • Go to definition feature
  • Refactoring tools
  • Built-in debugger
  • Remote debugging capabilities
  • Find Referrers in Debugger
  • Tokens browser
  • Interactive console
  • Unittest integration
  • Code coverage tools
  • PyLint integration
  • MyPy integration
  • Find References feature (Ctrl+Shift+G)
PyDev
PyDev Manual

3. Mu

Mu is a beginner-friendly code editor that offers various modes for Python programming. It is designed to be simple and straightforward. Mu is written in Python and compatible with Windows, macOS, Linux, and Raspberry Pi. The work of Mu users is showcased on the MadeWith.Mu website.

Platforms

  • Windows
  • Linux
  • macOS
GitHub - mu-editor/mu: A small, simple editor for beginner Python programmers. Written in Python and Qt5.
A small, simple editor for beginner Python programmers. Written in Python and Qt5. - mu-editor/mu

4. Spyder

Spyder is a Python-based scientific environment designed for scientists, engineers, and data analysts. It combines advanced editing, analysis, debugging, and profiling tools with data exploration, interactive execution, deep inspection, and visualization capabilities.

Features

  • Advanced editing, analysis, debugging, and profiling functionality
  • Data exploration, interactive execution, deep inspection, and beautiful visualization capabilities
  • Multilanguage editor with function/class browser
  • Code analysis tools
  • Automatic code completion
  • Horizontal/vertical splitting
  • Go-to-definition feature
  • Multiple IPython consoles in one GUI
  • Line, cell, or file code execution
  • Interactive debugging, plots, and magic commands
  • On-the-fly variable interaction and modification
  • Histogram or time series plotting
  • Dataframe or Numpy array editing
  • Collection sorting
  • Nested objects exploration
  • Figure and image browsing, zooming, copying, and saving
  • Interactive code execution tracing
  • Instant access to any object's docs
  • Plugin extensions
GitHub - spyder-ide/spyder: Official repository for Spyder - The Scientific Python Development Environment
Official repository for Spyder - The Scientific Python Development Environment - spyder-ide/spyder

5. Pyzo

Pyzo is a free, open-source Python IDE compatible with any Python interpreter. It's designed for interactivity, simplicity, and is particularly suitable for scientific computing. It features an editor, shell, and a set of pluggable tools to assist programmers, including a source structure, project manager, interactive help, and workspace.

Features

  • Powerful introspection
  • Various ways for interactive code run
  • Intuitive shortcut editor
  • Various handy tools
  • Different Qt themes choice
  • Full Unicode support in both editor and shell
  • Pythonic shells run in a subprocess
  • Support for several shells simultaneously
  • Support for different Python versions (v2.4 - v3.x)
  • Command history
  • Debugging next/step/continue
  • Post-mortem debugging
  • Supports several GUI toolkits interactively
  • Supports magic commands similar to IPython
  • Option to create multiple shell configurations
  • 'pip' or 'conda' commands for package management
  • Auto indentation support
  • Automatic determination of the indentation width when loading a file
  • Matlab-style cell system to mark code sections
  • Syntax highlighting for Python, Cython, C
  • Commenting and uncommenting selected lines support
  • Drag-'n-drop files or directories to open them
  • Find/Replace feature
  • Option to change the line ending style
  • Option to use tabs or insert tabs as spaces
  • Indentation guides
  • View whitespace / line endings
  • Zooming
  • Undo / redo
  • Highlighting of current line
  • Long line indicator
  • Multiple fonts choice
  • Breakpoints for debugging
  • Auto completion for any object in the active Python session and all builtins
  • Signature of functions display using a call-tip
  • Interactive help for all objects in the active Python session
  • Several ways to run code
  • File browser: List all files in your projects by bookmarking the directories
  • Source structure: a tool that lists the structure of the source in a tree widget
  • Interactive help: a tool that displays help information interactively
  • Workspace: lists all variables (also in debug mode)
  • Logger: a logger shell that displays Pyzo's log messages and can be used for development or for changing advanced settings
Pyzo

6. Flaskcode

This is a free and open-source web-based code editor on python flask framework.

GitHub - sujeetkv/flaskcode: A web based code editor on python flask framework.
A web based code editor on python flask framework. - sujeetkv/flaskcode

7. Geany

Geany is a stable and lightweight programmer's text editor with many useful features. It operates on Linux, Windows, and macOS, supports over 40 languages, and has built-in support for more than 50 programming languages.

Geany comes with dozens of plugins and themes, that can be customizable for Python development.

8. Python IDE Mobile

Python IDE Mobile is a fully-featured Python3 IDE that simplifies Python 3 projects without the need for PC setup. It is written using Flutter and Dart.

It is available to download from Google Play Store.

GitHub - canewsin/python_ide: Python IDE Mobile - IDE for Python 3
Python IDE Mobile - IDE for Python 3. Contribute to canewsin/python_ide development by creating an account on GitHub.

9. PythonBuddy

PythonBuddy is an online Python 3 programming tool with live Pylint syntax checking.

GitHub - ethanchewy/PythonBuddy: 1st Online Python Editor With Live Syntax Checking and Execution
1st Online Python Editor With Live Syntax Checking and Execution - ethanchewy/PythonBuddy

10. IDLE

IDLE (Integrated Development and Learning Environment) is a default editor that comes with Python. It is a basic editor that provides standard features such as syntax highlighting, autocompletion, and debugging capabilities. It's a good tool for beginners to start learning Python due to its simplicity.

Getting Started With Python IDLE – Real Python
In this tutorial, you’ll learn how to use the development environment included with your Python installation. Python IDLE is a small program that packs a big punch! You’ll learn how to use Python IDLE to interact with Python directly, work with Python files, and improve your development workflow.

11. VSCode

Visual Studio Code, or VSCode, is a free and open-source, extensible code editor developed by Microsoft. It supports various programming languages and comes with features like debugging, intelligent code completion, snippets, embedded Git, and more.

For Python development, VSCode provides a rich and user-friendly environment. It includes Python-specific features such as linting, IntelliSense (code completions), debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, and more. It also supports Python environments and conda environments.

Visual Studio Code - Code Editing. Redefined
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

12. SCIntilla

SciTE is a SCIntilla based text editor, originally created to demonstrate Scintilla but has evolved into a versatile editor with features for building and running programs. It includes syntax highlighting and the ability to run code in Terminal, Python, C, C++, vala, and go.

Install SciTE on Linux | Flathub
A SCIntilla based Text Editor

13. PyCharm Community

PyCharm Community is a version of PyCharm IDE, which is designed specifically for Python programming. It is open source and free to use. It offers a wide variety of features such as intelligent coding assistance, smart code navigation, and many more.

PyCharm: the Python IDE for Professional Developers by JetBrains
The Python & Django IDE with intelligent code completion, on-the-fly error checking, quick-fixes, and much more…

14. Jupyter Notebook

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Jupyter Notebook supports over 40 programming languages, including Python.

In the context of Python, Jupyter Notebook is widely used in data analysis, data visualization, machine learning, and other scientific computing fields. It provides an interactive environment that enables users to write and run their code in cells, which can be executed separately. This makes it a great tool for prototyping and experimenting with ideas.

Project Jupyter
The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.

15. Pyto

Pyto is a free and open-source Python IDE for iOS with NumPy, Matplotlib, Pandas, SciPy and SciKit-Learn.

It is not free if you install it from the Apple AppStore, however, the source-code is a free and open-source as you can download it and run it then install it using VSCode on your machine.

Features

  • Run Python 3.10 code locally on iPad or iPhone
  • Code Editor with syntax highlighting and code completion
  • Terminal to run UNIX commands and scripts
  • Includes libraries like Numpy, Matplotlib, Pandas, Statsmodels, SciPy, SciKit-Learn, SciKit-Image, OpenCV
  • System integration for scheduling notifications, accessing location, music library and more
  • Tracebacks UI for debugging exceptions
  • Integrated file browser and setuptools for building projects
  • Run scripts or custom code with Shortcuts
  • Create home screen widgets for iOS 14
  • Install pure Python modules from PyPI
GitHub - ColdGrub1384/Pyto: Python IDE for iOS with NumPy, Matplotlib, Pandas, SciPy and SciKit-Learn
Python IDE for iOS with NumPy, Matplotlib, Pandas, SciPy and SciKit-Learn - ColdGrub1384/Pyto