Skip to content

Commit e26453b

Browse files
Update template to v0.5.0 (#4)
* Automated template update to v0.5.0 --------- Co-authored-by: Leander <[email protected]>
1 parent 54bc169 commit e26453b

File tree

10 files changed

+214
-129
lines changed

10 files changed

+214
-129
lines changed

.cruft.json

+41-29
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,43 @@
11
{
2-
"template": "https://github.com/scverse/cookiecutter-scverse",
3-
"commit": "cc35433d24b6b1e480683b1dff5edafe9b6fe69d",
4-
"checkout": null,
5-
"context": {
6-
"cookiecutter": {
7-
"project_name": "devVI",
8-
"package_name": "devvi",
9-
"project_description": "Integration of developmental scRNA-seq data",
10-
"author_full_name": "Leander Dony",
11-
"author_email": "[email protected]",
12-
"github_user": "le-ander",
13-
"github_repo": "devVI",
14-
"license": "MIT License",
15-
"ide_integration": true,
16-
"_copy_without_render": [
17-
".github/workflows/build.yaml",
18-
".github/workflows/test.yaml",
19-
"docs/_templates/autosummary/**.rst"
20-
],
21-
"_render_devdocs": false,
22-
"_jinja2_env_vars": {
23-
"lstrip_blocks": true,
24-
"trim_blocks": true
25-
},
26-
"_template": "https://github.com/scverse/cookiecutter-scverse",
27-
"_commit": "cc35433d24b6b1e480683b1dff5edafe9b6fe69d"
28-
}
29-
},
30-
"directory": null
2+
"template": "https://github.com/scverse/cookiecutter-scverse",
3+
"commit": "94ef9fb6f9ad8cfe65a3d9575679c03c80c49cd1",
4+
"checkout": "v0.5.0",
5+
"context": {
6+
"cookiecutter": {
7+
"project_name": "devVI",
8+
"package_name": "devvi",
9+
"project_description": "Integration of developmental scRNA-seq data",
10+
"author_full_name": "Leander Dony",
11+
"author_email": "[email protected]",
12+
"github_user": "le-ander",
13+
"github_repo": "devVI",
14+
"license": "MIT License",
15+
"ide_integration": true,
16+
"_copy_without_render": [
17+
".github/workflows/build.yaml",
18+
".github/workflows/test.yaml",
19+
"docs/_templates/autosummary/**.rst"
20+
],
21+
"_exclude_on_template_update": [
22+
"CHANGELOG.md",
23+
"LICENSE",
24+
"README.md",
25+
"docs/api.md",
26+
"docs/index.md",
27+
"docs/notebooks/example.ipynb",
28+
"docs/references.bib",
29+
"docs/references.md",
30+
"src/**",
31+
"tests/**"
32+
],
33+
"_render_devdocs": false,
34+
"_jinja2_env_vars": {
35+
"lstrip_blocks": true,
36+
"trim_blocks": true
37+
},
38+
"_template": "https://github.com/scverse/cookiecutter-scverse",
39+
"_commit": "94ef9fb6f9ad8cfe65a3d9575679c03c80c49cd1"
40+
}
41+
},
42+
"directory": null
3143
}

.github/ISSUE_TEMPLATE/bug_report.yml

+64-59
Original file line numberDiff line numberDiff line change
@@ -23,67 +23,72 @@ body:
2323
- type: textarea
2424
id: versions
2525
attributes:
26-
label: Version information
26+
label: Versions
2727
description: |
28-
Please paste below the output of
28+
Which version of packages.
29+
30+
Please install `session-info2`, run the following command in a notebook,
31+
click the “Copy as Markdown” button, then paste the results into the text box below.
32+
33+
```python
34+
In[1]: import session_info2; session_info2.session_info(dependencies=True)
35+
```
36+
37+
Alternatively, run this in a console:
2938
3039
```python
31-
import session_info
32-
session_info.show(html=False, dependencies=True)
40+
>>> import session_info2; print(session_info2.session_info(dependencies=True)._repr_mimebundle_()["text/markdown"])
3341
```
42+
render: python
3443
placeholder: |
35-
-----
36-
anndata 0.8.0rc2.dev27+ge524389
37-
session_info 1.0.0
38-
-----
39-
asttokens NA
40-
awkward 1.8.0
41-
backcall 0.2.0
42-
cython_runtime NA
43-
dateutil 2.8.2
44-
debugpy 1.6.0
45-
decorator 5.1.1
46-
entrypoints 0.4
47-
executing 0.8.3
48-
h5py 3.7.0
49-
ipykernel 6.15.0
50-
jedi 0.18.1
51-
mpl_toolkits NA
52-
natsort 8.1.0
53-
numpy 1.22.4
54-
packaging 21.3
55-
pandas 1.4.2
56-
parso 0.8.3
57-
pexpect 4.8.0
58-
pickleshare 0.7.5
59-
pkg_resources NA
60-
prompt_toolkit 3.0.29
61-
psutil 5.9.1
62-
ptyprocess 0.7.0
63-
pure_eval 0.2.2
64-
pydev_ipython NA
65-
pydevconsole NA
66-
pydevd 2.8.0
67-
pydevd_file_utils NA
68-
pydevd_plugins NA
69-
pydevd_tracing NA
70-
pygments 2.12.0
71-
pytz 2022.1
72-
scipy 1.8.1
73-
setuptools 62.5.0
74-
setuptools_scm NA
75-
six 1.16.0
76-
stack_data 0.3.0
77-
tornado 6.1
78-
traitlets 5.3.0
79-
wcwidth 0.2.5
80-
zmq 23.1.0
81-
-----
82-
IPython 8.4.0
83-
jupyter_client 7.3.4
84-
jupyter_core 4.10.0
85-
-----
86-
Python 3.9.13 | packaged by conda-forge | (main, May 27 2022, 16:58:50) [GCC 10.3.0]
87-
Linux-5.18.6-arch1-1-x86_64-with-glibc2.35
88-
-----
89-
Session information updated at 2022-07-07 17:55
44+
anndata 0.11.3
45+
---- ----
46+
charset-normalizer 3.4.1
47+
coverage 7.7.0
48+
psutil 7.0.0
49+
dask 2024.7.1
50+
jaraco.context 5.3.0
51+
numcodecs 0.15.1
52+
jaraco.functools 4.0.1
53+
Jinja2 3.1.6
54+
sphinxcontrib-jsmath 1.0.1
55+
sphinxcontrib-htmlhelp 2.1.0
56+
toolz 1.0.0
57+
session-info2 0.1.2
58+
PyYAML 6.0.2
59+
llvmlite 0.44.0
60+
scipy 1.15.2
61+
pandas 2.2.3
62+
sphinxcontrib-devhelp 2.0.0
63+
h5py 3.13.0
64+
tblib 3.0.0
65+
setuptools-scm 8.2.0
66+
more-itertools 10.3.0
67+
msgpack 1.1.0
68+
sparse 0.15.5
69+
wrapt 1.17.2
70+
jaraco.collections 5.1.0
71+
numba 0.61.0
72+
pyarrow 19.0.1
73+
pytz 2025.1
74+
MarkupSafe 3.0.2
75+
crc32c 2.7.1
76+
sphinxcontrib-qthelp 2.0.0
77+
sphinxcontrib-serializinghtml 2.0.0
78+
zarr 2.18.4
79+
asciitree 0.3.3
80+
six 1.17.0
81+
sphinxcontrib-applehelp 2.0.0
82+
numpy 2.1.3
83+
cloudpickle 3.1.1
84+
sphinxcontrib-bibtex 2.6.3
85+
natsort 8.4.0
86+
jaraco.text 3.12.1
87+
setuptools 76.1.0
88+
Deprecated 1.2.18
89+
packaging 24.2
90+
python-dateutil 2.9.0.post0
91+
---- ----
92+
Python 3.13.2 | packaged by conda-forge | (main, Feb 17 2025, 14:10:22) [GCC 13.3.0]
93+
OS Linux-6.11.0-109019-tuxedo-x86_64-with-glibc2.39
94+
Updated 2025-03-18 15:47

.github/workflows/build.yaml

+12-9
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,23 @@ concurrency:
1010
group: ${{ github.workflow }}-${{ github.ref }}
1111
cancel-in-progress: true
1212

13+
defaults:
14+
run:
15+
# to fail on error in multiline statements (-e), in pipes (-o pipefail), and on unset variables (-u).
16+
shell: bash -euo pipefail {0}
1317
jobs:
1418
package:
1519
runs-on: ubuntu-latest
1620
steps:
1721
- uses: actions/checkout@v4
18-
- name: Set up Python 3.12
19-
uses: actions/setup-python@v5
2022
with:
21-
python-version: "3.12"
22-
cache: "pip"
23-
cache-dependency-path: "**/pyproject.toml"
24-
- name: Install build dependencies
25-
run: python -m pip install --upgrade pip wheel twine build
23+
filter: blob:none
24+
fetch-depth: 0
25+
- name: Install uv
26+
uses: astral-sh/setup-uv@v5
27+
with:
28+
cache-dependency-glob: pyproject.toml
2629
- name: Build package
27-
run: python -m build
30+
run: uv build
2831
- name: Check package
29-
run: twine check --strict dist/*.whl
32+
run: uvx twine check --strict dist/*.whl

.github/workflows/release.yaml

+10-5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ on:
44
release:
55
types: [published]
66

7+
defaults:
8+
run:
9+
# to fail on error in multiline statements (-e), in pipes (-o pipefail), and on unset variables (-u).
10+
shell: bash -euo pipefail {0}
11+
712
# Use "trusted publishing", see https://docs.pypi.org/trusted-publishers/
813
jobs:
914
release:
@@ -19,11 +24,11 @@ jobs:
1924
with:
2025
filter: blob:none
2126
fetch-depth: 0
22-
- uses: actions/setup-python@v5
27+
- name: Install uv
28+
uses: astral-sh/setup-uv@v5
2329
with:
24-
python-version: "3.x"
25-
cache: "pip"
26-
- run: pip install build
27-
- run: python -m build
30+
cache-dependency-glob: pyproject.toml
31+
- name: Build package
32+
run: uv build
2833
- name: Publish package distributions to PyPI
2934
uses: pypa/gh-action-pypi-publish@release/v1

.github/workflows/test.yaml

+14-24
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ concurrency:
1212
group: ${{ github.workflow }}-${{ github.ref }}
1313
cancel-in-progress: true
1414

15+
defaults:
16+
run:
17+
# to fail on error in multiline statements (-e), in pipes (-o pipefail), and on unset variables (-u).
18+
shell: bash -euo pipefail {0}
19+
1520
jobs:
1621
test:
1722
runs-on: ${{ matrix.os }}
18-
defaults:
19-
run:
20-
shell: bash -e {0} # -e to fail on error
2123

2224
strategy:
2325
fail-fast: false
@@ -40,30 +42,18 @@ jobs:
4042

4143
steps:
4244
- uses: actions/checkout@v4
43-
- name: Set up Python ${{ matrix.python }}
44-
uses: actions/setup-python@v5
4545
with:
46-
python-version: ${{ matrix.python }}
47-
cache: "pip"
48-
cache-dependency-path: "**/pyproject.toml"
49-
50-
- name: Install test dependencies
51-
run: |
52-
python -m pip install --upgrade pip wheel
53-
- name: Install dependencies
54-
run: |
55-
pip install ${{ matrix.pip-flags }} ".[dev,test]"
56-
- name: Test
46+
filter: blob:none
47+
fetch-depth: 0
48+
- name: Install uv
49+
uses: astral-sh/setup-uv@v5
50+
with:
51+
cache-dependency-glob: pyproject.toml
52+
- name: run tests using hatch
5753
env:
5854
MPLBACKEND: agg
5955
PLATFORM: ${{ matrix.os }}
6056
DISPLAY: :42
61-
run: |
62-
coverage run -m pytest -v --color=yes
63-
- name: Report coverage
64-
run: |
65-
coverage report
57+
run: uvx hatch test --cover --python ${{ matrix.python }}
6658
- name: Upload coverage
67-
uses: codecov/codecov-action@v3
68-
with:
69-
token: ${{ secrets.CODECOV_TOKEN }}
59+
uses: codecov/codecov-action@v4

.pre-commit-config.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ repos:
1010
rev: v1.9.4
1111
hooks:
1212
- id: biome-format
13+
exclude: ^\.cruft\.json$ # inconsistent indentation with cruft - file never to be modified manually.
1314
- repo: https://github.com/tox-dev/pyproject-fmt
1415
rev: v2.5.1
1516
hooks:
1617
- id: pyproject-fmt
1718
- repo: https://github.com/astral-sh/ruff-pre-commit
18-
rev: v0.9.10
19+
rev: v0.11.2
1920
hooks:
2021
- id: ruff
2122
types_or: [python, pyi, jupyter]

.vscode/extensions.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"recommendations": [
3+
// GitHub integration
4+
"github.vscode-github-actions",
5+
"github.vscode-pull-request-github",
6+
// Language support
7+
"ms-python.python",
8+
"ms-python.vscode-pylance",
9+
"ms-toolsai.jupyter",
10+
"tamasfe.even-better-toml",
11+
// Dependency management
12+
"ninoseki.vscode-mogami",
13+
// Linting and formatting
14+
"editorconfig.editorconfig",
15+
"charliermarsh.ruff",
16+
"biomejs.biome",
17+
],
18+
}

.vscode/launch.json

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Python: Build Documentation",
9+
"type": "debugpy",
10+
"request": "launch",
11+
"module": "sphinx",
12+
"args": ["-M", "html", ".", "_build"],
13+
"cwd": "${workspaceFolder}/docs",
14+
"console": "internalConsole",
15+
"justMyCode": false,
16+
},
17+
{
18+
"name": "Python: Debug Test",
19+
"type": "debugpy",
20+
"request": "launch",
21+
"program": "${file}",
22+
"purpose": ["debug-test"],
23+
"console": "internalConsole",
24+
"justMyCode": false,
25+
"env": {
26+
"PYTEST_ADDOPTS": "--color=yes",
27+
},
28+
"presentation": {
29+
"hidden": true,
30+
},
31+
},
32+
],
33+
}

0 commit comments

Comments
 (0)