diff --git a/docs/changes.rst b/docs/changes.rst
index 524dbe19..f6ebd2c6 100644
--- a/docs/changes.rst
+++ b/docs/changes.rst
@@ -6,6 +6,13 @@ chronological order. Releases follow `semantic versioning `
all releases are available on `Anaconda.org `_.
+0.0.8 - 2020-10-04
+------------------
+
+- :gh:`30` fixes or adds the session object to some hooks which was missing from the
+ previous release.
+
+
0.0.7 - 2020-10-03
------------------
diff --git a/docs/conf.py b/docs/conf.py
index 5afe91b3..2142b689 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -21,7 +21,7 @@
author = "Tobias Raabe"
# The full version, including alpha/beta/rc tags
-release = "0.0.7"
+release = "0.0.8"
# -- General configuration -------------------------------------------------------------
diff --git a/setup.cfg b/setup.cfg
index 1d0db702..3d742a04 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.0.7
+current_version = 0.0.8
parse = (?P\d+)\.(?P\d+)(\.(?P\d+))(\-?((dev)?(?P\d+))?)
serialize =
{major}.{minor}.{patch}dev{dev}
diff --git a/setup.py b/setup.py
index 0bce7cb8..6e9697e2 100644
--- a/setup.py
+++ b/setup.py
@@ -15,7 +15,7 @@
setup(
name="pytask",
- version="0.0.7",
+ version="0.0.8",
description=DESCRIPTION,
long_description=DESCRIPTION + "\n\n" + README,
long_description_content_type="text/x-rst",
diff --git a/src/_pytask/__init__.py b/src/_pytask/__init__.py
index 6526deb4..a73339bf 100644
--- a/src/_pytask/__init__.py
+++ b/src/_pytask/__init__.py
@@ -1 +1 @@
-__version__ = "0.0.7"
+__version__ = "0.0.8"
diff --git a/src/_pytask/hookspecs.py b/src/_pytask/hookspecs.py
index 0ad6e88f..9edb0a08 100644
--- a/src/_pytask/hookspecs.py
+++ b/src/_pytask/hookspecs.py
@@ -152,7 +152,7 @@ def pytask_collect_task(session, path, name, obj):
@hookspec
-def pytask_collect_task_teardown(task):
+def pytask_collect_task_teardown(session, task):
"""Perform tear-down operations when a task was collected.
Use this hook specification to, for example, perform checks on the collected task.
@@ -161,7 +161,7 @@ def pytask_collect_task_teardown(task):
@hookspec(firstresult=True)
-def pytask_collect_node(path, node):
+def pytask_collect_node(session, path, node):
"""Collect a node which is a dependency or a product of a task."""
@@ -207,7 +207,7 @@ def pytask_resolve_dependencies(session):
@hookspec(firstresult=True)
-def pytask_resolve_dependencies_create_dag(tasks):
+def pytask_resolve_dependencies_create_dag(session, tasks):
"""Create the DAG.
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):
@hookspec(firstresult=True)
-def pytask_resolve_dependencies_select_execution_dag(dag):
+def pytask_resolve_dependencies_select_execution_dag(session, dag):
"""Select the subgraph which needs to be executed.
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):
@hookspec(firstresult=True)
-def pytask_resolve_dependencies_validate_dag(dag):
+def pytask_resolve_dependencies_validate_dag(session, dag):
"""Validate the DAG.
This hook validates the DAG. For example, there can be cycles in the DAG if tasks,
diff --git a/src/_pytask/nodes.py b/src/_pytask/nodes.py
index c4e95728..344052cf 100644
--- a/src/_pytask/nodes.py
+++ b/src/_pytask/nodes.py
@@ -166,7 +166,9 @@ def _collect_nodes(session, path, name, nodes):
"""Collect nodes for a task."""
collect_nodes = []
for node in nodes:
- collected_node = session.hook.pytask_collect_node(path=path, node=node)
+ collected_node = session.hook.pytask_collect_node(
+ session=session, path=path, node=node
+ )
if collected_node is None:
raise NodeNotCollectedError(
f"'{node}' cannot be parsed as a dependency or product for task "
diff --git a/src/_pytask/resolve_dependencies.py b/src/_pytask/resolve_dependencies.py
index 66a2fdce..b42f236c 100644
--- a/src/_pytask/resolve_dependencies.py
+++ b/src/_pytask/resolve_dependencies.py
@@ -29,10 +29,14 @@ def pytask_resolve_dependencies(session):
"""
try:
session.dag = session.hook.pytask_resolve_dependencies_create_dag(
- tasks=session.tasks
+ session=session, tasks=session.tasks
+ )
+ session.hook.pytask_resolve_dependencies_validate_dag(
+ session=session, dag=session.dag
+ )
+ session.hook.pytask_resolve_dependencies_select_execution_dag(
+ session=session, dag=session.dag
)
- session.hook.pytask_resolve_dependencies_validate_dag(dag=session.dag)
- session.hook.pytask_resolve_dependencies_select_execution_dag(dag=session.dag)
except Exception:
report = ResolvingDependenciesReport(sys.exc_info())
diff --git a/src/pytask/__init__.py b/src/pytask/__init__.py
index 39ef0f1e..1a02bfdc 100644
--- a/src/pytask/__init__.py
+++ b/src/pytask/__init__.py
@@ -4,4 +4,4 @@
from _pytask.mark import MARK_GEN as mark # noqa: N811
__all__ = ["cli", "hookimpl", "main", "mark"]
-__version__ = "0.0.7"
+__version__ = "0.0.8"