﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	launchpad_bug
3497	There is a recommended repository of dependencies at https://tahoe-lafs.org/deps/ which is both incomplete and out of date	exarkun	GitHub <noreply@…>	"Not so far in Python's history, distributing and installing packages in a way which made them easy to install for end users was an extremely challenging problem.  In this context, the Tahoe-LAFS project began building and publishing its dependencies as wheels at https://tahoe-lafs.org/deps/ and recommending that when installing Tahoe-LAFS using `pip` this repository be consulted (with `--find-links`).

One particular problem the repository solved was the lack of binary packages for certain platforms and dependencies.  When these packages are not available, a working C compiler and many other build-time dependencies are required on the system where Tahoe-LAFS is being installed.  For some OS, this is a high hurdle to clear.  For others, it merely slows down the installation process and consumes more local resources.  Either way, it's preferable if it can be avoided.

As the wheel format has continued to grow in popularity and the ""manylinux"" binary formats have become easier to work with, the number of binary wheels available from other sources - namely PyPI - has grown immensely.

At the same time, the Tahoe-LAFS project hasn't consistently updated the dependencies published at https://tahoe-lafs.org/deps/.  Tahoe-LAFS likely still works with many of the published versions but there is no continuous integration that verifies this.

At the time of the filing of this ticket, on Linux, there are only six dependencies (direct or transitive) that are not available from PyPI as wheels.  All of these are pure Python and there is nearly no additional burden in installing them from .tar.gz.  macOS is in a similar position.

On Windows, the only package I know of without a binary wheel is zfec.  Efforts are currently underway to remedy this situation.

The overall direction of the Python packaging/distribution ecosystem is in the direction of binary dependencies being available for the major platforms and end-users not needing to build them.

Thus, once zfec joins the club, we should retire https://tahoe-lafs.org/deps/.
"	defect	closed	normal	undecided	packaging	n/a	fixed	review		
