Fact-checked by Grok 2 weeks ago

Thonny

Thonny is a free and open-source integrated development environment (IDE) for the Python programming language, specifically designed to support beginners in learning and teaching programming. It provides an intuitive interface with built-in Python (3.10 for 64-bit installers or 3.8 for 32-bit) or compatibility with existing installations, simplifying the setup process for new users. Developed by Aivar Annamaa at the University of Tartu in Estonia, Thonny was first introduced in 2015 as a tool to integrate program visualization and debugging seamlessly into the workflow of novice programmers. Main development occurred from 2014 to 2018 under the university's auspices, with subsequent partial support from Cybernetica AS starting in 2018; certain features in versions 3.0 and 3.3 were sponsored by the Raspberry Pi Foundation. The project is hosted on GitHub, where it is actively maintained under the MIT License, encouraging community contributions. Key features include a straightforward supporting step-by-step execution (via shortcuts like Ctrl+F5 for running and / for stepping), a variables pane for inspection, highlighting, expression evaluation visualization, and a beginner-friendly for interacting with the interpreter. It also offers , a graphical interface for managing packages, and support for , enabling programming of microcontrollers like those on boards. These elements address common challenges for , such as understanding states and without overwhelming complexity. Thonny is cross-platform, available for Windows, macOS, and , with the latest stable release being version 4.1.7 (December 2024). It has been widely adopted in educational settings, including introductory programming courses at institutions like the , and is recommended for its role in making accessible to students and hobbyists.

History and Development

Origins and Creation

Thonny was created by Aivar Annamaa, an programmer affiliated with the Institute of at the . Development began around 2014 as an educational initiative to support introductory programming courses at the university, aiming to provide a streamlined environment for students new to coding. The primary motivation behind Thonny stemmed from the need for a beginner-friendly () that could make core programming concepts more accessible. Existing tools like often overwhelmed novices with fragmented interfaces, complex installations, and insufficient support for understanding execution flow, such as inadequate visualization of variables and call stacks. Annamaa sought to address these gaps by designing Thonny to integrate intuitive features—like step-by-step code execution and real-time expression evaluation—directly into a single-window interface, thereby facilitating natural program visualization as part of the learning workflow. Thonny was first publicly introduced at the 15th Koli Calling International Conference on Computing Education Research in November 2015, where Annamaa presented it as a tool tailored for teaching and learning programming. This debut highlighted its potential to lower barriers for programmers while enabling educators to observe and analyze student interactions through built-in capabilities.

Key Releases and Evolution

Thonny's initial stable release, version 1.0, occurred in 2015, marking the debut of this beginner-oriented developed by Aivar Annamaa at the . This version introduced core elements like a simple code editor, step-by-step execution, and basic variable visualization to support introductory programming education. The project advanced significantly with in late 2016, followed by maintenance updates into 2017, which incorporated initial support for through plugins, enabling interaction with microcontroller-based devices like the . This milestone expanded Thonny's applicability beyond desktop to systems, responding to growing interest in programming in educational settings. Version 3.0, released in 2018, brought further refinements, including a graphical user interface for package management to simplify library installation for novices. Subsequent iterations in the 3.x series, up to 3.3 in 2020, focused on backend improvements and handling. Development shifted to in 2019, fostering open-source contributions from the community. The 4.x series, starting with version 4.0 in 2022, emphasized cross-platform stability and integration with 3.10, culminating in the latest stable release, 4.1.7, on December 16, 2024. This update included enhancements like expanded PyPI search capabilities and support for newer hardware such as the ESP32-C6. Thonny's evolution has been shaped by user feedback from educational communities, with enhancements like refined variable visualization driven by reports and suggestions submitted via the project's repository. Ongoing contributions from volunteers have sustained its adaptation to teaching needs, including better support for recent versions up to 3.10.

Core Features

Editing and Execution Environment

