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
- Linux: Flathub
- Windows
- macOS
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)
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
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
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
6. Flaskcode
This is a free and open-source web-based code editor on python flask framework.
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.
9. PythonBuddy
PythonBuddy is an online Python 3 programming tool with live Pylint syntax checking.
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.
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.
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.
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.
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.
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