Skip to content

Commit 07eafbb

Browse files
authored
Release v0.0.8 by fixing hook specifications. (#30)
1 parent 320ba06 commit 07eafbb

File tree

9 files changed

+27
-14
lines changed

9 files changed

+27
-14
lines changed

docs/changes.rst

+7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ chronological order. Releases follow `semantic versioning <https://semver.org/>`
66
all releases are available on `Anaconda.org <https://anaconda.org/pytask/pytask>`_.
77

88

9+
0.0.8 - 2020-10-04
10+
------------------
11+
12+
- :gh:`30` fixes or adds the session object to some hooks which was missing from the
13+
previous release.
14+
15+
916
0.0.7 - 2020-10-03
1017
------------------
1118

docs/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
author = "Tobias Raabe"
2222

2323
# The full version, including alpha/beta/rc tags
24-
release = "0.0.7"
24+
release = "0.0.8"
2525

2626

2727
# -- General configuration -------------------------------------------------------------

setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.0.7
2+
current_version = 0.0.8
33
parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+))(\-?((dev)?(?P<dev>\d+))?)
44
serialize =
55
{major}.{minor}.{patch}dev{dev}

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
setup(
1717
name="pytask",
18-
version="0.0.7",
18+
version="0.0.8",
1919
description=DESCRIPTION,
2020
long_description=DESCRIPTION + "\n\n" + README,
2121
long_description_content_type="text/x-rst",

src/_pytask/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.0.7"
1+
__version__ = "0.0.8"

src/_pytask/hookspecs.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def pytask_collect_task(session, path, name, obj):
152152

153153

154154
@hookspec
155-
def pytask_collect_task_teardown(task):
155+
def pytask_collect_task_teardown(session, task):
156156
"""Perform tear-down operations when a task was collected.
157157
158158
Use this hook specification to, for example, perform checks on the collected task.
@@ -161,7 +161,7 @@ def pytask_collect_task_teardown(task):
161161

162162

163163
@hookspec(firstresult=True)
164-
def pytask_collect_node(path, node):
164+
def pytask_collect_node(session, path, node):
165165
"""Collect a node which is a dependency or a product of a task."""
166166

167167

@@ -207,7 +207,7 @@ def pytask_resolve_dependencies(session):
207207

208208

209209
@hookspec(firstresult=True)
210-
def pytask_resolve_dependencies_create_dag(tasks):
210+
def pytask_resolve_dependencies_create_dag(session, tasks):
211211
"""Create the DAG.
212212
213213
This hook creates the DAG from tasks, dependencies and products. The DAG can be used
@@ -217,7 +217,7 @@ def pytask_resolve_dependencies_create_dag(tasks):
217217

218218

219219
@hookspec(firstresult=True)
220-
def pytask_resolve_dependencies_select_execution_dag(dag):
220+
def pytask_resolve_dependencies_select_execution_dag(session, dag):
221221
"""Select the subgraph which needs to be executed.
222222
223223
This hook determines which of the tasks have to be re-run because something has
@@ -227,7 +227,7 @@ def pytask_resolve_dependencies_select_execution_dag(dag):
227227

228228

229229
@hookspec(firstresult=True)
230-
def pytask_resolve_dependencies_validate_dag(dag):
230+
def pytask_resolve_dependencies_validate_dag(session, dag):
231231
"""Validate the DAG.
232232
233233
This hook validates the DAG. For example, there can be cycles in the DAG if tasks,

src/_pytask/nodes.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,9 @@ def _collect_nodes(session, path, name, nodes):
166166
"""Collect nodes for a task."""
167167
collect_nodes = []
168168
for node in nodes:
169-
collected_node = session.hook.pytask_collect_node(path=path, node=node)
169+
collected_node = session.hook.pytask_collect_node(
170+
session=session, path=path, node=node
171+
)
170172
if collected_node is None:
171173
raise NodeNotCollectedError(
172174
f"'{node}' cannot be parsed as a dependency or product for task "

src/_pytask/resolve_dependencies.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,14 @@ def pytask_resolve_dependencies(session):
2929
"""
3030
try:
3131
session.dag = session.hook.pytask_resolve_dependencies_create_dag(
32-
tasks=session.tasks
32+
session=session, tasks=session.tasks
33+
)
34+
session.hook.pytask_resolve_dependencies_validate_dag(
35+
session=session, dag=session.dag
36+
)
37+
session.hook.pytask_resolve_dependencies_select_execution_dag(
38+
session=session, dag=session.dag
3339
)
34-
session.hook.pytask_resolve_dependencies_validate_dag(dag=session.dag)
35-
session.hook.pytask_resolve_dependencies_select_execution_dag(dag=session.dag)
3640

3741
except Exception:
3842
report = ResolvingDependenciesReport(sys.exc_info())

src/pytask/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
from _pytask.mark import MARK_GEN as mark # noqa: N811
55

66
__all__ = ["cli", "hookimpl", "main", "mark"]
7-
__version__ = "0.0.7"
7+
__version__ = "0.0.8"

0 commit comments

Comments
 (0)