fractal-task-tools 0.0.13__tar.gz → 0.0.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fractal-task-tools might be problematic. Click here for more details.
- {fractal_task_tools-0.0.13/src/fractal_task_tools.egg-info → fractal_task_tools-0.0.14}/PKG-INFO +3 -1
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/pyproject.toml +4 -2
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/__init__.py +1 -1
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_args_schemas.py +0 -2
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_create_manifest.py +6 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_signature_constraints.py +0 -1
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14/src/fractal_task_tools.egg-info}/PKG-INFO +3 -1
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools.egg-info/SOURCES.txt +1 -1
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools.egg-info/requires.txt +2 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_create_manifest.py +8 -0
- fractal_task_tools-0.0.13/tests/test_extract_function.py → fractal_task_tools-0.0.14/tests/test_handle_functions.py +43 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_task_wrapper.py +0 -1
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/LICENSE +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/README.md +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/setup.cfg +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_cli.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_cli_tools.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_deepdiff.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_descriptions.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_package_name_tools.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_pydantic_generatejsonschema.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_task_arguments.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_task_docs.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_titles.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/task_models.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/task_wrapper.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools.egg-info/dependency_links.txt +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools.egg-info/entry_points.txt +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools.egg-info/top_level.txt +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_cli.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_create_schema_for_single_task.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_deepdiff.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_normalize_package_name.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_task_models.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_unit_lib_descriptions.py +0 -0
- {fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_validate_arguments.py +0 -0
{fractal_task_tools-0.0.13/src/fractal_task_tools.egg-info → fractal_task_tools-0.0.14}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fractal-task-tools
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.14
|
|
4
4
|
Summary: Shared tools for Fractal tasks
|
|
5
5
|
Author-email: Tommaso Comparin <tommaso.comparin@exact-lab.it>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -18,6 +18,8 @@ Requires-Dist: bumpver==2024.1130; extra == "dev"
|
|
|
18
18
|
Requires-Dist: devtools==0.12.2; extra == "dev"
|
|
19
19
|
Requires-Dist: pytest<9.0.0,>=8.3.0; extra == "dev"
|
|
20
20
|
Requires-Dist: coverage<7.7.0,>=7.6.0; extra == "dev"
|
|
21
|
+
Requires-Dist: jsonschema>=4; extra == "dev"
|
|
22
|
+
Requires-Dist: requests<2.33.0,>2.32.0; extra == "dev"
|
|
21
23
|
Provides-Extra: docs
|
|
22
24
|
Requires-Dist: mkdocs<1.7.0,>=1.6.0; extra == "docs"
|
|
23
25
|
Requires-Dist: mkdocs-material<9.7.0,>=9.6.0; extra == "docs"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fractal-task-tools"
|
|
3
|
-
version = "0.0.
|
|
3
|
+
version = "0.0.14"
|
|
4
4
|
description = "Shared tools for Fractal tasks"
|
|
5
5
|
authors = [
|
|
6
6
|
{name="Tommaso Comparin", email="tommaso.comparin@exact-lab.it"},
|
|
@@ -19,6 +19,8 @@ dev = [
|
|
|
19
19
|
"devtools ==0.12.2",
|
|
20
20
|
"pytest >=8.3.0, <9.0.0",
|
|
21
21
|
"coverage >=7.6.0,<7.7.0",
|
|
22
|
+
"jsonschema >=4",
|
|
23
|
+
"requests >2.32.0,<2.33.0",
|
|
22
24
|
]
|
|
23
25
|
docs = [
|
|
24
26
|
"mkdocs >=1.6.0,<1.7.0",
|
|
@@ -44,7 +46,7 @@ build-backend = "setuptools.build_meta"
|
|
|
44
46
|
fractal-manifest = "fractal_task_tools._cli:main"
|
|
45
47
|
|
|
46
48
|
[tool.bumpver]
|
|
47
|
-
current_version = "0.0.
|
|
49
|
+
current_version = "0.0.14"
|
|
48
50
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
|
49
51
|
commit_message = "bump version {old_version} -> {new_version}"
|
|
50
52
|
commit = true
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_args_schemas.py
RENAMED
|
@@ -65,7 +65,6 @@ def _create_schema_for_function(function: Callable) -> _Schema:
|
|
|
65
65
|
from packaging.version import parse
|
|
66
66
|
|
|
67
67
|
if parse(pydantic.__version__) >= parse("2.11.0"):
|
|
68
|
-
|
|
69
68
|
from pydantic.experimental.arguments_schema import (
|
|
70
69
|
generate_arguments_schema,
|
|
71
70
|
) # noqa
|
|
@@ -75,7 +74,6 @@ def _create_schema_for_function(function: Callable) -> _Schema:
|
|
|
75
74
|
schema_type="arguments",
|
|
76
75
|
)
|
|
77
76
|
elif parse(pydantic.__version__) >= parse("2.9.0"):
|
|
78
|
-
|
|
79
77
|
from pydantic._internal._config import ConfigWrapper # noqa
|
|
80
78
|
from pydantic._internal import _generate_schema # noqa
|
|
81
79
|
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_create_manifest.py
RENAMED
|
@@ -86,6 +86,12 @@ def create_manifest(
|
|
|
86
86
|
# Load DOCS_LINK
|
|
87
87
|
try:
|
|
88
88
|
DOCS_LINK = getattr(task_list_module, "DOCS_LINK")
|
|
89
|
+
# Transform empty string into None
|
|
90
|
+
if DOCS_LINK == "":
|
|
91
|
+
DOCS_LINK = None
|
|
92
|
+
logging.warning(
|
|
93
|
+
"`DOCS_LINK=" "` transformed into `DOCS_LINK=None`."
|
|
94
|
+
)
|
|
89
95
|
except AttributeError:
|
|
90
96
|
DOCS_LINK = None
|
|
91
97
|
logging.warning("No `DOCS_LINK` found in task_list module.")
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14/src/fractal_task_tools.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fractal-task-tools
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.14
|
|
4
4
|
Summary: Shared tools for Fractal tasks
|
|
5
5
|
Author-email: Tommaso Comparin <tommaso.comparin@exact-lab.it>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -18,6 +18,8 @@ Requires-Dist: bumpver==2024.1130; extra == "dev"
|
|
|
18
18
|
Requires-Dist: devtools==0.12.2; extra == "dev"
|
|
19
19
|
Requires-Dist: pytest<9.0.0,>=8.3.0; extra == "dev"
|
|
20
20
|
Requires-Dist: coverage<7.7.0,>=7.6.0; extra == "dev"
|
|
21
|
+
Requires-Dist: jsonschema>=4; extra == "dev"
|
|
22
|
+
Requires-Dist: requests<2.33.0,>2.32.0; extra == "dev"
|
|
21
23
|
Provides-Extra: docs
|
|
22
24
|
Requires-Dist: mkdocs<1.7.0,>=1.6.0; extra == "docs"
|
|
23
25
|
Requires-Dist: mkdocs-material<9.7.0,>=9.6.0; extra == "docs"
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools.egg-info/SOURCES.txt
RENAMED
|
@@ -26,7 +26,7 @@ tests/test_cli.py
|
|
|
26
26
|
tests/test_create_manifest.py
|
|
27
27
|
tests/test_create_schema_for_single_task.py
|
|
28
28
|
tests/test_deepdiff.py
|
|
29
|
-
tests/
|
|
29
|
+
tests/test_handle_functions.py
|
|
30
30
|
tests/test_normalize_package_name.py
|
|
31
31
|
tests/test_task_models.py
|
|
32
32
|
tests/test_task_wrapper.py
|
|
@@ -41,6 +41,14 @@ def test_create_manifest(tmp_path: Path, caplog):
|
|
|
41
41
|
for task in manifest["task_list"]:
|
|
42
42
|
assert "type" not in task.keys()
|
|
43
43
|
|
|
44
|
+
# SUCCESS: create manifest with `DOCS_LINK=""` transformed into `None`
|
|
45
|
+
manifest = create_manifest(
|
|
46
|
+
raw_package_name="fake-tasks",
|
|
47
|
+
task_list_path="task_list_with_empty_docs_link",
|
|
48
|
+
)
|
|
49
|
+
for task in manifest["task_list"]:
|
|
50
|
+
assert "docs_link" not in task.keys()
|
|
51
|
+
|
|
44
52
|
# SUCCESS: create non-legacy manifest
|
|
45
53
|
manifest = create_manifest(
|
|
46
54
|
raw_package_name="fake-tasks",
|
|
@@ -1,5 +1,48 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
|
|
1
3
|
import pytest
|
|
2
4
|
from fractal_task_tools._signature_constraints import _extract_function
|
|
5
|
+
from fractal_task_tools._signature_constraints import (
|
|
6
|
+
_validate_function_signature,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_validate_function_signature():
|
|
11
|
+
def fun1(args: list[str]):
|
|
12
|
+
pass
|
|
13
|
+
|
|
14
|
+
with pytest.raises(
|
|
15
|
+
ValueError,
|
|
16
|
+
match="argument with name args",
|
|
17
|
+
):
|
|
18
|
+
_validate_function_signature(function=fun1)
|
|
19
|
+
|
|
20
|
+
def fun2(x: typing.Union[int, str]):
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
with pytest.raises(
|
|
24
|
+
ValueError,
|
|
25
|
+
match="typing.Union is not supported",
|
|
26
|
+
):
|
|
27
|
+
_validate_function_signature(function=fun2)
|
|
28
|
+
|
|
29
|
+
def fun3(x: int | str):
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
with pytest.raises(
|
|
33
|
+
ValueError,
|
|
34
|
+
match='Use of "|',
|
|
35
|
+
):
|
|
36
|
+
_validate_function_signature(function=fun3)
|
|
37
|
+
|
|
38
|
+
def fun4(x: typing.Optional[int] = 1):
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
with pytest.raises(
|
|
42
|
+
ValueError,
|
|
43
|
+
match="Optional parameter has non-None default value",
|
|
44
|
+
):
|
|
45
|
+
_validate_function_signature(function=fun4)
|
|
3
46
|
|
|
4
47
|
|
|
5
48
|
def test_extract_function():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_cli_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_descriptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_task_arguments.py
RENAMED
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/_task_docs.py
RENAMED
|
File without changes
|
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/task_models.py
RENAMED
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/src/fractal_task_tools/task_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_create_schema_for_single_task.py
RENAMED
|
File without changes
|
|
File without changes
|
{fractal_task_tools-0.0.13 → fractal_task_tools-0.0.14}/tests/test_normalize_package_name.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|