pertpy 0.10.0__tar.gz → 0.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pertpy-0.11.0/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/pull_request_template.md +3 -3
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/release-drafter.yml +2 -2
- pertpy-0.11.0/.github/workflows/build.yml +36 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/workflows/release.yml +2 -2
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/workflows/test.yml +42 -17
- {pertpy-0.10.0 → pertpy-0.11.0}/.gitignore +2 -2
- {pertpy-0.10.0 → pertpy-0.11.0}/.pre-commit-config.yaml +11 -5
- {pertpy-0.10.0 → pertpy-0.11.0}/.readthedocs.yml +2 -2
- {pertpy-0.10.0 → pertpy-0.11.0}/LICENSE +1 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/PKG-INFO +36 -20
- {pertpy-0.10.0 → pertpy-0.11.0}/README.md +16 -3
- pertpy-0.11.0/biome.jsonc +18 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_ext/edit_on_github.py +2 -2
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_ext/typed_returns.py +2 -2
- pertpy-0.11.0/docs/_static/pertpy_logo.png +0 -0
- pertpy-0.11.0/docs/_static/pertpy_logo.svg +5 -0
- pertpy-0.10.0/docs/_templates/class_no_inherited.rst → pertpy-0.11.0/docs/_templates/autosummary/class.rst +6 -14
- pertpy-0.10.0/docs/usage/usage.md → pertpy-0.11.0/docs/api/api.md +40 -43
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/conf.py +49 -96
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/contributing.md +9 -9
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/index.md +20 -11
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/installation.md +5 -5
- pertpy-0.11.0/docs/references.bib +153 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/tutorials/index.md +0 -21
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/__init__.py +5 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/_doc.py +1 -3
- pertpy-0.11.0/pertpy/_types.py +6 -0
- pertpy-0.11.0/pertpy/data/_dataloader.py +114 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/data/_datasets.py +9 -9
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/__init__.py +2 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/_cell_line.py +133 -25
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/_look_up.py +13 -19
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/_moa.py +1 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/preprocessing/_guide_rna.py +138 -44
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/preprocessing/_guide_rna_mixture.py +17 -19
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/__init__.py +1 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_augur.py +106 -98
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_cinemaot.py +74 -114
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_coda/_base_coda.py +129 -145
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_coda/_sccoda.py +66 -69
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_coda/_tasccoda.py +71 -79
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_dialogue.py +48 -40
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_base.py +21 -31
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_checks.py +4 -6
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_dge_comparison.py +5 -6
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_edger.py +6 -10
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_pydeseq2.py +1 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_simple_tests.py +3 -3
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/_statsmodels.py +8 -5
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_distances/_distance_tests.py +1 -2
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_distances/_distances.py +31 -45
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_enrichment.py +7 -22
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_milo.py +19 -15
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_mixscape.py +73 -75
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_perturbation_space/_clustering.py +4 -4
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_perturbation_space/_comparison.py +4 -4
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_perturbation_space/_discriminator_classifiers.py +83 -32
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_perturbation_space/_perturbation_space.py +10 -10
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_perturbation_space/_simple.py +12 -14
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_scgen/_scgen.py +16 -17
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_scgen/_scgenvae.py +2 -2
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_scgen/_utils.py +3 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/pyproject.toml +54 -34
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/metadata/test_cell_line.py +20 -6
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/metadata/test_compound.py +17 -4
- pertpy-0.11.0/tests/preprocessing/test_grna_assignment.py +96 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_coda/test_sccoda.py +1 -7
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_coda/test_tasccoda.py +2 -2
- pertpy-0.11.0/tests/tools/_differential_gene_expression/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_base.py +1 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_compare_groups.py +13 -13
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_simple_tests.py +1 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_distances/test_distances.py +1 -1
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_augur.py +7 -20
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_milo.py +33 -35
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_mixscape.py +24 -27
- pertpy-0.10.0/.github/ISSUE_TEMPLATE/bug_report.yml +0 -89
- pertpy-0.10.0/.github/workflows/build.yml +0 -33
- pertpy-0.10.0/CODE_OF_CONDUCT.md +0 -74
- pertpy-0.10.0/docs/_templates/autosummary/class.rst +0 -79
- pertpy-0.10.0/docs/code_of_conduct.md +0 -3
- pertpy-0.10.0/docs/references.bib +0 -10
- pertpy-0.10.0/pertpy/data/_dataloader.py +0 -70
- pertpy-0.10.0/pertpy/tools/_kernel_pca.py +0 -50
- pertpy-0.10.0/tests/preprocessing/test_grna_assignment.py +0 -62
- pertpy-0.10.0/tests/tools/haber_data.csv +0 -11
- pertpy-0.10.0/tests/tools/r_result.csv +0 -20730
- {pertpy-0.10.0 → pertpy-0.11.0}/.editorconfig +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.gitattributes +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/labels.yml +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/workflows/labeler.yml +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.github/workflows/release_drafter.yml +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/.gitmodules +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/codecov.yml +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/Makefile +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/SCVI_LICENSE +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/css/overwrite.css +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/css/sphinx_gallery.css +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/augur_dp_scatter.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/augur_important_features.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/augur_lollipop.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/augur_scatterplot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/de_fold_change.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/de_multicomparison_fc.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/de_paired_expression.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/de_volcano.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/dialogue_pairplot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/dialogue_violin.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/enrichment_dotplot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/enrichment_gsea.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/milo_da_beeswarm.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/milo_nhood.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/milo_nhood_graph.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/mixscape_barplot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/mixscape_heatmap.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/mixscape_lda.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/mixscape_perturbscore.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/mixscape_violin.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/pseudobulk_samples.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/sccoda_boxplots.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/sccoda_effects_barplot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/sccoda_rel_abundance_dispersion_plot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/sccoda_stacked_barplot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/scgen_reg_mean.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/tasccoda_draw_effects.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/tasccoda_draw_tree.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/docstring_previews/tasccoda_effects_umap.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/icons/code-24px.svg +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/icons/computer-24px.svg +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/icons/library_books-24px.svg +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/icons/play_circle_outline-24px.svg +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/placeholder.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/augur.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/cinemaot.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/dge.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/dialogue.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/distances.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/distances_tests.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/enrichment.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/guide_rna_assignment.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/mcfarland.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/metadata.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/milo.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/mixscape.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/norman.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/ontology.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/perturbation_space.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/placeholder.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/sccoda.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/sccoda_extended.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/scgen_perturbation_prediction.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/tasccoda.png +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/_static/tutorials/zhang.png +0 -0
- /pertpy-0.10.0/docs/utils.py → /pertpy-0.11.0/docs/data/adamson_2016_pilot.h5ad.lock +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/make.bat +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/docs/references.md +0 -0
- /pertpy-0.10.0/pertpy/plot/__init__.py → /pertpy-0.11.0/docs/utils.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/data/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/_compound.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/_drug.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/metadata/_metadata.py +0 -0
- {pertpy-0.10.0/pertpy/tools/_coda → pertpy-0.11.0/pertpy/plot}/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/preprocessing/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/py.typed +0 -0
- {pertpy-0.10.0/pertpy/tools/_distances → pertpy-0.11.0/pertpy/tools/_coda}/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_differential_gene_expression/__init__.py +0 -0
- {pertpy-0.10.0/pertpy/tools/_perturbation_space → pertpy-0.11.0/pertpy/tools/_distances}/__init__.py +0 -0
- {pertpy-0.10.0/tests/tools/_differential_gene_expression → pertpy-0.11.0/pertpy/tools/_perturbation_space}/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_perturbation_space/_metrics.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_scgen/__init__.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/_scgen/_base_components.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/decoupler_LICENSE +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/pertpy/tools/transferlearning_MMD_LICENSE +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/conftest.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/metadata/test_drug.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/metadata/test_moa.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/conftest.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_dge.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_edger.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_input_checks.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_pydeseq2.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_differential_gene_expression/test_statsmodels.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_distances/test_distance_tests.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_perturbation_space/test_comparison.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_perturbation_space/test_discriminator_classifiers.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_perturbation_space/test_simple_cluster_space.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/_perturbation_space/test_simple_perturbation_space.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_cinemaot.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_dialogue.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_enrichment.py +0 -0
- {pertpy-0.10.0 → pertpy-0.11.0}/tests/tools/test_scgen.py +0 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
name: Bug report
|
2
|
+
description: pertpy doesn’t do what it should? Please help us fix it!
|
3
|
+
#title: ...
|
4
|
+
labels:
|
5
|
+
- Bug
|
6
|
+
- Triage
|
7
|
+
#assignees: []
|
8
|
+
body:
|
9
|
+
- type: checkboxes
|
10
|
+
id: terms
|
11
|
+
attributes:
|
12
|
+
label: Please make sure these conditions are met
|
13
|
+
# description: ...
|
14
|
+
options:
|
15
|
+
- label: I have checked that this issue has not already been reported.
|
16
|
+
required: true
|
17
|
+
- label: I have confirmed this bug exists on the latest version of pertpy.
|
18
|
+
required: true
|
19
|
+
- label: (optional) I have confirmed this bug exists on the main branch.
|
20
|
+
required: false
|
21
|
+
- type: markdown
|
22
|
+
attributes:
|
23
|
+
value: |
|
24
|
+
**Note**: Please read [this guide][] detailing how to provide the necessary information for us to reproduce your bug.
|
25
|
+
|
26
|
+
[this guide]: https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports
|
27
|
+
- type: textarea
|
28
|
+
id: Report
|
29
|
+
attributes:
|
30
|
+
label: Report
|
31
|
+
description: |
|
32
|
+
Describe the bug you encountered, and what you were trying to do. Please use [github markdown][] features for readability.
|
33
|
+
|
34
|
+
[github markdown]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
|
35
|
+
value: |
|
36
|
+
Code:
|
37
|
+
|
38
|
+
```python
|
39
|
+
|
40
|
+
```
|
41
|
+
|
42
|
+
Traceback:
|
43
|
+
|
44
|
+
```pytb
|
45
|
+
|
46
|
+
```
|
47
|
+
validations:
|
48
|
+
required: true
|
49
|
+
- type: textarea
|
50
|
+
id: versions
|
51
|
+
attributes:
|
52
|
+
label: Versions
|
53
|
+
description: |
|
54
|
+
Which version of pertpy and other related software you used.
|
55
|
+
|
56
|
+
Please install `session-info2`, run the following command in a notebook,
|
57
|
+
click the “Copy as Markdown” button,
|
58
|
+
then paste the results into the text box below.
|
59
|
+
|
60
|
+
```python
|
61
|
+
In[1]: import pertpy, session_info2; session_info2.session_info(dependencies=True)
|
62
|
+
```
|
63
|
+
|
64
|
+
Alternatively, run this in a console:
|
65
|
+
|
66
|
+
```python
|
67
|
+
>>> import session_info2; print(session_info2.session_info(dependencies=True)._repr_mimebundle_()["text/markdown"])
|
68
|
+
```
|
69
|
+
render: python
|
@@ -4,9 +4,9 @@
|
|
4
4
|
|
5
5
|
<!-- Please fill in the appropriate checklist below (delete whatever is not relevant). These are the most common things requested on pull requests (PRs). -->
|
6
6
|
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
7
|
+
- [ ] Referenced issue is linked
|
8
|
+
- [ ] If you've fixed a bug or added code that should be tested, add tests!
|
9
|
+
- [ ] Documentation in `docs` is updated
|
10
10
|
|
11
11
|
**Description of changes**
|
12
12
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
name: Check Build
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [main]
|
6
|
+
pull_request:
|
7
|
+
branches: [main]
|
8
|
+
|
9
|
+
concurrency:
|
10
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
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}
|
17
|
+
|
18
|
+
jobs:
|
19
|
+
package:
|
20
|
+
runs-on: ubuntu-latest
|
21
|
+
steps:
|
22
|
+
- uses: actions/checkout@v4
|
23
|
+
with:
|
24
|
+
filter: blob:none
|
25
|
+
fetch-depth: 0
|
26
|
+
|
27
|
+
- name: Install uv
|
28
|
+
uses: astral-sh/setup-uv@v6
|
29
|
+
with:
|
30
|
+
cache-dependency-glob: pyproject.toml
|
31
|
+
|
32
|
+
- name: Build package
|
33
|
+
run: uv build
|
34
|
+
|
35
|
+
- name: Check package
|
36
|
+
run: uvx twine check --strict dist/*.whl
|
@@ -13,10 +13,10 @@ jobs:
|
|
13
13
|
- name: Checkout code
|
14
14
|
uses: actions/checkout@v4
|
15
15
|
|
16
|
-
- name: Set up Python
|
16
|
+
- name: Set up Python
|
17
17
|
uses: actions/setup-python@v5
|
18
18
|
with:
|
19
|
-
python-version: "3.
|
19
|
+
python-version: "3.x"
|
20
20
|
|
21
21
|
- name: Install hatch
|
22
22
|
run: pip install hatch
|
@@ -15,22 +15,23 @@ jobs:
|
|
15
15
|
runs-on: ${{ matrix.os }}
|
16
16
|
defaults:
|
17
17
|
run:
|
18
|
-
|
18
|
+
# to fail on error in multiline statements (-e), in pipes (-o pipefail), and on unset variables (-u).
|
19
|
+
shell: bash -euo pipefail {0}
|
19
20
|
|
20
21
|
strategy:
|
21
22
|
fail-fast: false
|
22
23
|
matrix:
|
23
24
|
include:
|
24
|
-
- os: ubuntu-
|
25
|
-
python: "3.
|
25
|
+
- os: ubuntu-latest
|
26
|
+
python: "3.13"
|
26
27
|
run_mode: "slow"
|
27
|
-
- os: ubuntu-
|
28
|
-
python: "3.
|
28
|
+
- os: ubuntu-latest
|
29
|
+
python: "3.13"
|
29
30
|
run_mode: "fast"
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
- os: ubuntu-latest
|
32
|
+
python: "3.13"
|
33
|
+
run_mode: slow
|
34
|
+
pip-flags: "--pre"
|
34
35
|
|
35
36
|
env:
|
36
37
|
OS: ${{ matrix.os }}
|
@@ -38,26 +39,50 @@ jobs:
|
|
38
39
|
|
39
40
|
steps:
|
40
41
|
- uses: actions/checkout@v4
|
42
|
+
with:
|
43
|
+
filter: blob:none
|
44
|
+
fetch-depth: 0
|
45
|
+
|
46
|
+
- name: Cache .pertpy_cache
|
47
|
+
uses: actions/cache@v4
|
48
|
+
with:
|
49
|
+
path: cache
|
50
|
+
key: ${{ runner.os }}-pertpy-cache-${{ hashFiles('pertpy/metadata/**') }}
|
51
|
+
restore-keys: |
|
52
|
+
${{ runner.os }}-pertpy-cache
|
53
|
+
|
41
54
|
- name: Set up Python ${{ matrix.python }}
|
42
55
|
uses: actions/setup-python@v5
|
43
56
|
with:
|
44
57
|
python-version: ${{ matrix.python }}
|
45
|
-
|
46
|
-
- uses: actions/checkout@v4
|
47
58
|
- name: Install R
|
48
59
|
uses: r-lib/actions/setup-r@v2
|
49
60
|
with:
|
50
|
-
r-version: "4"
|
61
|
+
r-version: "4.4.3"
|
51
62
|
|
52
|
-
- name:
|
53
|
-
|
63
|
+
- name: Cache R packages
|
64
|
+
id: r-cache
|
65
|
+
uses: actions/cache@v3
|
66
|
+
with:
|
67
|
+
path: ${{ env.R_LIBS_USER }}
|
68
|
+
key: ${{ runner.os }}-r-${{ hashFiles('**/pertpy/tools/_milo.py') }}
|
69
|
+
restore-keys: ${{ runner.os }}-r-
|
54
70
|
|
55
|
-
- name: Install
|
56
|
-
|
71
|
+
- name: Install R dependencies
|
72
|
+
if: steps.r-cache.outputs.cache-hit != 'true'
|
73
|
+
run: |
|
74
|
+
mkdir -p ${{ env.R_LIBS_USER }}
|
75
|
+
Rscript --vanilla -e "install.packages(c('BiocManager', 'statmod'), repos='https://cran.r-project.org'); BiocManager::install('edgeR', lib='${{ env.R_LIBS_USER }}')"
|
76
|
+
|
77
|
+
- name: Install uv
|
78
|
+
uses: astral-sh/setup-uv@v6
|
79
|
+
with:
|
80
|
+
enable-cache: true
|
81
|
+
cache-dependency-glob: pyproject.toml
|
57
82
|
- name: Install dependencies
|
58
83
|
run: |
|
59
84
|
uv pip install --system rpy2
|
60
|
-
uv pip install --system ${{ matrix.pip-flags }} ".[dev,test,
|
85
|
+
uv pip install --system ${{ matrix.pip-flags }} ".[dev,test,tcoda,de]"
|
61
86
|
|
62
87
|
- name: Test
|
63
88
|
env:
|
@@ -6,18 +6,18 @@ default_stages:
|
|
6
6
|
- pre-push
|
7
7
|
minimum_pre_commit_version: 2.16.0
|
8
8
|
repos:
|
9
|
-
- repo: https://github.com/pre-commit
|
10
|
-
rev:
|
9
|
+
- repo: https://github.com/biomejs/pre-commit
|
10
|
+
rev: v1.9.4
|
11
11
|
hooks:
|
12
|
-
- id:
|
12
|
+
- id: biome-format
|
13
13
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
14
|
-
rev: v0.
|
14
|
+
rev: v0.11.5
|
15
15
|
hooks:
|
16
16
|
- id: ruff
|
17
17
|
args: [--fix, --exit-non-zero-on-fix, --unsafe-fixes]
|
18
18
|
- id: ruff-format
|
19
19
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
20
|
-
rev:
|
20
|
+
rev: v5.0.0
|
21
21
|
hooks:
|
22
22
|
- id: detect-private-key
|
23
23
|
- id: check-ast
|
@@ -26,6 +26,12 @@ repos:
|
|
26
26
|
args: [--fix=lf]
|
27
27
|
- id: trailing-whitespace
|
28
28
|
- id: check-case-conflict
|
29
|
+
- id: check-added-large-files
|
30
|
+
- id: check-toml
|
31
|
+
- id: check-yaml
|
32
|
+
- id: check-merge-conflict
|
33
|
+
- id: no-commit-to-branch
|
34
|
+
args: ["--branch=main"]
|
29
35
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
30
36
|
rev: v1.14.1
|
31
37
|
hooks:
|
@@ -2,13 +2,13 @@ version: 2
|
|
2
2
|
build:
|
3
3
|
os: ubuntu-24.04
|
4
4
|
tools:
|
5
|
-
python: "3.12"
|
5
|
+
python: "3.12" # 3.13 breaks because scikit-misc cannot be installed
|
6
6
|
commands:
|
7
7
|
- asdf plugin add uv
|
8
8
|
- asdf install uv latest
|
9
9
|
- asdf global uv latest
|
10
10
|
- uv venv
|
11
|
-
- uv pip install .[doc,
|
11
|
+
- uv pip install .[doc,tcoda,de]
|
12
12
|
- .venv/bin/python -m sphinx -T -b html -d docs/_build/doctrees -D language=en docs $READTHEDOCS_OUTPUT/html
|
13
13
|
sphinx:
|
14
14
|
configuration: docs/conf.py
|
@@ -1,15 +1,16 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: pertpy
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.11.0
|
4
4
|
Summary: Perturbation Analysis in the scverse ecosystem.
|
5
5
|
Project-URL: Documentation, https://pertpy.readthedocs.io
|
6
6
|
Project-URL: Source, https://github.com/scverse/pertpy
|
7
7
|
Project-URL: Home-page, https://github.com/scverse/pertpy
|
8
|
-
Author: Lukas Heumos,
|
8
|
+
Author: Lukas Heumos, Lilly May, Stefan Peidli, Johannes Ostner, Gregor Sturm, Emma Dann, Yuge Ji, Xinyue Zhang, Xichen Wu, Tessa Green, Antonia Schumacher
|
9
9
|
Maintainer-email: Lukas Heumos <lukas.heumos@posteo.net>
|
10
10
|
License: MIT License
|
11
11
|
|
12
12
|
Copyright (c) 2021, Lukas Heumos
|
13
|
+
Copyright (c) 2025, scverse®
|
13
14
|
|
14
15
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
15
16
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -29,7 +30,7 @@ License: MIT License
|
|
29
30
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
30
31
|
SOFTWARE.
|
31
32
|
License-File: LICENSE
|
32
|
-
Classifier: Development Status ::
|
33
|
+
Classifier: Development Status :: 5 - Production/Stable
|
33
34
|
Classifier: Environment :: Console
|
34
35
|
Classifier: Framework :: Jupyter
|
35
36
|
Classifier: Intended Audience :: Developers
|
@@ -39,33 +40,30 @@ Classifier: Natural Language :: English
|
|
39
40
|
Classifier: Operating System :: MacOS :: MacOS X
|
40
41
|
Classifier: Operating System :: POSIX :: Linux
|
41
42
|
Classifier: Programming Language :: Python :: 3
|
42
|
-
Classifier: Programming Language :: Python :: 3.10
|
43
43
|
Classifier: Programming Language :: Python :: 3.11
|
44
44
|
Classifier: Programming Language :: Python :: 3.12
|
45
|
+
Classifier: Programming Language :: Python :: 3.13
|
45
46
|
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
46
47
|
Classifier: Topic :: Scientific/Engineering :: Visualization
|
47
|
-
Requires-Python: <3.
|
48
|
+
Requires-Python: <3.14,>=3.11
|
48
49
|
Requires-Dist: adjusttext
|
50
|
+
Requires-Dist: arviz
|
49
51
|
Requires-Dist: blitzgsea
|
50
52
|
Requires-Dist: decoupler
|
53
|
+
Requires-Dist: fast-array-utils
|
51
54
|
Requires-Dist: lamin-utils
|
52
|
-
Requires-Dist:
|
55
|
+
Requires-Dist: mudata
|
53
56
|
Requires-Dist: openpyxl
|
54
57
|
Requires-Dist: ott-jax
|
55
58
|
Requires-Dist: pubchempy
|
56
59
|
Requires-Dist: pyarrow
|
57
60
|
Requires-Dist: requests
|
58
61
|
Requires-Dist: rich
|
59
|
-
Requires-Dist: scanpy
|
62
|
+
Requires-Dist: scanpy
|
60
63
|
Requires-Dist: scikit-learn>=1.4
|
61
64
|
Requires-Dist: scikit-misc
|
62
65
|
Requires-Dist: scvi-tools
|
63
66
|
Requires-Dist: sparsecca
|
64
|
-
Provides-Extra: coda
|
65
|
-
Requires-Dist: arviz; extra == 'coda'
|
66
|
-
Requires-Dist: ete3; extra == 'coda'
|
67
|
-
Requires-Dist: pyqt5; extra == 'coda'
|
68
|
-
Requires-Dist: toytree; extra == 'coda'
|
69
67
|
Provides-Extra: de
|
70
68
|
Requires-Dist: formulaic; extra == 'de'
|
71
69
|
Requires-Dist: formulaic-contrasts>=0.2.0; extra == 'de'
|
@@ -73,28 +71,33 @@ Requires-Dist: pydeseq2>=v0.5.0pre1; extra == 'de'
|
|
73
71
|
Provides-Extra: dev
|
74
72
|
Requires-Dist: pre-commit; extra == 'dev'
|
75
73
|
Provides-Extra: doc
|
76
|
-
Requires-Dist: docutils
|
77
|
-
Requires-Dist: furo; extra == 'doc'
|
74
|
+
Requires-Dist: docutils>=0.8; extra == 'doc'
|
78
75
|
Requires-Dist: ipykernel; extra == 'doc'
|
79
76
|
Requires-Dist: ipython; extra == 'doc'
|
80
77
|
Requires-Dist: myst-nb; extra == 'doc'
|
81
|
-
Requires-Dist: myst-parser; extra == 'doc'
|
82
78
|
Requires-Dist: nbsphinx; extra == 'doc'
|
83
79
|
Requires-Dist: nbsphinx-link; extra == 'doc'
|
84
|
-
Requires-Dist: pyenchant; extra == 'doc'
|
85
80
|
Requires-Dist: pygments; extra == 'doc'
|
81
|
+
Requires-Dist: scanpydoc; extra == 'doc'
|
86
82
|
Requires-Dist: sphinx-autodoc-typehints; extra == 'doc'
|
87
83
|
Requires-Dist: sphinx-automodapi; extra == 'doc'
|
84
|
+
Requires-Dist: sphinx-book-theme; extra == 'doc'
|
88
85
|
Requires-Dist: sphinx-copybutton; extra == 'doc'
|
89
86
|
Requires-Dist: sphinx-design; extra == 'doc'
|
90
87
|
Requires-Dist: sphinx-gallery; extra == 'doc'
|
88
|
+
Requires-Dist: sphinx-issues; extra == 'doc'
|
91
89
|
Requires-Dist: sphinx-last-updated-by-git; extra == 'doc'
|
92
90
|
Requires-Dist: sphinx-remove-toctrees; extra == 'doc'
|
93
|
-
Requires-Dist: sphinx>=
|
91
|
+
Requires-Dist: sphinx>=6; extra == 'doc'
|
94
92
|
Requires-Dist: sphinxcontrib-bibtex>=1.0.0; extra == 'doc'
|
95
93
|
Requires-Dist: sphinxext-opengraph; extra == 'doc'
|
94
|
+
Provides-Extra: tcoda
|
95
|
+
Requires-Dist: ete4; extra == 'tcoda'
|
96
|
+
Requires-Dist: pyqt6; extra == 'tcoda'
|
97
|
+
Requires-Dist: toytree; extra == 'tcoda'
|
96
98
|
Provides-Extra: test
|
97
99
|
Requires-Dist: coverage; extra == 'test'
|
100
|
+
Requires-Dist: leidenalg; extra == 'test'
|
98
101
|
Requires-Dist: pytest; extra == 'test'
|
99
102
|
Description-Content-Type: text/markdown
|
100
103
|
|
@@ -127,10 +130,10 @@ You can install _pertpy_ in less than a minute via [pip] from [PyPI]:
|
|
127
130
|
pip install pertpy
|
128
131
|
```
|
129
132
|
|
130
|
-
if you want to use
|
133
|
+
if you want to use tascCODA, please install pertpy as follows:
|
131
134
|
|
132
135
|
```console
|
133
|
-
pip install 'pertpy[
|
136
|
+
pip install 'pertpy[tcoda]'
|
134
137
|
```
|
135
138
|
|
136
139
|
If you want to use the differential gene expression interface, please install pertpy by running:
|
@@ -146,4 +149,17 @@ bioRxiv 2024.08.04.606516; doi: https://doi.org/10.1101/2024.08.04.606516](https
|
|
146
149
|
|
147
150
|
[pip]: https://pip.pypa.io/
|
148
151
|
[pypi]: https://pypi.org/
|
149
|
-
[
|
152
|
+
[api]: https://pertpy.readthedocs.io/en/latest/api/api.html
|
153
|
+
[//]: # "numfocus-fiscal-sponsor-attribution"
|
154
|
+
|
155
|
+
pertpy is part of the scverse® project ([website](https://scverse.org), [governance](https://scverse.org/about/roles)) and is fiscally sponsored by [NumFOCUS](https://numfocus.org/).
|
156
|
+
If you like scverse® and want to support our mission, please consider making a tax-deductible [donation](https://numfocus.org/donate-to-scverse) to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.
|
157
|
+
|
158
|
+
<div align="center">
|
159
|
+
<a href="https://numfocus.org/project/scverse">
|
160
|
+
<img
|
161
|
+
src="https://raw.githubusercontent.com/numfocus/templates/master/images/numfocus-logo.png"
|
162
|
+
width="200"
|
163
|
+
>
|
164
|
+
</a>
|
165
|
+
</div>
|
@@ -27,10 +27,10 @@ You can install _pertpy_ in less than a minute via [pip] from [PyPI]:
|
|
27
27
|
pip install pertpy
|
28
28
|
```
|
29
29
|
|
30
|
-
if you want to use
|
30
|
+
if you want to use tascCODA, please install pertpy as follows:
|
31
31
|
|
32
32
|
```console
|
33
|
-
pip install 'pertpy[
|
33
|
+
pip install 'pertpy[tcoda]'
|
34
34
|
```
|
35
35
|
|
36
36
|
If you want to use the differential gene expression interface, please install pertpy by running:
|
@@ -46,4 +46,17 @@ bioRxiv 2024.08.04.606516; doi: https://doi.org/10.1101/2024.08.04.606516](https
|
|
46
46
|
|
47
47
|
[pip]: https://pip.pypa.io/
|
48
48
|
[pypi]: https://pypi.org/
|
49
|
-
[
|
49
|
+
[api]: https://pertpy.readthedocs.io/en/latest/api/api.html
|
50
|
+
[//]: # "numfocus-fiscal-sponsor-attribution"
|
51
|
+
|
52
|
+
pertpy is part of the scverse® project ([website](https://scverse.org), [governance](https://scverse.org/about/roles)) and is fiscally sponsored by [NumFOCUS](https://numfocus.org/).
|
53
|
+
If you like scverse® and want to support our mission, please consider making a tax-deductible [donation](https://numfocus.org/donate-to-scverse) to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.
|
54
|
+
|
55
|
+
<div align="center">
|
56
|
+
<a href="https://numfocus.org/project/scverse">
|
57
|
+
<img
|
58
|
+
src="https://raw.githubusercontent.com/numfocus/templates/master/images/numfocus-logo.png"
|
59
|
+
width="200"
|
60
|
+
>
|
61
|
+
</a>
|
62
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
|
3
|
+
"formatter": { "useEditorconfig": true },
|
4
|
+
"overrides": [
|
5
|
+
{
|
6
|
+
"include": ["./.vscode/*.json", "**/*.jsonc", "**/asv.conf.json"],
|
7
|
+
"json": {
|
8
|
+
"formatter": {
|
9
|
+
"trailingCommas": "all",
|
10
|
+
},
|
11
|
+
"parser": {
|
12
|
+
"allowComments": true,
|
13
|
+
"allowTrailingCommas": true,
|
14
|
+
},
|
15
|
+
},
|
16
|
+
},
|
17
|
+
],
|
18
|
+
}
|
@@ -8,7 +8,7 @@ from sphinx.application import Sphinx
|
|
8
8
|
__licence__ = "BSD (3 clause)"
|
9
9
|
|
10
10
|
|
11
|
-
def get_github_repo(app: Sphinx, path: str) -> str:
|
11
|
+
def get_github_repo(app: Sphinx, path: str) -> str: # noqa: D103
|
12
12
|
if path.endswith(".ipynb"):
|
13
13
|
return str(app.config.github_nb_repo)
|
14
14
|
if "auto_examples" in path:
|
@@ -43,7 +43,7 @@ def _html_page_context(
|
|
43
43
|
context["conf_py_path"] = "/docs/source/"
|
44
44
|
|
45
45
|
|
46
|
-
def setup(app: Sphinx) -> None:
|
46
|
+
def setup(app: Sphinx) -> None: # noqa: D103
|
47
47
|
app.add_config_value("github_nb_repo", "", True)
|
48
48
|
app.add_config_value("github_repo", "", True)
|
49
49
|
app.connect("html-page-context", _html_page_context)
|
@@ -10,7 +10,7 @@ def _process_return(lines: Iterable[str]) -> Iterator[str]:
|
|
10
10
|
m = re.fullmatch(r"(?P<param>\w+)\s+:\s+(?P<type>[\w.]+)", line)
|
11
11
|
if m:
|
12
12
|
# Once this is in scanpydoc, we can use the fancy hover stuff
|
13
|
-
yield f
|
13
|
+
yield f"**{m['param']}** : :class:`~{m['type']}`"
|
14
14
|
else:
|
15
15
|
yield line
|
16
16
|
|
@@ -23,5 +23,5 @@ def _parse_returns_section(self: NumpyDocstring, section: str) -> list[str]:
|
|
23
23
|
return lines
|
24
24
|
|
25
25
|
|
26
|
-
def setup(app: Sphinx) -> None:
|
26
|
+
def setup(app: Sphinx) -> None: # noqa: D103
|
27
27
|
NumpyDocstring._parse_returns_section = _parse_returns_section
|
Binary file
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg width="308" height="105" viewBox="0 0 308 105" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect width="308" height="105" fill="#1E1E1E"/>
|
3
|
+
<path d="M26.432 17.656C41.664 17.4 48.576 31.736 48.704 47.992C48.704 62.328 41.536 75.768 26.176 76.28C19.904 76.28 14.528 74.36 9.28 71.16V104.312L0.0640001 100.984L0.192 27.384C0.0640001 27.384 7.36 17.784 26.304 17.528L26.432 17.656ZM24.128 69.624C36.416 68.856 37.952 56.824 37.952 47.352C37.952 38.136 36.416 24.312 24.768 23.8C16.832 23.288 10.432 27 9.152 28.28V64.76C12.224 66.68 18.368 70.008 24.128 69.624ZM105.92 69.88C102.976 71.8 100.032 73.464 96.32 74.616C88.256 76.92 77.76 77.048 71.104 71.416C64.96 66.168 61.248 57.336 61.248 47.864C61.376 33.144 67.392 17.912 83.776 17.912C99.392 17.912 105.152 28.664 105.408 45.944H71.104C70.08 60.536 77.504 70.392 88 70.008C94.4 69.88 99.008 67.704 103.744 65.4L105.92 69.88ZM95.936 40.44L96.064 40.568C96.064 32.376 92.48 23.672 84.16 23.672C75.2 23.672 72 32.376 71.36 40.44H95.936ZM142.476 24.568H142.348C136.204 24.568 131.98 26.872 128.652 29.688V75H119.308V28.408C122.764 24.568 127.372 21.496 132.62 19.704C138.252 17.656 143.628 16.376 151.436 17.784C150.284 20.088 148.748 23.032 147.724 25.336C145.932 24.952 143.756 24.568 142.476 24.568ZM163.362 24.952H156.962V18.936H163.362V3.32L172.706 -0.00800323V18.936H183.202V24.952H172.706V61.432C172.706 68.856 176.674 70.648 183.202 70.904V75.768C170.786 76.92 163.362 71.288 163.362 61.688V24.952Z" fill="#30679A"/>
|
4
|
+
<path d="M223.307 17.656C238.539 17.4 245.451 31.736 245.579 47.992C245.579 62.328 238.411 75.768 223.051 76.28C216.779 76.28 211.403 74.36 206.155 71.16V104.312L196.939 100.984L197.067 27.384C196.939 27.384 204.235 17.784 223.179 17.528L223.307 17.656ZM221.003 69.624C233.291 68.856 234.827 56.824 234.827 47.352C234.827 38.136 233.291 24.312 221.643 23.8C213.707 23.288 207.307 27 206.027 28.28V64.76C209.099 66.68 215.243 70.008 221.003 69.624ZM270.411 56.824V56.696C270.411 65.272 276.555 69.752 284.875 69.624C289.867 69.496 295.499 66.68 298.571 64.632V18.936H307.915V69.752C307.915 76.28 307.531 86.136 304.843 91.256C300.107 100.216 286.795 103.8 277.323 104.056L275.787 98.168C282.955 97.144 293.195 96.12 297.035 88.824C298.955 85.24 299.083 78.2 299.083 74.104C299.083 72.696 299.211 73.08 299.083 71.672C296.267 72.952 289.995 76.024 278.987 76.024C270.539 76.024 260.939 70.008 260.939 59.64V20.728L270.411 17.528V56.824Z" fill="#D2455E"/>
|
5
|
+
</svg>
|
@@ -5,7 +5,6 @@
|
|
5
5
|
.. add toctree option to make autodoc generate the pages
|
6
6
|
|
7
7
|
.. autoclass:: {{ objname }}
|
8
|
-
:show-inheritance:
|
9
8
|
|
10
9
|
{% block attributes %}
|
11
10
|
{% if attributes %}
|
@@ -14,25 +13,21 @@ Attributes table
|
|
14
13
|
|
15
14
|
.. autosummary::
|
16
15
|
{% for item in attributes %}
|
17
|
-
{
|
18
|
-
~{{ fullname }}.{{ item }}
|
19
|
-
{%- endif -%}
|
16
|
+
~{{ name }}.{{ item }}
|
20
17
|
{%- endfor %}
|
21
18
|
{% endif %}
|
22
19
|
{% endblock %}
|
23
20
|
|
24
|
-
|
25
21
|
{% block methods %}
|
26
22
|
{% if methods %}
|
27
23
|
Methods table
|
28
|
-
|
24
|
+
~~~~~~~~~~~~~
|
29
25
|
|
30
26
|
.. autosummary::
|
31
27
|
{% for item in methods %}
|
32
|
-
{%- if item != '__init__'
|
33
|
-
~{{
|
28
|
+
{%- if item != '__init__' %}
|
29
|
+
~{{ name }}.{{ item }}
|
34
30
|
{%- endif -%}
|
35
|
-
|
36
31
|
{%- endfor %}
|
37
32
|
{% endif %}
|
38
33
|
{% endblock %}
|
@@ -43,8 +38,6 @@ Attributes
|
|
43
38
|
~~~~~~~~~~
|
44
39
|
|
45
40
|
{% for item in attributes %}
|
46
|
-
{{ item }}
|
47
|
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
48
41
|
|
49
42
|
.. autoattribute:: {{ [objname, item] | join(".") }}
|
50
43
|
{%- endfor %}
|
@@ -58,9 +51,8 @@ Methods
|
|
58
51
|
~~~~~~~
|
59
52
|
|
60
53
|
{% for item in methods %}
|
61
|
-
{%- if item != '__init__'
|
62
|
-
|
63
|
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
54
|
+
{%- if item != '__init__' %}
|
55
|
+
|
64
56
|
.. automethod:: {{ [objname, item] | join(".") }}
|
65
57
|
{%- endif -%}
|
66
58
|
{%- endfor %}
|