From 8e54ca6eb68bb43cb8fbe7572e78c2bb975b537f Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Sat, 1 Feb 2025 16:10:54 -0800 Subject: [PATCH 1/6] Moved gridappsd.field_interface to gridappsd_field_bus.field_interface - Modified pyproject.toml files for new structure - Added shim for gridappsd.field_interface for backward compatibility - Added test for making sure compatibility layer works. - Updated python to 3.10 base version - Updated poetry to 2.0.0 version --- .../gridappsd/field_interface/__init__.py | 6 ----- .../__init__.py} | 0 .../field_interface/__init__.py | 7 ++++++ .../field_interface/agents/__init__.py | 2 +- .../field_interface/agents/agents.py | 6 ++--- .../field_interface/context.py | 2 +- .../context_managers/__init__.py | 2 +- .../centralized_context_managers.py | 6 ++--- .../context_manager_agents.py | 6 ++--- .../context_managers/substation.py | 6 ++--- .../field_interface/context_managers/utils.py | 2 +- .../field_interface/field_proxy_forwarder.py | 0 .../field_interface/gridappsd_field_bus.py | 4 ++-- .../field_interface/interfaces.py | 0 gridappsd-field-bus-lib/pyproject.toml | 11 +++++---- ..._import_field_deprecated_from_gridappsd.py | 23 +++++++++++++++++++ .../gridappsd/field_interface/__init__.py | 18 +++++++++++++++ gridappsd-python-lib/pyproject.toml | 9 ++++---- pyproject.toml | 10 ++++---- scripts/poetry_install.sh | 4 ++-- scripts/poetry_update.sh | 4 ++-- 21 files changed, 86 insertions(+), 42 deletions(-) delete mode 100644 gridappsd-field-bus-lib/gridappsd/field_interface/__init__.py rename gridappsd-field-bus-lib/{gridappsd/__no_init__here => gridappsd_field_bus/__init__.py} (100%) create mode 100644 gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/agents/__init__.py (75%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/agents/agents.py (98%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/context.py (97%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/context_managers/__init__.py (78%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/context_managers/centralized_context_managers.py (91%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/context_managers/context_manager_agents.py (97%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/context_managers/substation.py (90%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/context_managers/utils.py (91%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/field_proxy_forwarder.py (100%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/gridappsd_field_bus.py (91%) rename gridappsd-field-bus-lib/{gridappsd => gridappsd_field_bus}/field_interface/interfaces.py (100%) create mode 100644 gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py create mode 100644 gridappsd-python-lib/gridappsd/field_interface/__init__.py diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/__init__.py b/gridappsd-field-bus-lib/gridappsd/field_interface/__init__.py deleted file mode 100644 index 3385c5f..0000000 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -from typing import List - -from gridappsd.field_interface.context import LocalContext -from gridappsd.field_interface.interfaces import MessageBusDefinition - -__all__: List[str] = ["LocalContext", "MessageBusDefinition"] diff --git a/gridappsd-field-bus-lib/gridappsd/__no_init__here b/gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py similarity index 100% rename from gridappsd-field-bus-lib/gridappsd/__no_init__here rename to gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py new file mode 100644 index 0000000..bd5f071 --- /dev/null +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py @@ -0,0 +1,7 @@ +from typing import List + +from gridappsd_field_bus.field_interface.context import LocalContext +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition +from gridappsd_field_bus.field_interface import context_managers + +__all__: List[str] = ["LocalContext", "MessageBusDefinition", "context_managers"] diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/agents/__init__.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/__init__.py similarity index 75% rename from gridappsd-field-bus-lib/gridappsd/field_interface/agents/__init__.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/__init__.py index b7a0bdd..f1e2141 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/agents/__init__.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/__init__.py @@ -1,6 +1,6 @@ from typing import List -from gridappsd.field_interface.agents.agents import (FeederAgent, DistributedAgent, +from gridappsd_field_bus.field_interface.agents.agents import (FeederAgent, DistributedAgent, CoordinatingAgent, SwitchAreaAgent, SecondaryAreaAgent, SubstationAgent) diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/agents/agents.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py similarity index 98% rename from gridappsd-field-bus-lib/gridappsd/field_interface/agents/agents.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py index f6b9edf..ffbc971 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/agents/agents.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py @@ -13,9 +13,9 @@ from gridappsd import DifferenceBuilder import gridappsd.topics as t -from gridappsd.field_interface.context import LocalContext -from gridappsd.field_interface.gridappsd_field_bus import GridAPPSDMessageBus -from gridappsd.field_interface.interfaces import (FieldMessageBus, MessageBusDefinition) +from gridappsd_field_bus.field_interface.context import LocalContext +from gridappsd_field_bus.field_interface.gridappsd_field_bus import GridAPPSDMessageBus +from gridappsd_field_bus.field_interface.interfaces import (FieldMessageBus, MessageBusDefinition) CIM_PROFILE = None IEC61970_301 = None diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/context.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context.py similarity index 97% rename from gridappsd-field-bus-lib/gridappsd/field_interface/context.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context.py index 6527730..fe74afd 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/context.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context.py @@ -1,5 +1,5 @@ from gridappsd import DifferenceBuilder -from gridappsd.field_interface.interfaces import FieldMessageBus +from gridappsd_field_bus.field_interface.interfaces import FieldMessageBus import dataclasses import gridappsd.topics as t import json diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/__init__.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/__init__.py similarity index 78% rename from gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/__init__.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/__init__.py index 1105445..3df1f04 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/__init__.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/__init__.py @@ -1,6 +1,6 @@ from typing import List -from gridappsd.field_interface.context_managers.context_manager_agents import (SubstationAreaContextManager, +from gridappsd_field_bus.field_interface.context_managers.context_manager_agents import (SubstationAreaContextManager, FeederAreaContextManager, SwitchAreaContextManager, SecondaryAreaContextManager) diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/centralized_context_managers.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/centralized_context_managers.py similarity index 91% rename from gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/centralized_context_managers.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/centralized_context_managers.py index 3451448..884c492 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/centralized_context_managers.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/centralized_context_managers.py @@ -9,9 +9,9 @@ from cimgraph.data_profile import CIM_PROFILE from gridappsd import GridAPPSD import gridappsd.topics as t -import gridappsd.field_interface.agents.agents as agents_mod -from gridappsd.field_interface.context_managers.utils import REQUEST_FIELD, get_MessageBusDefinition -from gridappsd.field_interface.context_managers.context_manager_agents import FeederAreaContextManager, SwitchAreaContextManager, SecondaryAreaContextManager +import gridappsd_field_bus.field_interface.agents.agents as agents_mod +from gridappsd_field_bus.field_interface.context_managers.utils import REQUEST_FIELD, get_MessageBusDefinition +from gridappsd_field_bus.field_interface.context_managers.context_manager_agents import FeederAreaContextManager, SwitchAreaContextManager, SecondaryAreaContextManager cim_profile = CIM_PROFILE.CIMHUB_2023.value agents_mod.set_cim_profile(cim_profile=cim_profile, iec61970_301=7) diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/context_manager_agents.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py similarity index 97% rename from gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/context_manager_agents.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py index 6371115..4175566 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/context_manager_agents.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py @@ -4,9 +4,9 @@ import gridappsd.topics as t from gridappsd import GridAPPSD -from gridappsd.field_interface.agents import (SubstationAgent, FeederAgent, SecondaryAreaAgent, SwitchAreaAgent) -from gridappsd.field_interface.interfaces import MessageBusDefinition -from gridappsd.field_interface.context_managers.utils import REQUEST_FIELD +from gridappsd_field_bus.field_interface.agents import (SubstationAgent, FeederAgent, SecondaryAreaAgent, SwitchAreaAgent) +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition +from gridappsd_field_bus.field_interface.context_managers.utils import REQUEST_FIELD logging.basicConfig(level=logging.DEBUG) logging.getLogger('goss').setLevel(logging.ERROR) diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/substation.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/substation.py similarity index 90% rename from gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/substation.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/substation.py index ea3b4c0..36300b4 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/substation.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/substation.py @@ -5,9 +5,9 @@ from cimgraph.data_profile import CIM_PROFILE -import gridappsd.field_interface.agents.agents as agents_mod -from gridappsd.field_interface.interfaces import MessageBusDefinition -from gridappsd.field_interface.context_managers.context_manager_agents import SubstationAreaContextManager +import gridappsd_field_bus.field_interface.agents.agents as agents_mod +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition +from gridappsd_field_bus.field_interface.context_managers.context_manager_agents import SubstationAreaContextManager cim_profile = "cimhub_2023" diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/utils.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/utils.py similarity index 91% rename from gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/utils.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/utils.py index d3791d6..6c10dd8 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/context_managers/utils.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/utils.py @@ -1,7 +1,7 @@ import os import gridappsd.topics as t -from gridappsd.field_interface.interfaces import MessageBusDefinition +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition #FieldBusManager's request topics. To be used only by context manager user role only. REQUEST_FIELD = ".".join((t.PROCESS_PREFIX, "request.field")) diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/field_proxy_forwarder.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/field_proxy_forwarder.py similarity index 100% rename from gridappsd-field-bus-lib/gridappsd/field_interface/field_proxy_forwarder.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/field_proxy_forwarder.py diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/gridappsd_field_bus.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py similarity index 91% rename from gridappsd-field-bus-lib/gridappsd/field_interface/gridappsd_field_bus.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py index 43c9963..e14e0b1 100644 --- a/gridappsd-field-bus-lib/gridappsd/field_interface/gridappsd_field_bus.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py @@ -1,6 +1,6 @@ from gridappsd import GridAPPSD -from gridappsd.field_interface.interfaces import FieldMessageBus -from gridappsd.field_interface.interfaces import MessageBusDefinition +from gridappsd_field_bus.field_interface.interfaces import FieldMessageBus +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition from typing import Any diff --git a/gridappsd-field-bus-lib/gridappsd/field_interface/interfaces.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py similarity index 100% rename from gridappsd-field-bus-lib/gridappsd/field_interface/interfaces.py rename to gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 6cbc331..6fbc8dc 100644 --- a/gridappsd-field-bus-lib/pyproject.toml +++ b/gridappsd-field-bus-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-field-bus" -version = "2024.8.1a1" +version = "2024.12.0.a1" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", @@ -12,13 +12,13 @@ license = "BSD-3-Clause" repository = "https://github.com/GRIDAPPSD/gridappsd-python" homepage = "https://gridappsd.readthedocs.io" -keywords = ["gridappsd", "grid", "activmq", "powergrid", "simulation", "library"] +keywords = ["gridappsd", "grid", "activemq", "powergrid", "simulation", "library"] readme = "README.md" packages = [ - { include = 'gridappsd'} + { include = 'gridappsd_field_bus'} ] [tool.poetry.scripts] @@ -27,16 +27,17 @@ packages = [ context_manager = 'gridappsd.field_interface.context_manager:_main' [tool.poetry.dependencies] -python = ">=3.8.1,<4.0" +python = ">=3.10,<4.0" gridappsd-python = { path="../gridappsd-python-lib", develop = true} cim-graph = ">=0.1.1a0" [tool.poetry.group.dev.dependencies] -pytest = "^6.2.2" +pytest = "^8.3.4" pytest-html = "^3.1.1" mock = "^4.0.3" docker = "^4.4.4" yapf = "^0.32.0" +pre-commit = "^4.1.0" [build-system] requires = ["poetry-core>=1.2.0"] diff --git a/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py b/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py new file mode 100644 index 0000000..58a13c3 --- /dev/null +++ b/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py @@ -0,0 +1,23 @@ + + +def test_modules_are_the_same(): + from gridappsd.field_interface import interfaces + from gridappsd.field_interface import context + from gridappsd.field_interface import context_managers + from gridappsd.field_interface import agents + from gridappsd.field_interface import gridappsd_field_bus + + from gridappsd_field_bus.field_interface import interfaces as field_bus_interfaces + from gridappsd_field_bus.field_interface import context as field_context + from gridappsd_field_bus.field_interface import context_managers as field_context_managers + from gridappsd_field_bus.field_interface import agents as field_agents + from gridappsd_field_bus.field_interface import gridappsd_field_bus as field_gridappsd_field_bus + + assert interfaces == field_bus_interfaces + assert context_managers == field_context_managers + assert context == field_context + assert agents == field_agents + assert gridappsd_field_bus == field_gridappsd_field_bus + + + diff --git a/gridappsd-python-lib/gridappsd/field_interface/__init__.py b/gridappsd-python-lib/gridappsd/field_interface/__init__.py new file mode 100644 index 0000000..cadb53d --- /dev/null +++ b/gridappsd-python-lib/gridappsd/field_interface/__init__.py @@ -0,0 +1,18 @@ +import logging +import warnings +import gridappsd +_log = logging.getLogger(__name__) + +try: + from gridappsd_field_bus.field_interface import ( + interfaces, + context, + context_managers, + gridappsd_field_bus, + agents) + + + warnings.warn(message="gridappsd.field_interface is deprecated and will be removed in a future release. Use gridappsd_field_bus.field_interface instead.", + category=DeprecationWarning) +except ImportError: + _log.error("Could not import field_interface install gridappsd-field-bus to get those functions.") \ No newline at end of file diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 20377a2..6bb128d 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2024.8.1a1" +version = "2024.12.0.a1" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", @@ -12,7 +12,7 @@ license = "BSD-3-Clause" repository = "https://github.com/GRIDAPPSD/gridappsd-python" homepage = "https://gridappsd.readthedocs.io" -keywords = ["gridappsd", "grid", "activmq", "powergrid", "simulation", "library"] +keywords = ["gridappsd", "grid", "activemq", "powergrid", "simulation", "library"] readme = "README.md" @@ -29,7 +29,7 @@ gridappsd-cli = 'gridappsd.cli:_main' [tool.poetry.dependencies] -python = ">=3.7.9,<4.0" +python = ">=3.10,<4.0" PyYAML = "^6.0" pytz = "^2022.7" dateutils = "^0.6.7" @@ -37,13 +37,14 @@ stomp-py = "6.0.0" requests = "2.28.2" [tool.poetry.group.dev.dependencies] -pytest = "^6.2.2" +pytest = "^8.3.4" pytest-html = "^3.1.1" mock = "^4.0.3" yapf = "^0.32.0" mypy = "^1.3.0" python-on-whales = "^0.60.1" gitpython = "^3.1.31" +pre-commit = "^4.1.0" [build-system] requires = ["poetry-core>=1.2.0"] diff --git a/pyproject.toml b/pyproject.toml index acbcea7..6d00416 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2024.8.1a0" +version = "2024.12.0.a1" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", @@ -8,18 +8,18 @@ authors = [ "A. Fisher =1.2.0"] +requires = ["poetry-core>=2.0.0"] build-backend = "poetry.core.masonry.api" diff --git a/scripts/poetry_install.sh b/scripts/poetry_install.sh index f4a0bc5..c139b4c 100755 --- a/scripts/poetry_install.sh +++ b/scripts/poetry_install.sh @@ -1,7 +1,7 @@ #!/bin/sh # This script reflects the latest changes of pyproject.toml # into both the poetry.lock file and the virtualenv. -# by running `poetry lock --no-update && poetry install --sync` +# by running `poetry lock && poetry sync` # It first configures poetry to use the right python for creation of the virtual env set -x set -u @@ -17,5 +17,5 @@ for p in $_projects do cd "${DIR}/../${p}" || exit poetry env use $(which python3) || poetry env use 3.8 - poetry lock --no-update && poetry install --sync + poetry lock && poetry sync done diff --git a/scripts/poetry_update.sh b/scripts/poetry_update.sh index 4df08a9..5003d41 100755 --- a/scripts/poetry_update.sh +++ b/scripts/poetry_update.sh @@ -1,7 +1,7 @@ #!/bin/sh # This script reflects the latest changes of pyproject.toml # into both the poetry.lock file and the virtualenv. -# by running `poetry update && poetry install --sync` +# by running `poetry update && poetry install sync` # It first configures poetry to use the right python for creation of the virtual env set -x set -u @@ -17,5 +17,5 @@ for p in $_projects do cd "${DIR}/../${p}" || exit poetry env use $(which python3) || poetry env use 3.8 - poetry update && poetry install --sync + poetry update && poetry install sync done From bb99311e18b85b64e1a782cb530c42adf6d3772d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 2 Feb 2025 00:11:53 +0000 Subject: [PATCH 2/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .../tests/test_import_field_deprecated_from_gridappsd.py | 3 --- gridappsd-python-lib/gridappsd/field_interface/__init__.py | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py b/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py index 58a13c3..bf23ed0 100644 --- a/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py +++ b/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py @@ -18,6 +18,3 @@ def test_modules_are_the_same(): assert context == field_context assert agents == field_agents assert gridappsd_field_bus == field_gridappsd_field_bus - - - diff --git a/gridappsd-python-lib/gridappsd/field_interface/__init__.py b/gridappsd-python-lib/gridappsd/field_interface/__init__.py index cadb53d..ec6fb29 100644 --- a/gridappsd-python-lib/gridappsd/field_interface/__init__.py +++ b/gridappsd-python-lib/gridappsd/field_interface/__init__.py @@ -15,4 +15,4 @@ warnings.warn(message="gridappsd.field_interface is deprecated and will be removed in a future release. Use gridappsd_field_bus.field_interface instead.", category=DeprecationWarning) except ImportError: - _log.error("Could not import field_interface install gridappsd-field-bus to get those functions.") \ No newline at end of file + _log.error("Could not import field_interface install gridappsd-field-bus to get those functions.") From a029497630cb5e01248e0b716f1deeb18902a5e9 Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Sat, 1 Feb 2025 16:13:04 -0800 Subject: [PATCH 3/6] Removed pretty format json --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d748452..d1bd2e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: trailing-whitespace - id: check-merge-conflict - id: no-commit-to-branch # blocks main commits. To bypass do git commit --allow-empty - - id: pretty-format-json +# - id: pretty-format-json #- repo: https://github.com/pre-commit/mirrors-autopep8 From 445c257cb6853d3dee02123378bac46fcb23bcd2 Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Sat, 1 Feb 2025 16:15:44 -0800 Subject: [PATCH 4/6] Remove the runtests workflow for now. --- .github/workflows/run-pytest.yml | 62 -------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 .github/workflows/run-pytest.yml diff --git a/.github/workflows/run-pytest.yml b/.github/workflows/run-pytest.yml deleted file mode 100644 index f871feb..0000000 --- a/.github/workflows/run-pytest.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: Run All Pytests - -on: - push: - branches: - - develop - - releases/** - pull_request: - branches: - - main - - develop - - releases/** - -jobs: - build: - # runs-on must be a single non-matrixed image - runs-on: ubuntu-18.04 - # , ubuntu-20.04] - strategy: - fail-fast: false - matrix: - python-version: [3.7, 3.8] - - steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - - name: Install gridappsd-python - run: | - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 - - source $HOME/.poetry/env - poetry build - poetry install - - - name: Run pytest - env: - GRIDAPPSD_USER: ${{ secrets.GRIDAPPSD_USER }} - GRIDAPPSD_PASSWORD: ${{ secrets.GRIDAPPSD_PASSWORD }} - run: | - source $HOME/.poetry/env - poetry run pytest -s -o junit_family=xunit1 --junitxml=output/test-${{ matrix.python-version }}-results.xml - - - name: Archive test results - uses: actions/upload-artifact@v2 - with: - name: pytest-report - path: output/test-${{ matrix.python-version }}-results.xml - -#--cov=com --cov-report=xml --cov-report=html -# pytest tests.py --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html -# - name: Lint with flake8 -# run: | -# # stop the build if there are Python syntax errors or undefined names -# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics -# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide -# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics -# - name: Test with pytest -# run: | -# pytest --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html From 6ae8388c71e1637e69b3fb2cce5995ac56b289a6 Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Sun, 2 Feb 2025 17:23:29 -0800 Subject: [PATCH 5/6] Better Import and Testing --- .../field_interface/__init__.py | 3 +- ..._import_field_deprecated_from_gridappsd.py | 8 +++++ .../gridappsd/field_interface/__init__.py | 30 ++++++++++++++----- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py index bd5f071..11174c1 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/__init__.py @@ -1,7 +1,8 @@ from typing import List +from gridappsd_field_bus.field_interface import interfaces from gridappsd_field_bus.field_interface.context import LocalContext from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition from gridappsd_field_bus.field_interface import context_managers -__all__: List[str] = ["LocalContext", "MessageBusDefinition", "context_managers"] +__all__: List[str] = ["LocalContext", "MessageBusDefinition", "context_managers", "interfaces"] diff --git a/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py b/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py index bf23ed0..b4a5205 100644 --- a/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py +++ b/gridappsd-field-bus-lib/tests/test_import_field_deprecated_from_gridappsd.py @@ -1,6 +1,9 @@ def test_modules_are_the_same(): + import sys + + # Note these are dynamically loaded please use gridappsd_field_bus packages instead. from gridappsd.field_interface import interfaces from gridappsd.field_interface import context from gridappsd.field_interface import context_managers @@ -13,8 +16,13 @@ def test_modules_are_the_same(): from gridappsd_field_bus.field_interface import agents as field_agents from gridappsd_field_bus.field_interface import gridappsd_field_bus as field_gridappsd_field_bus + from gridappsd.field_interface.interfaces import FieldMessageBus + from gridappsd_field_bus.field_interface.interfaces import FieldMessageBus as field_FieldMessageBus + + assert interfaces == field_bus_interfaces assert context_managers == field_context_managers assert context == field_context assert agents == field_agents assert gridappsd_field_bus == field_gridappsd_field_bus + assert FieldMessageBus == field_FieldMessageBus \ No newline at end of file diff --git a/gridappsd-python-lib/gridappsd/field_interface/__init__.py b/gridappsd-python-lib/gridappsd/field_interface/__init__.py index ec6fb29..a223e59 100644 --- a/gridappsd-python-lib/gridappsd/field_interface/__init__.py +++ b/gridappsd-python-lib/gridappsd/field_interface/__init__.py @@ -1,15 +1,29 @@ import logging -import warnings -import gridappsd +import sys + _log = logging.getLogger(__name__) try: - from gridappsd_field_bus.field_interface import ( - interfaces, - context, - context_managers, - gridappsd_field_bus, - agents) + import warnings + + import gridappsd_field_bus.field_interface.context as _context + import gridappsd_field_bus.field_interface.context_managers as _context_managers + import gridappsd_field_bus.field_interface as _field_interface + import gridappsd_field_bus.field_interface.agents as _agents + import gridappsd_field_bus.field_interface.field_proxy_forwarder as _field_proxy_forwarder + import gridappsd_field_bus.field_interface.gridappsd_field_bus as _gridappsd_field_bus + import gridappsd_field_bus.field_interface.interfaces as _interfaces + + sys.modules['gridappsd.field_interface'] = _field_interface + sys.modules['gridappsd.field_interface.interfaces'] = _interfaces + sys.modules['gridappsd.field_interface.context_managers'] = _context_managers + sys.modules['gridappsd_.context_managers'] = _context_managers + sys.modules['gridappsd.field_interface.agents'] = _agents + sys.modules['gridappsd.field_interface.field_proxy_forwarder'] = _field_proxy_forwarder + sys.modules['gridappsd.field_interface.gridappsd_field_bus'] = _gridappsd_field_bus + + + warnings.warn(message="gridappsd.field_interface is deprecated and will be removed in a future release. Use gridappsd_field_bus.field_interface instead.", From 6d7b1f21a6c3afad86fdd1e7772aa23da2760690 Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Sun, 2 Feb 2025 17:26:02 -0800 Subject: [PATCH 6/6] Outer FieldMessageBus and MessageBusDefinition. --- gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py b/gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py index e69de29..158a6a5 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/__init__.py @@ -0,0 +1,2 @@ +from gridappsd_field_bus.field_interface.interfaces import FieldMessageBus +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition \ No newline at end of file