From 6071353621c79df1f593feed1c57154ea6ec1fad Mon Sep 17 00:00:00 2001 From: Gregor Sturm Date: Mon, 22 Jul 2024 17:23:12 +0200 Subject: [PATCH 1/4] Be explicit about test coverage and add footnotes --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c63f1c2..a6b3d09 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,8 @@ How does the package use scverse data structures (please describe in a few sente - [ ] The code is publicly available under an [OSI-approved](https://opensource.org/licenses/alphabetical) license - [ ] The package provides versioned releases - [ ] The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda) -- [ ] The package uses automated software tests and runs them via continuous integration (CI) -- [ ] The package provides API documentation via a website or README +- [ ] The package uses automated software tests that cover all public functions and runs them via continuous integration (CI)[^1] +- [ ] The package provides API documentation via a website or README[^2] - [ ] 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 @@ -55,3 +55,6 @@ How does the package use scverse data structures (please describe in a few sente - Mastodon: - [ ] The package provides tutorials (or "vignettes") that help getting users started quickly - [ ] The package uses the [scverse cookiecutter template](https://github.com/scverse/cookiecutter-scverse). + +[^1]: Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use [GitHub Actions](https://github.com/features/actions) for CI. For an example, check out our [cookiecutter template](https://github.com/scverse/cookiecutter-scverse). +[^2]: By API documentation, we mean an overview of *all* public functions provided a package, with documentation of their parameters. For an example, see the [Scanpy documentation](https://scanpy.readthedocs.io/en/stable/api/preprocessing.html). In simple cases, this can be done manually in a README file. For anything more complex, we recommend the [Sphinx Autodoc plugin](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) From 8f19971d858df97d4c3357f3df6438bf2d09c0cb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:26:55 +0000 Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a6b3d09..ce1821a 100644 --- a/README.md +++ b/README.md @@ -57,4 +57,5 @@ How does the package use scverse data structures (please describe in a few sente - [ ] The package uses the [scverse cookiecutter template](https://github.com/scverse/cookiecutter-scverse). [^1]: Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use [GitHub Actions](https://github.com/features/actions) for CI. For an example, check out our [cookiecutter template](https://github.com/scverse/cookiecutter-scverse). -[^2]: By API documentation, we mean an overview of *all* public functions provided a package, with documentation of their parameters. For an example, see the [Scanpy documentation](https://scanpy.readthedocs.io/en/stable/api/preprocessing.html). In simple cases, this can be done manually in a README file. For anything more complex, we recommend the [Sphinx Autodoc plugin](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) + +[^2]: By API documentation, we mean an overview of _all_ public functions provided a package, with documentation of their parameters. For an example, see the [Scanpy documentation](https://scanpy.readthedocs.io/en/stable/api/preprocessing.html). In simple cases, this can be done manually in a README file. For anything more complex, we recommend the [Sphinx Autodoc plugin](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) From 15c7626bc0b04a039fbc9ae0d136ebd3a78cb8ec Mon Sep 17 00:00:00 2001 From: Gregor Sturm Date: Fri, 26 Jul 2024 17:50:58 +0200 Subject: [PATCH 3/4] Update README.md --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ce1821a..00c4b71 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,9 @@ How does the package use scverse data structures (please describe in a few sente - [ ] The code is publicly available under an [OSI-approved](https://opensource.org/licenses/alphabetical) license - [ ] The package provides versioned releases - [ ] The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda) -- [ ] The package uses automated software tests that cover all public functions and runs them via continuous integration (CI)[^1] -- [ ] The package provides API documentation via a website or README[^2] +- [ ] 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 @@ -56,6 +57,8 @@ How does the package use scverse data structures (please describe in a few sente - [ ] The package provides tutorials (or "vignettes") that help getting users started quickly - [ ] The package uses the [scverse cookiecutter template](https://github.com/scverse/cookiecutter-scverse). -[^1]: Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use [GitHub Actions](https://github.com/features/actions) for CI. For an example, check out our [cookiecutter template](https://github.com/scverse/cookiecutter-scverse). +[^1]: We recommend thtat tests cover at least all user facing (public) functions. Minimal tests ensure that the function does not fail on an example data set. Ideally, tests also ensure the correctness of the results, e.g. by comparing against a snapshot. -[^2]: By API documentation, we mean an overview of _all_ public functions provided a package, with documentation of their parameters. For an example, see the [Scanpy documentation](https://scanpy.readthedocs.io/en/stable/api/preprocessing.html). In simple cases, this can be done manually in a README file. For anything more complex, we recommend the [Sphinx Autodoc plugin](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) +[^2]: Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use [GitHub Actions](https://github.com/features/actions) for CI. For an example, check out our [cookiecutter template](https://github.com/scverse/cookiecutter-scverse). + +[^3]: By API documentation, we mean an overview of _all_ public functions provided a package, with documentation of their parameters. For an example, see the [Scanpy documentation](https://scanpy.readthedocs.io/en/stable/api/preprocessing.html). In simple cases, this can be done manually in a README file. For anything more complex, we recommend the [Sphinx Autodoc plugin](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) From 1f1ef966cd7d58dbdd843a4b8e86d9fab2c80599 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 15:51:12 +0000 Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 00c4b71..cd85738 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ How does the package use scverse data structures (please describe in a few sente - [ ] The code is publicly available under an [OSI-approved](https://opensource.org/licenses/alphabetical) license - [ ] The package provides versioned releases - [ ] The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda) -- [ ] Automated tests cover essential functions of the package and a reasonable range of inputs and conditions [^1] +- [ ] 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)