Skip to content

Commit b299cc9

Browse files
authored
Merge 0c4b0c5 into 39bfcdf
2 parents 39bfcdf + 0c4b0c5 commit b299cc9

Some content is hidden

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

75 files changed

+2526
-1938
lines changed

.github/workflows/main.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,22 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
30-
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
30+
python-version: ['3.8', '3.9', '3.10', '3.11']
3131

3232
steps:
3333
- uses: actions/checkout@v3
34-
- uses: conda-incubator/setup-[email protected]
34+
- uses: mamba-org/setup-micromamba@v1
3535
with:
36-
auto-update-conda: false
37-
python-version: ${{ matrix.python-version }}
38-
channels: conda-forge,nodefaults
39-
miniforge-variant: Mambaforge
40-
41-
- name: Install core dependencies.
42-
shell: bash -l {0}
43-
run: mamba install -c conda-forge tox-conda coverage
36+
environment-name: gha-testing
37+
condarc: |
38+
channels:
39+
- nodefaults
40+
- conda-forge
41+
create-args: >-
42+
python=${{ matrix.python-version }}
43+
mamba
44+
tox-conda
45+
cache-environment: true
4446

4547
# Unit, integration, and end-to-end tests.
4648

@@ -49,7 +51,7 @@ jobs:
4951
run: tox -e pytest -- -m "unit or (not integration and not end_to_end)" --cov=src --cov=tests --cov-report=xml -n auto
5052

