Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ chronological order. Releases follow `semantic versioning <https://semver.org/>`
all releases are available on `Anaconda.org <https://anaconda.org/pytask/pytask>`_.


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
------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 -------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.0.7
current_version = 0.0.8
parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+))(\-?((dev)?(?P<dev>\d+))?)
serialize =
{major}.{minor}.{patch}dev{dev}
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion src/_pytask/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.0.7"
__version__ = "0.0.8"
10 changes: 5 additions & 5 deletions src/_pytask/hookspecs.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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."""


Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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,
Expand Down
4 changes: 3 additions & 1 deletion src/_pytask/nodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 "
Expand Down
10 changes: 7 additions & 3 deletions src/_pytask/resolve_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
2 changes: 1 addition & 1 deletion src/pytask/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"