PyScripter v5.2.3 is now available at Sourceforge. This is mainly a bug fix release.
PyScripter v5.2.3 is now available at Sourceforge. This is mainly a bug fix release.
PyScripter v5.2.2 is now available at Sourceforge. The main new feature is the support for Grok 3, which is one of the best Large Language Models available. The reasoning variant (grok-3-mini) is also supported.
QGIS is a widely used, free and open source, GIS software package. This is an update on how to use it with PyScripter. I have used the currently latest version for Windows (3.42) but you can adapt the instructions to other recent versions of QGIS.
Create a command file "PyScripter-QGIS.cmd" with the following content:
Save it anywhere you want and run it.
Then in the PyScripter python interpreter you can do:
*** Python 3.12.9 (main, Feb 7 2025, 14:34:44) [MSC v.1938 64 bit (AMD64)] on win32. ***
*** Remote Python engine is active ***
>>> from qgis.core import *
>>> import qgis.utils
>>> from PyQt5.QtCore import QSettings
>>>
That's it.
PyScripter v5.2.1 is now available at Sourceforge. This release brings a number of significant improvements in the areas of LLM-Assisted coding and Debugging. This is the list of the main new features and fixes:
The forthcoming version of PyScripter has a number of improvements to LLL-assisted coding:
When it comes to coding, DeepSeek is simply amazing. It is now supported both in the Chat and Assistant.
Code is presented in code boxes, and using the icons in the header, you can copy the code into the clipboard or directly into a new editor.
Markdown is now rendered perfectly:
You can now follow the reasoning behind the answers, using DeepSeek's deepseek-reasoner model or OpenAI's "o" models, such o1-mini. The reasoning is presented without cluttering the output.
- Other improvements
- The temperature LLM model parameter is exposed by the Chat UI. It is a decimal number between 0 and 2 that controls the randomness of the results (higher values leed to more random answers).
- You can now print the chat topic content.
- Syntax highlighting for about 300 programming languages is available. So you can now ask questions not just about python but also for other languages.
And don't forget the Assistant. While coding Assistant completion is available by pressing Ctrl+Alt+Space. as well as by using the editor context menu.
PyScripter has always supported conditional breakpoints. Conditional breakpoints allow you to finetune the debugging experience, by only stopping execution when certain conditions are met.
Consider the following example:
Say you are interested to know when sum becomes >= 1000. If you set a breakpoint at the 4th line of the code, it will be tedious and time consuming to reach that point. What you can do is to set a conditional breakpoint:
As you can tell from the screenshot above, the forthcoming version of PyScripter, introduces and new breakpoint property "Ignore Count". If you set the the Ignore Count to a positive integer value, then the breakpoint will be ignored a number of times equal to that value. So in the above example if you remove the condition and set the Ignore Count to 100, execution will stop when i becomes 100. When you resume execution, the breakpoint will be ignored another 100 times.
There are a few ways to set the breakpoint properties Condition and Ignore Count.
You expect code to run with debugging much slower than without. Indeed this is the case and with python, debugging can be sometimes painfully slow.
A relatively recent, low-level feature that was introduces in Python 3.12 is monitoring. Monitoring allows programmers to hook into low level events that occur during the execution of code. This is similar to tracing, which is used by debuggers, but with much greater granularity and control. It turns out that monitoring can help make faster debuggers. Much faster. The next version of PyScripter will include a new debugger that is based on monitoring for python versions 3.12+. Just to give you a taste of the speed-up you get, consider the following code:
If you set a break point at the line "f(0)" and start debugging, this is what you get with the PyScripter v5.1.4 and python 3.13.
There are a million iterations that happen before you reach the breakpoint, so this takes about 2.5 seconds. If you do the same with the forthcoming release of PyScripter you get:
This is more than x150 speed-up. The code until you reach the breakpoint, runs almost as fast as without debugging. The new debugger shines when you debug over loops or other pieces of code that it is executed repetitively. For other types of code the speedup is not as impressive.
The new release also back-ports some debugging improvements introduced in python 3.14 to python versions 3.10+. So users of these versions will experience faster debugging.