Make Extras Dependencies Specs Optional
- Dominant language
- Python
- Stars
- 4
- Forks
- 2
- Avg merge
- 18d 23h
- Merged PRs (30d)
- 1
Description
# Summary
Curryer has a LOT of dependencies but for some use cases (perhaps most), most of these dependencies are not actually required. For example, we have extensive dependencies related to image loading and manipulation but for most SPICE-related functionality, these dependencies are not necessary.
Here is a first pass at potential optional dependencies for image related operations:
- geotiff
- tifffile
- affine
- numcodecs
- pyproj (this is a maybe. proj may be used elsewhere)
# Implementation
Parcel these dependencies into an optional group in `pyproject.toml` and define an "extra" called "tiff" or similar so that these dependencies are only installed when a user runs `pip install "lasp-curryer[tiff]"`. Poetry will still ensure dependency compatibility with optional groups so this doesn't hurt our dependency spec. It just alleviates the need to install all these libraries for users who just want to create and manage SPICE kernels.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in pyproject.toml by reading the current dependency declarations and identifying the image-related packages listed in the issue. Group the agreed packages under an optional tiff extra, then verify that the normal installation omits them and that pip install "lasp-curryer[tiff]" includes them while preserving dependency compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100