diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 44c999287..1d3a075a2 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -17,6 +17,23 @@ jobs: runs-on: ubuntu-latest steps: + # TODO figure out why dev-framework requires so much disk space and fix that + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: false + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + - uses: actions/checkout@v3 - name: Install poetry run: pipx install poetry diff --git a/pyproject.toml b/pyproject.toml index 518240425..231476066 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ description = "ValidMind Developer Framework" license = "Commercial License" name = "validmind" readme = "README.pypi.md" -version = "1.27.2" +version = "1.27.3" [tool.poetry.dependencies] aiohttp = {extras = ["speedups"], version = "^3.8.4"} diff --git a/validmind/__version__.py b/validmind/__version__.py index beee42a9d..5976158e8 100644 --- a/validmind/__version__.py +++ b/validmind/__version__.py @@ -1 +1 @@ -__version__ = "1.27.2" +__version__ = "1.27.3" diff --git a/validmind/client.py b/validmind/client.py index 90b01f05a..706d9a911 100644 --- a/validmind/client.py +++ b/validmind/client.py @@ -134,7 +134,10 @@ def init_dataset( type="dataset", metadata=get_dataset_info(vm_dataset), ) + input_registry.add(key=obj_key, obj=vm_dataset) + vm_dataset.input_id = obj_key + return vm_dataset @@ -187,7 +190,9 @@ def init_model( type="model", metadata=get_model_info(vm_model), ) + input_registry.add(key=obj_key, obj=vm_model) + vm_model.input_id = obj_key return vm_model diff --git a/validmind/vm_models/dataset.py b/validmind/vm_models/dataset.py index a1066cdb4..703f1ff49 100644 --- a/validmind/vm_models/dataset.py +++ b/validmind/vm_models/dataset.py @@ -24,6 +24,8 @@ class VMDataset(ABC): Abstract base class for VM datasets. """ + input_id: str = None + @property @abstractmethod def raw_dataset(self): diff --git a/validmind/vm_models/model.py b/validmind/vm_models/model.py index 1821572f4..c14e77dc7 100644 --- a/validmind/vm_models/model.py +++ b/validmind/vm_models/model.py @@ -61,6 +61,8 @@ class VMModel: device_type(str, optional) The device where model is trained """ + input_id: str = None + def __init__( self, model: object = None, diff --git a/validmind/vm_models/test_context.py b/validmind/vm_models/test_context.py index a814e1d88..5bb2ea6f8 100644 --- a/validmind/vm_models/test_context.py +++ b/validmind/vm_models/test_context.py @@ -83,7 +83,7 @@ class TestInput: def __init__(self, inputs): """Initialize with either a dictionary of inputs""" for key, value in inputs.items(): - # retrieve input object from input registry if input_id is provide + # retrieve input object from input registry if input_id is provided if isinstance(value, str): value = input_registry.get(key=value) setattr(self, key, value) @@ -110,7 +110,8 @@ def __init__(self, inputs): def __getattr__(self, name): # Track access only if the attribute actually exists in the inputs if hasattr(self._inputs, name): - self._accessed.add(name) + input = getattr(self._inputs, name) + self._accessed.add(input.input_id) return getattr(self._inputs, name) raise AttributeError(