From 76895e97fb10240a495bbf6db870212d4cba3086 Mon Sep 17 00:00:00 2001 From: StableLlama Date: Sun, 31 Aug 2025 15:48:07 +0200 Subject: [PATCH 1/4] Change to use relative paths --- __init__.py | 6 ++---- pyproject.toml | 2 +- tests/test_boolean_nodes.py | 2 +- tests/test_casting_nodes.py | 2 +- tests/test_comparison_nodes.py | 2 +- tests/test_control_flow_nodes.py | 2 +- tests/test_data_list_nodes.py | 2 +- tests/test_dict_nodes.py | 2 +- tests/test_float_nodes.py | 2 +- tests/test_int_nodes.py | 2 +- tests/test_list_nodes.py | 2 +- tests/test_math_formula_node.py | 2 +- tests/test_math_nodes.py | 2 +- tests/test_path_nodes.py | 2 +- tests/test_regex_nodes.py | 2 +- tests/test_set_nodes.py | 2 +- tests/test_string_nodes.py | 2 +- tests/test_time_nodes.py | 2 +- 18 files changed, 19 insertions(+), 21 deletions(-) diff --git a/__init__.py b/__init__.py index 7a01ac8..48208d6 100644 --- a/__init__.py +++ b/__init__.py @@ -1,6 +1,4 @@ """Top-level package for basic_data_handling.""" -import os, sys -sys.path.append(os.path.dirname(os.path.realpath(__file__))) __all__ = [ "NODE_CLASS_MAPPINGS", @@ -8,7 +6,7 @@ "WEB_DIRECTORY", ] -from src.basic_data_handling import NODE_CLASS_MAPPINGS -from src.basic_data_handling import NODE_DISPLAY_NAME_MAPPINGS +from .src.basic_data_handling import NODE_CLASS_MAPPINGS +from .src.basic_data_handling import NODE_DISPLAY_NAME_MAPPINGS WEB_DIRECTORY = "./web" diff --git a/pyproject.toml b/pyproject.toml index 2b1e18c..b81f529 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "basic_data_handling" -version = "0.5.0" +version = "0.6.0" description = """Basic Python functions for manipulating data that every programmer is used to, lightweight with no additional dependencies. Supported data types: diff --git a/tests/test_boolean_nodes.py b/tests/test_boolean_nodes.py index a20f8ea..f452a19 100644 --- a/tests/test_boolean_nodes.py +++ b/tests/test_boolean_nodes.py @@ -1,6 +1,6 @@ #import pytest -from src.basic_data_handling.boolean_nodes import ( +from ..src.basic_data_handling.boolean_nodes import ( BooleanAnd, BooleanOr, BooleanNot, diff --git a/tests/test_casting_nodes.py b/tests/test_casting_nodes.py index 4ff9174..573bf96 100644 --- a/tests/test_casting_nodes.py +++ b/tests/test_casting_nodes.py @@ -1,5 +1,5 @@ import pytest -from src.basic_data_handling.casting_nodes import (CastToString, CastToInt, CastToFloat, CastToBoolean, +from ..src.basic_data_handling.casting_nodes import (CastToString, CastToInt, CastToFloat, CastToBoolean, CastToList, CastToSet, CastToDict) diff --git a/tests/test_comparison_nodes.py b/tests/test_comparison_nodes.py index ff25f4d..c9e5eec 100644 --- a/tests/test_comparison_nodes.py +++ b/tests/test_comparison_nodes.py @@ -1,5 +1,5 @@ import pytest -from src.basic_data_handling.comparison_nodes import ( +from ..src.basic_data_handling.comparison_nodes import ( Equal, NotEqual, GreaterThan, diff --git a/tests/test_control_flow_nodes.py b/tests/test_control_flow_nodes.py index de6072f..77cd9f6 100644 --- a/tests/test_control_flow_nodes.py +++ b/tests/test_control_flow_nodes.py @@ -1,5 +1,5 @@ #import pytest -from src.basic_data_handling.control_flow_nodes import IfElse, SwitchCase +from ..src.basic_data_handling.control_flow_nodes import IfElse, SwitchCase def test_if_else(): diff --git a/tests/test_data_list_nodes.py b/tests/test_data_list_nodes.py index 6560716..4253ab8 100644 --- a/tests/test_data_list_nodes.py +++ b/tests/test_data_list_nodes.py @@ -1,5 +1,5 @@ import pytest -from src.basic_data_handling.data_list_nodes import ( +from ..src.basic_data_handling.data_list_nodes import ( DataListAll, DataListAny, DataListAppend, diff --git a/tests/test_dict_nodes.py b/tests/test_dict_nodes.py index f314a0d..f0efa08 100644 --- a/tests/test_dict_nodes.py +++ b/tests/test_dict_nodes.py @@ -1,5 +1,5 @@ #import pytest -from src.basic_data_handling.dict_nodes import ( +from ..src.basic_data_handling.dict_nodes import ( DictCompare, DictContainsKey, DictCreate, diff --git a/tests/test_float_nodes.py b/tests/test_float_nodes.py index 19bb9d9..36ae578 100644 --- a/tests/test_float_nodes.py +++ b/tests/test_float_nodes.py @@ -1,6 +1,6 @@ import math import pytest -from src.basic_data_handling.float_nodes import ( +from ..src.basic_data_handling.float_nodes import ( FloatCreate, FloatAdd, FloatSubtract, diff --git a/tests/test_int_nodes.py b/tests/test_int_nodes.py index 1c1e753..8ad8f64 100644 --- a/tests/test_int_nodes.py +++ b/tests/test_int_nodes.py @@ -1,5 +1,5 @@ import pytest -from src.basic_data_handling.int_nodes import ( +from ..src.basic_data_handling.int_nodes import ( IntAdd, IntSubtract, IntMultiply, diff --git a/tests/test_list_nodes.py b/tests/test_list_nodes.py index 1da2fbb..48db761 100644 --- a/tests/test_list_nodes.py +++ b/tests/test_list_nodes.py @@ -1,5 +1,5 @@ import pytest -from src.basic_data_handling.list_nodes import ( +from ..src.basic_data_handling.list_nodes import ( ListAll, ListAny, ListAppend, diff --git a/tests/test_math_formula_node.py b/tests/test_math_formula_node.py index dd58a9d..daf9cba 100644 --- a/tests/test_math_formula_node.py +++ b/tests/test_math_formula_node.py @@ -1,7 +1,7 @@ import pytest import math from math import sin, cos -from src.basic_data_handling.math_formula_node import MathFormula +from ..src.basic_data_handling.math_formula_node import MathFormula def test_basic_formula_evaluation(): """Test basic formula evaluation with simple operations.""" diff --git a/tests/test_math_nodes.py b/tests/test_math_nodes.py index 6831baa..8e5cedf 100644 --- a/tests/test_math_nodes.py +++ b/tests/test_math_nodes.py @@ -1,6 +1,6 @@ import pytest import math -from src.basic_data_handling.math_nodes import ( +from ..src.basic_data_handling.math_nodes import ( MathSin, MathCos, MathTan, MathAsin, MathAcos, MathAtan, MathAtan2, MathSqrt, MathExp, MathLog, MathLog10, MathDegrees, MathRadians, MathFloor, MathCeil, MathAbs, MathPi, MathE, MathMin, MathMax, diff --git a/tests/test_path_nodes.py b/tests/test_path_nodes.py index 66c5396..28b5e4f 100644 --- a/tests/test_path_nodes.py +++ b/tests/test_path_nodes.py @@ -5,7 +5,7 @@ import torch from PIL import Image -from src.basic_data_handling.path_nodes import ( +from ..src.basic_data_handling.path_nodes import ( PathJoin, PathAbspath, PathExists, PathIsFile, PathIsDir, PathGetSize, PathSplit, PathSplitExt, PathBasename, PathDirname, PathGetExtension, PathSetExtension, PathNormalize, PathRelative, PathGlob, PathExpandVars, PathGetCwd, diff --git a/tests/test_regex_nodes.py b/tests/test_regex_nodes.py index ff35d42..ac4978d 100644 --- a/tests/test_regex_nodes.py +++ b/tests/test_regex_nodes.py @@ -1,5 +1,5 @@ #import pytest -from src.basic_data_handling.regex_nodes import ( +from ..src.basic_data_handling.regex_nodes import ( RegexSearchGroupsDataList, RegexGroupDict, RegexFindallDataList, diff --git a/tests/test_set_nodes.py b/tests/test_set_nodes.py index dfb2276..cc9adac 100644 --- a/tests/test_set_nodes.py +++ b/tests/test_set_nodes.py @@ -1,5 +1,5 @@ #import pytest -from src.basic_data_handling.set_nodes import ( +from ..src.basic_data_handling.set_nodes import ( SetAdd, SetAll, SetAny, diff --git a/tests/test_string_nodes.py b/tests/test_string_nodes.py index eec010f..115c3b0 100644 --- a/tests/test_string_nodes.py +++ b/tests/test_string_nodes.py @@ -1,6 +1,6 @@ #import pytest -from src.basic_data_handling.string_nodes import ( +from ..src.basic_data_handling.string_nodes import ( StringCapitalize, StringCasefold, StringCenter, diff --git a/tests/test_time_nodes.py b/tests/test_time_nodes.py index a810a17..e9cf759 100644 --- a/tests/test_time_nodes.py +++ b/tests/test_time_nodes.py @@ -1,7 +1,7 @@ #import pytest from datetime import datetime, timedelta -from src.basic_data_handling.time_nodes import ( +from ..src.basic_data_handling.time_nodes import ( TimeNow, TimeToUnix, UnixToTime, From 2a4a69a8cc5d6e363b610c3b36ee9c124b26b1d4 Mon Sep 17 00:00:00 2001 From: StableLlama Date: Sun, 31 Aug 2025 16:03:57 +0200 Subject: [PATCH 2/4] Change to use relative paths - trial to see whether this fixes the GitHub CI failing test cases --- tests/test_boolean_nodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_boolean_nodes.py b/tests/test_boolean_nodes.py index f452a19..a20f8ea 100644 --- a/tests/test_boolean_nodes.py +++ b/tests/test_boolean_nodes.py @@ -1,6 +1,6 @@ #import pytest -from ..src.basic_data_handling.boolean_nodes import ( +from src.basic_data_handling.boolean_nodes import ( BooleanAnd, BooleanOr, BooleanNot, From 3e22bd2e972897c063dde658d1591be5234b499c Mon Sep 17 00:00:00 2001 From: StableLlama Date: Sun, 31 Aug 2025 16:10:58 +0200 Subject: [PATCH 3/4] Change to use relative paths - trial to see whether this fixes the GitHub CI failing test cases --- tests/test_casting_nodes.py | 2 +- tests/test_comparison_nodes.py | 2 +- tests/test_control_flow_nodes.py | 2 +- tests/test_data_list_nodes.py | 2 +- tests/test_dict_nodes.py | 2 +- tests/test_float_nodes.py | 2 +- tests/test_int_nodes.py | 2 +- tests/test_list_nodes.py | 2 +- tests/test_math_formula_node.py | 2 +- tests/test_math_nodes.py | 2 +- tests/test_path_nodes.py | 2 +- tests/test_regex_nodes.py | 2 +- tests/test_set_nodes.py | 2 +- tests/test_string_nodes.py | 2 +- tests/test_time_nodes.py | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/test_casting_nodes.py b/tests/test_casting_nodes.py index 573bf96..4ff9174 100644 --- a/tests/test_casting_nodes.py +++ b/tests/test_casting_nodes.py @@ -1,5 +1,5 @@ import pytest -from ..src.basic_data_handling.casting_nodes import (CastToString, CastToInt, CastToFloat, CastToBoolean, +from src.basic_data_handling.casting_nodes import (CastToString, CastToInt, CastToFloat, CastToBoolean, CastToList, CastToSet, CastToDict) diff --git a/tests/test_comparison_nodes.py b/tests/test_comparison_nodes.py index c9e5eec..ff25f4d 100644 --- a/tests/test_comparison_nodes.py +++ b/tests/test_comparison_nodes.py @@ -1,5 +1,5 @@ import pytest -from ..src.basic_data_handling.comparison_nodes import ( +from src.basic_data_handling.comparison_nodes import ( Equal, NotEqual, GreaterThan, diff --git a/tests/test_control_flow_nodes.py b/tests/test_control_flow_nodes.py index 77cd9f6..de6072f 100644 --- a/tests/test_control_flow_nodes.py +++ b/tests/test_control_flow_nodes.py @@ -1,5 +1,5 @@ #import pytest -from ..src.basic_data_handling.control_flow_nodes import IfElse, SwitchCase +from src.basic_data_handling.control_flow_nodes import IfElse, SwitchCase def test_if_else(): diff --git a/tests/test_data_list_nodes.py b/tests/test_data_list_nodes.py index 4253ab8..6560716 100644 --- a/tests/test_data_list_nodes.py +++ b/tests/test_data_list_nodes.py @@ -1,5 +1,5 @@ import pytest -from ..src.basic_data_handling.data_list_nodes import ( +from src.basic_data_handling.data_list_nodes import ( DataListAll, DataListAny, DataListAppend, diff --git a/tests/test_dict_nodes.py b/tests/test_dict_nodes.py index f0efa08..f314a0d 100644 --- a/tests/test_dict_nodes.py +++ b/tests/test_dict_nodes.py @@ -1,5 +1,5 @@ #import pytest -from ..src.basic_data_handling.dict_nodes import ( +from src.basic_data_handling.dict_nodes import ( DictCompare, DictContainsKey, DictCreate, diff --git a/tests/test_float_nodes.py b/tests/test_float_nodes.py index 36ae578..19bb9d9 100644 --- a/tests/test_float_nodes.py +++ b/tests/test_float_nodes.py @@ -1,6 +1,6 @@ import math import pytest -from ..src.basic_data_handling.float_nodes import ( +from src.basic_data_handling.float_nodes import ( FloatCreate, FloatAdd, FloatSubtract, diff --git a/tests/test_int_nodes.py b/tests/test_int_nodes.py index 8ad8f64..1c1e753 100644 --- a/tests/test_int_nodes.py +++ b/tests/test_int_nodes.py @@ -1,5 +1,5 @@ import pytest -from ..src.basic_data_handling.int_nodes import ( +from src.basic_data_handling.int_nodes import ( IntAdd, IntSubtract, IntMultiply, diff --git a/tests/test_list_nodes.py b/tests/test_list_nodes.py index 48db761..1da2fbb 100644 --- a/tests/test_list_nodes.py +++ b/tests/test_list_nodes.py @@ -1,5 +1,5 @@ import pytest -from ..src.basic_data_handling.list_nodes import ( +from src.basic_data_handling.list_nodes import ( ListAll, ListAny, ListAppend, diff --git a/tests/test_math_formula_node.py b/tests/test_math_formula_node.py index daf9cba..dd58a9d 100644 --- a/tests/test_math_formula_node.py +++ b/tests/test_math_formula_node.py @@ -1,7 +1,7 @@ import pytest import math from math import sin, cos -from ..src.basic_data_handling.math_formula_node import MathFormula +from src.basic_data_handling.math_formula_node import MathFormula def test_basic_formula_evaluation(): """Test basic formula evaluation with simple operations.""" diff --git a/tests/test_math_nodes.py b/tests/test_math_nodes.py index 8e5cedf..6831baa 100644 --- a/tests/test_math_nodes.py +++ b/tests/test_math_nodes.py @@ -1,6 +1,6 @@ import pytest import math -from ..src.basic_data_handling.math_nodes import ( +from src.basic_data_handling.math_nodes import ( MathSin, MathCos, MathTan, MathAsin, MathAcos, MathAtan, MathAtan2, MathSqrt, MathExp, MathLog, MathLog10, MathDegrees, MathRadians, MathFloor, MathCeil, MathAbs, MathPi, MathE, MathMin, MathMax, diff --git a/tests/test_path_nodes.py b/tests/test_path_nodes.py index 28b5e4f..66c5396 100644 --- a/tests/test_path_nodes.py +++ b/tests/test_path_nodes.py @@ -5,7 +5,7 @@ import torch from PIL import Image -from ..src.basic_data_handling.path_nodes import ( +from src.basic_data_handling.path_nodes import ( PathJoin, PathAbspath, PathExists, PathIsFile, PathIsDir, PathGetSize, PathSplit, PathSplitExt, PathBasename, PathDirname, PathGetExtension, PathSetExtension, PathNormalize, PathRelative, PathGlob, PathExpandVars, PathGetCwd, diff --git a/tests/test_regex_nodes.py b/tests/test_regex_nodes.py index ac4978d..ff35d42 100644 --- a/tests/test_regex_nodes.py +++ b/tests/test_regex_nodes.py @@ -1,5 +1,5 @@ #import pytest -from ..src.basic_data_handling.regex_nodes import ( +from src.basic_data_handling.regex_nodes import ( RegexSearchGroupsDataList, RegexGroupDict, RegexFindallDataList, diff --git a/tests/test_set_nodes.py b/tests/test_set_nodes.py index cc9adac..dfb2276 100644 --- a/tests/test_set_nodes.py +++ b/tests/test_set_nodes.py @@ -1,5 +1,5 @@ #import pytest -from ..src.basic_data_handling.set_nodes import ( +from src.basic_data_handling.set_nodes import ( SetAdd, SetAll, SetAny, diff --git a/tests/test_string_nodes.py b/tests/test_string_nodes.py index 115c3b0..eec010f 100644 --- a/tests/test_string_nodes.py +++ b/tests/test_string_nodes.py @@ -1,6 +1,6 @@ #import pytest -from ..src.basic_data_handling.string_nodes import ( +from src.basic_data_handling.string_nodes import ( StringCapitalize, StringCasefold, StringCenter, diff --git a/tests/test_time_nodes.py b/tests/test_time_nodes.py index e9cf759..a810a17 100644 --- a/tests/test_time_nodes.py +++ b/tests/test_time_nodes.py @@ -1,7 +1,7 @@ #import pytest from datetime import datetime, timedelta -from ..src.basic_data_handling.time_nodes import ( +from src.basic_data_handling.time_nodes import ( TimeNow, TimeToUnix, UnixToTime, From 6266ab7b6a51a695590dac6d11b6ef9483421de1 Mon Sep 17 00:00:00 2001 From: StableLlama Date: Sun, 31 Aug 2025 17:00:35 +0200 Subject: [PATCH 4/4] Change to use relative paths - trial to see whether this fixes the GitHub CI failing test cases --- __init__.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/__init__.py b/__init__.py index 48208d6..293366f 100644 --- a/__init__.py +++ b/__init__.py @@ -6,7 +6,14 @@ "WEB_DIRECTORY", ] -from .src.basic_data_handling import NODE_CLASS_MAPPINGS -from .src.basic_data_handling import NODE_DISPLAY_NAME_MAPPINGS +try: + # For ComfyUI + from .src.basic_data_handling import NODE_CLASS_MAPPINGS + from .src.basic_data_handling import NODE_DISPLAY_NAME_MAPPINGS +except ImportError: + # For running tests + from src.basic_data_handling import NODE_CLASS_MAPPINGS + from src.basic_data_handling import NODE_DISPLAY_NAME_MAPPINGS + WEB_DIRECTORY = "./web"