Sunday, June 30, 2024

PyScripter 5.0.0 released

PyScripter 5.0.0 is now available at Sourceforge.  The headline item in this release is the introduction of LLM-assisted coding.  Large Language Models (LLMs) have the potential of transforming the coding experience and increasing programmer productivity to new levels.  Click on the links below to find out more and watch the demo videos in this blog post.

New features:

  •  Integrated LLM support
  • OpenAI and local LLM models using Ollama supported
  • New IDE Window Chat for interacting with Large Language Models
  • Code Assistant functionality (Suggest, Find bugs, Optimize, Comment)
  • Python 3.13 support added.  Dropped support for python 3.7
  • Updated and improved documentation (Help file)

Issues addressed:

Sunday, June 23, 2024

Teaser: Integration with LLM

The videos below showcase some of the forthcoming functionality related to the integration of LLM technology with PyScripter.  OpenAI and local models using Ollama are supported.

Assistant code completion (1): 



Assistant code completion (2): 


Fix bugs:



Chat with LLM (1):



Chat with LLM (2):



Wednesday, November 8, 2023

PyScripter v4.3.4 released

PyScripter 4.3.4 is now available at Sourceforge. It is hotfix release that has replaced version 4.3.3.  It fixes an issue an incompatibility with python versions older than 3.10. There is no need to upgrade if you a more recent version of python.

Monday, October 30, 2023

PyScripter v4.3.3 released

PyScripter 4.3.3 is now available at Sourceforge. It is hotfix release that has quietly replaced version 4.3.2.  It is recommended that you upgrade to this new version.  It fixes an issue with the input function in python 12.

Sunday, October 29, 2023

PyScripter v4.3.2 released

PyScripter 4.3.2 is now available at Sourceforge. It is hotfix release that has quietly replaced version 4.3.1.  It is recommended that you upgrade to this new version.  Besides a few bug fixes and stability improvements, it adds an exciting new feature “Variable Inspectors”.

Saturday, October 28, 2023

Feature preview: Variable Inspectors

Variable inspectors, also known as debug visualizers, allow you to visually inspect variables of certain data types. Let’s start with an example.



The Variables window got a new column highlighted in red above.  A magnifying glass is shown for variables that can be inspected. Clicking this magnifying glass, opens a window that provides a visual view of that variable, in this case a pandas dataframe:



In this window you can view the data in tabular form, show summary statistics and create a wide range of graphs.

This feature is also available for variables you create in the interpreter window.  Initially, inspectors are provided for numpy 1 and 2-dimensional arrays, numpy matrices and pandas dataframes.  These inspectors are based on the pandastable package, which you need to install using pip for the inspector to work. However, since variable inspectors are based on python code, you can create your own visualisers or modify existing ones

Under the hood

The installer creates a new subdirectory “Variable Inspectors” under %ALLUSERSPROFILE%\PyScripter (typically C:\ProgramData\PyScripter) and installs the factory provided inspectors in this folder.  PyScripter creates another “Variable Inspectors” folder under %APPDATA%\PyScripter (typically C:\Users\UserName\AppData\Roaming\PyScripter).  In the latter you can create your own inspectors.  Registry free installations get instead just one “Variable Inspectors” folder under the root folder containing PyScripter.exe.

Each inspector is located in a subfolder of the “Variable Inspectors” folder.  The name of the subfolder is not important, but its contents are.  At a minimum this subfolder should contain two files:

  1. handled_classes.text
  2. main.py

The first one contains a list of python classes that can be handled by the inspector in the form module_name.class_name.  The python file “main.py” contains code that:

  1. Checks that its dependencies are installed.  If not, it provides an informative message box.
  2. Loads a pickled value from a file name that is provided as the first command line parameter.
  3. Checks that the provided value is of a supported type and then provides a visual inspection of that value.

It is recommended that a third file “requirements.txt” is also included, listing the package dependencies of the inspector.  The user has to make sure that these dependencies are installed via pip (could be automated in the future).

Monday, October 23, 2023

PyScripter 4.3.1 released

PyScripter 4.3.1 is now available at Sourceforge. It is hotfix release that has quietly replaced version 4.3.0.  It is recommended that you upgrade to this new version.