🚀 LeoInteg 1.0.17 Released

129 views
Skip to first unread message

Félix

unread,
Dec 10, 2023, 3:39:19 PM12/10/23
to leo-editor

banner1.0.17.png
Announcing LeoInteg 1.0.17🎉

Fellow Leonistas,

I'm thrilled to share with you this latest update of LeoInteg!


Here's What's New in 1.0.17:
 - Improved Global Settings for Windows: I've made sure that the global settings now save data with the correct capitalization for the drive letter of the "key" in the database. (Will now be shared and have effect in the regular version of Leo)
 - New Icon for Quick Access: To make your workflow more efficient, I've added a new icon for the 'Open Recent-files list' command on the documents panel. This should make it easier and faster for you to access your recent files.
 - Fixed leojs Conflict: A significant fix was implemented to address the conflict with leojs (coming soon) when the body content has the same gnx.

Available via automatic update, or on the vscode marketplace and the open-vsx marketplace

As usual, please try it out and report any problems or suggestions on the project's issues page at https://github.com/boltex/leointeg/issues .

Happy Coding! 
🦁

Félix

Edward K. Ream

unread,
Dec 10, 2023, 7:25:21 PM12/10/23
to leo-e...@googlegroups.com
On Sun, Dec 10, 2023 at 2:39 PM Félix <felix...@gmail.com> wrote:

Announcing LeoInteg 1.0.17🎉

Many thanks, Félix for all your work :-)

Edward

Viktor Ransmayr

unread,
Dec 28, 2023, 4:01:20 PM12/28/23
to leo-editor
Hello Felix, hello Edward,

I have installed the latest version of LeoInteg (1.0.18) now also in a Debian Linux 12 VM.

It is working - but - I had to use a pip option for updating Leo, which I want to bring to your attention.

See the relevant parts of the log below:

###

user@debian-leo-study-vm:~$
user@debian-leo-study-vm:~$ python3 -m pip install --user --upgrade leo
error: externally-managed-environment

