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.