lasp / lasp/curryer

Make Extras Dependencies Specs Optional

Open
#76 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.