Skip to content

Commit 6caaa3f

Browse files
committed
first commit
0 parents  commit 6caaa3f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1775
-0
lines changed

.bumpversion.cfg

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[bumpversion]
2+
current_version = 0.0.1
3+
tag = True
4+
commit = True
5+
6+
[bumpversion:file:./pyproject.toml]
7+
search = version = "{current_version}"
8+
replace = version = "{new_version}"

.codecov.yaml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Based on pydata/xarray
2+
codecov:
3+
require_ci_to_pass: no
4+
5+
coverage:
6+
status:
7+
project:
8+
default:
9+
# Require 1% coverage, i.e., always succeed
10+
target: 1
11+
patch: false
12+
changes: false
13+
14+
comment:
15+
layout: diff, flags, files
16+
behavior: once
17+
require_base: no

.cruft.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"template": "https://github.com/scverse/cookiecutter-scverse",
3+
"commit": "7cc5403b05e299d7a4bb169c2bd8c27a2a7676f3",
4+
"checkout": null,
5+
"context": {
6+
"cookiecutter": {
7+
"project_name": "sobolev_alignment",
8+
"package_name": "sobolev_alignment",
9+
"project_description": "Sobolev alignment of deep probabilistic models for comparing single cell profiles",
10+
"author_full_name": "Soufiane Mourragui",
11+
"author_email": "soufiane.mourragui@gmail.com",
12+
"github_user": "saroudant",
13+
"project_repo": "https://github.com/saroudant/sobolev_alignment",
14+
"license": "MIT License",
15+
"_copy_without_render": [
16+
".github/workflows/**.yaml",
17+
"docs/_templates/autosummary/**.rst"
18+
],
19+
"_template": "https://github.com/scverse/cookiecutter-scverse"
20+
}
21+
},
22+
"directory": null
23+
}

.editorconfig

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 4
6+
end_of_line = lf
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
11+
[Makefile]
12+
indent_style = tab

.flake8

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Can't yet be moved to the pyproject.toml due to https://github.com/PyCQA/flake8/issues/234
2+
[flake8]
3+
max-line-length = 120
4+
ignore =
5+
# line break before a binary operator -> black does not adhere to PEP8
6+
W503
7+
# line break occured after a binary operator -> black does not adhere to PEP8
8+
W504
9+
# line too long -> we accept long comment lines; black gets rid of long code lines
10+
E501
11+
# whitespace before : -> black does not adhere to PEP8
12+
E203
13+
# line break before binary operator -> black does not adhere to PEP8
14+
W503
15+
# missing whitespace after ,', ';', or ':' -> black does not adhere to PEP8
16+
E231
17+
# continuation line over-indented for hanging indent -> black does not adhere to PEP8
18+
E126
19+
# too many leading '#' for block comment -> this is fine for indicating sections
20+
E262
21+
# Do not assign a lambda expression, use a def -> lambda expression assignments are convenient
22+
E731
23+
# allow I, O, l as variable names -> I is the identity matrix
24+
E741
25+
# Missing docstring in public package
26+
D104
27+
# Missing docstring in public module
28+
D100
29+
# Missing docstring in __init__
30+
D107
31+
# Errors from function calls in argument defaults. These are fine when the result is immutable.
32+
B008
33+
# Missing docstring in magic method
34+
D105
35+
# format string does contain unindexed parameters
36+
P101
37+
# first line should end with a period [Bug: doesn't work with single-line docstrings]
38+
D400
39+
# First line should be in imperative mood; try rephrasing
40+
D401
41+
exclude = .git,__pycache__,build,docs/_build,dist
42+
per-file-ignores =
43+
tests/*: D
44+
*/__init__.py: F401
45+
rst-roles =
46+
class,
47+
func,
48+
ref,
49+
cite:p,
50+
cite:t,
51+
rst-directives =
52+
envvar,
53+
exception,
54+
rst-substitutions =
55+
version,
56+
extend-ignore =
57+
RST307,

.github/ISSUE_TEMPLATE/bug_report.yml

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Bug report
2+
description: Report something that is broken or incorrect
3+
labels: bug
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
**Note**: Please read [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports)
9+
detailing how to provide the necessary information for us to reproduce your bug. In brief:
10+
* Please provide exact steps how to reproduce the bug in a clean Python environment.
11+
* In case it's not clear what's causing this bug, please provide the data or the data generation procecure.
12+
* Sometimes it is not possible to share the data but usually it is possible to replicate problems on publicly
13+
available datasets or to share a subset of your data.
14+
15+
- type: textarea
16+
id: report
17+
attributes:
18+
label: Report
19+
description: A clear and concise description of what the bug is.
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: versions
25+
attributes:
26+
label: Version information
27+
description: |
28+
Please paste below the output of
29+
30+
```python
31+
import session_info
32+
session_info.show(html=False, dependencies=True)
33+
```
34+
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

