setuptools pinned to <82
- Dominant language
- Python
- Stars
- 567
- Forks
- 68
- Avg merge
- 4h 39m
- Merged PRs (30d)
- 5
Description
The SpeciesNet package depends on the [yolov5](https://pypi.org/project/yolov5/) package (not to be confused with the [ultralytics-yolov5](https://pypi.org/project/ultralytics-yolov5) or [ultralytics](https://pypi.org/project/ultralytics) packages... that's right, those are three different packages), which depends on the [pkg-resources](https://setuptools.pypa.io/en/latest/pkg_resources.html) module, which was removed in recent versions of setuptools. For now, this is fixed by pinning setuptools<82, but putting a maximum version on a super-commonly-used package is not a great long-term solution.
This impacts the [MegaDetector package](https://pypi.org/project/megadetector/) also, which uses ultralytics-yolov5 (which has the same issue). So, the "right" solution is probably to fix it in the MD package, modify the SpeciesNet package to use the MD package (rather than using yolov5 directly), and unpin setuptools. We get a bunch of other things for free that way (like supporting other MD versions), and we only have to fix this in one place. This is not urgent, so I'll just leave this open until I fix it in the MD package.
Contributor guide
Research direction
Review the SpeciesNet and MegaDetector packaging metadata and their yolov5-related dependency paths. Confirm the existing setuptools<82 constraint, then determine whether SpeciesNet can use MegaDetector and remove the upper pin without breaking installation. Done means the shared dependency path works with current setuptools versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100