Skip to content

Commit e84abd8

Browse files
authored
Merge pull request #401 from ImperialCollegeLondon/release/0.1.0
Publish version `0.1.0a0`
2 parents d945ba4 + e578c55 commit e84abd8

File tree

281 files changed

+36334
-3489
lines changed

Some content is hidden

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

281 files changed

+36334
-3489
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: 'bug'
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
16+
1. Go to '...'
17+
2. Click on '....'
18+
3. Scroll down to '....'
19+
4. See error
20+
21+
**Expected behavior**
22+
A clear and concise description of what you expected to happen.
23+
24+
**Screenshots**
25+
If applicable, add screenshots to help explain your problem.
26+
27+
**Desktop (please complete the following information):**
28+
29+
- OS: [e.g. iOS]
30+
- Version [e.g. 22]
31+
32+
**Additional context**
33+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Description
2+
3+
Please include a summary of the change and which issue is fixed. Please also include
4+
relevant motivation and context. List any dependencies that are required for this
5+
change.
6+
7+
Fixes # (issue)
8+
9+
## Type of change
10+
11+
- [ ] New feature (non-breaking change which adds functionality)
12+
- [ ] Optimization (back-end change that speeds up the code)
13+
- [ ] Bug fix (non-breaking change which fixes an issue)
14+
15+
## Key checklist
16+
17+
- [ ] Make sure you've run the `pre-commit` checks: `$ pre-commit run -a`
18+
- [ ] All tests pass: `$ poetry run pytest`
19+
20+
## Further checks
21+
22+
- [ ] Code is commented, particularly in hard-to-understand areas
23+
- [ ] Tests added that prove fix is effective or that feature works

.github/dependabot.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
3+
# To get started with Dependabot version updates, you'll need to specify which
4+
# package ecosystems to update and where the package manifests are located.
5+
# Please see the documentation for all configuration options:
6+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
7+
8+
version: 2
9+
updates:
10+
- package-ecosystem: "pip"
11+
directory: "/"
12+
schedule:
13+
interval: "weekly"
14+
- package-ecosystem: "github-actions"
15+
directory: "/"
16+
schedule:
17+
interval: "weekly"

.github/workflows/ci.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Test and build
2+
3+
on: [push, pull_request, release]
4+
5+
jobs:
6+
qa:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- uses: actions/setup-python@v5
11+
with:
12+
python-version: "3.10"
13+
- uses: pre-commit/[email protected]
14+
15+
test:
16+
needs: qa
17+
runs-on: ${{ matrix.os }}
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
os: [ ubuntu-latest, macos-latest, windows-latest ]
22+
python-version: [ "3.10", "3.11" ]
23+
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- uses: actions/setup-python@v5
28+
with:
29+
python-version: ${{ matrix.python-version }}
30+
31+
- name: Install Poetry
32+
uses: abatilo/[email protected]
33+
with:
34+
poetry-version: 1.5.1
35+
36+
- name: Install dependencies
37+
run: poetry install
38+
39+
- name: Run tests
40+
run: poetry run pytest --cov-report xml
41+
42+
- name: Upload coverage to Codecov
43+
if: (matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10')
44+
uses: codecov/codecov-action@v4
45+
with:
46+
fail_ci_if_error: true
47+
token: ${{ secrets.CODECOV_TOKEN }}
48+
verbose: true
49+
docs_build:
50+
needs: qa
51+
runs-on: ubuntu-latest
52+
steps:
53+
- uses: actions/checkout@v4
54+
- uses: actions/setup-python@v5
55+
with:
56+
python-version: "3.10"
57+
58+
- name: Install Poetry
59+
uses: abatilo/[email protected]
60+
with:
61+
poetry-version: 1.5.1
62+
63+
- name: Install dependencies
64+
run: poetry install
65+
66+
- name: Set ipython kernel
67+
run: poetry run python -m ipykernel install --user --name=vr_python3
68+
69+
- name: Build docs using sphinx
70+
run: |
71+
cd docs
72+
poetry run sphinx-build -W --keep-going source build
73+
74+
- name: Archive built docs for error checking on failure
75+
if: failure()
76+
uses: actions/upload-artifact@v3
77+
with:
78+
name: built-docs
79+
path: docs/build
80+
retention-days: 2

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ coverage.xml
5050
*.py,cover
5151
.hypothesis/
5252
.pytest_cache/
53+
reports
5354

5455
# Translations
5556
*.mo
@@ -75,7 +76,9 @@ docs/_build/
7576
target/
7677

7778
# Jupyter Notebook
79+
# - deliberately excluding ipynb files. Using Jupytext to maintain paired Myst Markdown with only MD under version control
7880
.ipynb_checkpoints
81+
*.ipynb
7982

8083
# IPython
8184
profile_default/

.markdownlint.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# MD013/line-length - Line length
2+
MD013:
3+
# Number of characters
4+
line_length: 88

.mdformat.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# .mdformat.toml
2+
#
3+
# This file shows the default values and is equivalent to having
4+
# no configuration file at all. Change the values for non-default
5+
# behavior.
6+
#
7+
wrap = 88 # possible values: {"keep", "no", INTEGER}
8+
number = false # possible values: {false, true}
9+
end_of_line = "lf" # possible values: {"lf", "crlf"}

.pre-commit-config.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.5.0
4+
hooks:
5+
- id: check-merge-conflict
6+
- id: debug-statements
7+
- repo: https://github.com/PyCQA/isort
8+
rev: "5.13.2"
9+
hooks:
10+
- id: isort
11+
additional_dependencies: [toml]
12+
- repo: https://github.com/psf/black
13+
rev: "24.2.0"
14+
hooks:
15+
- id: black
16+
- repo: https://github.com/PyCQA/flake8
17+
rev: 7.0.0
18+
hooks:
19+
- id: flake8
20+
additional_dependencies: [flake8-docstrings]
21+
- repo: https://github.com/pre-commit/mirrors-mypy
22+
rev: "v1.8.0"
23+
hooks:
24+
- id: mypy
25+
additional_dependencies: [types-jsonschema, xarray]
26+
- repo: https://github.com/igorshubovych/markdownlint-cli
27+
rev: v0.39.0
28+
hooks:
29+
- id: markdownlint
30+
- repo: https://github.com/asottile/pyupgrade
31+
rev: v3.15.1
32+
hooks:
33+
- id: pyupgrade
34+
args: [--py310-plus]

.readthedocs.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Set the version of Python and other tools you might need
9+
build:
10+
os: ubuntu-20.04
11+
tools:
12+
python: "3.10"
13+
jobs:
14+
post_create_environment:
15+
# Install poetry
16+
# https://python-poetry.org/docs/#installing-manually
17+
- pip install poetry
18+
19+
post_install:
20+
# Install dependencies with 'docs' dependency group
21+
# https://python-poetry.org/docs/managing-dependencies/#dependency-groups
22+
# VIRTUAL_ENV needs to be set manually for now.
23+
# See https://github.com/readthedocs/readthedocs.org/pull/11152/
24+
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs
25+
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry run python -m ipykernel install --user --name=vr_python3
26+
27+
# Build documentation in the docs/ directory with Sphinx
28+
sphinx:
29+
configuration: docs/source/conf.py
30+
31+
# If using Sphinx, optionally build your docs in additional formats such as PDF
32+
# formats:
33+
# - pdf
34+
35+
# Optionally declare the Python requirements required to build your docs
36+
# These are installed as dev requirements via poetry (but note that this will need to be
37+
# updated for poetry 1.2).
38+
#
39+
# python:
40+
# install:
41+
# - requirements: docs/requirements.txt

0 commit comments

Comments
 (0)