Single or multiple packages?
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Option 1: one package that contains functions for multiple modalities (e.g. transcriptomics, AIRR, ATAC, ...).
Option 2: one package per modality, e.g. gex-io, airr-io, epigenetics-io
Pro one package
- joint maintenance -> reduced overhead and bus factor
- central place for users to look for IO functions
- potential for multimodal IO functions that generate
MuDataobjects directly
Pro multiple packages
- clear who's responsible for releasing the package
- no need to deal with optional dependencies
- Can release packages independently more quickly
Optional dependencies
-
Could be handled with dependency groups.
pip install scverse-ioinstalls only the basic functions.
then there's e.g.
scverse-io[airr]and
scverse-io[all]The latter would be broadly advertised in the README.
-
Maybe it's not as bad after all. Most IO functions should get away the same packages reading csv/mtx/json/h5.
-
@flying-sheep made the point that if an optional dependency is not installed, the error message should be just a plain
message with installation instructions rather than a full stack-trace that will be intimidating for beginners.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the README and the discussion of single-package versus per-modality packaging, including optional dependency groups and missing-dependency messages. Done means reaching and documenting a project decision; the issue does not name implementation files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100