Last updated
Developer(s) Aivar Annamaa and contributors
Stable release
4.1.4 / November 19, 2023;2 months ago (2023-11-19)
Written in Python
Operating system Cross-platform
Platform Windows, Linux, macOS
Type Integrated development environment
License MIT

Thonny ( /ˈθɒni/ THON-ee) is a free and open-source integrated development environment for Python that is designed for beginners. It was created by Aivar Annamaa, an Estonian programmer. It supports different ways of stepping through code, step-by-step expression evaluation, detailed visualization of the call stack and a mode for explaining the concepts of references and heap. [1]



[2] [3] [4] [5]


The program works on Windows, macOS and Linux. It is available as a binary bundle including the recent Python interpreter [3] or pip-installable package. [6] It can be installed via the operating-system package manager on Debian, Raspberry Pi, Ubuntu, and Fedora.


Thonny has received favorable reviews from Python and computer science education communities. [7] [8] [9] It has been a recommended tool in several programming MOOCs. [10] [11] Since June 2017 it has been included by default in the Raspberry Pi's official operating system distribution Raspberry Pi OS. [12]

See also

Related Research Articles

<span class="mw-page-title-main">Python (programming language)</span> General-purpose programming language

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">Free Pascal</span> Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

The Wing Python IDE is a family of integrated development environments (IDEs) from Wingware created specifically for the Python programming language, with support for editing, testing, debugging, inspecting/browsing, and error-checking Python code.

<span class="mw-page-title-main">Python Package Index</span> Software repository

The Python Package Index, abbreviated as PyPI and also known as the Cheese Shop, is the official third-party software repository for Python. It is analogous to the CPAN repository for Perl and to the CRAN repository for R. PyPI is run by the Python Software Foundation, a charity. Some package managers, including pip, use PyPI as the default source for packages and their dependencies.

setuptools Package development process library

setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the Python standard library distutils. It includes:

<span class="mw-page-title-main">Raspberry Pi</span> Series of low-cost single-board computers used for educational purposes and embedded systems

Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. Since 2013, Raspberry Pi devices have been developed and supported by a subsidiary of the Raspberry Pi Foundation, now named Raspberry Pi Ltd. The Raspberry Pi project originally leaned toward the promotion of teaching basic computer science in schools. The original model became more popular than anticipated, selling outside its target market for diverse uses such as robotics, home and industrial automation, and by computer and electronic hobbyists, because of its low cost, modularity, open design, and its adoption of the HDMI and USB standards.

<span class="mw-page-title-main">Bodhi Linux</span> Linux distribution

Bodhi Linux is a light-weight Linux distribution based on Ubuntu that uses an Enlightenment DR17-based fork called Moksha as its desktop environment. The philosophy for the distribution is to provide a minimal base system so that users can install the software they want. In turn, the distribution only includes software that is essential to most users, such as a file manager (Thunar), a terminal emulator (Terminology), and a web browser. To install additional software, Bodhi Linux developers maintain a browser-based app store that uses apturl to install programs.

<span class="mw-page-title-main">Leafpad</span> Lightweight text editor

Leafpad is a free and open-source graphical text editor for Linux, Berkeley Software Distribution (BSD), and Maemo that is similar to the Microsoft Windows program Notepad. Created with the focus of being a lightweight text editor with minimal dependencies, it is designed to be simple-to-use and easy-to-compile.

<span class="mw-page-title-main">Spyder (software)</span> IDE for scientific programming in Python

Spyder is an open-source cross-platform integrated development environment (IDE) for scientific programming in the Python language. Spyder integrates with a number of prominent packages in the scientific Python stack, including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source software. It is released under the MIT license.

pip (package manager) Package management system for Python

pip is a package-management system written in Python and is used to install and manage software packages. The Python Software Foundation recommends using pip for installing Python applications and its dependencies during deployment. Pip connects to an online repository of public packages, called the Python Package Index. Pip can be configured to connect to other package repositories, provided that they comply to Python Enhancement Proposal 503.

