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"