Application SingleRust as an ecosystem package#349
Application SingleRust as an ecosystem package#349ianfd wants to merge 3 commits intoscverse:mainfrom
Conversation
|
Dear @ianfd, thanks for submitting the package, great to see more rust taken up in the community!
Could you please also tag the releases in git, or use Github's "releases" feature?
The test coverage seems quite low. In fact, the only tests I could find are in the differential expression module. In the CI script, three test commands are commented out. |
|
Hey @grst, thanks a lot for the quick feedback — really appreciate it. Regarding releases: absolutely, I’ll start tagging versions in git and use GitHub Releases going forward to make versioning more transparent. On testing: that’s a fair point. At the moment, most of the tests live in a separate internal repository where they’re tied into a larger benchmarking and validation pipeline that runs on dedicated infrastructure. However, I understand that from the outside this makes coverage and reliability hard to assess. I’ll move a representative subset of these tests into the main repository and enable them in CI so that core functionality is covered and visible. I’ll also make sure the CI runs all relevant test commands on each push/PR. Thanks for pointing this out. I'll address these points shortly. |
Name of the tool: SingleRust
Short description: A toolkit to build high-performance single-cell workflows within the Rust programming language. It features several lower-level ecosystem libraries like single-algebra, single-statistics, etc...
How does the package use scverse data structures (please describe in a few sentences): It uses the already established anndata-rs and implements a pure in-memory implementation of the AnnData-structure for high-performance operations (anndata-memory).
The code is publicly available under an OSI-approved license
The package provides versioned releases
The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda, crates.io)
Automated tests cover essential functions of the package and a reasonable range of inputs and conditions [^1]
Continuous integration (CI) automatically executes these tests on each push or pull request [^2]
The package provides API documentation via a website or README[^3]
The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions)
I am an author or maintainer of the tool and agree on listing the package on the scverse website
Please announce this package on scverse communication channels (zulip, discourse, twitter)
Please tag the author(s) these announcements. Handles (e.g.
@scverse_team) to include are:The package provides tutorials (or "vignettes") that help getting users started quickly
The package uses the scverse cookiecutter template.