Thursday, September 30, 2021

PyScripter 4.1 is coming

A new release 4.1 is round the corner. Beyond bug fixes, the major new feature of this release is the implementation of the Language Server protocol.

Seeking feedback from early adopters

I would like to get volunteers to try the new version before it is released to the public. You can download a registry-free installation from this link. Just unzip the file and run PyScripter.exe.  It will not interfere with installed versions of PyScripter.  Please report issues at the issue tracker and provide feedback at the support forum.

PyScripter and the Language Server Protocol

Modern programming editors and Integrated Development Environments (IDEs), help programmers to write better code efficiently, by providing features such as:

  • Code completion
  • Signature help (function parameters)
  • Code explorer (hierarchical view of module symbols
  • Code hints
  • Find definition
  • Find references
  • … and more

These features are collectively referred to as “Code IntelliSense”, a term coined by Microsoft. To provide such features editors and IDEs need to parse and analyze source code, while users are typing code.   PyScripter has been doing a fine job in providing Code IntelliSense to its users by using its own python source code parsing and analysis module.  However, keeping up with new python versions and the changes and new features they bring to the python grammar requires significant development resources.

A recent trend has been to move the Code IntelliSense processing out of the editors and IDEs by using external Language Servers.  Microsoft has standardized the communication between IDEs and Language Servers by promoting the adoption of the Language Server Protocol (LSP).  The LSP is now used by Microsoft’s Visual Studio and Visual Studio Code as well as by many commercial and free IDEs.  There are numerous Language Server implementations for many programming languages, including Python.

The forthcoming version of PyScripter, in addition to the usual round of bug fixes, implements the Language Server Protocol and shifts the “Code IntelliSense” processing to external Language Servers.  It also bundles the python Jedi Language Server, based on the Jedi package, that is used by many other IDEs.  Although this brings few visible improvements (everything should work as before) it brings a number of advantages:

  • Improved stability since the source code parsing and analysis is carried out in external processes.
  • Better quality of Code IntelliSense, since the Jedi Language Server is actively developed and supports the latest python feature.
  • The default Language Server (Jedi) can be easily swapped for alternative python Language Servers.
  • New features such as code diagnostics and refactoring can be easily added, since they are supported by the LSP.
  • Development resources are freed and can be diverted to other improvements of PyScripter.

Wednesday, May 5, 2021

PyScripter 4.0.0 released

PyScripter 4.0.0 is now available at Sourceforge.  This is a major new release with an updated User Interface and many significant enhancements under the hood, that will increase the stability and improve the user experience. Here is the list of changes:

New features:
  • Major redesign of the User Interface - Material icons and new logo
  • Re-architecture the interaction with python, code-completion etc. It should result in a more responsive user experience without delays and freezes.
  • Added support for Python 3.10
  • Removed support for Python 2.7, 3.2
  • Installer and executable are now code-signed
  • Persian translation added
  • New IDE option "Restore open project"
  • New File Explorer command "Select Directory..." (#1034)
Issues Addressed:

Thursday, April 15, 2021

PyScripter 4.0.0 is coming

 A new release of PyScripter is close.  Notice the pumped up version number.   This is due to the extensive nature of the changes implemented.   The visible changes are in relation to the User Interface.

New logo:


New material icons with a touch of color:




But the most important changes are the ones which are not visible.  The whole interaction with Python, and code completion infrastructure were re-architectured in order to move as much work as possible to threads and keep the GUI thread free of delays and blockages.  This will hopefully result in a better user experience and will also allow extra functionality to be added, without slowing down the program.

Seeking feedback from early adopters

Given the considerable changes in the code base, I would like to get volunteers to try the new version before it is released to the public.  In particular I am seeking feedback regarding:

  • the overall stability of the program
  • the new user interface
You can download a registry-free installation from this link.  Just unzip the file and run PyScripter.exe.  It will not interfere with installed versions of PyScripter.  Please report issues at the issue tracker and provide feedback at the support forum.

Python 2

I should add that support for Python 2 has been dropped.  This was a hard decision to make and I know some users will be disappointed.   However this has simplified the task of maintaining and further developing PyScripter.  You can still use the older versions of PyScripter for your Python 2 work side-by-side with the new version.

Acknowledgements

I would like to thank Embarcadero for providing support to the project and Adriana Díaz (Aumenta Software) who designed the new user interface.


Wednesday, October 7, 2020

PyScripter 3.6.4 released

 PyScripter 3.6.4 is now available at Sourceforge.  This release brings compatibility with the newly released Python 3.9.  Here is the list of changes:

  • New features:
    • Added support for Python 3.9 (and removed support for Python 2.6).
    • Added support for virtualenv v20+. Dropped support for earlier versions.
    • Added support for font ligatures
  • Issues addressed:

Tuesday, September 22, 2020

Webinar announcement: Python for Delphi developers


Webinar: September 30th, 2020 at 9 AM CDT

attendee.gotowebinar.com/register/5604566318708211727 


Why would a Delphi developer want to add Python to their toolbelt? It is all about library access and scriptability. The open-source Python4Delphi (P4D) library by Kiriakos Vlahos, the maker of the popular PyScripter Python IDE, allows you as a Delphi developer to leverage the entire collection of Python libraries directly from Delphi. It also makes it easy to easily execute Python scripts, create new Python modules, and new Python types directly from your Delphi application. Give your Delphi applications the best of both worlds! 


Join Python4Delphi and PyScripter author Kiriakos Vlahos, and Embarcadero Developer Advocate Jim McKeeth for this webinar to learn how to leverage Python in your Delphi applications on September 30th, 2020 at 9 AM CDT.


Font Ligatures are coming to PyScripter

 The forthcoming version of PyScripter will feature:

  • support for Python 3.9
  • support for VirtualEnv v20+
  • support for font ligatures
I am quite excited about font ligatures.  Fonts like Cascadia Code and Fira Code contain ligatures relevant to programming. See this article for details.   Here is a trivial example (see how -> and != are shown).