tahoe 1.19.0 fails with up-to-date attrs due to API withdrawal
Greg Troxel
gdt at lexort.com
Sun Aug 11 23:02:23 UTC 2024
I have:
py311-attrs-24.2.0
which I realize is kind of new but it is the most recent release on
pypi.
tahoe fails to start with:
ImportError: cannot import name 'provides' from 'attr.validators' (/usr/pkg/lib/python3.11/site-packages/attr/validators.py)
and that's because of:
24.1.0
Backwards-incompatible Changes
- `attrs.evolve()` doesn't accept the *inst* argument as a keyword argument anymore.
Pass it as the first positional argument instead.
- `attrs.validators.provides()` has been removed.
The removed code is available as a [gist](https://gist.github.com/hynek/9eaaaeb659808f3519870dfa16d2b6b2) for convenient copy and pasting.
- All packaging metadata except from `__version__` and `__version_info__` has been removed from the `attr` and `attrs` modules (for example, `attrs.__url__`).
Please use [`importlib.metadata`](https://docs.python.org/3/library/importlib.metadata.html) or [*importlib_metadata*](https://pypi.org/project/importlib-metadata/) instead.
- Speed up the generated `__eq__` methods significantly by generating a chain of attribute comparisons instead of constructing and comparing tuples.
This change arguably makes the behavior more correct,
but changes it if an attribute compares equal by identity but not value, like `float('nan')`.
which was warned about in:
23.1.0, released on Apr 16, 2023
Yes, I I know that if I installed old attrs, I could run tahoe. But
that approach is not viable in packaging systems. Programs have to work
with the most recent formal release of all dependencies.
If it would be more constructive to file bugs instead of posting here,
just say so. At this point I am not actively using tahoe, and just
trying to keep after the packaging. There is tahoe-lafs trac, there is
github (#giveupgithub please ! I know easier said than done...), and
tahoe-lafs gitlab. I see there are no issues on github, so I'm guessing
trac, but I can't tell which repo is authoritative and which is a
mirror. But wait, you are on to this already!
https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4056
https://github.com/tahoe-lafs/tahoe-lafs/pull/1326
github sayws 1.17.0 is the latest release, but there is a 1.19.0 tag on
January 21. That's after the merge date of the PR, so I'm confused.
(tahoe 1.18.0 also fails with the same error, so the strategy of
deferring the update doesn't help.)
Thanks,
Greg
More information about the tahoe-dev
mailing list