�� This environment is externally managed
������> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
user@debian-leo-study-vm:~$
user@debian-leo-study-vm:~$ python3 -m pip install --break-system-packages --user --upgrade leo
Requirement already satisfied: leo in ./.local/lib/python3.11/site-packages (6.7.4)
Collecting leo
Downloading leo-6.7.6-py3-none-any.whl (18.4 MB)
� ... � 18.4/18.4 MB 2.6 MB/s eta 0:00:00
Requirement already satisfied: PyQt5>=5.15 in ./.local/lib/python3.11/site-packages (from leo) (5.15.9)
Requirement already satisfied: PyQtWebEngine in ./.local/lib/python3.11/site-packages (from leo) (5.15.6)
Requirement already satisfied: asttokens in ./.local/lib/python3.11/site-packages (from leo) (2.4.0)
Requirement already satisfied: build>=0.6.0 in ./.local/lib/python3.11/site-packages (from leo) (1.0.3)
Requirement already satisfied: docutils in /usr/lib/python3/dist-packages (from leo) (0.19)
Requirement already satisfied: flexx in ./.local/lib/python3.11/site-packages (from leo) (0.8.4)
Requirement already satisfied: meta in ./.local/lib/python3.11/site-packages (from leo) (1.0.2)
Requirement already satisfied: nbformat in ./.local/lib/python3.11/site-packages (from leo) (5.9.2)
Requirement already satisfied: pylint in ./.local/lib/python3.11/site-packages (from leo) (3.0.0)
Requirement already satisfied: pyflakes in ./.local/lib/python3.11/site-packages (from leo) (3.1.0)
Requirement already satisfied: black in ./.local/lib/python3.11/site-packages (from leo) (23.9.1)
Requirement already satisfied: pyenchant in ./.local/lib/python3.11/site-packages (from leo) (3.2.2)
Requirement already satisfied: pyshortcuts>=1.7 in ./.local/lib/python3.11/site-packages (from leo) (1.9.0)
Requirement already satisfied: sphinx in ./.local/lib/python3.11/site-packages (from leo) (7.2.6)
Requirement already satisfied: tk in ./.local/lib/python3.11/site-packages (from leo) (0.1.0)
Requirement already satisfied: packaging>=19.0 in ./.local/lib/python3.11/site-packages (from build>=0.6.0->leo) (23.2)
Requirement already satisfied: pyproject_hooks in ./.local/lib/python3.11/site-packages (from build>=0.6.0->leo) (1.0.0)
Requirement already satisfied: PyQt5-sip<13,>=12.11 in ./.local/lib/python3.11/site-packages (from PyQt5>=5.15->leo) (12.12.2)
Requirement already satisfied: PyQt5-Qt5>=5.15.2 in ./.local/lib/python3.11/site-packages (from PyQt5>=5.15->leo) (5.15.2)
Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from asttokens->leo) (1.16.0)
Requirement already satisfied: click>=8.0.0 in ./.local/lib/python3.11/site-packages (from black->leo) (8.1.7)
Requirement already satisfied: mypy-extensions>=0.4.3 in ./.local/lib/python3.11/site-packages (from black->leo) (1.0.0)
Requirement already satisfied: pathspec>=0.9.0 in ./.local/lib/python3.11/site-packages (from black->leo) (0.11.2)
Requirement already satisfied: platformdirs>=2 in ./.local/lib/python3.11/site-packages (from black->leo) (3.11.0)
Requirement already satisfied: tornado in ./.local/lib/python3.11/site-packages (from flexx->leo) (6.3.3)
Requirement already satisfied: pscript>=0.7.7 in ./.local/lib/python3.11/site-packages (from flexx->leo) (0.7.7)
Requirement already satisfied: webruntime>=0.5.6 in ./.local/lib/python3.11/site-packages (from flexx->leo) (0.5.8)
Requirement already satisfied: dialite>=0.5.2 in ./.local/lib/python3.11/site-packages (from flexx->leo) (0.5.3)
Requirement already satisfied: fastjsonschema in ./.local/lib/python3.11/site-packages (from nbformat->leo) (2.18.1)
Requirement already satisfied: jsonschema>=2.6 in ./.local/lib/python3.11/site-packages (from nbformat->leo) (4.19.1)
Requirement already satisfied: jupyter-core in ./.local/lib/python3.11/site-packages (from nbformat->leo) (5.3.2)
Requirement already satisfied: traitlets>=5.1 in ./.local/lib/python3.11/site-packages (from nbformat->leo) (5.11.2)
Requirement already satisfied: astroid<=3.1.0-dev0,>=3.0.0 in ./.local/lib/python3.11/site-packages (from pylint->leo) (3.0.0)
Requirement already satisfied: isort<6,>=4.2.5 in ./.local/lib/python3.11/site-packages (from pylint->leo) (5.12.0)
Requirement already satisfied: mccabe<0.8,>=0.6 in ./.local/lib/python3.11/site-packages (from pylint->leo) (0.7.0)
Requirement already satisfied: tomlkit>=0.10.1 in ./.local/lib/python3.11/site-packages (from pylint->leo) (0.12.1)
Requirement already satisfied: dill>=0.3.6 in ./.local/lib/python3.11/site-packages (from pylint->leo) (0.3.7)
Requirement already satisfied: PyQtWebEngine-Qt5>=5.15.0 in ./.local/lib/python3.11/site-packages (from PyQtWebEngine->leo) (5.15.2)
Requirement already satisfied: sphinxcontrib-applehelp in ./.local/lib/python3.11/site-packages (from sphinx->leo) (1.0.7)
Requirement already satisfied: sphinxcontrib-devhelp in ./.local/lib/python3.11/site-packages (from sphinx->leo) (1.0.5)
Requirement already satisfied: sphinxcontrib-jsmath in ./.local/lib/python3.11/site-packages (from sphinx->leo) (1.0.1)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (2.0.4)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (1.1.9)
Requirement already satisfied: sphinxcontrib-qthelp in ./.local/lib/python3.11/site-packages (from sphinx->leo) (1.0.6)
Requirement already satisfied: Jinja2>=3.0 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (3.1.2)
Requirement already satisfied: Pygments>=2.14 in /usr/lib/python3/dist-packages (from sphinx->leo) (2.14.0)
Requirement already satisfied: snowballstemmer>=2.0 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (2.2.0)
Requirement already satisfied: babel>=2.9 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (2.13.0)
Requirement already satisfied: alabaster<0.8,>=0.7 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (0.7.13)
Requirement already satisfied: imagesize>=1.3 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (1.4.1)
Requirement already satisfied: requests>=2.25.0 in ./.local/lib/python3.11/site-packages (from sphinx->leo) (2.31.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./.local/lib/python3.11/site-packages (from Jinja2>=3.0->sphinx->leo) (2.1.3)
Requirement already satisfied: attrs>=22.2.0 in ./.local/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat->leo) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in ./.local/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat->leo) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in ./.local/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat->leo) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in ./.local/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat->leo) (0.10.4)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.local/lib/python3.11/site-packages (from requests>=2.25.0->sphinx->leo) (3.3.0)
Requirement already satisfied: idna<4,>=2.5 in ./.local/lib/python3.11/site-packages (from requests>=2.25.0->sphinx->leo) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./.local/lib/python3.11/site-packages (from requests>=2.25.0->sphinx->leo) (2.0.6)
Requirement already satisfied: certifi>=2017.4.17 in ./.local/lib/python3.11/site-packages (from requests>=2.25.0->sphinx->leo) (2023.7.22)
Installing collected packages: leo
Attempting uninstall: leo
Found existing installation: leo 6.7.4
Uninstalling leo-6.7.4:
Successfully uninstalled leo-6.7.4
Successfully installed leo-6.7.6
user@debian-leo-study-vm:~$