Thonny provides a user-friendly code editor tailored for beginners, featuring to identify common errors such as unclosed quotes or mismatched parentheses, which are displayed in red for immediate visual feedback. Line numbers are included along the left margin to facilitate navigation and reference within scripts, while assists users by suggesting API methods and attributes upon typing, activated via the Tab key, helping to explore libraries without memorizing syntax. Additionally, the editor supports multi-file handling, allowing users to open and manage multiple Python files within a single workspace, which simplifies working on small projects or modules. The execution environment integrates a built-in shell directly into the interface, enabling interactive testing of code snippets and immediate observation of outputs and states. Users can execute entire scripts by pressing F5, with the shell capturing statements and results in , or switch to step-by-step using Ctrl+F5 for controlled runs, where F6 advances to the next line and F7 steps into function calls. This shell ties into basic inspection, displaying values in a dedicated Variables pane that can toggle between simplified name-value pairs and more detailed views. File management in Thonny is straightforward, with built-in support for opening, saving, and organizing files locally, including simple project structures for grouping related scripts. For remote development, Thonny includes SSH connectivity through its "Remote Python 3 (SSH)" interpreter option, allowing users to edit and execute code on distant machines like devices by configuring host credentials in the Tools menu. To aid novices, Thonny incorporates expression evaluation directly in the editor, where hovering over or selecting code segments highlights results in a light-blue box, revealing computed values without separate execution. Error messages are simplified and contextualized, with the editor underlining issues in red and providing explanatory notes on scopes—distinguishing from —to reduce confusion during .

Debugging and Visualization Tools

Thonny provides a beginner-friendly that allows users to execute programs step by step without requiring breakpoints, facilitating a clear understanding of program flow. By pressing Ctrl+F5 instead of F5, the activates, highlighting the current statement in the editor and advancing execution one step at a time upon user input. This feature uses F7 for small steps, which proceed line by line, and F6 for larger steps that respect the program's structure, such as skipping over entire function bodies or loops when appropriate. A key visualization tool is the live variables panel, accessible via View > Variables, which displays a table of all variables in the current scope, including their names, values, types, and references. This panel updates in real-time as the program executes, helping novices track how assignments and operations alter the program's state. Users can toggle between a simplified memory model, showing direct name-to-value mappings to avoid confusion with memory addresses, and a realistic model that reveals object identities (via id()) and references, aiding in the comprehension of mutable objects and aliasing. The call stack visualization enhances debugging of function calls and recursion by opening a new editor window for each function invocation, displaying the local variables and positioning the code pointer at the current line within that function. This hierarchical view illustrates the depth of the call , making it easier to trace execution paths in nested or recursive code without overwhelming beginners with textual stack traces. During debugging sessions, Thonny supports inline expression evaluation by highlighting expressions in a light-blue box and progressively replacing subexpressions with their computed values, step by step. This visual breakdown demystifies how complex expressions are parsed and resolved, such as operator precedence in arithmetic or string operations, directly within the editor context.

Technical Architecture

Underlying Implementation

Thonny is implemented in , utilizing the library as its core framework for creating the , which enables cross-platform compatibility across Windows, macOS, and . The follows a modular architecture, consisting of independent components for the code editor, interactive shell, debugger interface, and an extensible plugin system that integrates third-party extensions via PyPI for added functionality such as backend support or additional tools. Distributed under the , Thonny's open-source structure allows for unrestricted modification, distribution, and community-driven enhancements, promoting widespread adoption and customization. Emphasizing simplicity and efficiency, Thonny's lightweight implementation minimizes resource usage, performing reliably on low-power devices like the , where it is pre-installed in for educational programming tasks.

Supported Python Environments

Thonny primarily utilizes a bundled version of as its default Python interpreter, specifically 3.10 in recent releases such as version 4.1.7, which is included in the installers for Windows and macOS to provide a self-contained for beginners without requiring separate installations. For Linux users, Thonny can leverage an existing system 3 installation or bundle its own private 3.10 instance. Users may also configure Thonny to use alternative local interpreters through the Tools > Options > Interpreter menu, allowing flexibility for different versions or custom setups. A key feature of Thonny is its support for , enabling seamless integration with microcontroller programming since version 3.2. This includes direct file editing on connected devices, based on MicroPython APIs, and script execution via the device's REPL, making it suitable for systems development. Thonny facilitates device flashing by allowing firmware installation and upgrades for supported MicroPython hardware directly from the Run > Select interpreter menu, streamlining the process of deploying code to boards like the . Thonny extends its backend options to include CircuitPython, which is handled similarly to through dedicated plugins that support API scraping for enhanced and file management on compatible devices. Additionally, Thonny provides remote Python execution via SSH, configurable under Tools > Options > Interpreter by selecting "Remote Python 3 (SSH)" and entering host credentials, which is particularly useful for developing on headless systems like without physical access. For package management, Thonny features a built-in accessible via Tools > Manage packages, which simplifies pip-based installations of third-party libraries by handling dependencies in a user-friendly manner without command-line interaction. It also supports creation and switching through Tools > Options > Interpreter > Alternative Python 3 interpreter > Create new virtual environment, allowing isolated project dependencies while maintaining compatibility with the bundled or selected runtime.

Availability and Installation

Supported Platforms

