Python IDE (Integrated Development Environment) app for beginners

Thonny

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe

Thonny 4.0.0

  -  71.3 MB  -  Open Source
  • Latest Version

    Thonny 4.1.4

  • Operating System

    Windows 7 / Windows 7 64 / Windows 8 / Windows 8 64 / Windows 10 / Windows 10 64

  • User Rating

    Click to vote
  • Author / Product

    Aivar Annamaa / External Link

  • Filename

    thonny-xxl-4.0.0.exe

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system. Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Thonny 4.0.0.


For those interested in downloading the most recent release of Thonny or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

What's new in this version:

Breaking changes:
- Drop support for Python 3.5, 3.6 and 3.7
- Require single click for toggling a breakpoint
- Rename "Python 3" back-end to "Local Python 3"
- Don't SetProcessDpiAwareness for user programs anymore. This means for example, that Tkinter and Pygame programs on Windows run as if they were executed with plain Python (ie they may become blurry on modern displays). For clear picture, start your program with import ctypes; ctypes.OleDLL("shcore").SetProcessDpiAwareness(1)
- Drop support for jedi versions below 0.18.1

Distribution:
- Upgrade bundled Python to 3.10
- The main Windows bundle is now 64-bit. For fallback publish 32-bit bundle with Python 3.8 for 32-bit Windows 10 and 8.1 and all variants of Windows 7 and 8.
- Mac bundle now comes with the universal2 build of Python
- Stop publishing 32-bit Linux bundles.
- Enhance Linux installer script (the .bash-file) to create a venv and pip-install Thonny if run on a platform for which there is no binary bundle available. This means you can now use Linux installer also on Raspberry Pi

Code completion and analysis:
- Add the option for automatically getting completions while typing (Tools => Options => Editor)
- Selecting a completion with Tab now replaces the name suffix right of the cursor
- Turn off requesting completions with Tab in editors by default
- Show documentation for the selected completion with another Ctrl-Space or automatically (Tools => Options => Editor)
- Add "call-tips" -- a box describing the formal parameters of current method call. Invoke manually with Ctrl-Shift-Space or automatically after typing open parentheses (Tools => Options => Editor)
- Enhance Go-to-definition (Ctrl-click). The name is now underlined while ctrl-hovering over it.

MicroPython / CircuitPython:
- Add LEGO® EV3 back-end: "Run => Select interpreter => MicroPython (EV3)"
- Support CircuitPython with micro:bit
- Use pipkin for managing packages on MicroPython and CircuitPython devices. This enables proper listing of packages together with version info and proper uninstallation.
- Use .local_rtc config parameters instead of (oppositely worded) .utc_clock in MicroPython back-ends, 116aecd
- Present MicroPython time options (whether to sync time and whether to use local time) in back-end configuration page
- Automatically interrupt current process when connecting to bare-metal MicroPython or CircuitPython device. This can be turned off at device's settings page
- Don't hide the output when Stop/Restarting MicroPython
- Make internal MicroPython errors less intimidating. In several cases the errors are caused by bugs in MicroPython or USB driver and there is no use of showing the stacktrace. User is now directed to restart the device and stacktrace can be checked from the backend.log
- Make MicroPython back-end advise Ctrl+C also if only whitespace characters get printed
- Allow running MicroPython scripts without soft-rebooting first
- Add generic "MicroPython (RP2040)" back-end in addition to the more specific "MicroPython (Raspberry Pi Pico)"
- Mention the possibility to reconfigure file types when denying opening remote files in a system app
- Refactor MicroPython/CircuitPython flashing dialog
- Add separate "Install ..." items to the back-end switcher menu if a device in UF2 bootloader mode is detected
- Use "Install MicroPython" instead of "Install firmware"
- Take OSC commands into account when looking for prompts (relevant for CircuitPython 8)
- Disable "Run" command when MicroPython device is disconnected
- Update completion stubs for MicroPython and CircuitPython (from @hlovatt and @adafruit)
- Make Shell read-only when device is disconnected
- Fix various problems with managing files on CircuitPython devices
- Don't assume all CircuitPython boards have RTC
- Fix error with evaluating globals() on MicroPython device
- Add MicrobitImage inspector for Object inspector

