Thonny

Last updated
Thonny
Thonny logo.png
Thonny2 0 screenshot windows 10.png
Developer(s) Aivar Annamaa and contributors
Stable release
3.2.6 / January 2, 2020;3 months ago (2020-01-02)
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, 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.

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.

Sugar (software) free desktop environment based on GTK+

Sugar is a free and open-source desktop environment designed for interactive learning by children. Copyright by SugarLabs. Developed as part of the One Laptop per Child (OLPC) project, Sugar was the default interface on OLPC XO-1 laptop computers. The OLPC XO-1.5 and later provided the option of either the Gnome or Sugar interfaces.

Fedora (operating system) Linux distribution

Fedora is a Linux distribution developed by the community-supported Fedora Project which is sponsored primarily by Red Hat, 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.

IDLE integrated development environment for Python

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.

IPython Advanced interactive shell for Python

IPython is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history. IPython provides the following features:

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 113,000 Python packages can be accessed through PyPI.

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:

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

The Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote teaching of basic computer science in schools and in developing countries. The original model became far more popular than anticipated, selling outside its target market for uses such as robotics. It now is widely used even in research projects, such as for weather monitoring because of its low cost and portability. It does not include peripherals or cases. However, some accessories have been included in several official and unofficial bundles.

Bodhi Linux Linux distribution

Bodhi Linux is a lightweight Linux distribution based on Ubuntu that uses the Moksha window manager. The philosophy for the distribution is to provide a minimal base system so that users can populate it with the software they want. Thus, by default it only includes software that is essential to most Linux users, including a file browser (PCManFM), a web browser (Midori) and a terminal emulator (Terminology). It does not include software or features that its developers deem unnecessary. To make populating systems with software easy, Bodhi Linux developers maintain an online database of lightweight software that can be installed in one click via apturl.

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

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 high-performance numerical analysis and computational science.

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

Anaconda is a 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, which are both not free.

Salvius first open source humanoid robot

Salvius is the first open source humanoid robot to be built in the United States. Introduced in 2008, Salvius, whose name is derived from the word 'salvaged', has been constructed with an emphasis on using recycled components and materials to reduce the costs of designing and construction. The robot is designed to be able to perform a wide range of tasks by having a body structure that is similar to that of a human. The primary goal for Salvius is to create a robot that can function dynamically in a domestic environment.

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 that allows the creation of applications on the following platforms: Google Android, Apple iOS, Java, Raspberry Pi and Arduino. B4X programming language is a Proprietary dialect of Visual Basic. B4A, B4i, and B4J feature a visual designer that simplifies the process of creating user interfaces. B4R cannot create GUI applications due to the nature of single-board and SoC devices.

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.