###

Shall I create a LeoInteg - or - Leo issue for it ?

With kind regards,

Viktor
 

Robert-Felix

unread,
Dec 28, 2023, 6:01:48 PM12/28/23
to leo-e...@googlegroups.com
Hi Viktor,

Thank you so much for trying out LeoInteg! 

Concerning the upgrade/installation of Leo itself, It is directly related to Leo, and thus you should file an issue with Leo itself if you think this can help other users in the future. 

Thanks for taking the time to log this and filing a report! 

Félix

p.s. Stay tuned for the next version coming out soon that will handle UNL link clicks! :)

--
You received this message because you are subscribed to a topic in the Google Groups "leo-editor" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/leo-editor/rPWY2AxO7cE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to leo-editor+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/5d2314e4-99fa-4f5b-93f3-a97576703274n%40googlegroups.com.

Thomas Passin

unread,
Dec 28, 2023, 6:54:50 PM12/28/23
to leo-editor
You referring to needing to use --break-system-packages, is that right? I don't see this as a Leo issue.  You are installing Leo into the system's Python install, and the OS is touchy about that.  Some package that the OS relies on might get updated in an incompatible way as part of the installation of Leo, but the system can't know if that will happen.  So it prefers not to install some Python packages.  I have seen the same warning myself when trying to install or upgrade certain packages.  I can't remember which ones, though.

I didn't even know there was a  -break-system-packages option. But it's probably not a good idea to use it unless you have some reason to know that it would not harm the system.  Overall, a venv would be safer, or, as I generally have done, install a different Python version from the system's and use that for everything you want to do.

On Thursday, December 28, 2023 at 4:01:20 PM UTC-5 viktor....@gmail.com wrote:
Hello Felix, hello Edward,
[snip]

Viktor Ransmayr

unread,
Dec 29, 2023, 4:31:52 AM12/29/23
to leo-editor
Hello Felix,

Félix schrieb am Freitag, 29. Dezember 2023 um 00:01:48 UTC+1:

...


Concerning the upgrade/installation of Leo itself, It is directly related to Leo, and thus you should file an issue with Leo itself if you think this can help other users in the future.

It is not that easy - and - I should have provided this additional context / information already in my initial feedback:

* I can & have installed Leo in a Python virtual environment (venv) - both in Debian as well as Fedora Linux VMs.
* What I have not been able to achieve is to configure 'Leo Editor Path' in the LeoInteg extension & have it recognize it.
* -> In other words I provide the right location of Leo in the venv - but - LeoInteg fails to connect to server !

Fedora 38 so far does not complain about the issue - but - Debian 12 is the first Linux variant that I use, which has adopted PEP 668 ...

With kind regards,

Viktor

Viktor Ransmayr

unread,
Dec 29, 2023, 4:44:21 AM12/29/23
to leo-editor
Hello Thomas,

tbp1...@gmail.com schrieb am Freitag, 29. Dezember 2023 um 00:54:50 UTC+1:
You referring to needing to use --break-system-packages, is that right?

Yes.
 
I don't see this as a Leo issue. 

 It is an issue between 'LeoInteg' & 'Leo', if the underlying Linux distro has adopted PEP 668.

This is why addressed both Felix - and - Edward in my initial feedback - but - obviously failed to provide the necessary additional context / information ...

You are installing Leo into the system's Python install, and the OS is touchy about that.  Some package that the OS relies on might get updated in an incompatible way as part of the installation of Leo, but the system can't know if that will happen.  So it prefers not to install some Python packages.  I have seen the same warning myself when trying to install or upgrade certain packages.  I can't remember which ones, though.

I didn't even know there was a  -break-system-packages option. But it's probably not a good idea to use it unless you have some reason to know that it would not harm the system.  Overall, a venv would be safer, or, as I generally have done, install a different Python version from the system's and use that for everything you want to do.

I did not know about this option either ;-)