Various enhancements:
- Add TODO view (by @kr-g)
- Add possibility to activate a virtual environment via Files view (by @kr-g)
- Add new toolbar button which opens the wiki page describing ways to help Ukraine survive the attack from Russia.
- Allow running content of untitled editors without saving- Clear Shell before starting new process (Run, Debug, Stop/Restart, ...) by default. Can be turned off in Tools => Options => Shell
- Make stacktrace links to and pseudo-files go to the editor containing corresponding source- Ask confirmation for adding .py extension when the user saves the file without any extension to MicroPython/CircuitPython device
- Don't add the .py extension when the user saves a local file and selects "All files" filter.
- Add Cut/Copy/Paste to the file browser by @kr-g
- Make editor remember current line when reloading external changes by @kr-g
- Add "Edit => Go to line..." command (Ctrl-G) by @kr-g
- Add "Rename" command for the local file browser by @kr-g
- Add nicer Stop-button for higher resolutions by @speedy-10
- Improve icon scaling -- use larger icons when Treeview row height is larger than general.large_icon_rowheight_threshold
- Use default font in Treeviews (including Files and Variables view). Therefore Treeview's font size is now affected by the scaling factor and is not affected by editor font size.
- Use isolated mode for launching Thonny. This includes hiding user-site packages from Thonny's GUI process (not from user programs). Plug-ins now get installed under Thonny's data folder
- Allow installing packages for remote CPython backend
- Flatten the list of interpreters in the backend-switcher menu (lower-right corner of the main window)
- Removed previously deprecated "A special virtual environment". Use regular virtual environments instead.
- Merge "The same interpreter which runs Thonny" and "Alternative Python 3 interpreter or virtual environment" back-ends into "Local Python 3"
- Back-end switcher now remembers several configurations for remote CPython and MicroPython.
- Make package manager work for remote Python 3 (SSH)
- Fix "Seed find/replace with currently-selected text" for Linux
- Use "vista" Tk-theme instead of "xpnative" in Windows. Gives nicer combobox
- Automatically reload saved files after external modification (with help from @kr-g)
- Support OSC sequences for setting terminal title
- Toggle hidden files also via file-browser's context menu
- Seed find/replace with currently-selected text
- Add coloring for match and case soft keywords
- Add Slovenian translation (by cspaier)
- Add "Assistant" help page explaining the possibility to omit selected Pylint checks
- Add command "Run => Visualize current script at Python Tutor"
- Add options for automatically making uploaded or saved shebang scripts executable (includes changing Windows line breaks to Unix ones). See "Editor" and SSH-backends' config pages.
- Allow back-end plugins to modify sys.path
- Warn when environment value is provided with quotes
- Let macOS installer know the bundle is able to run in arm64 mode
- Add Tamil translation, by Kamala Kannan K and அனிச்பிரபு தி
- Add Thai translation, by Tomzt Pimai and Game of
- Allow assigning Python coloring for Python-like files

Various fixes:
- Fix issues with printouts containing more than 999 lines
- Fall back to default theme when used 3rd party theme gets uninstalled
- Fix problem with Files hamburger menu when nothing is selected
- Fix Windows version detection in "Tools => Open system shell"
- Make sure Thonny's dialogs are treated as dialogs in macOS and Linux
- Don't issue two Ctrl+C-s too quickly in row when interrupting MicroPython process, in order to give time for finally-blocks to clean up
- Fix asm_pio error when working in with RP-pico in shell mode
- Fix the crash when scripts longer than 4KB are sent to Python 3 SSH back-end
- Properly interrupt MicroPython code before submitting new code when using F5 while code is running
- Fix problems with full screen and split screen views in macOS
- Fix the crash when pasting certain Unicode chars to editor in macOS Fix the crash caused by Cmd-backtick and others with Spanish keyboard in macOS- Fix focus issues in dialogs
- Fix automatic horizontal scrollbar not always appearing and #659 by @jharris1993 and @lurch
- Forward SSH password to the back-end process via stdin instead of command line.
- Fix error when pressing Ctrl-D with unsubmitted input
- Don't choke on relative interpreter paths
- Don't crash when Windows network locations can't be found
- Don't show package extra deps even when the extra is combined with another condition
- Make paddings larger for hi-res displays
- Work around Pylint error (make Pylint work again)
- Fix translations with bad placeholders (by @abrarwali)
- Fix debugger error when importing user modules (regression introduced in 4.0.0b1)
- Don't propose pythonw.exe as initial backend
- Fix error when trying to open a file from file browser with ENTER
- Fix support for remote Python 3 over SSH (regression introduced in one of the 4.0.0 betas)
- Avoid wobbling of AutomaticScrollbar, helpful report by @TooLazy0x00
- Fix problem uninstalling MicroPython packages
- Install packages without --user in portable mode
- Fix the problem with scripts having declared encoding something else than UTF-8
- Don't clear shell after automatic restart
- Fixes certain problems with running Flask and multiprocessing programs
- Fix KeyError: 'ESP32.url' when connecting to WebREPL (regression introduced in b1)
- Fix parameter completions where name of local variable was proposed with trailing '='
- Fix error with printing (regression introduced in b1)
- Fix Find & replace dialog not appearing
- Fix display of debugger frames (regression introduced in 4.0.0b1)
- Increase the initial top coordinate of Thonny's main window. Fixes problem of Thonny's title bar being hidden by the system menubar

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe