This package includes the ability to use a couple “experimental” diffs that were in the works by various contributors long ago:
Neither of these is actively maintained, and because they are not published on PyPI, have to be installed via git URLs, which makes installing them awkward — we can’t list them as dependencies because PyPI, for very reasonable safety concerns, will not allow git URLs as dependencies. Instead our install instructions include this madness:
To install them with Pip, run:
curl -O 'https://raw.githubusercontent.com/edgi-govdata-archiving/web-monitoring-diff/refs/heads/main/requirements-experimental.txt'
pip install -r requirements-experimental.txt
If using a different package manager, check the requirements-experimental.txt file and install each of the listed packages.
This is a bad experience. It also creates a long-term dependency on our repository’s URL in GitHub.
We should either:
-
Remove these diffs altogether. They are not maintained or actively developed, and we never got them up near the same user experience level as our main html_render_diff.
-
Have a script/command that spits out the requirements file for pip or maybe a bash script of install commands for other popular package managers (poetry, pdm, uv). Then the installation doesn't require extra tools like cUrl and the dependencies are versioned along with the package (because the code to generate the install script is part of the package). Not the greatest, but less awkward than what we have.
-
Vendor these dependencies directly in our package. I’m not excited about this one and I think it implies a greater responsibility for updating and maintaining things that we have the bandwidth to take on, but it does make installation and usage much more straightforward. If we want to keep these updated, it’s easier to fork them here than try to upstream everything.
(See also #239)
This package includes the ability to use a couple “experimental” diffs that were in the works by various contributors long ago:
Neither of these is actively maintained, and because they are not published on PyPI, have to be installed via git URLs, which makes installing them awkward — we can’t list them as dependencies because PyPI, for very reasonable safety concerns, will not allow git URLs as dependencies. Instead our install instructions include this madness:
This is a bad experience. It also creates a long-term dependency on our repository’s URL in GitHub.
We should either:
Remove these diffs altogether. They are not maintained or actively developed, and we never got them up near the same user experience level as our main
html_render_diff.Have a script/command that spits out the requirements file for pip or maybe a bash script of install commands for other popular package managers (poetry, pdm, uv). Then the installation doesn't require extra tools like cUrl and the dependencies are versioned along with the package (because the code to generate the install script is part of the package). Not the greatest, but less awkward than what we have.
Vendor these dependencies directly in our package. I’m not excited about this one and I think it implies a greater responsibility for updating and maintaining things that we have the bandwidth to take on, but it does make installation and usage much more straightforward. If we want to keep these updated, it’s easier to fork them here than try to upstream everything.
(See also #239)