Thonny

Last updated
Thonny
Thonny logo.png
Thonny2 0 screenshot windows 10.png
Developer(s) Aivar Annamaa and contributors
Stable release
3.3.0 / November 15, 2020;1 day ago (2020-11-15)
Repository OOjs UI icon edit-ltr-progressive.svg
Written in Python
Operating system Cross-platform
Platform Windows, Linux, macOS
Type Integrated development environment
License MIT
Website thonny.org

Thonny is an integrated development environment for Python that is designed for beginners. It supports different ways of stepping through the code, step-by-step expression evaluation, detailed visualization of the call stack and a mode for explaining the concepts of references and heap. [1]

Contents

Features

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

Availability

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

Reception

Thonny has received favorable reviews from Python and computer science education communities [7] [8] [9] . It has been 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 Raspbian [12] .

See also

Related Research Articles

Python is an interpreted, high-level and general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

Wolfram Mathematica Computational software program

Wolfram Mathematica is a modern technical computing system spanning most areas of technical computing — including neural networks, machine learning, image processing, geometry, data science, visualizations, and others. The system is used in many technical, scientific, engineering, mathematical, and computing fields. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica.

Eclipse (software) Java 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. 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.

Fedora (operating system) Linux distribution by Red Hat and IBM

Fedora is a Linux distribution developed by the community-supported Fedora Project which is sponsored primarily by Red Hat, a subsidiary of IBM, with additional support from other companies. Fedora contains software distributed under various free and open-source licenses and aims to be on the leading edge of free technologies. Fedora is the upstream source of the commercial Red Hat Enterprise Linux distribution, and subsequently CentOS as well.

IDLE

IDLE is an integrated development environment for Python, which has been bundled with the default implementation of the language since 1.5.2b1. It is packaged as an optional part of the Python packaging with many Linux distributions. It is completely written in Python and the Tkinter GUI toolkit.

Python Package Index

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 CPAN, the repository for Perl. Some package managers, including pip, use PyPI as the default source for packages and their dependencies. Over 235,000 Python packages can be accessed through PyPI.

Setuptools

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

Raspberry Pi Series of inexpensive single-board computers used for educational purposes and embedded systems

Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation. Early on, the Raspberry Pi project leaned towards the promotion of teaching basic computer science in schools and in developing countries. Later, the original model became far more popular than anticipated, selling outside its target market for uses such as robotics. It is now widely used in many areas, such as for weather monitoring, because of its low cost and high portability.

Spyder (software)

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 de facto standard package-management system used to install and manage software packages written in Python. Many packages can be found in the default source for packages and their dependencies — Python Package Index (PyPI).

Kivy (framework)

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, GNU/Linux, macOS, and Windows.

RStudio

RStudio is an integrated development environment (IDE) for R, a programming language for statistical computing and graphics. It is available in two formats: RStudio Desktop is a regular desktop application while RStudio Server runs on a remote server and allows accessing RStudio using a web browser.

Julia (programming language) High-performance dynamic programming language

Julia is a high-level, high-performance, dynamic programming language. While it is a general-purpose language and can be used to write any application, many of its features are well suited for numerical analysis and computational science.

Xojo

The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.

Anaconda (Python distribution) Distribution of the Python and R languages for scientific computing

Anaconda is a conditional free and open-source 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, both of which are not free.

GoWarrior

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.

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.

References

  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". Programmming 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.