Thonny is natively supported on Windows, macOS, and operating systems. On Windows, it runs on versions 7 and later, with standalone executable installers available for both 32-bit and 64-bit architectures. On macOS, it provides universal installer packages compatible with recent versions. For , Thonny is distributed primarily through source-based installations via package managers like apt or , supporting x86_64 architectures and ARM-based systems such as those used in devices. Thonny integrates seamlessly with hardware like the , where it has been pre-installed on (formerly Raspbian) since the June 2017 release, facilitating its use in resource-constrained educational settings. This pre-installation and lightweight design make it particularly suitable for low-end devices with limited processing power. To run Thonny from , a minimum of 3.8 or later is required, along with the library for its graphical interface.

Installation Options

Thonny offers several straightforward installation methods, primarily through its official website, which provides bundled installers that include a compatible interpreter to simplify setup for beginners. Users can download platform-specific installers from thonny.org, such as .exe files for Windows (with 64-bit 3.10 or 32-bit 3.8), .pkg files for macOS (with 3.10), or a script for Linux (x86_64 with 3.10). These installers handle the integration of Thonny with the bundled Python, requiring minimal user intervention beyond running the file. For those with an existing installation, Thonny can be installed via package managers without bundling. The primary method is using , with the command pip install thonny on Windows and macOS, or pip3 install thonny on distributions. Operating system repositories also support direct installation, including sudo apt install thonny on , , and ; sudo dnf install thonny on ; and brew install thonny on macOS (though the Homebrew version may lag behind official releases). These approaches leverage system tools for dependency management and updates. Portable versions allow running Thonny without a traditional , ideal for USB drives or multi-user environments. On Windows, archives provide no-install binaries, such as thonny-4.1.7-windows-portable.zip (64-bit with 3.10) or the 32-bit equivalent, which can be extracted and executed directly. For , containerized formats like (sudo snap install thonny) and (flatpak install org.thonny.Thonny) offer portable deployment across distributions, encapsulating dependencies for easy portability. After installation, Thonny provides options for configuring the interpreter and paths through its , accessible via Tools > Options > Interpreter, where users can select from bundled, system, or environments to suit their needs. This setup ensures compatibility with various installations, though the bundled versions (such as 3.10) are preconfigured for immediate use. Additional package management is available via Tools > Manage packages, which offers a graphical for operations.

Reception and Educational Impact

Community and Critical Reception

Thonny has been praised for its simplicity and beginner-friendliness, making it an accessible entry point for new programmers. In a 2021 tutorial, Real Python highlighted Thonny's intuitive interface, built-in debugger, and step-by-step expression evaluation as key strengths that lower the barrier to learning without overwhelming users with complex features. Similarly, an It's FOSS review described it as a "decent tool for beginner Python programmers," particularly suited for educational settings due to its straightforward design and focus on core programming concepts. Critics, however, note limitations for more advanced users. Experienced developers often find Thonny too basic, lacking advanced features available in full-featured IDEs like . Additionally, some users report occasional UI glitches related to its Tkinter-based , such as unresponsiveness to mouse inputs or freezing during certain operations, as documented in ongoing issues. The Thonny community remains active and engaged, with contributions from developers worldwide. Its repository features numerous open issues and regular release updates, indicating sustained maintenance and user feedback integration. Endorsements from official sources include its listing as a recommended resource on Python.org's portal, and adoption in MOOCs such as the University of Tartu's Introduction to Programming course. Thonny's popularity is evident in its download statistics, with over 14,000 monthly downloads reported on PyPI in recent data, reflecting broad user interest.

Adoption in Education

Thonny has been recommended and integrated into various university courses, particularly for introductory programming. At the , where Thonny was developed, it serves as the primary for the "Programmeerimine" (Programming) course, an entry-level class for cybersecurity and related students, enabling students to write and execute programs directly within the tool. Similarly, Rice University's online courses, such as "Python Data Representations" and "Python Data Visualization" on , incorporate Thonny for debugging and visualization tasks, supporting learners in building interactive applications with minimal setup. In curriculum integration, Thonny is widely used in K-12 and introductory college Python classes due to its simplified interface and visual debugging features, which help students grasp core concepts like variable execution and code flow without overwhelming complexity. For instance, educational resources from the recommend Thonny as the default for beginner projects on devices, and it remains pre-installed on as of 2025, making it a staple in school code clubs and extracurricular coding programs. In , institutions like employ Thonny in their CS106 introductory programming course to facilitate hands-on activities focused on fundamentals. This integration emphasizes Thonny's role in reducing barriers for novices, allowing educators to prioritize conceptual understanding over tool configuration. Research on Thonny's educational impact highlights its effectiveness in enhancing student engagement through integrated visualization and step-by-step execution, as detailed in the tool's foundational paper presented at the 2015 Koli Calling conference, which demonstrated improved beginner workflows in programming instruction. A 2018 analysis in Magazine further noted that Thonny's beginner-oriented design, including its and explorer, fosters greater interaction and comprehension in learning environments compared to more complex . As the pre-installed on , Thonny supports widespread use in educational kits, contributing to accessible in schools and contributing to higher retention of programming concepts among young learners. Thonny's extensibility via plugins enhances its utility for , with options like thonny-sealed, which restricts code editing to predefined sections marked by comments, aiding instructors in guiding student exercises without full file access. Another plugin, thonny-edulint, provides educational linting feedback tailored for learners, helping teachers enforce best practices and assess code quality in classroom settings. These tools, installable directly through Thonny's plugin manager, enable customized classroom management and automated assessment, aligning with pedagogical needs in structured learning environments.

