Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(chore): generate 1.10.5 release notes #3416

Open
wants to merge 180 commits into
base: 1.10.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
29a6e3e
Fix pytest deprecation warning (#2879)
flying-sheep Feb 23, 2024
d15f4e7
Allow blank issues (#2868)
ivirshup Feb 23, 2024
d31a150
Even more subtle blank issues (#2883)
ivirshup Feb 23, 2024
886d4e7
start 0.11 release notes (#2877)
ivirshup Feb 23, 2024
91ea0fb
master-to-main (#2884)
ivirshup Feb 23, 2024
14555ba
Use index in score_genes (#2890)
flying-sheep Feb 26, 2024
a956fa7
makes count nonzeros dense (#2893)
Intron7 Mar 6, 2024
e50d7fe
tutorial link for `transformer` (#2903)
flying-sheep Mar 12, 2024
7449672
remove self for pynndescent (#2896)
Intron7 Mar 14, 2024
1fee6a1
Remove inplace modification of a buffer created by pandas (#2905)
ivirshup Mar 14, 2024
c6a7ae1
Scale clips low (#2913)
Intron7 Mar 14, 2024
8da41b1
fixes pca_test `test_mask_defaults` (#2914)
Intron7 Mar 14, 2024
f7858a6
[pre-commit.ci] pre-commit autoupdate (#2907)
pre-commit-ci[bot] Mar 14, 2024
360e350
Run CI with uv (#2916)
flying-sheep Mar 14, 2024
04b779f
Fix for #2887, update Leiden and Louvain tools to write parameters to…
theJasonFan Mar 18, 2024
9fe9858
Fixed Coifman 2005 DOI link. (#2922)
n-hackert Mar 18, 2024
8d32a51
[pre-commit.ci] pre-commit autoupdate (#2926)
pre-commit-ci[bot] Mar 18, 2024
6542113
Remove incorrect docs for aggregate (#2932)
ivirshup Mar 19, 2024
921fcca
Fix paga (#2943)
ivirshup Mar 22, 2024
4b757d8
(feat): pre-processing functions for `dask` with sparse chunks (#2856)
flying-sheep Mar 22, 2024
e6c7251
Fix aggregating obsm/ varm (#2934)
ivirshup Mar 22, 2024
10a51d8
Check that agggregate is only called on anndata (#2950)
ivirshup Mar 25, 2024
996ff88
Update leiden future warning (#2951)
ivirshup Mar 25, 2024
7a1f89f
Clip correlation in dendrogram (#2928)
flying-sheep Mar 25, 2024
f5edd43
Fix links (#2953)
ivirshup Mar 25, 2024
e0a4a78
[pre-commit.ci] pre-commit autoupdate (#2960)
pre-commit-ci[bot] Mar 25, 2024
65f567e
Doc submodule (#2901)
ivirshup Mar 26, 2024
3ceb740
Fix aggregate for more than two groups (#2965)
ivirshup Mar 27, 2024
c68557c
Fix double dot (#2972)
Zethson Apr 2, 2024
a33111f
Add marsilea notebook (#2974)
ivirshup Apr 8, 2024
3255fda
updates sparse scale (#2942)
Intron7 Apr 8, 2024
5ea8cfe
[pre-commit.ci] pre-commit autoupdate (#2987)
pre-commit-ci[bot] Apr 9, 2024
9c8c095
prep 1.10.1 (#2989)
ivirshup Apr 9, 2024
4d82db0
start 1.10.2 (#2991)
ivirshup Apr 9, 2024
2c2cd50
Fix dev installs (#2994)
ivirshup Apr 9, 2024
10f4ebc
Matplotlib 3.9 support (#2999)
ivirshup Apr 10, 2024
496bbb6
Update coverage job (#2996)
ivirshup Apr 11, 2024
d22ac43
Update marsilea tutorial to use group_ methods (#3001)
ivirshup Apr 11, 2024
4f6e690
[pre-commit.ci] pre-commit autoupdate (#3008)
pre-commit-ci[bot] Apr 15, 2024
ea66317
Add benchmarks (#2977)
flying-sheep Apr 19, 2024
0370057
manually sort bibtex entries ahead of formatting (#3018)
flying-sheep Apr 22, 2024
dbea062
Doc cleanup (#2983)
flying-sheep Apr 22, 2024
ee8505b
[pre-commit.ci] pre-commit autoupdate (#3022)
pre-commit-ci[bot] Apr 23, 2024
a70582e
`sparse_mean_variance_axis` now uses all cores (#3015)
Intron7 Apr 23, 2024
fd48fa0
Fix references (#3032)
flying-sheep Apr 26, 2024
672a9bb
Relax pytest version restriction (#3034)
flying-sheep Apr 29, 2024
a008ab8
Fix benchmark test run (#3035)
flying-sheep Apr 29, 2024
c3cfa74
[pre-commit.ci] pre-commit autoupdate (#3038)
pre-commit-ci[bot] Apr 30, 2024
0d4554b
Add triage label to user created issues (#3040)
flying-sheep Apr 30, 2024
9714250
[pre-commit.ci] pre-commit autoupdate (#3045)
pre-commit-ci[bot] May 7, 2024
d2a5368
Fix import of issparse (#3047)
flying-sheep May 10, 2024
e8e334a
[pre-commit.ci] pre-commit autoupdate (#3053)
pre-commit-ci[bot] May 14, 2024
c26480e
Extend benchmarks from basic tutorial (#3031)
flying-sheep May 14, 2024
fb79fed
Speedup scrublet (#3044)
Intron7 May 14, 2024
8fe4c3a
Fix doctests (#3057)
flying-sheep May 14, 2024
cc26569
Upper-bound numpy below 2 for now (#3065)
flying-sheep May 17, 2024
23c20bc
Import types only in `if TYPE_CHECKING` blocks (#3064)
flying-sheep May 17, 2024
3ba3f46
(feat): raising errors where `backed` is not supported (#3048)
ilan-gold May 21, 2024
a20334f
[pre-commit.ci] pre-commit autoupdate (#3078)
pre-commit-ci[bot] May 28, 2024
5dc489d
Hvg seurat v3 numba kernel (#3017)
Intron7 May 31, 2024
874d99b
fix `.A` removal (#3084)
flying-sheep Jun 3, 2024
3d03f2e
(fix): write out full PCA results when not run before neighbors (#3079)
ilan-gold Jun 3, 2024
f8a5726
Fix and test zappy support (#3089)
flying-sheep Jun 3, 2024
de38381
Updated missing params in docstrings (#2888)
Steve-Cheney Jun 3, 2024
8d046ff
[pre-commit.ci] pre-commit autoupdate (#3093)
pre-commit-ci[bot] Jun 4, 2024
4f40d68
Document datasets (#3060)
flying-sheep Jun 4, 2024
21aecd9
Simplify score_genes (#3097)
flying-sheep Jun 4, 2024
706d4ef
Add layer argument to score_genes() (#2921)
lazappi Jun 5, 2024
5d5d873
[pre-commit.ci] pre-commit autoupdate (#3104)
pre-commit-ci[bot] Jun 11, 2024
f03d4f4
Move to src / tests layout (#3092)
flying-sheep Jun 13, 2024
126d730
Fix dotplot totals for pandas 1.x (#3101)
flying-sheep Jun 17, 2024
3f2af97
[pre-commit.ci] pre-commit autoupdate (#3109)
pre-commit-ci[bot] Jun 18, 2024
ad657ed
speedup(~7x) of the clipping array inside scaling function (#3100)
ashish615 Jun 18, 2024
5cd9a44
(chore): prepare release notes for 0.10.2 release (#3121)
ilan-gold Jun 25, 2024
896e249
Skip scanorama on Python 3.9 (#3125)
flying-sheep Jun 25, 2024
fdfb9a1
hvg flavors seurat and cellranger with batch: bug in subset (#3042)
eroell Jun 28, 2024
8f10ec1
[pre-commit.ci] pre-commit autoupdate (#3119)
pre-commit-ci[bot] Jul 1, 2024
8d9a5f0
(chore): add preparation-of-release documentation (#3122)
ilan-gold Jul 2, 2024
2046129
[pre-commit.ci] pre-commit autoupdate (#3131)
pre-commit-ci[bot] Jul 2, 2024
4b090c0
Unpin numpy 2 (#3115)
flying-sheep Jul 2, 2024
db2118e
Bugfix: Gene score edge case where gene_list gene is chosen as contro…
mumichae Jul 4, 2024
0583594
Use version guards instead of “except ImportError” (#3145)
flying-sheep Jul 8, 2024
f821c68
[pre-commit.ci] pre-commit autoupdate (#3148)
pre-commit-ci[bot] Jul 11, 2024
284c987
fix layer use_raw (#3150)
Intron7 Jul 12, 2024
b918a23
Revert "fix layer use_raw (#3150)" (#3154)
Intron7 Jul 12, 2024
4269ed2
[pre-commit.ci] pre-commit autoupdate (#3156)
pre-commit-ci[bot] Jul 23, 2024
9fa55b8
Allow all valid legend_loc options (#3163)
flying-sheep Jul 25, 2024
71fd59a
Fix tests for dask PCA (#3162)
flying-sheep Jul 25, 2024
88fb2c8
Run benchmarks for off axis (#3147)
flying-sheep Jul 25, 2024
208115d
Fix `layers` parameter in `score_genes` with `.raw` (#3155)
Intron7 Jul 25, 2024
62454de
Refactor score_genes (#3170)
flying-sheep Jul 26, 2024
b78e9dc
Switch from using rubric in release notes (#3172)
flying-sheep Jul 26, 2024
333f6c8
[pre-commit.ci] pre-commit autoupdate (#3174)
pre-commit-ci[bot] Jul 30, 2024
baf372a
Fix NaN dispersion (#3176)
flying-sheep Jul 30, 2024
d3de744
Cache data for subsequent test runs (#3177)
flying-sheep Jul 30, 2024
13a3706
Some refactoring ahead of key_added (#3182)
flying-sheep Aug 1, 2024
3ba0d30
Auto-metric and fix logs (#3186)
flying-sheep Aug 1, 2024
243a46e
Add Ruff FBT (#3189)
flying-sheep Aug 1, 2024
0e150e0
Add Ruff pytest-style (#3191)
flying-sheep Aug 1, 2024
b7e599a
Add key_added to umap, tsne, and pca (#3184)
flying-sheep Aug 2, 2024
746b02c
Fix [source] links (#3194)
flying-sheep Aug 5, 2024
bb66827
[pre-commit.ci] pre-commit autoupdate (#3197)
pre-commit-ci[bot] Aug 6, 2024
c6766d7
(fix): resolve data ordering to match axis for stacked violin plots (…
ilan-gold Aug 6, 2024
89dcf21
[pre-commit.ci] pre-commit autoupdate (#3207)
pre-commit-ci[bot] Aug 13, 2024
b619350
[pre-commit.ci] pre-commit autoupdate (#3210)
pre-commit-ci[bot] Aug 22, 2024
8159592
(fix): Upper bound `dask` (#3217)
ilan-gold Aug 30, 2024
3c13495
Update notebooks (#3216)
flying-sheep Sep 2, 2024
bec794c
[pre-commit.ci] pre-commit autoupdate (#3213)
pre-commit-ci[bot] Sep 2, 2024
d4e1fb4
[pre-commit.ci] pre-commit autoupdate (#3225)
pre-commit-ci[bot] Sep 13, 2024
9d8b164
fa2 library changed to fa2_modified (#3220)
AminAlam Sep 13, 2024
c530274
[pre-commit.ci] pre-commit autoupdate (#3232)
pre-commit-ci[bot] Sep 17, 2024
78b738b
Switch to towncrier (#3231)
flying-sheep Sep 17, 2024
8a44ef6
Fix towncrier git CLI call (#3236)
flying-sheep Sep 17, 2024
7ab0bfe
Backport PR #3235 on branch main ((chore): generate 1.10.3 release no…
meeseeksmachine Sep 17, 2024
8b7673d
Fix release note building and check (#3239)
flying-sheep Sep 17, 2024
303404a
impl median function for aggregation (#3180)
farhadmd7 Sep 17, 2024
bd75839
Upload scrublet scores on test failure (#3069)
ilan-gold Sep 19, 2024
dbabafa
Fix stacked_violin’s `standard_scale` parameter (#3243)
flying-sheep Sep 20, 2024
b0597a9
Finish `scale`→`density_norm` deprecation (#3244)
flying-sheep Sep 20, 2024
1650aed
Rely on Ruff for TYPE_CHECKING block mgmt (#3248)
flying-sheep Sep 20, 2024
e27e257
Clean up dendrogram typing (#3249)
flying-sheep Sep 20, 2024
874ce15
Deprecate defunct `order` parameter in `stacked_violin` (#3252)
flying-sheep Sep 20, 2024
7ae1216
Fix *Plot.style() methods (#3206)
flying-sheep Sep 20, 2024
8b2088d
[pre-commit.ci] pre-commit autoupdate (#3256)
pre-commit-ci[bot] Sep 24, 2024
d998742
Add `SIM` checks (#3258)
flying-sheep Sep 24, 2024
48706ca
Fix compat typing and old_positionals usage (#3264)
flying-sheep Sep 26, 2024
2e208a3
Split up PCA tests (#3268)
flying-sheep Sep 30, 2024
be99b23
[pre-commit.ci] pre-commit autoupdate (#3270)
pre-commit-ci[bot] Oct 1, 2024
842b68f
Remove 3.9 support (#3283)
flying-sheep Oct 15, 2024
7268e53
Fix #3206’s release note (#3287)
flying-sheep Oct 15, 2024
3da6891
(fix): conditional imports to avoid `anndata.io` warning (#3289)
ilan-gold Oct 17, 2024
bbcd4b1
Fix benchmark job: Use upstream asv (#3292)
flying-sheep Oct 17, 2024
3570cd1
Use upstream sklearn PCA if possible (#3267)
flying-sheep Oct 18, 2024
f28c8c6
Test all PCA param combinations (#3294)
flying-sheep Oct 18, 2024
121f2db
Add explicit support to PCA for `'covariance_eigh'` svd_solver (#3296)
flying-sheep Oct 18, 2024
bae1610
Implement sparse `covariance_eigh` PCA using Dask (#3263)
flying-sheep Oct 18, 2024
5e8eca9
Fix HVG with 1-obs batches (#3286)
flying-sheep Oct 21, 2024
f0b8d6b
Allow specifying a collection of colors to scatterplots (#3299)
flying-sheep Oct 21, 2024
6d234a7
(fix): correct anndata release for `io` usage (#3298)
ilan-gold Oct 22, 2024
b73fb59
[pre-commit.ci] pre-commit autoupdate (#3274)
pre-commit-ci[bot] Oct 22, 2024
8e64165
(fix): clarify sparse pca usage (#3306)
ilan-gold Oct 22, 2024
39c6532
Fix sc.pl.highest_expr_genes with a categorical column (#3302)
flying-sheep Oct 22, 2024
502f738
Fix some `Returns` docstrs re: `inplace` semantics (#3311)
ryan-williams Oct 23, 2024
3d220a9
Catch PerfectSeparationWarning during regress_out (#3275)
jeskowagner Oct 24, 2024
2f0afac
Refactor regress_out (#3316)
flying-sheep Oct 25, 2024
9a9f17e
Enforce `np.bool_` usage via Ruff (#3321)
flying-sheep Oct 25, 2024
60d30a4
Update `test_rank_genes_groups.py` reference (#3285)
emmanuel-ferdman Oct 28, 2024
c990544
Support `layer` in `sc.pl.highest_expr_genes` (#3324)
flying-sheep Oct 31, 2024
a22997e
Align `get.obs_df`’s docs with its code (#3328)
flying-sheep Oct 31, 2024
6440515
[pre-commit.ci] pre-commit autoupdate (#3329)
pre-commit-ci[bot] Nov 5, 2024
0d04447
(fix): sort pca test args (#3333)
ilan-gold Nov 5, 2024
5c0e89e
Add PYI lints (#3339)
flying-sheep Nov 5, 2024
2f15f79
(feat): `calculate_qc_metrics` with `dask` (#3307)
ilan-gold Nov 7, 2024
9d3c340
Fix docs (#3343)
flying-sheep Nov 7, 2024
d0adc25
move all `njit` calls into a decorator (#3335)
flying-sheep Nov 8, 2024
ff44a90
Update notebooks (#3349)
flying-sheep Nov 11, 2024
a227c12
Speedup (~20x) of scanpy.pp.regress_out function using Linear Least S…
kaushalprasadhial Nov 11, 2024
6dd0a7a
Fix zappy compatibility for clip_array (#3317)
flying-sheep Nov 11, 2024
74f0ef0
[pre-commit.ci] pre-commit autoupdate (#3354)
pre-commit-ci[bot] Nov 12, 2024
02cb8c0
Backport PR #3357 on branch main ((chore): generate 1.10.4 release no…
meeseeksmachine Nov 12, 2024
0146f1a
Actually working min-deps job (#3337)
flying-sheep Nov 14, 2024
ac19bb3
Fix CI (#3364)
flying-sheep Nov 14, 2024
b92267c
[pre-commit.ci] pre-commit autoupdate (#3373)
pre-commit-ci[bot] Nov 19, 2024
0f32b08
Deprecate RandomState (using names only) (#3372)
flying-sheep Nov 19, 2024
751eafa
Updated Harmony Integrate Docs to better match interface to Harmonypy…
DaminK Nov 19, 2024
7131500
Use deprecation decorator (#3380)
flying-sheep Nov 22, 2024
8b0c3f6
(fix): bound sklearn because of dask-ml on the release candidate (#3393)
ilan-gold Dec 6, 2024
ef92866
[pre-commit.ci] pre-commit autoupdate (#3388)
pre-commit-ci[bot] Dec 10, 2024
3f329bb
Remove calls to `.format` (#3325)
flying-sheep Dec 10, 2024
391d87a
Constrain all extras for min-deps job (#3367)
flying-sheep Dec 12, 2024
71dff09
Add a “improved documentation” category to enhancement template (#3403)
flying-sheep Dec 16, 2024
7e3dd15
Modify error message if certifi is not installed (#3402)
flying-sheep Dec 17, 2024
86d656d
Add replace option to subsample and rename function to sample (#943)
gokceneraslan Dec 19, 2024
e3efba2
Switch to session-info2 (#3384)
flying-sheep Dec 19, 2024
1cd5a00
Scipy 1.15 compat, some test refactors (#3409)
flying-sheep Dec 19, 2024
ac4c629
Deprecate visium (#3407)
flying-sheep Dec 19, 2024
397d703
Add sample probabilities (#3410)
flying-sheep Dec 20, 2024
465806b
(chore): generate 1.11.0 release notes (#3412)
flying-sheep Dec 20, 2024
5654389
Note that it’s an rc
flying-sheep Dec 20, 2024
d91fb49
(chore): generate 1.10.5 release notes
dinakazemi Dec 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
62 changes: 36 additions & 26 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
trigger:
- master
- main
- "*.*.x"

variables:
python.version: '3.12'
PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip
PYTEST_ADDOPTS: '-v --color=yes --durations=0 --nunit-xml=test-data/test-results.xml'
PYTEST_ADDOPTS: '-v --color=yes --internet-tests --nunit-xml=test-data/test-results.xml'
TEST_EXTRA: 'test-full'
DEPENDENCIES_VERSION: "latest" # |"pre-release" | "minimum-version"
TEST_TYPE: "standard" # | "coverage"
Expand All @@ -16,16 +15,16 @@ jobs:
vmImage: 'ubuntu-22.04'
strategy:
matrix:
Python3.9:
python.version: '3.9'
Python3.10:
python.version: '3.10'
Python3.12: {}
minimal_dependencies:
TEST_EXTRA: 'test-min'
anndata_dev:
DEPENDENCIES_VERSION: "pre-release"
TEST_TYPE: "coverage"
minimum_versions:
python.version: '3.9'
python.version: '3.10'
DEPENDENCIES_VERSION: "minimum-version"
TEST_TYPE: "coverage"

Expand All @@ -36,46 +35,51 @@ jobs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'

- script: |
python -m pip install --upgrade uv
echo "##vso[task.setvariable variable=uv_cache_dir]`uv cache dir`"
displayName: 'Install tools'

- task: Cache@2
inputs:
key: '"python $(python.version)" | "$(Agent.OS)" | pyproject.toml'
restoreKeys: |
python | "$(Agent.OS)"
python
path: $(PIP_CACHE_DIR)
"python" | "$(Agent.OS)"
"python"
path: $(uv_cache_dir)
displayName: Cache pip packages


- task: Cache@2
inputs:
key: '"pytest"'
restoreKeys: '"pytest"'
path: $(System.DefaultWorkingDirectory)/.pytest_cache/d
displayName: Cache pytest data

- script: |
export MPLBACKEND="agg"
echo $MPLBACKEND
displayName: 'Set env'

- script: |
python -m pip install --upgrade pip
pip install wheel
pip install .[dev,$(TEST_EXTRA)]
- script: uv pip install --system --compile 'scanpy[dev,$(TEST_EXTRA)] @ .'
displayName: 'Install dependencies'
condition: eq(variables['DEPENDENCIES_VERSION'], 'latest')

- script: |
python -m pip install --pre --upgrade pip
pip install --pre wheel
pip install --pre .[dev,$(TEST_EXTRA)]
pip install -v "anndata[dev,test] @ git+https://github.com/scverse/anndata"
- script: >
uv pip install --system --compile --pre
"scanpy[dev,$(TEST_EXTRA)] @ ."
"anndata[dev,test] @ git+https://github.com/scverse/anndata"
displayName: 'Install dependencies release candidates'
condition: eq(variables['DEPENDENCIES_VERSION'], 'pre-release')

- script: |
python -m pip install pip wheel tomli packaging
pip install `python3 ci/scripts/min-deps.py pyproject.toml --extra dev test`
pip install --no-deps .
uv pip install --system --compile tomli packaging
deps=`python3 ci/scripts/min-deps.py pyproject.toml --extra dev test`
uv pip install --system --compile $deps "scanpy @ ."
displayName: 'Install dependencies minimum version'
condition: eq(variables['DEPENDENCIES_VERSION'], 'minimum-version')

- script: |
pip list
displayName: 'Display installed versions'

- script: pytest
displayName: 'PyTest'
condition: eq(variables['TEST_TYPE'], 'standard')
Expand All @@ -85,7 +89,7 @@ jobs:
displayName: 'PyTest (coverage)'
condition: eq(variables['TEST_TYPE'], 'coverage')

- task: PublishCodeCoverageResults@1
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: 'test-data/coverage.xml'
Expand All @@ -99,6 +103,12 @@ jobs:
testResultsFormat: NUnit
testRunTitle: 'Publish test results for $(Agent.JobName)'

- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '.pytest_cache/d/debug'
artifactName: debug-data
condition: eq(variables['TEST_TYPE'], 'coverage')

- script: bash <(curl -s https://codecov.io/bash)
displayName: 'Upload to codecov.io'
condition: eq(variables['TEST_TYPE'], 'coverage')
Expand Down
8 changes: 4 additions & 4 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Based on pydata/xarray
codecov:
require_ci_to_pass: no
require_ci_to_pass: false

coverage:
status:
project:
default:
# Require 1% coverage, i.e., always succeed
target: 1
# Require 75% coverage
target: 75
changes: false

comment:
layout: "diff, flags, files"
behavior: once
require_base: no
require_base: false
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
name: Bug report
description: Scanpy doesn’t do what it should? Please help us fix it!
#title: ...
labels: ['Bug 🐛']
type: Bug
labels:
- Triage 🩺
#assignees: []
body:
- type: checkboxes
Expand All @@ -14,7 +16,7 @@ body:
required: true
- label: I have confirmed this bug exists on the latest version of scanpy.
required: true
- label: (optional) I have confirmed this bug exists on the master branch of scanpy.
- label: (optional) I have confirmed this bug exists on the main branch of scanpy.
required: false
- type: markdown
attributes:
Expand Down
5 changes: 4 additions & 1 deletion .github/ISSUE_TEMPLATE/enhancement-request.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
name: Enhancement request
description: Anything you’d like to see in scanpy?
#title: ...
labels: ['Enhancement ✨']
type: Enhancement
labels:
- Triage 🩺
#assignees: []
body:
- type: dropdown
Expand All @@ -12,6 +14,7 @@ body:
- 'Additional function parameters / changed functionality / changed defaults?'
- 'New analysis tool: A simple analysis tool you have been using and are missing in `sc.tools`?'
- 'New plotting function: A kind of plot you would like to seein `sc.pl`?'
- 'Improved documentation or error message?'
- 'Other?'
validations:
required: true
Expand Down
59 changes: 59 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Benchmark

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
benchmark:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -e {0} # -e to fail on error

strategy:
fail-fast: false
matrix:
python: ["3.12"]
os: [ubuntu-latest]

env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python }}
ASV_DIR: "./benchmarks"

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
filter: blob:none

- name: Fetch main branch for `asv run`’s hash
run: git fetch origin main:main
if: ${{ github.ref_name != 'main' }}

- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: 'pip'

- name: Cache datasets
uses: actions/cache@v4
with:
path: |
~/.cache
key: benchmark-state-${{ hashFiles('benchmarks/**') }}

- name: Install dependencies
run: pip install 'asv>=0.6.4'

- name: Configure ASV
working-directory: ${{ env.ASV_DIR }}
run: asv machine --yes

- name: Quick benchmark run
working-directory: ${{ env.ASV_DIR }}
run: asv run --dry-run --quick --show-stderr --verbose HEAD^!
14 changes: 8 additions & 6 deletions .github/workflows/check-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
pull_request:
branches:
- main
- master
types:
# milestone changes
- milestoned
Expand Down Expand Up @@ -46,14 +45,17 @@ jobs:
needs: check-milestone
if: ${{ needs.check-milestone.outputs.no-relnotes-reason == '' && !contains(github.event.pull_request.labels.*.name, 'Development Process 🚀') }}
steps:
- uses: actions/checkout@v3
- name: Find out if relevant release notes are modified
uses: dorny/paths-filter@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
filter: blob:none
- name: Find out if a relevant release fragment is added
uses: dorny/paths-filter@v3
id: changes
with:
filters: | # this is intentionally a string
relnotes: 'docs/release-notes/${{ github.event.pull_request.milestone.title }}.md'
- name: Check if relevant release notes are modified
relnotes: 'docs/release-notes/${{ github.event.pull_request.number }}.*.md'
- name: Check if a relevant release fragment is added
uses: flying-sheep/check@v1
with:
success: ${{ steps.changes.outputs.relnotes }}
7 changes: 5 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ jobs:
permissions:
id-token: write # to authenticate as Trusted Publisher to pypi.org
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
with:
fetch-depth: 0
filter: blob:none
- uses: actions/setup-python@v5
with:
python-version: "3.x"
cache: "pip"
Expand Down
14 changes: 9 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,11 @@
# tests
/*cache/
/test-data/
/scanpy/tests/test*.h5ad
/scanpy/tests/**/*actual.png
/scanpy/tests/**/*failed-diff.png
/tests/test*.h5ad
/tests/**/*actual.png
/tests/**/*failed-diff.png

# Environment management
/hatch.toml
/Pipfile
/Pipfile.lock
/requirements*.lock
Expand All @@ -28,7 +27,8 @@

# Python build files
__pycache__/
/scanpy/_version.py
/src/scanpy/_version.py
/ci/scanpy-min-deps.txt
/dist/
/*-env/
/env-*/
Expand All @@ -43,3 +43,7 @@ Thumbs.db
# IDEs and editors
/.idea/
/.vscode/

# asv benchmark files
/benchmarks/.asv
/benchmarks/data/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "notebooks"]
path = notebooks
url = https://github.com/scverse/scanpy-tutorials/
17 changes: 12 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.2.2
rev: v0.8.2
hooks:
- id: ruff
types_or: [python, pyi, jupyter]
Expand All @@ -12,21 +12,28 @@ repos:
id: ruff
types_or: [python, pyi, jupyter]
args: ["--preview", "--select=PLR0917"]
- repo: https://github.com/flying-sheep/bibfmt
rev: v4.3.0
hooks:
- id: bibfmt
args:
- --sort-by-bibkey
- --drop=abstract
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v5.0.0
hooks:
- id: trailing-whitespace
exclude: scanpy/tests/_data
exclude: tests/_data
- id: end-of-file-fixer
exclude: scanpy/tests/_data
exclude: tests/_data
- id: check-added-large-files
- id: check-case-conflict
- id: check-toml
- id: check-yaml
- id: check-merge-conflict
- id: detect-private-key
- id: no-commit-to-branch
args: ["--branch=master", "--branch=main"]
args: ["--branch=main"]

ci:
autofix_prs: false
12 changes: 11 additions & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
version: 2
submodules:
include: all
build:
os: ubuntu-20.04
os: ubuntu-24.04
tools:
python: '3.12'
jobs:
post_checkout:
# unshallow so version can be derived from tag
- git fetch --unshallow || true
pre_build:
# run towncrier to preview the next version’s release notes
- ( find docs/release-notes -regex '[^.]+[.][^.]+.md' | grep -q . ) && towncrier build --keep || true
sphinx:
fail_on_warning: true # do not change or you will be fired
configuration: docs/conf.py
Expand All @@ -12,4 +21,5 @@ python:
path: .
extra_requirements:
- doc
- dev # for towncrier
- leiden
Loading