Python IDE for beginners

Overview
Comments
  • Backend terminated in macOS 10.15

    Backend terminated in macOS 10.15

    In the shell it says:

    Backend terminated or disconnected. Use 'Stop/Restart' to restart ...
    

    but pressing the red button Stop/Restart rewrites the same message

    No script works

    macOS 
    opened by juanfal 58
  • Thonny interpreter crashes (problems with console)

    Thonny interpreter crashes (problems with console)

    Hi, In my school I've tried using thonny that I installed last Year but it's not working very reliably. We are using windows 7 and it was working before the sumer hollydays. I'm mainly using Thonny 3.1.2. But I have the same problem with 3.2 beta or 3.0.8.

    When I launch Thonny, most of the time, the buttons on the top of the windows (run, debug, load, save...) are not showing up and after some times, winsows says that Thonny is not responding. Or something the button shows up, but the interpreter does not start. The bottom window stays empty. One way to solve both problems is to kill the python process and the Thonny works.

    And sometimes it crashes when I try to run a file. Once again, killing the python process "solves" the problem, or at least "unfreeze" Thonny.

    I've noticed that when I run a file, a second python process is created then disappear after a few seconds. I don't know if it is a normal behaviour.

    I've had some similar problems befor the summer, when I upgraded to 3.1.2, but it was way less often. And I had no problems with 3.0.8, but now even this version have similar problems.

    I've always done fresh installs for newer versions. The only thing I've done is creating a custome.py file :

    import os
    import thonny
    
    dossierperso=os.path.join(os.environ["LOGONSERVER"],"professeurs",os.environ["USERNAME"],"Mes documents")
    dossierpersoeleve=os.path.join(os.environ["LOGONSERVER"],"eleves",os.environ["USERNAME"],"Mes documents")
    if os.path.isdir(dossierperso):
        os.environ["THONNY_USER_DIR"]=os.path.join(dossierperso,".thonny")
    elif os.path.isdir(dossierpersoeleve):
        os.environ["THONNY_USER_DIR"]=os.path.join(dossierpersoeleve,".thonny")
    
    thonny.THONNY_USER_DIR = os.environ["THONNY_USER_DIR"]
    

    I've also installed a few pacakges using this script :

    import pip._internal as pip
    packages=["pygame","matplotlib<3.1.0","sympy","openpyxl","win32com"]
    pip.main(["install","--no-color"]+packages+["--upgrade"])
    

    I don't know if I can send some kind of log file to help.

    Romain Janvier

    windows 
    opened by Skiski 42
  • Translation: PR welcome?

    Translation: PR welcome?

    Hi,

    A group of teachers (me included) are using Thonny in a highschool in south France. We distribute a portable version of Thonny here with small customization and homemade libraries for students and teachers.

    I noticed your faq related to translating thonny. I was contemplating marking the strings with gettext so we could render a po file and host translation on externate tools such as poeditor.

    Before starting working on that, I wanted to check with you if you would welcome such a PR.

    Also maybe there are some specific technical details I missed on this matter?

    Anyway thanks for good job! Thonny is a great tool for teaching and learning python.

    opened by cspaier 34
  • Increase portability of Thonny

    Increase portability of Thonny

    Original report by fizban (Bitbucket: fizban GitHub: fizban ).


    This is somehow related to issue #279 . Again, this might be something very specific to my school's environment, but nevertheless the end result might be useful to others.

    We use Thonny in "portable" mode. That is, I just ask the assigned super user to unzip a copy of my thonny folder to a shared folder in the network so that students can have access to it. Only those "super users" have rights to place executable files on the network.

    When students run Thonny, they get the initial message of Thonny creating the virtual environment in the USERPROFILE folder. This folder is actually a temporary folder that gets removed on every session. Even if APPDATA folder was used, it would also get removed for students sessions (although not for teacher's sessions). These temporary folders can be created by applications, although they are not directly acccessible with the Windows Explorer. Applications are allowed to create and run temporary executable files in there.

    These set up has the problem that every time students run Thonny at the beginning of the class they have to wait for a couple of minutes or more until the environment is copied to the temporary folder. Since all of them run it at the same time, I guess the network performance gets affected and this initial execution is really slow.

    As a workaround, I tried to set the THONNY_USER_DIR to the personal folder of the student (always mapped to the same drive), which is preserved between sessions. The problem is that no executable is allowed in that folder so Thonny complains that python.exe cannot be copied in the corresponding folder. Still, Thonny does not exit and it eventually opens. I can actually go to options and select a different Interpreter. I chose the python.exe which is placed in the same folder as Thonny in the network, but Thonny did not display anything on the shell. So I guess something went wrong...

    So, it would be nice to find some way to enhance the portability of Thonny, either by not copying so much information to the personal folder or by making it self contained. Another option would be to use the personal folder for configuration only and allow the executables to be run from the original Thonny folder...

    opened by aivarannamaa 30
  • Hello everyone, I am having a problem trying to connect with my m5stickC, someone knows how to start it, thanks in advance and for all the help you can give me ...

    Hello everyone, I am having a problem trying to connect with my m5stickC, someone knows how to start it, thanks in advance and for all the help you can give me ...

    The configuration that I am using is the following:

    • Thonny 3.3.1 (MicroPython (ESP32))
    • M5StickC Plus Firware v1.7.0-plus (App Mode with temp.py)
    • Windows 10.

    The error that is occurring is the following:

    MicroPython 7e31c2ada-dirty on 2020-12-04; M5StickC-Plus with ESP32 Type "help()" for more information. ERROR thonny.plugins.micropython.backend: Crash in backend Traceback (most recent call last): File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 44, in read self._read_buffer.extend(self._read_queue.get(True, timer.time_left)) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\queue.py", line 178, in get raise Empty _queue.Empty

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 130, in init self._prepare(clean) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 149, in _prepare self._prepare_helpers() File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 196, in _prepare_helpers self._execute_without_output(script) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 544, in _execute_without_output out, err = self._execute(script, capture_output=True) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 518, in _execute self._execute_with_consumer(script, consume_output) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 548, in _execute_with_consumer self._submit_code(script) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 524, in _submit_code self._connection.read_all_expected(expected_echo, timeout=WAIT_OR_CRASH_TIMEOUT) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 115, in read_all_expected actual = self.read(len(expected), timeout=timeout) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 49, in read raise TimeoutError("Reaction timeout. Bytes read: %s" % self._read_buffer) TimeoutError: Reaction timeout. Bytes read: bytearray(b'method\n def print_mgmt_value(obj):\n print('', repr(obj), '', sep='', end='')\n\n @staticmethod\n def repr(obj):\n try:\n s = repr(obj)\n if en(s) > 1000:\n s = s[:1000] + "..."\n ') Traceback (most recent call last): File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 44, in read self._read_buffer.extend(self._read_queue.get(True, timer.time_left)) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\queue.py", line 178, in get raise Empty _queue.Empty

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 130, in init self._prepare(clean) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 149, in _prepare self._prepare_helpers() File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 196, in _prepare_helpers self._execute_without_output(script) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 544, in _execute_without_output out, err = self._execute(script, capture_output=True) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 518, in _execute self._execute_with_consumer(script, consume_output) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 548, in _execute_with_consumer self._submit_code(script) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 524, in _submit_code self._connection.read_all_expected(expected_echo, timeout=WAIT_OR_CRASH_TIMEOUT) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 115, in read_all_expected actual = self.read(len(expected), timeout=timeout) File "C:\Users\fran2\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 49, in read raise TimeoutError("Reaction timeout. Bytes read: %s" % self._read_buffer) TimeoutError: Reaction timeout. Bytes read: bytearray(b'method\n def print_mgmt_value(obj):\n print('', repr(obj), '', sep='', end='')\n\n @staticmethod\n def repr(obj):\n try:\n s = repr(obj)\n if en(s) > 1000:\n s = s[:1000] + "..."\n ')

    Backend terminated or disconnected. Use 'Stop/Restart' to restart.

    MicroPython 
    opened by fraramon 29
  • Problem to upload .py files to some STM boards

    Problem to upload .py files to some STM boards

    Whenever I am using Thonny 3.2.1 to upload a .py file to a Nucleo STM32F767 or a STM32F401 board I got an error message.

    If I am using Micropython a Nucleo STM32L476 instead I don't have this problem.

    Friends report the same problem to me.

    Thank you very much for your help in advance!

    Alex

    Here is the error message:

    >>> Traceback (most recent call last):
      File "<stdin>", line 1
    SyntaxError: invalid syntax
    PROBLEM WITH THONNY'S BACK-END:
    
    Traceback (most recent call last):
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 35, in read
        self._read_buffer.extend(self._read_queue.get(True, timer.time_left))
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\queue.py", line 178, in get
        raise Empty
    _queue.Empty
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 304, in handle_command
        response = handler(cmd)
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 683, in _cmd_write_file
        self._write_file(generate_blocks(cmd["content_bytes"], BUFFER_SIZE), cmd["path"])
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 1024, in _write_file
        result = self._write_file_via_serial(content_blocks, target_path, notifier)
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 1095, in _write_file_via_serial
        self._execute_without_output(script)
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 400, in _execute_without_output
        out, err, value = self._execute(script, capture_output=True)
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 394, in _execute
        ok = self._connection.read(2)
      File "C:\Users\Alex\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\connection.py", line 37, in read
        raise TimeoutError("Reaction timeout. Bytes read: %s" % self._read_buffer)
    TimeoutError: Reaction timeout. Bytes read: bytearray(b'')
    
    MicroPython 
    opened by aklein9999 25
  • Thonny unable to load packages

    Thonny unable to load packages

    Original report by ericd13 (Bitbucket: ericd13 GitHub: ericd13 ).


    The problem comes from the package manager When I select it, it shows the windows but next comme an "internal error" (see screen capture) I've got the same problem on a linux mint XFCE (18.3) computer and a Windows 10 laptop

    bug shell 
    opened by aivarannamaa 22
  • Should Thonny isolate 3rd party packages installed via its dialogs?

    Should Thonny isolate 3rd party packages installed via its dialogs?

    Thonny 2.1 used an automatically generated virtual environment under HOME as its default backend (this option is still available under Tools => Options => Interpreter). This often caused confusion and it was complex to maintain implementation-wise. So I demoted this in Thonny 3.0.

    There was also a private directory in 2.1 for installing Thonny's plug-ins and their dependencies.

    Since 3.0 "Tools => Manage packages" and "Tools => Manage plug-ins" install packages with pip install --user, ie. they end up in a standard location under HOME and are available for other Python interpreters (of same version) in the system.

    Occasionally I miss the old behavior but I don't want to revert current approach yet -- need to collect more experience and opinions.

    Please add your ideas below!

    sys.path package management 
    opened by aivarannamaa 21
  • Edit keyboard shortcuts (Ctrl+C, Ctrl+V, etc.) should work with any language keyboard layout

    Edit keyboard shortcuts (Ctrl+C, Ctrl+V, etc.) should work with any language keyboard layout

    Original report by Anonymous.


    If the keyboard language is left to some non-latin (Greek, in my case) then Ctlr+C, Ctrl+A, Ctrl+V, etc. don't work as edit shortcuts. The user has to switch back to English for the shortcuts to work.

    This is quite a nuisance in IDLE and I thought it would not exist in Thonny (Windows 7 OS). I type some code and switch to Greek in order to type some string. Then I select some text, press Ctrl+C, followed by Ctrl+V somewhere else, only to find out that nothing was copied to clipboard, because the Ctrl+C and Ctrl+V, with my keyboard in Greek where interpreted as Ctrl+ψ and Ctrl+ω, respectively by Thonny, just like with IDLE.

    In windows applications such Ctrl+[letter] keyboard shortcuts work flawlessly no matter what the keyboard language is set to.

    Could there be some config file to add to the Cut, Copy, Paste, Select All, Undo, Redo, Find Replace operations respective shortcuts, as they now fail with the combinations Ctrl+[non-latin Letter]?

    bug editor 
    opened by aivarannamaa 21
  • Task/Todo textboxes based on code?

    Task/Todo textboxes based on code?

    Hi @aivarannamaa, Please apologize if this feature has been already requested or implemented. I couldn't find a relevant issue.

    We are looking into how to use contracts for educational purposes (see thonny-icontract-hypothesis and thonny-crosshair). Consider a classroom exercise. I thought that it would be practical if the teacher could write the interfaces of the functions (including the contracts) and mark the blank areas in the code (e.g., a "solution area"), while the pupils would fill out the blanks. To avoid confusion, A thonny plug-in would prevent editing of the non-blank areas.

    Do you know if somebody already looked into it? If not, how hard would it be to implement such a plug-in in your opinion? (Would you be perhaps interested to help me implement it if nobody looked into it thus far? I can do the "hard lifting", but I'd need some guidance.)

    opened by mristin 20
  • Unable to use and information leak on multi-user systems

    Unable to use and information leak on multi-user systems

    We tried using Thonny in an educational environment with a remote desktop server used by multiple users in parallel, to find out that this is jut not possible currently.

    When starting Thonny, it will find the open TCP socket of the instance run by another user, and connect to it.

    This causes THonny to not start for more than one user, and also leaks any action triggered on the command-line to the instance of the other user.

    Please use UNIX domain sockets in a private directory of the user running thonny instead, and only fall back to TCP on WIndows (if you really need to support this platform).

    opened by Natureshadow 20
  • Modifying built-in keystroke

    Modifying built-in keystroke

    I want to change the Ctrl+K keystroke's command to comment out the selection but it's already bound to another one. I've looked but I couldn't find it in the code. Where can I find the line that binds this keystroke? (Or how can I unbind it?)

    opened by Segilmez06 0
  • Unable to save files to device (PICO)

    Unable to save files to device (PICO)

    I'm connecting to a raspberry pi PICO. I've used Thonny for weeks successfully untill today. I have been unable lately to save py files to the device. I am running micropython fresh install today. rp2-pico-w-20221220-unstable-v1.19.1-782-g699477d12.uf2.

    I'm running MACOS 12.5.1 - Monterey

    I get the following error: Could not write next block after having written 0 bytes to /sensor_loop_with_web.py PROBLEM IN THONNY'S BACK-END: Exception while handling 'write_file' (OSError: [Errno Could not complete file writing] __W(b'from machine import Pin, WDT\nimport utime, time\nimport network, urequests\n\nwatch_dog = WDT(timeout = 8000)\nmin_dist = 5.0\ntarget_dist = 6.0\nmax_dist = 7.0\nlast_distance = 0\n\nbeeper = Pin(0, Pin.OUT) # GP0\ntrigger = Pin(22, Pin.OUT) # GP22\necho = Pin(7, Pin.IN) # GP 7\nled_target = Pin(3, Pin.OUT) # GP3\nled_too_far = Pin(4, Pin.OUT)# GP4\nled_too_close = Pin(5, Pin.OUT) # GP5\ntarget_set_button = Pin(6, Pin.IN, Pin.PULL_UP) # GP6\nonboard_led = Pin("LED", Pin.OUT) # onboard LED\nfileName = "dim_settings.txt"\non_target_beeps = 0\n\n\ndef measure_distance():\n global last_distance\n onboard_led.value(1)\n \n trigger.low()\n utime.sleep_us(2)\n trigger.high()\n utime.sleep_us(5)\n trigger.low()\n \n while echo.value() == 0:\n signaloff = utime.ticks_us()\n while echo.value() == 1:\n signalon = utime.ticks_us()\n timepassed = signalon - signaloff\n distance = (timepassed * 0.0343) / 2\n print("The distance from object is ",distance,"cm")\n \n distanceInInches = round(distance / 2'): ''). See Thonny's backend.log for more info. You may need to press "Stop/Restart" or hard-reset your MicroPython device and try again.

    Process ended with exit code 1.

    The BACKEND.log shows the following: 12:35:57.779 INFO thonny: Thonny version: 4.0.1 12:35:57.779 INFO thonny: cwd: / 12:35:57.779 INFO thonny: original argv: ['/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/Resources/Python.app/Contents/MacOS/Python', '-u', '-B', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/plugins/rp2040/rp2040_back.py', "{'clean': True, 'port': '/dev/cu.usbmodem14343401', 'dtr': None, 'rts': None, 'submit_mode': 'raw_paste', 'interrupt_on_connect': True, 'write_block_size': 64, 'write_block_delay': None, 'proxy_class': 'RaspberryPiPicoBackendProxy', 'sync_time': True, 'validate_time': False, 'local_rtc': True}"] 12:35:57.779 INFO thonny: sys.executable: /Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/bin/python3.10 12:35:57.779 INFO thonny: sys.argv: ['/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/plugins/rp2040/rp2040_back.py', "{'clean': True, 'port': '/dev/cu.usbmodem14343401', 'dtr': None, 'rts': None, 'submit_mode': 'raw_paste', 'interrupt_on_connect': True, 'write_block_size': 64, 'write_block_delay': None, 'proxy_class': 'RaspberryPiPicoBackendProxy', 'sync_time': True, 'validate_time': False, 'local_rtc': True}"] 12:35:57.779 INFO thonny: sys.path: ['/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/plugins/rp2040', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages'] 12:35:57.779 INFO thonny: sys.flags: sys.flags(debug=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=1, no_user_site=0, no_site=0, ignore_environment=0, verbose=0, bytes_warning=0, quiet=0, hash_randomization=1, isolated=0, dev_mode=False, utf8_mode=0, warn_default_encoding=0) 12:35:57.779 INFO thonny.plugins.micropython.bare_metal_backend: Starting backend, args: {'clean': True, 'port': '/dev/cu.usbmodem14343401', 'dtr': None, 'rts': None, 'submit_mode': 'raw_paste', 'interrupt_on_connect': True, 'write_block_size': 64, 'write_block_delay': None, 'proxy_class': 'RaspberryPiPicoBackendProxy', 'sync_time': True, 'validate_time': False, 'local_rtc': True} 12:35:57.784 INFO thonny.plugins.micropython.bare_metal_backend: Initial submit_mode: raw_paste, write_block_size: 64, write_block_delay: 0, read_block_size: 0 12:35:57.784 INFO thonny.plugins.micropython.mp_back: Initializing MicroPythonBackend of type RP2040Backend 12:35:57.784 INFO thonny: TIME/MODS 0.077 before prepare (+73 modules) 12:35:57.784 INFO thonny: NEW MODS ['future', '_bz2', '_compression', '_datetime', '_heapq', '_lzma', '_posixsubprocess', '_queue', '_struct', '_tkinter', 'array', 'binascii', 'bz2', 'datetime', 'encodings.ascii', 'errno', 'faulthandler', 'fcntl', 'fnmatch', 'gettext', 'heapq', 'lzma', 'math', 'ntpath', 'pathlib', 'platform', 'queue', 'select', 'selectors', 'serial', 'serial.serialposix', 'serial.serialutil', 'shlex', 'shutil', 'signal', 'struct', 'subprocess', 'termios', 'textwrap', 'thonny.backend', 'thonny.base_file_browser', 'thonny.codeview', 'thonny.config_ui', 'thonny.editors', 'thonny.languages', 'thonny.misc_utils', 'thonny.plugins', 'thonny.plugins.backend_config_page', 'thonny.plugins.micropython', 'thonny.plugins.micropython.bare_metal_backend', 'thonny.plugins.micropython.connection', 'thonny.plugins.micropython.mp_back', 'thonny.plugins.micropython.mp_common', 'thonny.plugins.micropython.mp_front', 'thonny.plugins.micropython.serial_connection', 'thonny.plugins.micropython.webrepl_connection', 'thonny.roughparse', 'thonny.running', 'thonny.tktextext', 'thonny.ui_utils', 'thonny.workdlg', 'tkinter', 'tkinter.commondialog', 'tkinter.constants', 'tkinter.dialog', 'tkinter.filedialog', 'tkinter.font', 'tkinter.messagebox', 'tkinter.simpledialog', 'tkinter.ttk', 'urllib', 'urllib.parse', 'zlib'] 12:35:57.785 INFO thonny.plugins.micropython.mp_back: Sending interrupt 12:35:57.785 INFO thonny.plugins.micropython.mp_back: Done sending interrupt 12:35:57.836 INFO thonny.plugins.micropython.bare_metal_backend: Poking 12:35:57.875 INFO thonny.plugins.micropython.bare_metal_backend: Discarding stdout: 'OK\r\n' 12:35:57.875 INFO thonny.plugins.micropython.bare_metal_backend: Discarding stdout: 'MPY: soft reboot\r\n' 12:35:57.890 INFO thonny.plugins.micropython.bare_metal_backend: Discarding stdout: '' 12:35:57.903 INFO thonny: TIME/MODS 0.119 got welcome 12:35:57.903 INFO thonny: TIME/MODS 0.000 bef preparing helpers 12:35:57.903 INFO thonny.plugins.micropython.mp_back: Preparing helpers 12:35:57.904 INFO thonny: TIME/MODS 0.001 befsubcode 12:35:57.905 INFO thonny.plugins.micropython.bare_metal_backend: Discarding stdout: '\r\n' 12:35:57.916 INFO thonny.plugins.micropython.bare_metal_backend: Discarding stdout: '' 12:35:57.954 INFO thonny: TIME/MODS 0.050 affsubcode 12:35:58.034 INFO thonny: TIME/MODS 0.080 affforw 12:35:58.034 INFO thonny: TIME/MODS 0.000 prepared helpers 12:35:58.034 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.036 INFO thonny: TIME/MODS 0.002 affsubcode 12:35:58.051 INFO thonny: TIME/MODS 0.015 affforw 12:35:58.051 INFO thonny: TIME/MODS 0.000 got cwd 12:35:58.051 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.054 INFO thonny: TIME/MODS 0.002 affsubcode 12:35:58.067 INFO thonny: TIME/MODS 0.013 affforw 12:35:58.067 INFO thonny: TIME/MODS 0.000 prepared 12:35:58.067 INFO thonny.plugins.micropython.mp_back: Prepared 12:35:58.067 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.069 INFO thonny: TIME/MODS 0.002 affsubcode 12:35:58.092 INFO thonny: TIME/MODS 0.022 affforw 12:35:58.092 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.099 INFO thonny: TIME/MODS 0.007 affsubcode 12:35:58.135 INFO thonny: TIME/MODS 0.036 affforw 12:35:58.135 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.146 INFO thonny: TIME/MODS 0.011 affsubcode 12:35:58.181 INFO thonny: TIME/MODS 0.035 affforw 12:35:58.181 INFO thonny.backend: Loading Jedi 12:35:58.181 INFO thonny: TIME/MODS 0.000 Before loading Jedi 12:35:58.181 INFO thonny.common: Using THONNY_FRONTEND_SYS_PATH ['/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages', '/Users/jonclayton/Library/Thonny/plugins/lib/python/site-packages'] 12:35:58.264 INFO thonny: TIME/MODS 0.083 After loading Jedi (+125 modules) 12:35:58.264 INFO thonny: NEW MODS ['_blake2', '_compat_pickle', '_json', '_md5', '_osx_support', '_pickle', '_sha1', '_sha256', '_sha3', '_sha512', '_sysconfigdata__darwin_darwin', 'difflib', 'filecmp', 'gc', 'hashlib', 'importlib._abc', 'importlib.util', 'jedi', 'jedi._compatibility', 'jedi.api', 'jedi.api.classes', 'jedi.api.completion', 'jedi.api.completion_cache', 'jedi.api.environment', 'jedi.api.errors', 'jedi.api.exceptions', 'jedi.api.file_name', 'jedi.api.helpers', 'jedi.api.interpreter', 'jedi.api.keywords', 'jedi.api.project', 'jedi.api.refactoring', 'jedi.api.refactoring.extract', 'jedi.api.strings', 'jedi.cache', 'jedi.common', 'jedi.debug', 'jedi.file_io', 'jedi.inference', 'jedi.inference.analysis', 'jedi.inference.arguments', 'jedi.inference.base_value', 'jedi.inference.cache', 'jedi.inference.compiled', 'jedi.inference.compiled.access', 'jedi.inference.compiled.getattr_static', 'jedi.inference.compiled.mixed', 'jedi.inference.compiled.subprocess', 'jedi.inference.compiled.subprocess.functions', 'jedi.inference.compiled.value', 'jedi.inference.context', 'jedi.inference.docstring_utils', 'jedi.inference.docstrings', 'jedi.inference.filters', 'jedi.inference.flow_analysis', 'jedi.inference.gradual', 'jedi.inference.gradual.annotation', 'jedi.inference.gradual.base', 'jedi.inference.gradual.conversion', 'jedi.inference.gradual.generics', 'jedi.inference.gradual.stub_value', 'jedi.inference.gradual.type_var', 'jedi.inference.gradual.typeshed', 'jedi.inference.gradual.typing', 'jedi.inference.gradual.utils', 'jedi.inference.helpers', 'jedi.inference.imports', 'jedi.inference.lazy_value', 'jedi.inference.names', 'jedi.inference.param', 'jedi.inference.parser_cache', 'jedi.inference.recursion', 'jedi.inference.references', 'jedi.inference.signature', 'jedi.inference.syntax_tree', 'jedi.inference.sys_path', 'jedi.inference.utils', 'jedi.inference.value', 'jedi.inference.value.decorator', 'jedi.inference.value.dynamic_arrays', 'jedi.inference.value.function', 'jedi.inference.value.instance', 'jedi.inference.value.iterable', 'jedi.inference.value.klass', 'jedi.inference.value.module', 'jedi.parser_utils', 'jedi.plugins', 'jedi.plugins.django', 'jedi.plugins.flask', 'jedi.plugins.pytest', 'jedi.plugins.registry', 'jedi.plugins.stdlib', 'jedi.settings', 'json', 'json.decoder', 'json.encoder', 'json.scanner', 'parso', 'parso._compatibility', 'parso.cache', 'parso.file_io', 'parso.grammar', 'parso.normalizer', 'parso.parser', 'parso.pgen2', 'parso.pgen2.generator', 'parso.pgen2.grammar_parser', 'parso.python', 'parso.python.diff', 'parso.python.errors', 'parso.python.parser', 'parso.python.pep8', 'parso.python.prefix', 'parso.python.token', 'parso.python.tokenize', 'parso.python.tree', 'parso.tree', 'parso.utils', 'pickle', 'pkgutil', 'pydoc', 'pydoc_data', 'pydoc_data.topics', 'sysconfig', 'zipfile'] 12:35:58.264 INFO thonny: TIME/MODS 0.000 sent ready 12:35:58.264 INFO thonny: TIME/MODS 0.000 Beginning of mainloop 12:35:58.264 INFO thonny: TIME/MODS 0.000 before get_dirs_children_info 12:35:58.265 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.278 INFO thonny: TIME/MODS 0.013 affsubcode 12:35:58.343 INFO thonny: TIME/MODS 0.065 affforw 12:35:58.344 INFO thonny: TIME/MODS 0.001 after get_dirs_children_info 12:35:58.355 INFO thonny: TIME/MODS 0.011 before get_globals 12:35:58.355 INFO thonny: TIME/MODS 0.000 befsubcode 12:35:58.365 INFO thonny: TIME/MODS 0.010 affsubcode 12:35:58.378 INFO thonny: TIME/MODS 0.013 affforw 12:35:58.378 INFO thonny: TIME/MODS 0.000 after get_globals 12:36:00.728 INFO thonny: TIME/MODS 2.350 before read_file 12:36:00.728 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:00.731 INFO thonny: TIME/MODS 0.003 affsubcode 12:36:00.749 INFO thonny: TIME/MODS 0.018 affforw 12:36:00.750 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:00.763 INFO thonny: TIME/MODS 0.014 affsubcode 12:36:00.774 INFO thonny: TIME/MODS 0.011 affforw 12:36:00.774 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:00.777 INFO thonny: TIME/MODS 0.002 affsubcode 12:36:00.794 INFO thonny: TIME/MODS 0.018 affforw 12:36:00.795 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:00.797 INFO thonny: TIME/MODS 0.002 affsubcode 12:36:00.811 INFO thonny: TIME/MODS 0.014 affforw 12:36:00.811 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:00.814 INFO thonny: TIME/MODS 0.003 affsubcode 12:36:00.827 INFO thonny: TIME/MODS 0.012 affforw 12:36:00.827 INFO thonny.plugins.micropython.bare_metal_backend: Read /sensor_loop_with_web.py in 0.1 seconds 12:36:00.827 INFO thonny: TIME/MODS 0.000 after read_file 12:36:01.226 INFO thonny: TIME/MODS 0.399 before highlight_occurrences 12:36:01.391 INFO thonny: TIME/MODS 0.165 after highlight_occurrences (+1 modules) 12:36:01.391 INFO thonny: NEW MODS ['thonny.jedi_utils'] 12:36:16.159 INFO thonny: TIME/MODS 14.769 before get_dirs_children_info 12:36:16.160 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:16.172 INFO thonny: TIME/MODS 0.013 affsubcode 12:36:16.236 INFO thonny: TIME/MODS 0.064 affforw 12:36:16.236 INFO thonny: TIME/MODS 0.000 after get_dirs_children_info 12:36:21.117 INFO thonny: TIME/MODS 4.881 before write_file 12:36:21.118 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:21.129 INFO thonny: TIME/MODS 0.011 affsubcode 12:36:21.164 INFO thonny: TIME/MODS 0.036 affforw 12:36:21.165 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:21.169 INFO thonny: TIME/MODS 0.005 affsubcode 12:36:21.187 INFO thonny: TIME/MODS 0.017 affforw 12:36:21.187 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:21.195 INFO thonny: TIME/MODS 0.008 affsubcode 12:36:21.207 INFO thonny: TIME/MODS 0.012 affforw 12:36:21.207 INFO thonny: TIME/MODS 0.000 befsubcode 12:36:21.218 INFO thonny: TIME/MODS 0.010 affsubcode 12:36:21.250 INFO thonny: TIME/MODS 0.033 affforw 12:36:21.251 ERROR thonny.backend: Exception while handling 'write_file' Traceback (most recent call last): File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/backend.py", line 282, in _handle_normal_command response = handler(cmd) File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/plugins/micropython/bare_metal_backend.py", line 1094, in _cmd_write_file return super(BareMetalMicroPythonBackend, self)._cmd_write_file(cmd) File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/backend.py", line 568, in _cmd_write_file self._write_file( File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/plugins/micropython/bare_metal_backend.py", line 1267, in _write_file self._write_file_via_serial(source_fp, target_path, file_size, callback) File "/Applications/Thonny.app/Contents/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/thonny/plugins/micropython/bare_metal_backend.py", line 1396, in _write_file_via_serial raise OSError("Could not complete file writing", script, out, err) OSError: [Errno Could not complete file writing] __W(b'from machine import Pin, WDT\nimport utime, time\nimport network, urequests\n\nwatch_dog = WDT(timeout = 8000)\nmin_dist = 5.0\ntarget_dist = 6.0\nmax_dist = 7.0\nlast_distance = 0\n\nbeeper = Pin(0, Pin.OUT) # GP0\ntrigger = Pin(22, Pin.OUT) # GP22\necho = Pin(7, Pin.IN) # GP 7\nled_target = Pin(3, Pin.OUT) # GP3\nled_too_far = Pin(4, Pin.OUT)# GP4\nled_too_close = Pin(5, Pin.OUT) # GP5\ntarget_set_button = Pin(6, Pin.IN, Pin.PULL_UP) # GP6\nonboard_led = Pin("LED", Pin.OUT) # onboard LED\nfileName = "dim_settings.txt"\non_target_beeps = 0\n\n\ndef measure_distance():\n global last_distance\n onboard_led.value(1)\n \n trigger.low()\n utime.sleep_us(2)\n trigger.high()\n utime.sleep_us(5)\n trigger.low()\n \n while echo.value() == 0:\n signaloff = utime.ticks_us()\n while echo.value() == 1:\n signalon = utime.ticks_us()\n timepassed = signalon - signaloff\n distance = (timepassed * 0.0343) / 2\n print("The distance from object is ",distance,"cm")\n \n distanceInInches = round(distance / 2'): ''

    opened by wasatchtechnology 0
  • String formatting in print() messes up syntax highlighting

    String formatting in print() messes up syntax highlighting

    Hello and thank you for the great app. I started learning python ~2 months ago and thonny has helped me a lot as a beginner.

    As mentioned in the title, when using the f" part inside print, thonny's syntax highlighting is messed, as seen here thonny Notice how everything inside the parentheses turns green as if it was just plain text, although it is not. The parts that are variables (katigoria, epityxies and kerdi above) should stay black because they are not text.

    For comparison, this is how the same part of the code looks in sublime (I have no idea why "kerdi" is in green instead of cyan). sublime

    Is it something I am missing or I have configured it wrong?

    opened by pitsi 0
  • Unable to open Thonny

    Unable to open Thonny

    Hello everyone. Time ago I installed Thonny, and for a while it ran smoothly. Then, one day, out of the blue, I was unable to start it up. All I got was the annoying message in the attached file. I have uninstalled and re-installed it countless times, but to no avail: the same [error 13 Permission denied] message keeps popping up. For a while I thought that there was some interference from other programs, such as IDLE, but the same thing kept going on whether IDLE was installed or not. Can someone please help?

    BTW, my operating system is Windows 10.

    Kindest regards

    Giorgio

    thonny

    opened by italiancroydoner 1
  • Problem with package installation

    Problem with package installation

    Hi, I am having a huge problem installing any package. Here is an example of an error when installing a package. No matter which one I choose, it's always the same.

    "Error Command ['/Users/mac/Library/Caches/pipkin/workspaces/d64e986491885065d1f585e6f96486a/bin/python3','-I' -m', 'pip', '-no-color', '-disable-pip-version-check', '-trusted-host', '127.0.0.1', 'install', -no-compile','--use-pep517', --upgrade-strategy' 'only-if-needed','Adafruit-Blinka',"

    MacOS Monterey Version 12.6.2, Thonny 4.0.1, Darwin 21.6.0 (64-bit), Python 3.10.6 (64 bit), Tk 8.6.12

    For the past two days I've been fiddling and figuring out what I can do.

    MicroPython package management 
    opened by Patrykchylinski 5
Releases(v4.0.1)
  • v4.0.1(Sep 11, 2022)

    🇺🇦 Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! 🇺🇦

    Installation instructions

    Windows

    Default Windows installer (thonny-4.0.1.exe) is now 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.0.1.exe which comes with 32-bit Python 3.8.

    NB! Windows installers have been signed with a new certificate which hasn't built up its reputation yet! You may need to click through your browser warnings (choose "Keep" instead of "Discard" in Chrome) and Windows Defender warning (More info => Run anyway).

    macOS

    thonny-4.0.1.pkg contains universal2 build of Python 3.10 -- this means it is suitable both for Arm (M1, M2) and Intel Macs.

    Linux

    thonny-4.0.1.bash is a script, which downloads and installs thonny-4.0.1-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).

    Changes since 4.0.0

    4.0.1 is mainly a bug-fix release.

    • Fix error when running script with closed Shell, #2412
    • Fix error with programs calling exit (more robust handing of closing the back-end process), #1786, #2433, #2423
    • Fix blank editor after switching tabs on macOS, #2425
    • Instruct saving the program before debugging, #2415
    • Fix find not highlighting selected result in block comments, #2407
    • Fix new file creation error, #2406
    • Fix Choice Dialog closing with ESC, #2406
    • Fix the error when invoking Python's help function, #2435
    • Fall back to killing current process when running and interrupt doesn't work, #2420
    • Don't close the backend process when interrupting at idle prompt, #2422
    • Fix Windows 11 version in About dialog, #2406
    • Fix outdated test, #2413
    • Make the Mac installer more compatible with Arm, #2409
    • Allow downloading latest unstable MicroPython builds, #2408
    • Allow new file command for remote file browser
    • Update Estonian, German and Chinese (TW) translations
    Source code(tar.gz)
    Source code(zip)
    thonny-4.0.1-windows-portable.zip(30.64 MB)
    thonny-4.0.1-x86_64.tar.gz(39.31 MB)
    thonny-4.0.1.bash(4.06 KB)
    thonny-4.0.1.exe(20.47 MB)
    thonny-4.0.1.pkg(47.25 MB)
    thonny-py38-4.0.1-windows-portable.zip(28.71 MB)
    thonny-py38-4.0.1.exe(18.99 MB)
    thonny-xxl-4.0.1.exe(71.20 MB)
  • v4.0.0(Aug 22, 2022)

    🇺🇦 Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! 🇺🇦

    Installation instructions

    Windows

    Default Windows installer (thonny-4.0.0.exe) is now 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.0.0.exe which comes with 32-bit Python 3.8.

    NB! Windows installers have been signed with a new certificate which hasn't built up its reputation yet! You may need to click through your browser warnings (choose "Keep" instead of "Discard" in Chrome) and Windows Defender warning (More info => Run anyway).

    macOS

    thonny-4.0.0.pkg contains universal2 build of Python 3.10 -- this means it is suitable both for Arm (M1, M2) and Intel Macs.

    Linux

    thonny-4.0.0.bash is a script, which downloads and installs thonny-4.0.0-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).

    Changes since 3.3.13

    Breaking changes

    • Drop support for Python 3.5, 3.6 and 3.7
    • Require single click for toggling a breakpoint, #2293
    • Clear Shell before starting new process (Run, Debug, Stop/Restart, ...) by default. Can be turned off in Tools => Options => Shell, #1681
    • 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), #2159
    • 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, #1736

    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, #1998
    • Turn off requesting completions with Tab in editors by default, #2069
    • 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, #2251
    • 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, 116aecd714d5e94a8ad6e244deac44aece5065eb
    • Present MicroPython time options (whether to sync time and whether to use local time) in back-end configuration page, #1638
    • Automatically interrupt current process when connecting to bare-metal MicroPython or CircuitPython device. This can be turned off at device's settings page, #2059
    • Don't hide the output when Stop/Restarting MicroPython, #1805
    • 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, #1799
    • Make MicroPython back-end advise Ctrl+C also if only whitespace characters get printed, #1755
    • Allow running MicroPython scripts without soft-rebooting first, #1565, #1716
    • Add generic "MicroPython (RP2040)" back-end in addition to the more specific "MicroPython (Raspberry Pi Pico)", #2151
    • Mention the possibility to reconfigure file types when denying opening remote files in a system app, #2148
    • Refactor MicroPython/CircuitPython flashing dialog, #2344
    • Add separate "Install ..." items to the back-end switcher menu if a device in UF2 bootloader mode is detected, #2387
    • Use "Install MicroPython" instead of "Install firmware", #2364
    • Take OSC commands into account when looking for prompts (relevant for CircuitPython 8), #2349
    • 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, #1760
    • Fix error with evaluating globals() on MicroPython device, #1938
    • Add MicrobitImage inspector for Object inspector

    Various enhancements

    • Add TODO view (by @kr-g), #2067
    • Add possibility to activate a virtual environment via Files view (by @kr-g), #2381
    • 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, #778
    • Make stacktrace links to <stdin> and <input> pseudo-files go to the editor containing corresponding source, #778
    • Ask confirmation for adding .py extension when the user saves the file without any extension to MicroPython/CircuitPython device, #2077
    • 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, #2001 by @kr-g
    • Make editor remember current line when reloading external changes, #2001 by @kr-g
    • Add "Edit => Go to line..." command (Ctrl-G), #2001 by @kr-g
    • Add "Rename" command for the local file browser, #2001 by @kr-g
    • Add nicer Stop-button for higher resolutions, #1445 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, #2038, #1651
    • Allow installing packages for remote CPython backend, #1319
    • 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, #2356
    • Use "vista" Tk-theme instead of "xpnative" in Windows. Gives nicer combobox, #1663
    • Automatically reload saved files after external modification (with help from @kr-g), #1589, #1455, #1968
    • Support OSC sequences for setting terminal title, #2369
    • Toggle hidden files also via file-browser's context menu, #1039
    • Seed find/replace with currently-selected text, #2356
    • Add coloring for match and case soft keywords, #2358
    • Add Slovenian translation (by cspaier)
    • Add "Assistant" help page explaining the possibility to omit selected Pylint checks, #1978
    • Add command "Run => Visualize current script at Python Tutor", #2242
    • 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, #2281
    • Warn when environment value is provided with quotes, #2184
    • Let macOS installer know the bundle is able to run in arm64 mode, #2201
    • Add Tamil translation, by Kamala Kannan K and அனிச்பிரபு தி, #2211
    • Add Thai translation, by Tomzt Pimai and Game of
    • Allow assigning Python coloring for Python-like files, #1927

    Various fixes

    • Fix issues with printouts containing more than 999 lines, #2118, #1646
    • Fall back to default theme when used 3rd party theme gets uninstalled, #2117
    • Fix problem with Files hamburger menu when nothing is selected, #2101
    • Fix Windows version detection in "Tools => Open system shell", #1961
    • Make sure Thonny's dialogs are treated as dialogs in macOS and Linux, #1790
    • 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, #1757
    • Fix asm_pio error when working in with RP-pico in shell mode, #1718
    • Fix the crash when scripts longer than 4KB are sent to Python 3 SSH back-end, #1680
    • Properly interrupt MicroPython code before submitting new code when using F5 while code is running, #1668
    • Fix problems with full screen and split screen views in macOS, #1293, #1012
    • Fix the crash when pasting certain Unicode chars to editor in macOS, #32
    • Fix the crash caused by Cmd-backtick and others with Spanish keyboard in macOS, #886
    • Fix focus issues in dialogs, #2153
    • Fix automatic horizontal scrollbar not always appearing, #2169 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, #2388
    • Don't choke on relative interpreter paths, #2335
    • Don't crash when Windows network locations can't be found, #2285
    • 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), #2359
    • Fix translations with bad placeholders (by @abrarwali), #2253
    • Fix debugger error when importing user modules (regression introduced in 4.0.0b1), #2246
    • Don't propose pythonw.exe as initial backend, #2236
    • Fix error when trying to open a file from file browser with ENTER, #1785
    • Fix support for remote Python 3 over SSH (regression introduced in one of the 4.0.0 betas), #2249
    • Avoid wobbling of AutomaticScrollbar, helpful report by @TooLazy0x00, #2258
    • Fix problem uninstalling MicroPython packages
    • Install packages without --user in portable mode, #1606
    • Fix the problem with scripts having declared encoding something else than UTF-8, #1650
    • Don't clear shell after automatic restart
    • Fixes certain problems with running Flask and multiprocessing programs, #2062
    • Fix KeyError: 'ESP32.url' when connecting to WebREPL, #2082 (regression introduced in b1)
    • Fix parameter completions where name of local variable was proposed with trailing '='
    • Fix error with printing (regression introduced in b1), #2233
    • Fix Find & replace dialog not appearing, #2208
    • Fix display of debugger frames (regression introduced in 4.0.0b1), #2216
    • Increase the initial top coordinate of Thonny's main window. Fixes problem of Thonny's title bar being hidden by the system menubar, #1925
    Source code(tar.gz)
    Source code(zip)
    thonny-4.0.0-windows-portable.zip(30.51 MB)
    thonny-4.0.0-x86_64.tar.gz(38.81 MB)
    thonny-4.0.0.bash(4.02 KB)
    thonny-4.0.0.exe(20.41 MB)
    thonny-4.0.0.pkg(44.32 MB)
    thonny-py38-4.0.0-windows-portable.zip(28.56 MB)
    thonny-py38-4.0.0.exe(18.92 MB)
    thonny-xxl-4.0.0.exe(71.33 MB)
  • v4.0.0b4(Aug 14, 2022)

    🇺🇦 Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! 🇺🇦

    NB! Windows installers have been signed with a new certificate which hasn't built up its reputation yet! You may need to click through your browser warnings (choose "Keep" instead of "Discard" in Chrome) and Windows Defender warning (More info => Run anyway).

    Changes and fixes since 4.0.0b3:

    • CHANGED: Require single click for toggling a breakpoint, #2293
    • Refactor MicroPython/CircuitPython flashing dialog, #2344
    • Add TODO view (by @kr-g), #2067
    • Add possibility to activate a virtual environment via Files view (by @kr-g), #2381
    • Add separate "Install ..." items to the back-end switcher menu if a device in UF2 bootloader mode is detected, #2387
    • Automatically reload saved files after external modification (with help from @kr-g), #1589, #1455, #1968
    • Add EV3 default password information to config page, #2284
    • Don't choke on relative interpreter paths, #2335
    • Don't crash when Windows network locations can't be found, #2285
    • Don't show package extra deps even when the extra is combined with another condition
    • Make paddings larger for hi-res displays
    • Take OSC commands into account when looking for prompts (relevant for CircuitPython 8), #2349
    • Support OSC sequences for setting terminal title, #2369
    • Toggle hidden files also via file-browser's context menu, #1039
    • Use "Install MicroPython" instead of "Install firmware", #2364
    • Rename "Python 3" back-end to "Local Python 3"
    • Seed find/replace with currently-selected text, #2356
    • Work around Pylint error (make Pylint work again), #2359
    • Add coloring for match and case soft keywords, #2358
    • Add Slovenian translation (by cspaier)
    • Update several translations
    • Fix translations with bad placeholders (by @abrarwali), #2253
    Source code(tar.gz)
    Source code(zip)
    thonny-4.0.0b4-windows-portable.zip(30.52 MB)
    thonny-4.0.0b4-x86_64.tar.gz(38.80 MB)
    thonny-4.0.0b4.bash(3.97 KB)
    thonny-4.0.0b4.exe(20.42 MB)
    thonny-4.0.0b4.pkg(44.30 MB)
    thonny-py38-4.0.0b4-windows-portable.zip(28.56 MB)
    thonny-py38-4.0.0b4.exe(18.92 MB)
  • v4.0.0b3(May 14, 2022)

    🇺🇦 Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! 🇺🇦

    Changes since 4.0.0b2:

    • BREAKING: 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), #2159
    • Add "Assistant" help page explaining the possibility to omit selected Pylint checks, #1978
    • Add command "Run => Visualize current script at Python Tutor", #2242
    • Fix debugger error when importing user modules (regression introduced in 4.0.0b1), #2246
    • 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.
    • Don't propose pythonw.exe as initial backend, #2236
    • Fix error when trying to open a file from file browser with ENTER, #1785
    • Fix support for remote Python 3 over SSH (regression introduced in one of the 4.0.0 betas), #2249
    • Support CircuitPython with micro:bit, #2251
    • Avoid wobbling of AutomaticScrollbar, helpful report by @TooLazy0x00, #2258
    • Fix problem uninstalling MicroPython packages
    • Install packages without --user in portable mode, #1606
    • Allow back-end plugins to modify sys.path, #2281
    • Use %run instead of %Run when skipping interpreter restart, #1565
    • Updated Estonian, Thai and Brazilian Portuguese translations
    • EXPERIMENTAL: Add LEGO® EV3 back-end: "Run => Select interpreter => MicroPython (EV3)"
    Source code(tar.gz)
    Source code(zip)
    thonny-4.0.0b3-windows-portable.zip(29.56 MB)
    thonny-4.0.0b3-x86_64.tar.gz(37.13 MB)
    thonny-4.0.0b3.bash(4.00 KB)
    thonny-4.0.0b3.exe(20.04 MB)
    thonny-4.0.0b3.pkg(41.08 MB)
    thonny-py38-4.0.0b3-windows-portable.zip(28.32 MB)
    thonny-py38-4.0.0b3.exe(18.81 MB)
  • v4.0.0b2(Apr 10, 2022)

    🇺🇦 Thonny 4 is dedicated to Ukraine fighting the invasion of Russian orcs. Please support Ukraine! 🇺🇦

    Known issues:

    • Windows bundle proposes pythonw.exe as default interpreter. This interpreter does not allow interrupting programs with Ctrl+C. It is recommend to switch to "Thonny's Python" from the lower-right corner of the main window.

    Changes since 4.0.0b1:

    • Add 32-bit bundle with Python 3.8 for Windows (the main Windows bundle is now 64-bit and contains Python 3.10, which doesn't support Windows 7)
    • Fix the problem with scripts having declared encoding something else than UTF-8, #1650
    • Don't clear shell after automatic restart
    • Fixes certain problems with running Flask programs, #2062
    • Fix KeyError: 'ESP32.url' when connecting to WebREPL, #2082 (regression introduced in b1)
    • Fix parameter completions where name of local variable was proposed with trailing '='
    • Fix error with printing (regression introduced in b1), #2233
    • Fix Find & replace dialog not appearing, #2208
    • Fix display of debugger frames (regression introduced in 4.0.0b1), #2216
    • Warn when environment value is provided with quotes, #2184
    • Let macOS installer know the bundle is able to run in arm64 mode, #2201
    • Update completion stubs for MicroPython and CircuitPython (from @hlovatt and @adafruit)
    • Add compatibility with Python 3.8 via Windows launcher, #2206
    • Disable "Run" command when MicroPython device is disconnected
    • 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, #1760
    • Fix error with evaluating globals() on MicroPython device, #1938
    • Add MicrobitImage inspector for Object inspector
    • Add Tamil translation, by Kamala Kannan K and அனிச்பிரபு தி, #2211
    • Add Thai translation, by Tomzt Pimai and Game of
    • Update translations for German, Spanish, Japanese, Slovak, Korean, Brazilian Portuguese, Albanian
    Source code(tar.gz)
    Source code(zip)
    thonny-32bit-py38-4.0.0b2.exe(18.58 MB)
    thonny-4.0.0b2-x86_64.tar.gz(36.70 MB)
    thonny-4.0.0b2.bash(4.00 KB)
    thonny-4.0.0b2.exe(19.69 MB)
    thonny-4.0.0b2.pkg(40.71 MB)
  • v4.0.0b1(Mar 21, 2022)

    🇺🇦 Thonny 4 is dedicated to Ukraine fighting against the invasion of ~~Russian army~~ Putin's terrorists. Please support Ukraine! 🇺🇦

    4.0.0b1 is a pre-release with several new features and bugfixes. Please test to find and report the remaining (and new) bugs!

    Known issues

    • At least on Windows, launching Thonny fails with Python 3.8. This will be fixed in the next beta (https://github.com/thonny/thonny/issues/2206)

    Changes since 3.3.13

    Distribution

    • Upgrade bundled Python to 3.10
    • Mac bundle now comes with the unversal2 build of Python
    • Drop support for Python 3.5, 3.6 and 3.7
    • 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.
    • 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, #1736

    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, #1998
    • Turn off requesting completions with Tab in editors by default, #2069
    • 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

    • 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, 116aecd714d5e94a8ad6e244deac44aece5065eb
    • Present MicroPython time options (whether to sync time and whether to use local time) in back-end configuration page, #1638
    • Automatically interrupt current process when connecting to bare-metal MicroPython or CircuitPython device. This can be turned off at device's settings page, #2059
    • Don't hide the output when Stop/Restarting MicroPython, #1805
    • 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, #1799
    • Make MicroPython back-end advise Ctrl+C also if only whitespace characters get printed, #1755
    • Allow running MicroPython scripts without soft-rebooting first, #1565, #1716
    • Add generic "MicroPython (RP2040)" back-end in addition to the more specific "MicroPython (Raspberry Pi Pico)", #2151
    • Mention the possibility to reconfigure file types when denying opening remote files in a system app, #2148

    Various

    • 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, #778
    • Clear Shell before starting new process (Run, Debug, Stop/Restart, ...) by default. Can be turned off in Tools => Options => Shell, #1681
    • Make stacktrace links to <stdin> and <input> pseudo-files go to the editor containing corresponding source, #778
    • Ask confirmation for adding .py extension when the user saves the file without any extension to MicroPython/CircuitPython device, #2077
    • 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, #2001 by @kr-g
    • Make editor remember current line when reloading external changes, #2001 by @kr-g
    • Add "Edit => Go to line..." command (Ctrl-G), #2001 by @kr-g
    • Add "Rename" command for the local file browser, #2001 by @kr-g
    • Add nicer Stop-button for higher resolutions, #1445 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, #2038, #1651
    • Allow installing packages for remote CPython backend, #1319
    • 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)

    Fixes

    • Fix issues with printouts containing more than 999 lines, #2118, #1646
    • Fall back to default theme when used 3rd party theme gets uninstalled, #2117
    • Fix problem with Files hamburger menu when nothing is selected, #2101
    • Fix Windows version detection in "Tools => Open system shell", #1961
    • Make sure Thonny's dialogs are treated as dialogs in macOS and Linux, #1790
    • 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, #1757
    • Fix asm_pio error when working in with RP-pico in shell mode, #1718
    • Fix the crash when scripts longer than 4KB are sent to Python 3 SSH back-end, #1680
    • Properly interrupt MicroPython code before submitting new code when using F5 while code is running, #1668
    • Use "vista" Tk-theme instead of "xpnative" in Windows. Gives nicer combobox, #1663
    • Fix problems with full screen and split screen views in macOS, #1293, #1012
    • Fix the crash when pasting certain Unicode chars to editor in macOS, #32
    • Fix the crash caused by Cmd-backtick and others with Spanish keyboard in macOS, #886
    • Fix focus issues in dialogs, #2153
    • Fix automatic horizontal scrollbar not always appearing, #2169 and #659 by @jharris1993 and @lurch
    • Forward SSH password to the back-end process via stdin instead of command line.
    Source code(tar.gz)
    Source code(zip)
    thonny-4.0.0b1-x86_64.tar.gz(35.67 MB)
    thonny-4.0.0b1.bash(3.92 KB)
    thonny-4.0.0b1.exe(18.81 MB)
    thonny-4.0.0b1.pkg(38.24 MB)
  • v3.3.14(Aug 1, 2021)

    Minor update.

    • Fix problems in org.thonny.Thonny.appdata.xml
    • Allow assigning Python coloring for Python-like files, #1927
    • Increase the initial top coordinate of Thonny's main window. Fixes problem of Thonny's title bar being hidden by the system menubar, #1925
    Source code(tar.gz)
    Source code(zip)
  • v3.3.13(Jul 25, 2021)

    Version 3.3.12 was a bug-fix release (not released on GitHub). Version 3.3.13 adds a small metadata update relevant (relevant only for Linux packagers).

    Installation

    • Windows: download and execute thonny-3.3.13.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway". NB! Windows installer has been refactored, see https://github.com/thonny/thonny/wiki/DeploymentOptions#all-users-vs-current-user-install for more info!
    • macOS: download and open thonny-3.3.13.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.13.pkg may work, but if you are having problems, then try thonny-3.3.10-alt.pkg from the previous release. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
    • Linux on 32-bit and 64-bit x84: download thonny-3.3.13.bash and execute it with Bash (bash thonny-3.3.13.bash).
    • All platforms: create a virtual environment, install with pip install thonny and run with thonny.

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.11

    • Restore syncing to localtime for RPi Pico (fixed regression introduced in 3.3.11), #1886
    • Fix installing from requirements.txt in MicroPython, #1879
    • Allow specifying different colors for method and function calls, by Jonathan Campbell, #1884
    • Extend editor API for plug-ins (close event and content load/save hooks), by Nicolas Despres, #1891
    • Fix technical errors in some translations, by Karolina Surma, #1895
    • Warn when inputting non-ascii chars in MicroPython, #1911
    • Fix installing for all users in Windows installer, #1119 and #1909. See https://github.com/thonny/thonny/wiki/DeploymentOptions#all-users-vs-current-user-install for more info.
    • Prepare Thonny for Flatpak, by Jordan Williams, #1900 and #1912
    • Update minipip to 0.1b5 in order to skip installing Blinka when installing libraries for CircuitPython
    • Update Polish translation
    • Update org.thonny.Thonny.appdata.xml
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.13-i686.tar.gz(28.92 MB)
    thonny-3.3.13-windows-portable.zip(25.66 MB)
    thonny-3.3.13-x86_64.tar.gz(31.82 MB)
    thonny-3.3.13.bash(763 bytes)
    thonny-3.3.13.exe(17.10 MB)
    thonny-3.3.13.pkg(24.40 MB)
    thonny-xxl-3.3.13-i686.tar.gz(109.41 MB)
    thonny-xxl-3.3.13-x86_64.tar.gz(118.73 MB)
    thonny-xxl-3.3.13.bash(767 bytes)
    thonny-xxl-3.3.13.exe(57.45 MB)
    thonny-xxl-3.3.13.pkg(104.63 MB)
  • v3.3.11(Jun 25, 2021)

    This is a bug-fix release.

    Installation

    • Windows: download and execute thonny-3.3.11.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.11.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.11.pkg may work, but if you are having problems, then try thonny-3.3.10-alt.pkg from the previous release. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
    • Linux on 32-bit and 64-bit x84: download thonny-3.3.11.bash and execute it with Bash (bash thonny-3.3.11.bash).
    • All platforms: create a virtual environment, install with pip install thonny and run with thonny.

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.10:

    • Fix MicroPython management errors when user code shadows built-in names, #1856
    • Fix package manager getting frozen when installing packages, #1871
    • Fix problem of MicroPython package manager taking module names for distribution names, #1833
    • Fix ugly error in ESP flasher dialog when esptool is not found, #1837
    • Fix Tkinter error when using venv created from bundled Python, #1835
    • Use 0..6 for weekday when synchronizing RTC via machine, #1868
    • Make esptool auto-detect chip type, #1838
    • Fix Unix MicroPython time validation (misdiagnosed time offset)
    • Update dependencies in Thonny+Python bundles
    • Update Spanish, Polish, Chinese (TW) translations
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.11-i686.tar.gz(28.89 MB)
    thonny-3.3.11-windows-portable.zip(25.63 MB)
    thonny-3.3.11-x86_64.tar.gz(31.79 MB)
    thonny-3.3.11.bash(763 bytes)
    thonny-3.3.11.exe(17.03 MB)
    thonny-3.3.11.pkg(24.38 MB)
    thonny-xxl-3.3.11-i686.tar.gz(109.30 MB)
    thonny-xxl-3.3.11-x86_64.tar.gz(118.64 MB)
    thonny-xxl-3.3.11.bash(767 bytes)
    thonny-xxl-3.3.11.exe(57.33 MB)
    thonny-xxl-3.3.11.pkg(104.51 MB)
  • v3.3.10(May 18, 2021)

    This is mainly a bug-fix release with one new feature -- the ability to install pip-compatible packages for MicroPython.

    Note that 3.3.8 and 3.3.9 were not published on GitHub.

    Installation

    • Windows: download and execute thonny-3.3.10.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.10.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.10.pkg may work, but if you are having problems, then try thonny-3.3.10-alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
    • Linux on 32-bit and 64-bit x84: download thonny-3.3.10.bash and execute it with Bash (bash thonny-3.3.10.bash). UPDATE: pip support in Linux bundles was fixed on May 20th. If you downloaded it before this, then please download again!
    • All platforms: create a virtual environment, install with pip install thonny and run with thonny.

    thonny-xxl variants have more packages preinstalled.

    alt-variants are bundled with Python 3.9.5 (instead of 3.7.9) and Tk 8.6.11. Not all platforms have alt-variants -- see 3.3.7 for more.

    Known issues

    • Installing MicroPython packages from requirements files doesn't work (#1823).

    Changes since 3.3.7:

    • Support installing regular pip-compatible packages to MicroPython or CircuitPython (so far only upip-compatible packages were supported), #1541
    • Fix "error 403" problems when installing MicroPython packages from PyPI, #1822
    • Fix error when Object inspector is open and a MicroPython object can't be found by id, #1796
    • Reduce memory usage by Thonny's MicroPython helper (store last REPL value in global _ instead of storing N last values in a list), #1797, #1798
    • Upgraded several dependencies in binary bundles
    • Fix missing libffi6 error in Linux builds, #767
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.10-alt.pkg(33.90 MB)
    thonny-3.3.10-i686.tar.gz(29.01 MB)
    thonny-3.3.10-windows-portable.zip(25.97 MB)
    thonny-3.3.10-x86_64.tar.gz(31.91 MB)
    thonny-3.3.10.bash(763 bytes)
    thonny-3.3.10.exe(17.04 MB)
    thonny-3.3.10.pkg(24.53 MB)
    thonny-xxl-3.3.10-i686.tar.gz(106.52 MB)
    thonny-xxl-3.3.10-x86_64.tar.gz(115.71 MB)
    thonny-xxl-3.3.10.bash(767 bytes)
    thonny-xxl-3.3.10.exe(56.26 MB)
    thonny-xxl-3.3.10.pkg(101.34 MB)
  • v3.3.7(Apr 30, 2021)

    This is mainly a bug-fix release.

    Installation

    • Windows: download and execute thonny-3.3.7.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.7.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.7.pkg may work, but if you are having problems, then try thonny-3.3.7-alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
    • Linux: download thonny-3.3.7.bash and execute it with Bash (bash thonny-3.3.7.bash)

    thonny-xxl variants have more packages preinstalled.

    alt-variants are bundled with Python 3.9.5 (instead of 3.7.9) and Tk 8.6.11. Note that alt Windows installer is 64-bit.

    thonny-3.3.7-py38.exe is with Python 3.8 (latest Python version supporting Windows 7 and 8).

    Changes since 3.3.6:

    • Make confugration dialog larger to fit French strings, by sourceperl, #1694
    • Fix "_prepare_after_soft_reboot" error in Unix MicroPython mode, #1715
    • Support interactive programs with Unix MicroPython, #1725
    • Fix read-only filesystem error for CircuitPython in non-English variants of CircuitPython, #1662
    • Fix error on right clicking in local file explorer with Italian translation, #1713
    • Fix back-end switcher menu position and theme, #1719, #1720
    • Fix "pop from empty list" error when MicroPython is having problems, #1586
    • Fix MYPYPATH / MyPy not working, #1124
    • Highlight unclosed strings even inside unclosed parens, #1770
    • Fix problem running code via WebREPL, #1762
    • Make Outline show also async, defs #1787
    • Don't show full error info when ManagementError doesn't seem to be Thonny's fault, #1788
    • Don't show error dialog when querying globals fails (error is shown on the variables table instead), #1789
    • Recover from corrupted rpc.sock ("invalid literal for int() with base 10" error), #1745
    • Add 3 translated Help files for Spanish, by José Carlos García, #1759
    • Add Korean translations of Help files, by Hyungseok Choi, #1758
    • Add first version of Finnish translation by Lrasinen
    • Update translations for Albanian, French, Korean
    • Add newer MyPy (0.812) to binary bundles
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.7-alt.exe(18.93 MB)
    thonny-3.3.7-alt.pkg(33.90 MB)
    thonny-3.3.7-armv7l-alt.tar.gz(32.77 MB)
    thonny-3.3.7-i686-alt.tar.gz(31.31 MB)
    thonny-3.3.7-i686.tar.gz(28.96 MB)
    thonny-3.3.7-py38.exe(17.88 MB)
    thonny-3.3.7-windows-portable.zip(25.89 MB)
    thonny-3.3.7-x86_64-alt.tar.gz(34.31 MB)
    thonny-3.3.7-x86_64.tar.gz(31.84 MB)
    thonny-3.3.7.bash(762 bytes)
    thonny-3.3.7.exe(17.00 MB)
    thonny-3.3.7.pkg(24.46 MB)
    thonny-xxl-3.3.7-i686.tar.gz(105.47 MB)
    thonny-xxl-3.3.7-x86_64.tar.gz(114.84 MB)
    thonny-xxl-3.3.7.bash(766 bytes)
    thonny-xxl-3.3.7.exe(56.20 MB)
    thonny-xxl-3.3.7.pkg(101.33 MB)
  • v3.3.6(Mar 6, 2021)

    The main purpose of this release is to fix a regression introduced in 3.3.4 (#1670).

    Installation

    • Windows: download and execute thonny-3.3.6.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.6.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.6.pkg may work, but if you are having problems, then try thonny-3.3.6_alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
    • Linux: download thonny-3.3.6.bash and execute it with Bash (bash thonny-3.3.6.bash)

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.5:

    • Fix crash in Shell when negative int-s are evaluated in MicroPython (regression introduced in 3.3.4), #1670
    • Fix problems with wm_overrideredirect on macOS with Tk 8.6.11, #1659
    • Fix crash in Plotter when more than 10 numbers are plotted, #1648
    • Hide unsuitable PYTHONPATH environment variable in macOS, #1651
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.6-i686.tar.gz(28.86 MB)
    thonny-3.3.6-windows-portable.zip(25.74 MB)
    thonny-3.3.6-x86_64.tar.gz(31.72 MB)
    thonny-3.3.6.bash(762 bytes)
    thonny-3.3.6.exe(16.80 MB)
    thonny-3.3.6.pkg(24.35 MB)
    thonny-3.3.6_alt.pkg(31.53 MB)
    thonny-xxl-3.3.6-i686.tar.gz(105.02 MB)
    thonny-xxl-3.3.6-x86_64.tar.gz(114.35 MB)
    thonny-xxl-3.3.6.bash(766 bytes)
    thonny-xxl-3.3.6.exe(55.82 MB)
    thonny-xxl-3.3.6.pkg(100.89 MB)
  • v3.3.5(Feb 22, 2021)

    The main purpose of this release is to fix a regression introduced in 3.3.4 (#1627).

    Installation

    • Windows: download and execute thonny-3.3.5.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.5.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.5.pkg may work, but if you are having problems, then try thonny-3.3.5_alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
    • Linux: download thonny-3.3.5.bash and execute it with Bash (bash thonny-3.3.5.bash)

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.4:

    • Fix too short reprs at MicroPython REPL (regression introduced in 3.3.4), #1627
    • Fix incorrect presentation of long output lines, #1628
    • Fix error in nicer debugger when stepping in generators, #1631
    • Fix infinite recursion error when evaluating globals() in MicroPython REPL while object inspector is open, #1641
    • Update Greek translation
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.5-i686.tar.gz(28.86 MB)
    thonny-3.3.5-windows-portable.zip(25.74 MB)
    thonny-3.3.5-x86_64.tar.gz(31.72 MB)
    thonny-3.3.5-x86_64_py3.9.tar.gz(34.04 MB)
    thonny-3.3.5.bash(762 bytes)
    thonny-3.3.5.exe(16.80 MB)
    thonny-3.3.5.pkg(24.34 MB)
    thonny-3.3.5_alt.pkg(31.46 MB)
    thonny-xxl-3.3.5-i686.tar.gz(105.01 MB)
    thonny-xxl-3.3.5-x86_64.tar.gz(114.35 MB)
    thonny-xxl-3.3.5.bash(766 bytes)
    thonny-xxl-3.3.5.exe(55.83 MB)
    thonny-xxl-3.3.5.pkg(100.88 MB)
  • v3.3.4(Feb 17, 2021)

    This is mostly a bug-fix release.

    Installation

    • Windows: download and execute thonny-3.3.4.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.4.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.4.pkg may work, but if you are having problems, then try thonny-3.3.1_alt.pkg from a previous release instead. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.10 instead of 8.6.8).
    • Linux: download thonny-3.3.4.bash and execute it with Bash (bash thonny-3.3.4.bash)

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.3:

    • CHANGED: MicroPython time synchronization now sets RTC to local time instead of UTC. This can be changed via a hidden configuration option (https://github.com/thonny/thonny/wiki/MicroPython#advanced-configuration), #1603
    • Add time synchronization for RaspberryPi Pico, #1563, #1592
    • Skip loading obsolete thonny-pico plug-in, which is now built in, #1575
    • Get rid of misleading SSL warning in micropip.py and show a warning about non-MicroPython packages, #1621
    • Fix WebREPL connection for MicroPython 1.14 by using regular paste mode instead of the new raw-paste mode, #1613
    • Delay importing jedi and asttokens for improved performance, #1556
    • Don't assume "dialout" group is required when MicroPython connection fails with permission error, #1286
    • Reduce the memory usage of showing global variables by capping object representations to 50 first characters in MicroPython, #1582
    • Add Hungarian translation (by Laszlo Kocsis)
    • Updated translations for German, Korean, Italian, Dutch (by various authors)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.4-i686.tar.gz(28.85 MB)
    thonny-3.3.4-windows-portable.zip(25.74 MB)
    thonny-3.3.4-x86_64.tar.gz(31.72 MB)
    thonny-3.3.4.bash(762 bytes)
    thonny-3.3.4.exe(16.80 MB)
    thonny-3.3.4.pkg(24.35 MB)
    thonny-xxl-3.3.4-i686.tar.gz(105.02 MB)
    thonny-xxl-3.3.4-x86_64.tar.gz(114.35 MB)
    thonny-xxl-3.3.4.bash(766 bytes)
    thonny-xxl-3.3.4.exe(55.83 MB)
    thonny-xxl-3.3.4.pkg(100.87 MB)
  • v3.3.3(Jan 21, 2021)

    This release adds support for MicroPython on the new Raspberry Pi Pico (https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale) and fixes some bugs.

    I can now finally say, that all the work on Thonny's MicroPython support since early betas of 3.3 was supported by Raspberry Pi Foundation. Many thanks to them!

    Installation

    • Windows: download and execute thonny-3.3.3.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.3.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.3.pkg may work, but if you are having problems, then try thonny-3.3.1_alt.pkg from a previous release instead. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.10 instead of 8.6.8).
    • Linux: download thonny-3.3.3.bash and execute it with Bash (bash thonny-3.3.3.bash)

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.2:

    • Add MicroPython support for Raspberry Pi Pico (https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/)
    • Better support for MicroPython daily builds, #1545, #1553
    • Automatically prepend relevant Anaconda directories to PATH. Fixes problem with importing Anaconda's numpy, #1522
    • Make custom Python chooser see more interpreters, #1522
    • Fix several spelling mistakes, by freddii, #1534
    • Update toolbar buttons, when another editor gets selected, fixes wrong button states, #1536
    • Catch errors when opening file in system app, #1526
    • Fix internal error while using Outline View, #1543
    • Fix truncated System Shell environment on macOS, #1529
    • Add /usr/local/bin to the PATH of the back-end process if missing, #1131
    • Fix error while parsing Pygame Zero error, #1535
    • Fix MicroPython completion errors with jedi 0.18, #1560
    • Add incomplete Korean language by Augene J. Pak, Fabianus.c, Suk-Hyung Hwang, YEON, $1531
    • Add incomplete Albanian translation by Algent Albrahimi
    • [Technical] Allow older Send2Trash (Fedora doesn't have version 1.5 of this)
    • [Technical] Remove erroneous executable flags from some files
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.3-i686.tar.gz(28.81 MB)
    thonny-3.3.3-windows-portable.zip(25.61 MB)
    thonny-3.3.3-x86_64.tar.gz(31.15 MB)
    thonny-3.3.3.bash(762 bytes)
    thonny-3.3.3.exe(16.72 MB)
    thonny-3.3.3.pkg(24.12 MB)
    thonny-xxl-3.3.3-i686.tar.gz(105.03 MB)
    thonny-xxl-3.3.3-x86_64.tar.gz(113.83 MB)
    thonny-xxl-3.3.3.bash(766 bytes)
    thonny-xxl-3.3.3.exe(55.73 MB)
    thonny-xxl-3.3.3.pkg(100.65 MB)
  • v3.3.2(Jan 6, 2021)

    This is mostly a bug-fix release.

    Installation

    • Windows: download and execute thonny-3.3.2.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.2.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.2.pkg may work, but if you are having problems, then try thonny-3.3.1_alt.pkg from previous release instead. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.10 instead of 8.6.8).
    • Linux: download thonny-3.3.2.bash and execute it with Bash (bash thonny-3.3.2.bash)

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.1:

    • Fix the problem of missing docstrings, #1481
    • Fix MicroPython management error after executing machine.reset(), #1492
    • Add support for MicroPython raw paste mode (usable in MicroPython 1.14+), #1498
    • Restore MicroPython raw mode as fallback, should fix problems with M5Stick and W600, #1516
    • Add syntax highlighting for non-decimal number literals and support underscores, #1482 by Stefan Rothe
    • Make sure all output from the program gets presented, #1504
    • Interrupt current program when running a MicroPython script, #1512
    • Add support for Jedi 0.18, #1497
    • Fix arguments completions for jedi 0.16+, #1511
    • Make micro:bit support a bit more robust, #1515
    • Add Persian (Farsi) translation by Farshid Meidani
    • Add Slovak translation by jose1711
    • Add Armenian translation by Avag. sayan
    • Update Italian and Chinese (TW) translations
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.2-i686.tar.gz(28.79 MB)
    thonny-3.3.2-windows-portable.zip(25.58 MB)
    thonny-3.3.2-x86_64.tar.gz(31.12 MB)
    thonny-3.3.2.bash(762 bytes)
    thonny-3.3.2.exe(16.71 MB)
    thonny-3.3.2.pkg(24.09 MB)
    thonny-xxl-3.3.2-i686.tar.gz(105.00 MB)
    thonny-xxl-3.3.2-x86_64.tar.gz(113.80 MB)
    thonny-xxl-3.3.2.bash(766 bytes)
    thonny-xxl-3.3.2.exe(55.73 MB)
    thonny-xxl-3.3.2.pkg(100.63 MB)
  • v3.3.1(Dec 6, 2020)

    This is a bug-fix release.

    Installation

    • Windows: download and execute thonny-3.3.1.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
    • macOS: download and open thonny-3.3.1.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • macOS Big Sur: thonny-3.3.1.pkg may work, but if you are having problems, then try thonny-3.3.1_alt.pkg instead. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.10 instead of 8.6.8).
    • Linux: download thonny-3.3.1.bash and execute it with Bash (bash thonny-3.3.1.bash)

    thonny-xxl variants have more packages preinstalled.

    Changes since 3.3.0:

    • Support BBC micro:bit v2, #1449
    • Fix problem with MicroPython programs creating lot of output very quickly, #1419
    • Fix wrong message when saving to MP and device is busy, #1437
    • Bump Pyserial version from 3.5b1 to 3.5, fix problem with some ESP devices, #1443
    • Fix error when trying to download file from microbit, #1440
    • Don't assume anything about conf files in Pi theme, #1436
    • Fix error on reseting MicroPython device, #1442
    • Fix unwanted output from expession statements in MicroPython, #1441
    • Treat double-click in the remote file dialog differently from double-click in the Files view, #1432
    • Fix error when closing MP file dialog without name, #1431
    • Refactor "File => Rename" command (new label "Move / rename" and you can't "rename" a file on MP device to a file on local disc and vice versa), #1446
    • Fix broken links in help pages, #1447
    • Use THONNY_USER_DIR/temp for temp files. Fixes printing when default browser is Snap Chrome, #1435
    • Fix error when clicking on "Attributes" tab on Object Inspector when no object is selected (MP) #1450
    • Updated translations (Spanish an Brasilian Portuguese)
    • Allow specifying DTR/RTS for serial connection (to avoid restarting ESP on connect), #1462
    • Open log window automatically if work dialog encounters error, #1466
    • Don't close work dialog automatically if log window is opened, #1465
    • Fix dummy MicroPython packages giving ugly errors, #1464
    • Fix crashes in Assistant view with Dracula theme, #1463
    • Work around Caps lock problem when binding command shortcuts, #1347
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.1-i686.tar.gz(28.70 MB)
    thonny-3.3.1-windows-portable.zip(25.51 MB)
    thonny-3.3.1-x86_64.tar.gz(31.03 MB)
    thonny-3.3.1.bash(762 bytes)
    thonny-3.3.1.exe(16.68 MB)
    thonny-3.3.1.pkg(24.01 MB)
    thonny-3.3.1_alt.pkg(30.96 MB)
    thonny-xxl-3.3.1-i686.tar.gz(104.58 MB)
    thonny-xxl-3.3.1-x86_64.tar.gz(113.29 MB)
    thonny-xxl-3.3.1.bash(766 bytes)
    thonny-xxl-3.3.1.exe(55.48 MB)
    thonny-xxl-3.3.1.pkg(100.20 MB)
  • v3.3.0(Nov 15, 2020)

    Highlights

    • More stable MicroPython support
    • Possibility to run code and manage files on a remote machine over SSH (both for CPython and MicroPython)
    • Interpreter switcher in the lower-right corner of the window

    Installation

    NB! Windows installer is signed with new identity and you may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".

    • Windows: download and execute thonny-3.3.0.exe
    • macOs: download and open thonny-3.3.0.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • Linux: download thonny-3.3.0.bash and execute it with Bash (bash thonny-3.3.0.bash)

    All changes since 3.2.7

    New

    • Back-end for remote Python over SSH (try editing and running remote and local scripts and upload/download in the file browser; package manager, system shell, and debuggers don't work yet)
    • Back-end for remote Unix MicroPython over SSH
    • Back-end for local Unix MicroPython
    • Package manager for MicroPython (using micropip.py by Peter Hinch), #1299, see https://forum.micropython.org/viewtopic.php?f=15&t=8787&start=14
    • Support Object inspector with MicroPython back-ends, #1309
    • Thonny now synchronizes real-time clock of MicroPython devices on connect and before each file operation, #1004
    • Allow editing any file as plain text, #1305
    • File browser now allows setting default action by extension (open in system default app or in Thonny's editor), #1305
    • ESP flash dialog now allows selecting flash mode, #1056 by Rune Langøy
    • "Save all" command, #1053 by Syed Nasim
    • Clicking on a value in the Shell selects it and opens in the Object inspector.
    • By default, after evaluating an expression in the Shell the value will be automatically shown in the Object inspector (if open). See Options => Shell to turn it off.
    • Object inspector now display more information about numbers (try 1024 or 0.1), #1230
    • Support evaluating several expressions at once in the Shell (just like official Python REPL), #795
    • Include esptool in binary bundles
    • Statusbar with backend switcher, #1356
    • Firmware flasher for CircuitPython, #1375, #1351
    • Add command to filebrowser menu for toggling hidden files, #1292

    Changed

    • Package manager now searches PyPI instead of requiring exact package name, #1300
    • File browser now shows remote files below local files. This way local pane won't jump around when switching between local and remote back-ends.
    • Stop/Restart command now soft-reboots MicroPython device after reaching the prompt
    • Versions of serveral dependencies were updated
    • Refactor alternative interpreter configuration page, #1079
    • Add default black fg color to tooltips, #1381, by adzierzanowski
    • Use paste-mode instead of raw repl for executing code on MP devices, #1386
    • Use WebREPL file protocol for uploading files, #1387
    • Hide underscored names from autocomplete suggestions unless user already typed '_', #1382, by adzierzanowski
    • Updated firmware flasher for micro:bit, #1351
    • Color self and cls like builtins, #1080
    • Soft-reboot MicroPython before "Run current script", #1393
    • Enhance upload/download dialogs, #1395
    • Make "Open System shell" open ssh with remote back-ends
    • Make "Open System shell" open miniterm with MicroPython back-ends, #1287
    • Removed automatic tabs => spaces conversion and its confirmation dialog, #599
    • Added command for replacing tabs with spaces, #1411
    • Added option for highlighting tabs (Tools => Options => Editor), #1409
    • Added option for indenting with tabs (Tools => Options => Editor), #599
    • Add an option to use Tk file dialogs instead of Zenity in Linux, #1404
    • Reduce max repr length for MicroPython (1000 instead of 5000)
    • Forward https_proxy or http_proxy variable to pip, #535
    • Allow specifying environment variables for the UI process, #1421
    • Remove special support for Friendly-traceback, #1416
    • Use exclusive access when connecting to a MP device over a serial port, #1418

    Fixed

    • Several intermittent bugs related to fragility of the communication with MicroPython REPL, #1103, #1147
    • #1138: Allow semicolon in Shell input with Python 3.8
    • #1129: Support terminator as system shell
    • #772: Allow invoking interrupt command from the menu when the editor has text selected (Ctrl+C would copy then)
    • #1146, #1159: "No module named pwd" error
    • #1283: Disable save button after save
    • Make Replayer work with timestamps without fractional part, #1116
    • Don't raise exception when hitting end of undo/redo stack, #1211 by Andrew Scheller
    • Fix a typo in the code to display dialog. (#1260 by Ankith)
    • Don't choke when MP management output is wrapped between user input, #1346
    • Include ampersand in URL regex in the Shell, #1323
    • Dialogs may end up behind the main window, #1158, #1133
    • Augment LD_LIBRARY_PATH instead of replacing it, #1008
    • Fix "Install from requirements.txt" error, #1344
    • File dialog should scroll to top when new folder gets selected, #1345
    • Improve MicroPython file write reliability, #1355
    • Fix CircuitPython directory creation
    • Allow selecting venv 'activate' instead of interpreter symlink in the interpreter configuration page, #1079
    • Fix Unconnected network drive shorcuts make Files explorer broken #1333
    • Don't allow save as a file which is already opened, #1310
    • Fix error in clearing squeezed boxes, #1091
    • Fix interrupt for download, #1320
    • Make sure expression box for while/for test is located properly, #1134
    • In MicroPython backends only warn about failed epoch dectection if sync or validation is required
    • Don't show ugly traceback in debug mode
    • Internal error while debugging exceptions, #1403
    • Automatically create Thonny user dir in remote machine, #1365
    • Fix MicroPython uploading/downloading when started from an expanded dir, #1398
    • Fix unrensponsive UI when MicroPython is printing in infinite loop, #1419
    • Fix ugly stacktrace, when MicroPython device is disconnected during processing a command, #1420

    Enhanced

    • Convert keypad movement events to equivalent non-keypad ones, #1107 by Eliot Blennerhassett
    • Start file-open-dialog in same dir as current file, #1209 by Andrew Scheller
    • Bash install - do everything inside a new directory (#1203 by Andrew Scheller)
    • #1145: Provide understandable error message, when Linux installer downloader is run on a non-supported platform (by Andrew Scheller)

    New and updated translations

    • Czech by Petr. moses and Radim
    • Romanian by Pop Vasile Alexandru
    • Norwegian (Bokmål and Nynorsk) by Gabriel Slørdahl
    • Updated Portuguese (BR) by Marcelo de Gomensoro Malheiros
    • Updated French, Polish, Greek, Spanish, Italian
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.0-i686.tar.gz(28.70 MB)
    thonny-3.3.0-windows-portable.zip(25.50 MB)
    thonny-3.3.0-x86_64.tar.gz(31.03 MB)
    thonny-3.3.0.bash(762 bytes)
    thonny-3.3.0.exe(16.68 MB)
    thonny-3.3.0.pkg(24.02 MB)
    thonny-xxl-3.3.0-i686.tar.gz(104.60 MB)
    thonny-xxl-3.3.0-x86_64.tar.gz(113.32 MB)
    thonny-xxl-3.3.0.bash(766 bytes)
    thonny-xxl-3.3.0.exe(55.50 MB)
    thonny-xxl-3.3.0.pkg(100.23 MB)
  • v3.3.0b7(Nov 2, 2020)

    This will be probably the last beta before stable 3.3.

    Changes since b2:

    • Add default black fg color to tooltips, #1381, by adzierzanowski
    • Use paste-mode instead of raw repl for executing code on MP devices, #1386
    • Use WebREPL file protocol for uploading files, #1387
    • Hide underscored names from autocomplete suggestions unless user already typed '_', #1382, by adzierzanowski
    • Add command to filebrowser menu for toggling hidden files, #1292
    • Fix Unconnected network drive shorcuts make Files explorer broken #1333
    • Don't allow save as a file which is already opened, #1310
    • Color self and cls like builtins, #1080
    • Soft-reboot MicroPython before "Run current script", #1393
    • Fix error in clearing squeezed boxes, #1091
    • Enhance upload/download dialogs, #1395
    • Make "Open System shell" open ssh with remote back-ends
    • Make "Open System shell" open miniterm with MicroPython back-ends, #1287
    • Better interrupt for download, #1320
    • Fixed a regression introduced in b4 -- Thonny crashed on launch when data directory didn't exist yet.
    • Statusbar with backend switcher, #1356
    • Firmware flasher for CircuitPython, #1375, #1351
    • Updated firmware flasher for micro:bit, #1351
    • Refactor alternative interpreter configuration page, #1079
    • Don't choke when MP management output is wrapped between user input, #1346
    • Include ampersand in URL regex in the Shell, #1323
    • Dialogs may end up behind the main window, #1158, #1133
    • Augment LD_LIBRARY_PATH instead of replacing it, #1008
    • Fix "Install from requirements.txt" error, #1344
    • File dialog should scroll to top when new folder gets selected, #1345
    • Improve MicroPython file write reliability, #1355
    • Fix CircuitPython directory creation
    • Allow selecting venv 'activate' instead of interpreter symlink in the interpreter configuration page, #1079
    • Improve diagnostic logging, #569
    • Stop/Restart command now soft-reboots MicroPython device after reaching the prompt
    • Fixed problem with saving SSH password
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.0b7-i686.tar.gz(28.48 MB)
    thonny-3.3.0b7-windows-portable.zip(25.26 MB)
    thonny-3.3.0b7-x86_64.tar.gz(30.81 MB)
    thonny-3.3.0b7.bash(764 bytes)
    thonny-3.3.0b7.exe(16.56 MB)
    thonny-3.3.0b7.pkg(23.78 MB)
  • v3.3.0b2(Sep 3, 2020)

    Version 3.3 is mostly about more comfortable and more robust support for MicroPython. Another highlight: possibility for running your programs in another computer via SSH.

    All new features, fixes and changes:

    New

    • Back-end for remote Python over SSH (try editing and running remote and local scripts and upload/download in the file browser; package manager, system shell, and debuggers don't work yet)
    • Back-end for remote Unix MicroPython over SSH
    • Back-end for local Unix MicroPython
    • Package manager for MicroPython (using micropip.py by Peter Hinch), #1299, see https://forum.micropython.org/viewtopic.php?f=15&t=8787&start=14
    • Support Object inspector with MicroPython back-ends, #1309
    • Thonny now synchronizes real-time clock of MicroPython devices on connect and before each file operation, #1004
    • Allow editing any file as plain text, #1305
    • File browser now allows setting default action by extension (open in system default app or in Thonny's editor), #1305
    • ESP flash dialog now allows selecting flash mode, #1056 by Rune Langøy
    • "Save all" command, #1053 by Syed Nasim
    • Clicking on a value in the Shell selects it and opens in the Object inspector.
    • By default, after evaluating an expression in the Shell the value will be automatically shown in the Object inspector (if open). See Options => Shell to turn it off.
    • Object inspector now display more information about numbers (try 1024 or 0.1), #1230
    • Support evaluating several expressions at once in the Shell (just like official Python REPL), #795
    • Include esptool in binary bundles

    Changed

    • Package manager now searches PyPI instead of requiring exact package name, #1300
    • File browser now shows remote files below local files. This way local pane won't jump around when switching between local and remote back-ends.
    • TECHNICAL: Versions of serveral dependencies were updated

    Fixed

    • Several intermittent bugs related to fragility of the communication with MicroPython REPL, #1103, #1147
    • #1138: Allow semicolon in Shell input with Python 3.8
    • #1129: Support terminator as system shell
    • #772: Allow invoking interrupt command from the menu when the editor has text selected (Ctrl+C would copy then)
    • #1146, #1159: "No module named pwd" error
    • #1283: Disable save button after save
    • Make Replayer work with timestamps without fractional part, #1116
    • Don't raise exception when hitting end of undo/redo stack, #1211 by Andrew Scheller
    • Fix a typo in the code to display dialog. (#1260 by Ankith)

    Enhanced

    • Convert keypad movement events to equivalent non-keypad ones, #1107 by Eliot Blennerhassett
    • Start file-open-dialog in same dir as current file, #1209 by Andrew Scheller
    • Bash install - do everything inside a new directory (#1203 by Andrew Scheller)
    • #1145: Provide understandable error message, when Linux installer downloader is run on a non-supported platform (by Andrew Scheller)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.3.0b2-i686.tar.gz(28.36 MB)
    thonny-3.3.0b2-windows-portable.zip(25.09 MB)
    thonny-3.3.0b2-x86_64.tar.gz(30.68 MB)
    thonny-3.3.0b2.bash(764 bytes)
    thonny-3.3.0b2.exe(16.39 MB)
    thonny-3.3.0b2.pkg(23.62 MB)
  • v3.2.7(Mar 11, 2020)

    This version has no new features and no bugfixes in Thonny's main code.

    Build changes:

    • Skip some tests for newer jedi versions (required for Linux packaging)
    • Upgrade bundled Python version to 3.7.7
    • macOS bundle is now published as .pkg. Previously Thonny was distributed as dmg, but the new approach allows overcoming permission issues in Catalina.

    Installation

    NB! Windows installer is signed with new identity and you may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".

    • Windows: download and execute thonny-3.2.7.exe
    • macOs: download and open thonny-3.2.7.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
    • Linux: download thonny-3.2.7.bash and execute it with Bash (bash thonny-3.2.7.bash)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.7-ent.pkg(19.96 MB)
    thonny-3.2.7-i686.tar.gz(23.72 MB)
    thonny-3.2.7-original.pkg(19.96 MB)
    thonny-3.2.7-windows-portable.zip(21.62 MB)
    thonny-3.2.7-x86_64.tar.gz(24.32 MB)
    thonny-3.2.7.bash(539 bytes)
    thonny-3.2.7.exe(14.46 MB)
    thonny-3.2.7.pkg(19.96 MB)
    thonny-3.2.7_alt.exe(14.52 MB)
    thonny-xxl-3.2.7-i686.tar.gz(117.34 MB)
    thonny-xxl-3.2.7-original.pkg(101.62 MB)
    thonny-xxl-3.2.7-x86_64.tar.gz(112.74 MB)
    thonny-xxl-3.2.7.bash(543 bytes)
    thonny-xxl-3.2.7.exe(52.95 MB)
    thonny-xxl-3.2.7.pkg(101.57 MB)
  • v3.2.6(Jan 2, 2020)

    This release was made to fix a regression introduced in 3.2.5

    Changes:

    • FIXED #1035: Make highlight names work with recent Jedi versions
    • FIXED #1043: Can't load files from MicroPython device (regression introduced in 3.2.5)
    • FIXED: Missing "Local files" label on save target selection dialog

    Installation

    NB! Windows installer is signed with new identity and you may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".

    • Windows: download and execute thonny-3.2.6.exe
    • macOs: download and open thonny-3.2.6.pkg and follow the instructions. Previously Thonny was distributed as dmg, but current approach allows overcoming permission issues in Catalina. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in this folder!
    • Linux: download thonny-3.2.6.bash and execute it with Bash (bash thonny-3.2.6.bash)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.6-i686.tar.gz(23.57 MB)
    thonny-3.2.6-macos-installer.pkg(21.35 MB)
    thonny-3.2.6-windows-portable.zip(21.51 MB)
    thonny-3.2.6-x86_64.tar.gz(24.12 MB)
    thonny-3.2.6.bash(539 bytes)
    thonny-3.2.6.dmg(21.50 MB)
    thonny-3.2.6.exe(14.38 MB)
    thonny-3.2.6.pkg(21.35 MB)
    thonny-xxl-3.2.6-i686.tar.gz(117.21 MB)
    thonny-xxl-3.2.6-macos-installer.pkg(102.67 MB)
    thonny-xxl-3.2.6-x86_64.tar.gz(112.51 MB)
    thonny-xxl-3.2.6.bash(543 bytes)
    thonny-xxl-3.2.6.dmg(100.21 MB)
    thonny-xxl-3.2.6.exe(52.83 MB)
  • v3.2.5(Dec 25, 2019)

    This is mostly a bug-fix release. The only new feature is support for Friendly Traceback.

    Known issues:

    • Loading files from MicroPython device doesn't work: https://github.com/thonny/thonny/issues/1043

    Updates:

    • CHANGED: Python version in binary bundles upgraded from 3.7.5 to 3.7.6
    • CHANGED: MyPy checks are now enabled by default (Tools => Options => Assistant)
    • CHANGED: New Pylint checks are enabled
    • UPDATED #32: Thonny can now display/copy/paste Unicode emojis with Python 3.7.6+ / 3.8.1+ in Windows and Linux. Selection can be still wonky, though and emojis can freeze Thonny on macOS. Fixed by https://github.com/python/cpython/pull/16545
    • FIXED #815: "Open System Shell" fails when no script is open
    • FIXED #973: Scrollbar in Help and Assistant acts funny
    • FIXED #1019: Crash on startup when Shell gets text inserted too soon
    • FIXED #1023: Accept code completions without parent and full_name
    • FIXED #1025: Extra imports by Thonny's back-end make stdlib name shadowing more troublesome
    • FIXED #1026: Allow '+' in image data URI chars in Shell
    • FIXED #1028: Thonny now has preliminary support for Friendly Traceback.
    • FIXED: Allow larger images in shell (don't squeeze image URI-s), #401
    • FIXED: Fallback to English, when configured language can't be loaded
    • FIXED: Problem using esptool on PATH

    Installation

    NB! Windows installer is signed with new identity and you may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".

    • Windows: download and execute thonny-3.2.5.exe
    • macOs: download and open thonny-3.2.5.dmg and drag Thonny to Applications
    • Linux: download thonny-3.2.5.bash and execute it with Bash (bash thonny-3.2.5.bash)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.5-i686.tar.gz(23.57 MB)
    thonny-3.2.5-windows-portable.zip(21.51 MB)
    thonny-3.2.5-x86_64.tar.gz(24.12 MB)
    thonny-3.2.5.bash(539 bytes)
    thonny-3.2.5.dmg(21.50 MB)
    thonny-3.2.5.exe(14.38 MB)
    thonny-xxl-3.2.5-i686.tar.gz(117.22 MB)
    thonny-xxl-3.2.5-x86_64.tar.gz(112.51 MB)
    thonny-xxl-3.2.5.bash(543 bytes)
    thonny-xxl-3.2.5.dmg(100.15 MB)
    thonny-xxl-3.2.5.exe(52.84 MB)
  • v3.2.4(Dec 7, 2019)

    3.2.4 is mostly a bug-fix release, but also contains new translations and performance improvements.

    • NEW: Turkish translation by M. Burak Kalkan
    • NEW: Polish translation by Jarek Miszczak
    • NEW: Partial Italian translation by sailslack
    • UPDATED: Greek and Spanish translations
    • CHANGED: XXL bundle now includes also pandas
    • CHANGED: Make faster tracer show exceptions only with step_over and step_into
    • CHANGE #1018: Use traditional stack view by default in Simple mode
    • ENHANCEMENT: Improved performance for Faster debugger (proposed and supported by Raspberry Pi)
    • FIXED #975: Fix stepping through lambdas with faster debugger
    • FIXED #977: Don't report certain exceptions in faster debugger
    • FIXED #983: Propose replacing tabs with spaces only in the editor (not in debugger frames)
    • FIXED #986: Nicer debugger fails when run with breakpoints only in secondary files
    • FIXED #987: MicroPython autocomplete problems by adzierzanowski
    • FIXED #1003: Wrong interpretation of MicroPython file timestamps
    • FIXED #1005: Avoid testing included MicroPython stubs
    • FIXED #1015: Indicate disabled toolbar buttons on macOS

    Installation

    NB! Windows installer is signed with new identity and you may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".

    • Windows: download and execute thonny-3.2.4.exe
    • macOs: download and open thonny-3.2.4.dmg and drag Thonny to Applications
    • Linux: download thonny-3.2.4.bash and execute it with Bash (bash thonny-3.2.4.bash)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.4-i686.tar.gz(23.36 MB)
    thonny-3.2.4-windows-portable.zip(21.22 MB)
    thonny-3.2.4-x86_64.tar.gz(23.91 MB)
    thonny-3.2.4.bash(539 bytes)
    thonny-3.2.4.dmg(18.88 MB)
    thonny-3.2.4.exe(14.24 MB)
    thonny-xxl-3.2.4-i686.tar.gz(117.01 MB)
    thonny-xxl-3.2.4-x86_64.tar.gz(112.30 MB)
    thonny-xxl-3.2.4.bash(543 bytes)
    thonny-xxl-3.2.4.dmg(98.82 MB)
    thonny-xxl-3.2.4.exe(52.68 MB)
  • v3.2.3(Nov 3, 2019)

    3.2.3 together with short lived 3.2.2 are bug-fix releases.

    Changes in 3.2.2 and 3.2.3:

    • NEW: ESP plug-in has been merged into main Thonny package
    • NEW: Greek translation (by Nikos)
    • UPDATE: Updated several translations (by Vytenis, rnLIKEm, Dleta, Alex ANDRÉ, NathanBnm, LionelVaux, Paul, Eric W, Frank Stengel, ...)
    • UPDATE: Propose opening files via dialog in case of macOS Catalina permission error (#813).
    • FIXED #219: Implement sending EOF / restart for CPython
    • FIXED #873: More robust color preference loading in Pi theme
    • FIXED #876: Don't step into comprehension calls
    • FIXED #897: Redo shortcut not working in Linux and Mac
    • FIXED #899: Can't set THONNY_USER_DIR in customize.py
    • FIXED #904: Don't show remote MicroPython dialogs when device is busy
    • FIXED #905: Problems with Thonny menu on Mac after closing a dialog
    • FIXED #911: Allow restoring default scaling factor
    • FIXED #921: Make MicroPython backend play nicer with device resets
    • FIXED #923: CircuitPython on Trinket m0 gives small int overflow when listing files
    • FIXED #925: Save or open problem with network paths
    • FIXED #927: Visual glitch / ghosting in Expression Box in macOS
    • FIXED #928: Tooltips stay on top in macOS
    • FIXED #929: Indicate dirty state in macOS close button
    • FIXED #933: Scaling doesn't work right for Treeviews (Files, Variables)
    • FIXED #934: Pad button captions for certain languages
    • FIXED #936: Problem uploading files to some STM boards
    • FIXED #939: More robust handling of different line endings
    • FIXED #943: Wrong syntax highlighting with triple quoted string
    • FIXED #946: Handle broken UTF-8 codepoints in MicroPython output
    • FIXED #951: Use standard tabstops for program output
    • FIXED #953: Allow running system commands with MP back-end
    • FIXED #957: Wrong encoding in multiprocessing output
    • FIXED #960: File browser is not working in replayer
    • FIXED #966: Thonny encounters "internal error" in programs calling exit()
    • FIXED #969: Provide nicer message, when MicroPython backend can't get to the REPL
    • FIXED: Don't apply theming to menu in macOS (menu items were dull with dark themes)

    Installation

    NB! Windows installer is signed with new identity and you may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".

    • Windows: download and execute thonny-3.2.3.exe
    • macOs: download and open thonny-3.2.3.dmg and drag Thonny to Applications
    • Linux: download thonny-3.2.3.bash and execute it with Bash (bash thonny-3.2.3.bash)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.3-i686.tar.gz(23.22 MB)
    thonny-3.2.3-windows-portable.zip(21.06 MB)
    thonny-3.2.3-x86_64.tar.gz(23.77 MB)
    thonny-3.2.3.bash(539 bytes)
    thonny-3.2.3.dmg(18.73 MB)
    thonny-3.2.3.exe(14.12 MB)
    thonny-xxl-3.2.3-i686.tar.gz(86.68 MB)
    thonny-xxl-3.2.3-x86_64.tar.gz(96.02 MB)
    thonny-xxl-3.2.3.bash(543 bytes)
    thonny-xxl-3.2.3.dmg(82.16 MB)
    thonny-xxl-3.2.3.exe(46.09 MB)
    thonny-xxl-3.2.3_with_pandas.exe(52.62 MB)
  • v3.2.2(Nov 3, 2019)

    This is a bug-fix release. Changes:

    • NEW: ESP plug-in has been merged into main Thonny package
    • FIXED #219: Implement sending EOF / restart for CPython
    • FIXED #873: More robust color preference loading in Pi theme
    • FIXED #876: Don't step into comprehension calls
    • FIXED #897: Redo shortcut not working in Linux and Mac
    • FIXED #899: Can't set THONNY_USER_DIR in customize.py
    • FIXED #904: Don't show remote MicroPython dialogs when device is busy
    • FIXED #905: Problems with Thonny menu on Mac after closing a dialog
    • FIXED #911: Allow restoring default scaling factor
    • FIXED #921: Make MicroPython backend play nicer with device resets
    • FIXED #923: CircuitPython on Trinket m0 gives small int overflow when listing files
    • FIXED #925: Save or open problem with network paths
    • FIXED #927: Visual glitch / ghosting in Expression Box in macOS
    • FIXED #928: Tooltips stay on top in macOS
    • FIXED #929: Indicate dirty state in macOS close button
    • FIXED #933: Scaling doesn't work right for Treeviews (Files, Variables)
    • FIXED #934: Pad button captions for certain languages
    • FIXED #936: Problem uploading files to some STM boards
    • FIXED #939: More robust handling of different line endings
    • FIXED #943: Wrong syntax highlighting with triple quoted string
    • FIXED #946: Handle broken UTF-8 codepoints in MicroPython output
    • FIXED #951: Use standard tabstops for program output
    • FIXED #953: Allow running system commands with MP back-end
    • FIXED #957: Wrong encoding in multiprocessing output
    • FIXED #960: File browser is not working in replayer
    • FIXED #966: Thonny encounters "internal error" in programs calling exit()
    • FIXED #969: Provide nicer message, when MicroPython backend can't get to the REPL
    • FIXED: Don't apply theming to menu in macOS (menu items were dull with dark themes)
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.2-windows-portable.zip(33.50 MB)
    thonny-3.2.2-x86_64.tar.gz(23.76 MB)
    thonny-3.2.2.bash(539 bytes)
    thonny-3.2.2.dmg(19.77 MB)
    thonny-3.2.2.exe(14.11 MB)
    thonny-xxl-3.2.2-x86_64.tar.gz(96.01 MB)
    thonny-xxl-3.2.2.bash(543 bytes)
    thonny-xxl-3.2.2.dmg(82.14 MB)
    thonny-xxl-3.2.2.exe(46.09 MB)
  • v3.2.1(Sep 6, 2019)

    This is a bug-fix release.

    Changes:

    • NEW: Add European Portuguese translation (by Emanuel Angelo)
    • NEW: Add Lithuanian translation (by Vytenis)
    • NEW: Add Ukrainian translation (by borpol)
    • FIXED #802: Avoid scary traceback on MicroPython disconnect
    • FIXED #840: Problems with file dialogs in macOS 10.15
    • FIXED #843: Make right-click select items in Files view in macOS
    • FIXED #845: Crash with older ESP plug-in
    • FIXED #851: Ignore warnings when exporting variables
    • FIXED #854: Make single instance mode work in multi-user systems
    • FIXED #855: Wrong coloring with paren matching
    • FIXED #859: Support relative paths when opening files with Thonny from command line
    • FIXED #874: Multiline strings break stepping focus background
    • FIXED: Dutch translation was inproperly set up
    • FIXED: Internal error in Object Inspector (by Emanuel Angelo)
    • FIXED: Problem with compacting user event logs
    • TECHNICAL: Make tests run with Python 3.8
    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.1-i686.tar.gz(23.05 MB)
    thonny-3.2.1-windows-portable.zip(20.85 MB)
    thonny-3.2.1-x86_64.tar.gz(23.62 MB)
    thonny-3.2.1.bash(539 bytes)
    thonny-3.2.1.dmg(24.93 MB)
    thonny-3.2.1.exe(13.99 MB)
    thonny-3.2.1.notarized.dmg(19.44 MB)
    thonny-xxl-3.2.1-i686.tar.gz(86.77 MB)
    thonny-xxl-3.2.1-x86_64.tar.gz(96.15 MB)
    thonny-xxl-3.2.1.bash(543 bytes)
    thonny-xxl-3.2.1.dmg(103.10 MB)
    thonny-xxl-3.2.1.exe(45.98 MB)
    thonny-xxl-3.2.1.notarized.dmg(81.94 MB)
  • v3.2.0(Aug 12, 2019)

    This is a feature release. Most important updates are related to Shell, Files view and MicroPython support.

    Changed

    • User action logging is now disabled by default. It can be turned on from "Tools => Options => General".

    Shell

    Files view

    • It is possible to "Focus into" a directory in files view by double-clicking on a directory in the tree. This makes displayed tree smaller and clearly brings out current working directory (focusing into a directory makes this directory the current working directory of the backend process). Click on the path segments in the upper part of the view to focus into higher directories.
    • With MicroPython back-ends Files view displays separate tree for the files and directories on the device.
    • Check out all file and directory related commands by right clicking an item or by clicking small button in the upper-right corner of the view.

    MicroPython

    • Thonny now allows editing scripts on a MicroPython/CircuitPython board directly without copying them to local machine first. You can open a file on the board either with "Files => Open" or by double clicking it in the Files view.
    • Former plug-ins thonny-circuitpython and thonny-microbit are now included in the main package. You may uninstall these plug-ins in Thonny 3.2.
    • "Device" menu is now deprecated and its commands have been relocated. Click on the menu to learn more.

    Misc

    • It is now possible to translate the UI and help pages to other languages beside English. Initial translations for several languages are already included. Language can be selected in "Tools => Options => General".
    • Raspberry Pi theme is now included in the main package. At first run user can select whether to start Thonny with regular settings or with default settings used at Raspberry Pi.
    • Beside regular Python+Thonny bundles, we now also publish "Thonny XXL", which includes a bunch of popular Python packages (eg. Pygame Zero, Matplotlib, Flask, ...).
    • Thonny now allows easy running and debugging of Flask programs.
    • All changes and updates: https://github.com/thonny/thonny/blob/b8534f911503d2878a33397930c1a642cb090ec9/CHANGELOG.rst

    Supporters

    Many thanks to supporters and contributors!

    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.0-i686.tar.gz(22.97 MB)
    thonny-3.2.0-windows-portable.zip(20.76 MB)
    thonny-3.2.0-x86_64.tar.gz(23.55 MB)
    thonny-3.2.0.bash(539 bytes)
    thonny-3.2.0.dmg(25.66 MB)
    thonny-3.2.0.exe(13.96 MB)
    thonny-xxl-3.2.0-i686.tar.gz(86.67 MB)
    thonny-xxl-3.2.0-x86_64.tar.gz(96.08 MB)
    thonny-xxl-3.2.0.bash(543 bytes)
    thonny-xxl-3.2.0.dmg(102.41 MB)
    thonny-xxl-3.2.0.exe(45.95 MB)
  • v3.2.0rc1(Aug 9, 2019)

    Most important updates since 3.2b7:

    • File browser has more commands (upload to MicroPython, delete, ...)

    Most important new features since version 3.1:

    • Possibility to translate the UI (see https://github.com/thonny/thonny/blob/master/docs/translate.md)
    • Plotter (see https://github.com/thonny/thonny/blob/master/thonny/plugins/help/plotter.rst)
    • Several enhancements in the Shell (see https://github.com/thonny/thonny/blob/master/thonny/plugins/help/shell.rst)
    • File browser for MicroPython back-ends
    • Ability to edit files directly in MicroPython boards

    All changes and updates: https://github.com/thonny/thonny/blob/b1401d8d037cb42f660df66e908eef5ce616e7c9/CHANGELOG.rst

    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.0rc1-i686.tar.gz(22.94 MB)
    thonny-3.2.0rc1-windows.zip(20.74 MB)
    thonny-3.2.0rc1-x86_64.tar.gz(23.52 MB)
    thonny-3.2.0rc1.bash(542 bytes)
    thonny-3.2.0rc1.dmg(25.90 MB)
    thonny-3.2.0rc1.exe(13.94 MB)
    thonny-xxl-3.2.0rc1-i686.tar.gz(86.64 MB)
    thonny-xxl-3.2.0rc1-x86_64.tar.gz(96.06 MB)
    thonny-xxl-3.2.0rc1.bash(546 bytes)
    thonny-xxl-3.2.0rc1.dmg(101.33 MB)
    thonny-xxl-3.2.0rc1.exe(45.93 MB)
  • v3.2.0b7(Jul 19, 2019)

    Most important new features:

    • Possibility to translate the UI (see https://github.com/thonny/thonny/blob/master/docs/translate.md)
    • Plotter (see https://github.com/thonny/thonny/blob/master/thonny/plugins/help/plotter.rst)
    • Several enhancements in the Shell (see https://github.com/thonny/thonny/blob/master/thonny/plugins/help/shell.rst)
    • File browser for MicroPython back-ends
    • Ability to edit files directly in MicroPython boards

    All changes and updates: https://github.com/thonny/thonny/blob/b1401d8d037cb42f660df66e908eef5ce616e7c9/CHANGELOG.rst

    Source code(tar.gz)
    Source code(zip)
    thonny-3.2.0b7-i686.tar.gz(22.89 MB)
    thonny-3.2.0b7-windows.zip(20.68 MB)
    thonny-3.2.0b7-x86_64.tar.gz(23.47 MB)
    thonny-3.2.0b7.bash(498 bytes)
    thonny-3.2.0b7.dmg(24.77 MB)
    thonny-3.2.0b7.exe(13.92 MB)
Owner
Thonny, Python IDE for beginners
Thonny, Python IDE for beginners
ReText: Simple but powerful editor for Markdown and reStructuredText

Welcome to ReText! ReText is a simple but powerful editor for Markdown and reStructuredText markup languages. One can also add support for custom mark

ReText 1.6k Dec 23, 2022
A very simple Editor.js parser written in pure Python

pyEditor.js A very simple Editor.js parser written in pure Python. Soon-to-be published on PyPI. Features: Automatically convert Editor.js's JSON outp

Kevo 7 Nov 01, 2022
Leo is an Outliner, Editor, IDE and PIM written in 100% Python.

Leo 6.3, http://leoeditor.com, is now available on GitHub. Leo is an IDE, outliner and PIM. The highlights of Leo 6.3 leoAst.py: The unification of Py

Leo Editor 1.4k Dec 27, 2022
Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.

Komodo Edit This readme explains how to get started building, using and developing with the Komodo Edit source base. Whilst the main Komodo Edit sourc

ActiveState Komodo 2k Dec 28, 2022
JupyterLite is a JupyterLab distribution that runs entirely in the browser power by wasm

JupyterLite is a JupyterLab distribution that runs entirely in the browser built from the ground-up using JupyterLab components and extensions.

Jeremy Tuloup 76 Dec 13, 2022
Emacs Python Development Environment

Elpy, the Emacs Python IDE Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines and configures a number of other packages,

Jorgen Schäfer 1.8k Jan 02, 2023
A powerful text editor for MATE

Pluma - The MATE text editor General Information Pluma (pluma) is a small and lightweight UTF-8 text editor for the MATE environment. It started as a

MATE Desktop 134 Dec 31, 2022
openBrowsser is a Sublime Text plug-in, which allows you to add a keyboard shortcut, to directly access a website from a selection.

openBrowsser is a Sublime Text plug-in, which allows you to add a keyboard shortcut, to directly access a website from a selection. Instal

Florian COLLIN 1 Dec 14, 2021
A code-completion engine for Vim

YouCompleteMe: a code-completion engine for Vim NOTE: Minimum Requirements Have Changed Our policy is to support the Vim version that's in the latest

24.5k Dec 30, 2022
Encriptificator is a text editor app developed by me as a personal project.

Encriptificator is a text editor app developed by me as a personal project. It provides all basic features of a text editor with the additional feature of encrypting your files. To know more about ho

1 May 09, 2022
Write maintainable, production-ready pipelines using Jupyter or your favorite text editor. Develop locally, deploy to the cloud. ☁️

Write maintainable, production-ready pipelines using Jupyter or your favorite text editor. Develop locally, deploy to the cloud. ☁️

Ploomber 2.9k Jan 06, 2023
A simple Notepad-like editor written in Python

monkepad A simple Notepad-like editor written in Python Since MonkePad is written in one file, all your customization can be done without much trouble

5 Dec 28, 2021
Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box.

Python-mode, a Python IDE for Vim This project needs contributors. Documentation: :help pymode https://github.com/python-mode/python-mode/wiki Importa

The Python-Mode 5.4k Jan 01, 2023
A free Python source code editor and Notepad replacement for Windows

Website Download Features Toolbar Wide array of view options Syntax highlighting support for Python Usable accelerator keys for each function (Ctrl+N,

Mohamed Ahmed 7 Feb 16, 2022
An experimental code editor for writing algorithms

Algojammer Algojammer is an experimental, proof-of-concept code editor for writing algorithms in Python. It was mainly written to assist with solving

Chris Knott 2.9k Dec 27, 2022
Python Tools for Visual Studio

Python tools for Visual Studio Python support for Visual Studio is developed and managed here. Visit our product overview and downloads page, read our

Microsoft 2.4k Dec 30, 2022
Using the jedi autocompletion library for VIM.

jedi-vim - awesome Python autocompletion with VIM jedi-vim is a VIM binding to the autocompletion library Jedi. Here are some pictures: Completion for

Dave Halter 5.1k Dec 31, 2022
The uncompromising Python code formatter

The Uncompromising Code Formatter “Any color you like.” Black is the uncompromising Python code formatter. By using it, you agree to cede control over

Python Software Foundation 30.7k Jan 02, 2023
A JupyterLab extension for version control using Git

A JupyterLab extension for version control using Git

JupyterLab 1.2k Jan 03, 2023