I only applied it, since it was mentioned in the error msg as a possibly ~ dangerous ~ workaround - and - I could not get 'LeoInteg' working together with Leo, if Leo is installed in a Python virtual environment (venv).

See my previous answer to Felix. - Have you been able to get 'LeoInteg' working in such a setup ?

With kind regards,

Viktor

Edward K. Ream

unread,
Dec 29, 2023, 6:37:55 AM12/29/23
to leo-e...@googlegroups.com
On Fri, Dec 29, 2023 at 3:44 AM Viktor Ransmayr <viktor....@gmail.com> wrote:

tbp1...@gmail.com schrieb am Freitag, 29. Dezember 2023 um 00:54:50 UTC+1:
You referring to needing to use --break-system-packages, is that right?

Big sigh. Another example of a Python "improvement" breaking existing code or practices.

Thomas, is this a documentation issue for Leo, or must setup.py change?

Edward

Thomas Passin

unread,
Dec 29, 2023, 8:26:39 AM12/29/23
to leo-editor
I don't know; I'll have to think about it some more.  I just encountered these new messages from pip in the last week or so, not in connection with leoInteg but when trying to update Leo on one or another Linux VMs.  I assumed it was a special modification by the Distro packagers and didn't realize it was the result of a new PEP.

For LeoInteg one can point it to any Python executable you want, so the answer would be to install another parallel version of Python and use that.  This would in fact also apply to Leo updates outside of LeoInteg.  But installing another Python version that's not supplied by the distro's packager is going to be a problem for many users, and sometimes doesn't go smoothly.  Even after you get another Python version installed, whether Leo will install and work varies across distros.  Some of them require you to install some requirement using the distro's package manager.  Some of them don't supply a certain shared library (.so file) and you have to track down which one it is and how to install it.  It's a mess.  I bump up against similar problems with my GF4 package, usually in connection with tkinter or matplotlib.

I suppose we should do something but I can't see what it would be that would work across all distros.

Thomas Passin

unread,
Dec 29, 2023, 8:35:05 AM12/29/23
to leo-editor
I may be one of the few people who realizes how inconsistent the installation situation is because I run around 8 or 10 different distros and distro versions from time to time to make sure a certain software package runs right on Linux.  Naturally I try to install Leo and GF4 on those distros.  So I have exposure to a wider potential range of problems than most people. 

Unfortunately for wrangling these issues you really need to set up new VMs each time since once you get, say, Leo working then updating is usually easier.  It can all be very time consuming.

Edward K. Ream

unread,
Dec 29, 2023, 8:48:11 AM12/29/23
to leo-e...@googlegroups.com
>> Thomas, is this a documentation issue for Leo, or must setup.py change?
> I don't know; I'll have to think about it some more.
...
> I suppose we should do something but I can't see what it would be that would work across all distros.

Thanks for looking into this!

Edward

Edward K. Ream

unread,
Dec 29, 2023, 8:49:18 AM12/29/23
to leo-e...@googlegroups.com
On Fri, Dec 29, 2023 at 7:35 AM Thomas Passin wrote:

> I may be one of the few people who realizes how inconsistent the installation situation is because I run around 8 or 10 different distros and distro versions from time to time to make sure a certain software package runs right on Linux.

I'm glad we have you as our resident guru.

Edward

Thomas Passin

unread,
Dec 29, 2023, 8:52:13 AM12/29/23
to leo-editor
Far from a guru!  I suppose I'm not really a newbie any more, but I'm still stumbling around. 

Thomas Passin

unread,
Dec 29, 2023, 9:36:31 AM12/29/23
to leo-editor
As a first response to overcoming Viktor's problem, I suggest that Felix could find a way to have LeoInteg open a venv and launch Python from that.  This would require a new setting that would take priority over the current setting for the Python executable. (Sorry, Felix, I hate to suggest more work for you!).  Leo integ would have to run the venv activation  script and launch the bridge in that environment.  I don't know how to do that but I imagine it's possible. Once launched, LeoInteg would not need to know about the venv any more to communicate with the bridge.

This way, a user could follow the suggestion in the warning message from pip by creating a venv and installing Leo into it.

Edward K. Ream

unread,
Dec 29, 2023, 10:01:27 AM12/29/23
to leo-e...@googlegroups.com


On Fri, Dec 29, 2023 at 7:52 AM Thomas Passin <tbp1...@gmail.com> wrote:

> Far from a guru!  I suppose I'm not really a newbie any more, but I'm still stumbling around.

Humility will not get you off the hook. Hehe.

Edward
Reply all
Reply to author
Forward
0 new messages