References

  1. [1]
    Thonny, Python IDE for beginners
    Thonny comes with Python 3.10 built in, so just one simple installer is needed and you're ready to learn programming. (You can also use a separate Python ...
  2. [2]
    Introducing Thonny, a Python IDE for learning programming
    Thonny is a new Python IDE for learning and teaching programming that can make program visualization a natural part of the beginners' workflow.
  3. [3]
    thonny/thonny: Python IDE for beginners - GitHub
    Thonny is a Python IDE meant for learning programming. End users. See https://thonny.org and wiki for more info. Contributors. Contributions are welcome ...
  4. [4]
    [PDF] Omniscient Debugger for Thonny Integrated Development ... - DSpace
    May 14, 2018 · Thonny was developed by Aivar Annamaa at the University of Tartu (UT) and is being used in introductory programming courses at the UT. Thonny is.
  5. [5]
    [PDF] Improving the Usability of the Thonny Integrated Development ...
    May 9, 2015 · Thonny is an integrated Python development environment, which has been designed and developed by Aivar Annamaa at the University of Tartu.
  6. [6]
    Introducing Thonny, a Python IDE for learning programming
    Thonny was chosen for several reasons that align with the demands of scientific research and data analysis (Annamaa, 2015) . Firstly, Thonny's user-friendly ...
  7. [7]
    Hello Blog! — Thonny blog
    Just want to let you know that Thonny is alive and well and I finally created a blog for it. Version 2.0.3 has been successful but there are some fixes and ...
  8. [8]
    Thonny and MicroPython
    Jun 5, 2018 · Thonny 2.2 has plug-ins which add more general support for various MicroPython devices – see https://bitbucket.org/plas/thonny-micropython for ...Missing: 2.0 2017
  9. [9]
    Version 3.0 beta — Thonny blog
    Aug 11, 2018 · Thonny 2.2 beta already brought along many new features, but they kept coming, so I decided to skip 2.2 stable release and continue under ...
  10. [10]
    Version 3.1.1 — Thonny blog
    Feb 9, 2019 · Version 3.1.1. This is last release announcement in the blog. From now on Thonny's development takes place in GitHub (https://github.com ...
  11. [11]
    Thonny: The Beginner-Friendly Python Editor
    Thonny is a free Python Integrated Development Environment (IDE) that was especially designed with the beginner Pythonista in mind. Specifically, it has a built ...
  12. [12]
    Releases · thonny/thonny - GitHub
    Dec 16, 2024 · Windows. Default Windows installer (thonny-4.1.0.exe) is now 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit ...
  13. [13]
    Plugins · thonny/thonny Wiki - GitHub
    Thonny can be extended with 3rd party plug-ins. Usually they are distributed via https://pypi.org and can be installed with Tools => Mangage plug-ins.
  14. [14]
    Raspberry Pi OS - Raspberry Pi Documentation
    It includes applications such as the Chromium web browser, Firefox web browser, VLC media player, and the Thonny Python environment. Raspberry Pi OS with ...
  15. [15]
    MicroPython · thonny/thonny Wiki - GitHub
    This page describes MicroPython support since Thonny 3.2. See the bottom of the page for historical notes.
  16. [16]
    Cannot connect in SSH · Issue #3199 · thonny/thonny - GitHub
    May 18, 2024 · The backend.log can be found by selecting "Tools => Open Thonny data folder". The error message means you should install Python package named ...
  17. [17]
    Home — Thonny blog
    Feb 9, 2019 · Version 3.0 beta · Debugging enhancements · New default back-end · More straightforward user package management · Basic MicroPython support built-in.
  18. [18]
    Windows · thonny/thonny Wiki - GitHub
    Thonny bundles are supported on Windows 7, 8 and 10. If you need Thonny on Vista or XP, then see below how to install Thonny and Python separately.
  19. [19]
    Linux · thonny/thonny Wiki - GitHub
    Raspberry Pi OS comes with Thonny preinstalled. If you have removed it and want it back then do sudo apt install thonny . Debian since Stretch: sudo apt ...Missing: pre- | Show results with:pre-
  20. [20]
    Thonny on Raspbian - the new Python IDE for the Raspberry Pi
    Jul 4, 2017 · Thonny IDE for Python pre-installed (a new IDE which gives a nicer experience than… 23 June 2017. In "Operating systems". Conway's Game of ...
  21. [21]
    Thonny on a Raspberry Pi: using the new Python IDE in Raspbian
    Jun 27, 2017 · Thonny is a new IDE (integrated development environment) bundled with the latest version of the Raspbian with PIXEL operating system.
  22. [22]
    SeparateInstall · thonny/thonny Wiki - GitHub
    Install recent Python (at least 3.8) or choose an existing installation. Install Thonny package with pip (possibly pip3 ) using your operating system command ...Missing: minimum | Show results with:minimum
  23. [23]
    tkinter — Python interface to Tcl/Tk — Python 3.14.0 documentation
    The tkinter package (“Tk interface”) is the standard Python interface to the Tcl/Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms.
  24. [24]
    Install Thonny on Linux | Snap Store - Snapcraft
    Dec 19, 2024 · To install Thonny on Linux, choose your distribution for detailed instructions. If yours isn't listed, see snapd documentation.
  25. [25]
    Thonny is an Ideal IDE for Teaching Python Programming - It's FOSS
    Thonny is a decent tool for beginner Python programmers. Not that experts cannot use it but it's more suited to be used in schools and colleges.Missing: educational | Show results with:educational
  26. [26]
    Python IDEs and Code Editors (Guide)
    Cons: More experienced Python developers will find Thonny too basic for most uses, and the built-in interpreter is something to work around, not with.General Editors and IDEs with... · Python-Specific Editors and IDEs
  27. [27]
    Resource: Thonny IDE - Python in Education
    Description: Thonny is a Python IDE designed for beginners. Created By: Thonny ... No sign up requirement; Allowed use: Open Source Project - accepts ...Missing: endorsements | Show results with:endorsements
  28. [28]
    PyPI Download Stats
    - **Total Downloads**: Cumulative downloads for Thonny up to the latest data (2023 or beyond) are not explicitly provided as a single number. The page offers daily, weekly, and monthly download stats but no overall total.
  29. [29]
    Programmeerimine - Kursused - Arvutiteaduse instituut - Tartu Ülikool
    Thonny is an IDE for Python. In this course, we'll use Thonny as our main programming editor. Please install it, so you can write programs and do homeworks on ...
  30. [30]
    Python Data Representations - Coursera
    Using Thonny's Debugger•8 minutes; Debugging an Example Program•8 minutes ... Rice University. Python Data Analysis. Course. Status: Free Trial. Free Trial.
  31. [31]
    Python Data Visualization - Coursera
    Offered by Rice University. This if the final course in the specialization ... Installing Packages in Thonny•9 minutes. 2 readings•Total 20 minutes. Code ...
  32. [32]
    Getting started with Raspberry Pi Pico - Code Club Projects
    Thonny is a free and open-source integrated development environment for Python that is designed for beginners. In a web browser, navigate to thonny.org. In ...
  33. [33]
    [PDF] Introduction to Python
    Thonny is an integrated development environment (IDE) for Python designed for learning and teaching programming. It is freely available at https://thonny.org/.
  34. [34]
    Learn to code with Thonny — a Python IDE for beginners
    Feb 19, 2018 · Although Thonny is suitable for even total beginners, this post is meant for readers who have at least some experience with Python or another ...Missing: motivation limitations
  35. [35]
    Raspberry Pi Python IDE Comparison - News - SparkFun Electronics
    Jun 12, 2018 · The default Python IDEs on Raspberry Pi are IDLE, Geany, and Thonny. Thonny is recommended for beginners, while IDLE is a basic text editor and ...
  36. [36]
    thonny-sealed - PyPI
    Apr 26, 2021 · thonny-sealed is a plug-in for Thonny IDE to restrict writing to certain blocks of text based on code comments.
  37. [37]
    thonny-edulint - PyPI
    Click "Tools" and then click "Manage Plug-ins..." Search for "thonny-edulint" in the input box. Click install. After installing you will need to restart Thonny.Missing: classroom | Show results with:classroom<|control11|><|separator|>