.github/ISSUE_TEMPLATE/config.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Scverse Community Forum
4+
url: https://discourse.scverse.org/
5+
about: If you have questions about “How to do X”, please ask them here.
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Feature request
2+
description: Propose a new feature for sobolev_alignment
3+
labels: enhancement
4+
body:
5+
- type: textarea
6+
id: description
7+
attributes:
8+
label: Description of feature
9+
description: Please describe your suggestion for a new feature. It might help to describe a problem or use case, plus any alternatives that you have considered.
10+
validations:
11+
required: true

.github/workflows/build.yaml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Check Build
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
package:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
- name: Set up Python 3.10
15+
uses: actions/setup-python@v2
16+
with:
17+
python-version: "3.10"
18+
- name: Install build dependencies
19+
run: python -m pip install --upgrade pip wheel twine build
20+
- name: Build package
21+
run: python -m build
22+
- name: Check package
23+
run: twine check --strict dist/*.whl

.github/workflows/sync.yaml

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Sync Template
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 2 * * *" # every night at 2:00 UTC
7+
8+
jobs:
9+
sync:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v2
13+
- name: Set up Python 3.10
14+
uses: actions/setup-python@v4
15+
with:
16+
python-version: "3.10"
17+
- name: Install dependencies
18+
# for now, pin cookiecutter version, due to https://github.com/cruft/cruft/issues/166
19+
run: python -m pip install --upgrade cruft "cookiecutter<2" pre-commit toml
20+
- name: Find Latest Tag
21+
uses: oprypin/find-latest-tag@v1.1.0
22+
id: get-latest-tag
23+
with:
24+
repository: scverse/cookiecutter-scverse
25+
releases-only: false
26+
sort-tags: true
27+
regex: '^v\d+\.\d+\.\d+$' # vX.X.X
28+
- name: Sync
29+
run: |
30+
cruft update --checkout ${{ steps.get-latest-tag.outputs.tag }} --skip-apply-ask --project-dir .
31+
- name: Create Pull Request
32+
uses: peter-evans/create-pull-request@v4
33+
with:
34+
commit-message: Automated template update from cookiecutter-scverse
35+
branch: template-update
36+
title: Automated template update from cookiecutter-scverse
37+
body: |
38+
A new version of the [scverse cookiecutter template](https://github.com/scverse/cookiecutter-scverse/releases)
39+
got released. This PR adds all new changes to your repository and helps to to stay in sync with
40+
the latest best-practice template maintained by the scverse team.
41+
42+
**If a merge conflict arised, a `.rej` file with the rejected patch is generated. You'll need to
43+
manually merge these changes.**
44+
45+
For more information about the template sync, please refer to the
46+
[template documentation](https://cookiecutter-scverse-instance.readthedocs.io/en/latest/developer_docs.html#automated-template-sync).

.github/workflows/test.yaml

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Test
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
runs-on: ${{ matrix.os }}
12+
defaults:
13+
run:
14+
shell: bash -e {0} # -e to fail on error
15+
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
python: ["3.8", "3.10"]
20+
os: [ubuntu-latest]
21+
22+
env:
23+
OS: ${{ matrix.os }}
24+
PYTHON: ${{ matrix.python }}
25+
26+
steps:
27+
- uses: actions/checkout@v2
28+
- name: Set up Python ${{ matrix.python }}
29+
uses: actions/setup-python@v2
30+
with:
31+
python-version: ${{ matrix.python }}
32+
33+
- name: Get pip cache dir
34+
id: pip-cache-dir
35+
run: |
36+
echo "::set-output name=dir::$(pip cache dir)"
37+
- name: Restore pip cache
38+
uses: actions/cache@v2
39+
with:
40+
path: ${{ steps.pip-cache-dir.outputs.dir }}
41+
key: pip-${{ runner.os }}-${{ env.pythonLocation }}-${{ hashFiles('**/pyproject.toml') }}
42+
restore-keys: |
43+
pip-${{ runner.os }}-${{ env.pythonLocation }}-
44+
- name: Install test dependencies
45+
run: |
46+
python -m pip install --upgrade pip wheel
47+
pip install codecov
48+
- name: Install dependencies
49+
run: |
50+
pip install ".[dev,test]"
51+
- name: Test
52+
env:
53+
MPLBACKEND: agg
54+
PLATFORM: ${{ matrix.os }}
55+
DISPLAY: :42
56+
run: |
57+
pytest -v --cov --color=yes
58+
- name: Upload coverage
59+
env:
60+
CODECOV_NAME: ${{ matrix.python }}-${{ matrix.os }}
61+
run: |
62+
codecov --required --flags=unittests

.gitignore

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Temp files
2+
.DS_Store
3+
*~
4+
5+
# Compiled files
6+
__pycache__/
7+
8+
# Distribution / packaging
9+
/build/
10+
/dist/
11+
/*.egg-info/
12+
13+
# Tests and coverage
14+
/.pytest_cache/
15+
/.cache/
16+
/data/
17+
18+
# docs
19+
/docs/generated/
20+
/docs/_build/
21+
22+
# IDEs
23+
/.idea/
24+
/.vscode/

0 commit comments

Comments
 (0)