I've written 
<https://groups.google.com/g/leo-editor/c/U5u76-Zbi10/m/XhY4_Al1AQAJ>of the 
need to discuss the deployment stories on Windows, macOS, various Unix 
distributions, various Linux distributions. Before this discussion begins, 
one must consider that there are multiple implementations of Python. For 
the moment, I'm limiting my comments to CPython running native on Windows. 

*Context: *The last time I worked on an installer for Leo or any other 
package, Leo 4.3 was the current release, and came with a single-file 
installer built using NSIS. That installer was for Windows only. NSIS as it 
stood then was flexible as it saw use in many projects, but its use was 
somewhat arcane. My work was aimed at supporting per-user installations of 
CPython as well as shared installations, and installing per-user and 
system-wide installations of Leo on top of system-wide installations of 
CPython; my hope was that the two flavors of per-user support would ease 
the work of side-by-side testing of multiple CPython releases and multiple 
Leo releases. By the time I had something to share with Edward, Windows 
Vista had brought the headaches of UAC dialog boxes that were the user 
interface for tightened security, and I had not touched those. Edward was 
already burdened by maintenance of the Windows XP-savvy installer script 
that NSIS compiles. It's possible that my work only promised more 
installer-related work for him, but it's Edward's right to comment on that 
if he wishes to. 

Contrast that with the current requirements under Windows:

   - 
   
   CPython;
   - 
   
   Qt, whose publisher has restricted access to the LTS releases to paying 
   customers, which forces non-commercial users to track development versions 
   that are released every six months; 
   - 
   
   Git, or another source code management tool that speaks enough Git to 
   pull from GitHub; 
   - 
   
   Leo's devel branch on GitHub, which mingles Leo's core with Leo's 
   plugins, some of which are clearly essential to leo as it stands.
   
What are the installer stories for each of these? 

   - 
   
   CPython comes with an installer,  one that supports setups for the 
   individual user and for all users. 
   - 
   
   The changes to Qt distribution are no gift to a project like Leo, if my 
   guess about the limits to Edward's ability to scale are as accurate as my 
   knowledge of my own. 
   - 
   
   Git, I can't speak to. It has arrived since I had spare time to develop 
   software, even limiting development to my narrow requirements.  
   - 
   
   Following Leo's devel branch on GitHub seems to require following 
   discussions among its developers here on Leo-editor. The supportive 
   responses of the people here are a major plus. 
   
What are the usage stories for each of these? 

*Cpython.* The current release of CPython is 3.9.5. Its installer supports 
installation for the current and for all users. It supports access to the 
pip <https://pip.pypa.io/en/stable/> manager for packages on the Python 
Package Index <https://pypi.org/> ("PyPi"). 

*Qt. *I don't know about Qt as shipped by its publisher, The Qt Company 
<https://www.qt.io/>; on my work Windows machine, I recently installed the 
Individual 
Edition <https://www.anaconda.com/products/individual> of the Anaconda 
distribution of CPython <https://www.anaconda.com> to obtain it. There's 
more to say about the Anaconda distribution later. 

*Python bindings for Qt. *Either Riverbank Computing's PyQt 
<http://www.riverbankcomputing.com/software/pyqt/>, or the Qt Company's 
PySide <https://www.qt.io/qt-for-python>, which was developed by Qt's owner 
because of Riverbank Computing's restrictive license. Now, Qt is also under 
a restrictive license. . . .

*Git. *It is my impression that use of Git is complicated enough that it 
requires both learning and careful, careful use. I'm old and busy, meaning 
that I have limitations, and memory for the details of infrequently used 
command-line utilities is one of them. 

*Leo's devel branch on GitHub. *I am drawn to the single-file-installer and 
small-team focus of Fossil-SCM <https://fossil-scm.org/>, which is built on 
engineering choices of simplicity of deployment and use. It supports both 
server-based repositories and distributed development. It can use an 
installed Git to work with GitHub repositories while work on the local 
machine is done with Fossil-SCM 
<https://fossil-scm.org/home/doc/trunk/www/mirrortogithub.md>. There are 
limitations <https://fossil-scm.org/home/doc/trunk/www/mirrorlimitations.md> to 
support of GitHub, and Leo's developers would need to comment on those 
before anyone did more than pull from the Leo's devel branch for 
deployment. I don't speak for anyone else, but if those limitations don't 
break the practices of Leo's developers, I'd suggest that people who don't 
use Git every day to work with GitHub repositories consider using 
Fossil-SCM. Fossil-SCM and SQLite are developed in tandem; the developers 
do really eat their own dogfood. 

*The Anaconda Distribution of CPython.* The 64-bit distribution for Python 
3.8 bundles Qt, PyQt and PySide bindings for Python, and a host of data 
science software including the Jupyter notebook that Edward has looked at 
recently. The Individual Edition isn't an option available to all; my 
employer's headcount is small enough that I am not required to pay the 
Commercial Edition, the cheapest commercial option at 14.95 US Dollars *per 
month, per seat*. Note also that the Anaconda distribution uses Conda 
<https://docs.conda.io/en/latest/> as a package manager, not pip, and 
providing a Conda package for Leo is a necessity if the Anaconda 
distribution is the chosen relief for the limits on scaling of Edward and 
other developers and the participants on the Leo-editor Google Group. 

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/34bf1d18-6749-434c-bad5-c54387e43631n%40googlegroups.com.

Reply via email to