5153
- name: Upload coverage report for unit tests and doctests.
52-
if: runner.os == 'Linux' && matrix.python-version == '3.8'
54+
if: runner.os == 'Linux' && matrix.python-version == '3.10'
5355
shell: bash -l {0}
5456
run: bash <(curl -s https://codecov.io/bash) -F unit -c
5557

@@ -58,7 +60,7 @@ jobs:
5860
run: tox -e pytest -- -m integration --cov=src --cov=tests --cov-report=xml -n auto
5961

6062
- name: Upload coverage reports of integration tests.
61-
if: runner.os == 'Linux' && matrix.python-version == '3.8'
63+
if: runner.os == 'Linux' && matrix.python-version == '3.10'
6264
shell: bash -l {0}
6365
run: bash <(curl -s https://codecov.io/bash) -F integration -c
6466

@@ -67,6 +69,6 @@ jobs:
6769
run: tox -e pytest -- -m end_to_end --cov=src --cov=tests --cov-report=xml -n auto
6870

6971
- name: Upload coverage reports of end-to-end tests.
70-
if: runner.os == 'Linux' && matrix.python-version == '3.8'
72+
if: runner.os == 'Linux' && matrix.python-version == '3.10'
7173
shell: bash -l {0}
7274
run: bash <(curl -s https://codecov.io/bash) -F end_to_end -c

.pre-commit-config.yaml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,13 @@ repos:
2121
hooks:
2222
- id: python-check-blanket-noqa
2323
- id: python-check-mock-methods
24-
- id: python-no-eval
25-
exclude: expression.py
2624
- id: python-no-log-warn
27-
- id: python-use-type-annotations
2825
- id: text-unicode-replacement-char
2926
- repo: https://github.com/asottile/reorder-python-imports
3027
rev: v3.9.0
3128
hooks:
3229
- id: reorder-python-imports
33-
args: [--py37-plus, --add-import, 'from __future__ import annotations']
30+
args: [--py38-plus, --add-import, 'from __future__ import annotations']
3431
- repo: https://github.com/asottile/setup-cfg-fmt
3532
rev: v2.3.0
3633
hooks:
@@ -52,7 +49,7 @@ repos:
5249
rev: 1.5.0
5350
hooks:
5451
- id: interrogate
55-
args: [-v, --fail-under=75]
52+
args: [-vv, --fail-under=75]
5653
exclude: ^(tests/|docs/|scripts/)
5754
- repo: https://github.com/pre-commit/mirrors-mypy
5855
rev: 'v1.3.0'

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
include CITATION
22
include LICENSE
33

4+
recursive-include src *.pyi
45
recursive-include src py.typed
56

67
exclude .coveragerc

docs/rtd_environment.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ channels:
33
- nodefaults
44

55
dependencies:
6-
- python >=3.7
6+
- python >=3.8
77
- pip
88
- setuptools_scm
99
- toml
@@ -25,11 +25,12 @@ dependencies:
2525
- click-default-group
2626
- networkx >=2.4
2727
- pluggy
28-
- pony >=0.7.15
29-
- pybaum >=0.1.1
28+
- optree >=0.9
3029
- pexpect
3130
- rich
31+
- sqlalchemy >=1.4.36
3232
- tomli >=1.0.0
33+
- typing_extensions
3334

3435
- pip:
3536
- ../

docs/source/_static/images/markers.svg

Lines changed: 0 additions & 3 deletions
Loading

docs/source/_static/md/markers.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ $ pytask markers
1010
│ │ tutorial for more information: │
1111
│ │ <a href="https://bit.ly/3JlxylS">https://bit.ly/3JlxylS</a>. │
1212
│ │ │
13-
│ pytask.mark.parametrize │ The marker for pytest&#x27;s way of │
14-
│ │ repeating tasks which is explained in │
15-
│ │ this tutorial: <a href="https://bit.ly/3uqZqkk">https://bit.ly/3uqZqkk</a>. │
16-
│ │ │
1713
│ pytask.mark.persist │ Prevent execution of a task if all │
1814
│ │ products exist and even ifsomething has │
1915
│ │ changed (dependencies, source file, │

docs/source/changes.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,26 @@ chronological order. Releases follow [semantic versioning](https://semver.org/)
55
releases are available on [PyPI](https://pypi.org/project/pytask) and
66
[Anaconda.org](https://anaconda.org/conda-forge/pytask).
77

8-
## 0.3.2 - 2023-xx-xx
8+
## 0.4.0 - 2023-xx-xx
9+
10+
- {pull}`323` remove Python 3.7 support and use a new Github action to provide mamba.
11+
- {pull}`384` allows to parse dependencies from every function argument if `depends_on`
12+
is not present.
13+
- {pull}`387` replaces pony with sqlalchemy.
14+
- {pull}`391` removes `@pytask.mark.parametrize`.
15+
- {pull}`394` allows to add products with {obj}`typing.Annotation` and
16+
{obj}`~pytask.Product`.
17+
- {pull}`395` refactors all occurrences of pybaum to {mod}`_pytask.tree_util`.
18+
- {pull}`396` replaces pybaum with optree and adds paths to the name of
19+
{class}`pytask.PythonNode`'s allowing for better hashing.
20+
- {pull}`397` adds support for {class}`typing.NamedTuple` and attrs classes in
21+
`@pytask.mark.task(kwargs=...)`.
22+
- {pull}`398` deprecates the decorators `@pytask.mark.depends_on` and
23+
`@pytask.mark.produces`.
24+
- {pull}`402` replaces ABCs with protocols allowing for more flexibility for users
25+
implementing their own nodes.
26+
27+
## 0.3.2 - 2023-06-07
928

1029
- {pull}`345` updates the version numbers in animations.
1130
- {pull}`352` publishes `db` that is required by pytask-environment.

docs/source/how_to_guides/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ maxdepth: 1
1414
migrating_from_scripts_to_pytask
1515
invoking_pytask_extended
1616
capture_warnings
17-
repeating_tasks_with_different_inputs_the_pytest_way
1817
how_to_influence_build_order
1918
how_to_write_a_plugin
2019
```

docs/source/how_to_guides/repeating_tasks_with_different_inputs_the_pytest_way.md

Lines changed: 0 additions & 213 deletions
This file was deleted.

0 commit comments

Comments
 (0)