<span class="mw-page-title-main">Kivy (framework)</span> Free and multi-platform graphical library for Python

Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows.

<span class="mw-page-title-main">Julia (programming language)</span> Dynamic programming language

Julia is a high-level, general-purpose dynamic programming language, most commonly used for numerical analysis and computational science. Distinctive aspects of Julia's design include a type system with parametric polymorphism and the use of multiple dispatch as a core programming paradigm, efficient garbage collection, and a just-in-time (JIT) compiler.

<span class="mw-page-title-main">Raspberry Pi OS</span> Debian-based operating system for Raspberry Pi

Raspberry Pi OS is a Unix-like operating system based on the Debian GNU/Linux distribution for the Raspberry Pi family of compact single-board computers. First developed independently in 2012, it has been produced as the primary operating system for these boards since 2013, distributed by the Raspberry Pi Foundation.

<span class="mw-page-title-main">Anaconda (Python distribution)</span> Distribution of the Python and R languages for scientific computing

Anaconda is a distribution of the Python and R programming languages for scientific computing, that aims to simplify package management and deployment. The distribution includes data-science packages suitable for Windows, Linux, and macOS. It is developed and maintained by Anaconda, Inc., which was founded by Peter Wang and Travis Oliphant in 2012. As an Anaconda, Inc. product, it is also known as Anaconda Distribution or Anaconda Individual Edition, while other products from the company are Anaconda Team Edition and Anaconda Enterprise Edition, neither of which are free.

<span class="mw-page-title-main">GoWarrior</span> Open-source computing platform

GoWarrior is an open-source and community-supported computing platform. GoWarrior is designed for the world of makers, hackers, educators, hobbyists, and newbies to build electronics projects. It offers a complete package of hardware, software and cloud service.

<span class="mw-page-title-main">B4X</span>

B4X is a suite of rapid application development IDEs and proprietary programming language that allows the creation of applications on the following platforms: Google Android, Apple iOS, Java, Raspberry Pi and Arduino. Although the B4X syntax is very similar to BASIC, it is an entirely new language.

The GEKKO Python package solves large-scale mixed-integer and differential algebraic equations with nonlinear programming solvers. Modes of operation include machine learning, data reconciliation, real-time optimization, dynamic simulation, and nonlinear model predictive control. In addition, the package solves Linear programming (LP), Quadratic programming (QP), Quadratically constrained quadratic program (QCQP), Nonlinear programming (NLP), Mixed integer programming (MIP), and Mixed integer linear programming (MILP). GEKKO is available in Python and installed with pip from PyPI of the Python Software Foundation.


  1. Annamaa, Aivar (2015). "Introducing Thonny, a Python IDE for learning programming". Proceedings of the 15th Koli Calling Conference on Computing Education Research. Koli, Finland: ACM. pp. 117–121.
  2. Annamaa, Aivar (2015). "Thonny, a Python IDE for learning programming". Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education. Vilnius, Lithuania: ACM. p. 343.
  3. 1 2 "Thonny website" . Retrieved 28 October 2018.
  4. "Thonny on a Raspberry Pi: Using the new Python IDE in Raspbian". The MagPi Magazine. Retrieved 28 October 2018.
  5. "Learn to code with Thonny — a Python IDE for beginners". Fedora Magazine. Retrieved 28 October 2018.
  6. "Thonny Python distribution". Python Package Index. Retrieved 28 October 2018.
  7. "Are you a Python newbie? Meet the IDE for beginners". JAXenter. Retrieved 28 October 2018.
  8. "New Term New Tool - Thonny, a Python IDE". C'est la Z. Retrieved 28 October 2018.
  9. "Python IDEs for beginners - Thonny, Geany or Idle". ProjectCodeEd. Retrieved 28 October 2018.
  10. "Installing Packages in Thonny". Python Data Visualization MOOC by Rice University. Retrieved 28 October 2018.
  11. "Thonny". Programming MOOC by University of Tartu. Retrieved 28 October 2018.
  12. "A Raspbian desktop update with some new programming tools". Raspberry Pi blog. Retrieved 28 October 2018.