I'm popping into the Leo group for a brief dip after a long time away 
(distracting myself from work I don't like by visiting a place with fond 
memories and good people). I intended only to lurk, but I can't stop myself 
from saying "thank you David!" for this cogent and outstanding summary.

I too am continually drawn back to the Fossil and SQLite projects, even 
though they remain a poor fit for who Iam and what I work with. I re-read ' 
SQLite 
As An Application File Format <https://www.sqlite.org/appfileformat.html> ' 
every year or so and crawl through Fossil forum every few weeks. I wish it 
or me were just a bit different. 

Re: conda: It would make certain things easier to have a Leo conda package 
but it's not essential. This is my current install Leo on new machine 
recipe, it's still too many steps and too technical to be an installer but 
at least it's easy to repeat.

   1. Install miniconda (preferably using Scoop or Chocolately)
   2. Create Leo environment
   3. Conda install pip (which installs Python and other essentials)
   4. Download Leo source code archive, or git clone same
   5. Pip install Leo
   
scoop install --global miniconda3
conda config --add channels conda-forge
conda config --set channel_priority strict 
conda create -n Leo
conda activate Leo
conda install pip

Install Leo without Git:

scoop install wget
wget https://github.com/leo-editor/leo-editor/archive/devel.zip
7z x devel.zip -o C:\apps
pip install --editable C:\apps\leo-editor-devel 

Install Leo with Git:

pushd C:\apps 
git clone --single-branch -b devel --depth=100 
https://github.com/leo-editor/leo-editor.git
pip install --editable leo-editor 

Wrap up: Run Leo >> Menu: Settings >> Desktop Integration >> 
[register-leo], [add-desktop-links]

Cheers,

Matt

On Saturday, May 22, 2021 at 8:18:23 p.m. UTC-7 David Szent-Györgyi wrote:

> 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/106a89b5-1c74-43e2-b66d-ff82f62b1dden%40googlegroups.com.

Reply via email to