From 5aa7199dca21af7d548ca31599c02ba418f2acd4 Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Thu, 29 Aug 2024 19:20:37 -0700 Subject: [PATCH 01/28] Updated deploy-dev-release --- .github/workflows/deploy-dev-release.yml | 179 ++++++++++------------- 1 file changed, 78 insertions(+), 101 deletions(-) diff --git a/.github/workflows/deploy-dev-release.yml b/.github/workflows/deploy-dev-release.yml index 65939b9..66ae989 100644 --- a/.github/workflows/deploy-dev-release.yml +++ b/.github/workflows/deploy-dev-release.yml @@ -1,3 +1,14 @@ +######################################################################################################## +# Deploys a develop release and commits pyproject.toml files with new versions. +# +# When will it run: +# This workflow will only run on push to develop when there is a python file change. +# +# How will it update: +# The script should update based upon the current version in the pyproject.toml file. The workflow +# should run poetry version prerelease to create a new version file. Since this +# repository houses multiple wheels we will be using the ./scripts/runoneach.sh to run this command. +######################################################################################################## name: Deploy Dev Release Artifacts on: @@ -6,11 +17,11 @@ on: - develop workflow_dispatch: inputs: - release-version: - description: "Version number to use. If provided bump-rule will be ignored" + upgrade-version: + description: "Upgrade version number regardless of whether a py file is altered." required: false - default: "" - type: string + default: false + type: boolean defaults: run: @@ -31,20 +42,54 @@ jobs: - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." - + - run: echo "The specified version is ${{ inputs.release-version }}." + - run: | + set -x + set -u + set -e #---------------------------------------------- # check-out repo and set-up python #---------------------------------------------- - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 # ref: develop token: ${{ secrets.GITHUB_TOKEN }} + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v45 + # To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g + # with: + # since_last_remote_commit: true + with: + files: | + **.py + + - name: Should change version + id: should_update_version + env: + PYTHON_FILES_CHANGED: ${{ steps.changed-files.outputs.all_changed_files }} + run: | + should_update=false + for file in ${PYTHON_FILES_CHANGED}; do + should_update=true + break + done + + # handle input required update. + if ${{ inputs.upgrade-version }} ; then + should_update=true + fi + + echo "Should update == ${should_update}" + echo "value=${should_update}" >> "$GITHUB_OUTPUT" + - name: Set up Python ${{ env.PYTHON_VERSION }} + if: ${{ steps.should_update_version.outputs.value == 'true' }} id: setup-python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ env.PYTHON_VERSION }} @@ -52,109 +97,44 @@ jobs: # ----- install & configure poetry ----- #---------------------------------------------- - name: Install Poetry - uses: snok/install-poetry@v1.3.3 + if: ${{ steps.should_update_version.outputs.value == 'true' }} + uses: snok/install-poetry@v1 with: virtualenvs-create: true virtualenvs-in-project: true installer-parallel: true - # #---------------------------------------------- - # # load cached venv if cache exists - # #---------------------------------------------- - # - name: Load cached venv - # id: cached-poetry-dependencies - # uses: actions/cache@v3 - # with: - # path: .venv - # key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} - - # #---------------------------------------------- - # # install dependencies if cache does not exist - # #---------------------------------------------- - # - name: Install dependencies - # if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' - # run: poetry install --no-interaction --no-root + - name: Update version and commit pyproject.toml file + if: ${{ steps.should_update_version.outputs.value == 'true' }} + run: | + ./scripts/run_on_each.sh poetry version prerelease + + git config --global user.name 'Commit Bot' + git config --global user.email '3979063+craig8@users.noreply.github.com' + git add **/pyproject.toml + git commit -m "Auto Update Version Number" + git push - #---------------------------------------------- - # install your root project, if required - #---------------------------------------------- - name: Install library - run: | + if: ${{ steps.should_update_version.outputs.value == 'true' }} + run: | ./scripts/poetry_install.sh - # git checkout develop - # poetry lock --no-update - # poetry install --no-interaction - - # - name: Use given release-version number - # if: inputs.release-version != '' - # run: | - # echo "Using given release version is ${{ inputs.release-version }}" - # poetry version ${{ inputs.release-version }} - - # NEW_TAG=v$(poetry version --short) - - # # we want to be able to use the variable in later - # # steps we set a NEW_TAG environmental variable - # echo "NEW_TAG=$(echo ${NEW_TAG})" >> $GITHUB_ENV - # # we don't want to update pyproject.toml yet. don't want this change to create merge conflict. - # # we don't really persist right version in pyproject.toml to figure out the next version. we use git tags. - # git restore pyproject.toml - - #---------------------------------------------- - # bump version number for patch - #---------------------------------------------- - - name: Bump Version - run: | - # current_tag is the last tagged release in the repository. From there - # we need to remove the v from the beginning of the tag. - # echo "Bump rule is ${{ inputs.bump-rule }}" - # echo "Given release version is ${{ inputs.release-version }}" - # dt=$(date +%Y.%-m.0) - # if ! $(git tag -l "v*" = ''); then - # # uses -V which is version sort to keep it monotonically increasing. - # current_tag=$(git tag -l "v*" | grep --invert-match '-' | sort --reverse -V | sed -n 1p) - # echo "current git tag is ${current_tag}" - # current_tag=${current_tag#?} - # if [[ "$current_tag" < "$dt" ]]; then - # current_tag=$dt - # fi - # # current_tag is now the version we want to set our poetry version so - # # that we can bump the version - # ./scripts/run_on_each.sh poetry version ${current_tag} - # ./scripts/run_on_each.sh poetry version prerelease - - # # poetry version ${current_tag} - # # poetry version prerelease --no-interaction - - # else - # # very first release. start with inputs.release-version - - # echo "First release. Setting tag as 0.1.0rc0" - # current_tag=$(date +%Y.%-m.1) - # ./scripts/run_on_each.sh poetry version ${current_tag} - - # # poetry version ${current_tag} - # fi - version=$(poetry version --short) - ./scripts/run_on_each.sh poetry version ${version} - - NEW_TAG=v$(poetry version --short) - - # Finally because we want to be able to use the variable in later - # steps we set a NEW_TAG environmental variable - echo "NEW_TAG=$(echo ${NEW_TAG})" >> $GITHUB_ENV - - name: Create build artifacts + id: version + if: ${{ steps.should_update_version.outputs.value == 'true' }} run: | - set -x - set -u - set -e - # set the right version in pyproject.toml before build and publish ./scripts/poetry_build.sh + + echo "value=v$(poetry version --short)" >> "$GITHUB_OUTPUT" + + # TODO: Check for pipy token and only release to github if we have it. - name: Push artifacts to github + env: + TAG: ${{ steps.version.outputs.value }} + if: ${{ steps.should_update_version.outputs.value == 'true' }} uses: ncipollo/release-action@v1 with: artifacts: "dist/*.gz,dist/*.whl" @@ -163,17 +143,14 @@ jobs: commit: ${{ github.ref }} # check bump-rule and set accordingly prerelease: true - tag: ${{ env.NEW_TAG }} + tag: ${{ env.TAG }} token: ${{ secrets.GITHUB_TOKEN }} - name: Publish to pypi id: publish-to-pypi - if: github.repository_owner == 'GRIDAPPSD' || github.repository_owner == 'PNNL-CIM-Tools' + if: ${{ steps.should_update_version.outputs.value == 'true' }} run: | - set -x - set -u - set -e - + # This is needed, because the poetry publish will fail at the top level of the project # so ./scripts/run_on_each.sh fails for that. echo "POETRY_PUBLISH_OPTIONS=''" >> $GITHUB_ENV From f146897371088d34805361f861a155cac3b141f5 Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Mon, 17 Feb 2025 19:46:48 -0800 Subject: [PATCH 02/28] Update release --- .github/workflows/deploy-dev-release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-dev-release.yml b/.github/workflows/deploy-dev-release.yml index 18d86d9..57189cb 100644 --- a/.github/workflows/deploy-dev-release.yml +++ b/.github/workflows/deploy-dev-release.yml @@ -58,7 +58,9 @@ jobs: echo "Version bumped to $(poetry version -s)" - name: Install dependencies - run: ./scripts/poetry_install.sh + run: | + ./scripts/run_on_each.sh poetry self add poetry-plugin-export + ./scripts/poetry_install.sh - name: Build project run: ./scripts/poetry_build.sh From 0355e6c2d1efbcfa1e29f333490a4f939e0538c2 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Tue, 18 Feb 2025 03:48:37 +0000 Subject: [PATCH 03/28] Bump version to 2025.2.1a2 --- gridappsd-field-bus-lib/info/requirements.txt | 49 ++++++++++--------- gridappsd-field-bus-lib/pyproject.toml | 4 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index 2e37a34..7a15ef1 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -1,22 +1,27 @@ -certifi==2023.5.7 ; python_full_version >= "3.7.9" and python_version < "4" -charset-normalizer==3.1.0 ; python_full_version >= "3.7.9" and python_version < "4" -cim-graph==0.1.20230508194360a0 ; python_full_version >= "3.7.9" and python_version < "4.0" -dateutils==0.6.12 ; python_full_version >= "3.7.9" and python_version < "4.0" -docopt==0.6.2 ; python_full_version >= "3.7.9" and python_version < "4.0" -gridappsd-python==2023.5.2a0; python_full_version >= "3.7.9" and python_version < "4.0" -idna==3.4 ; python_full_version >= "3.7.9" and python_version < "4" -importlib-metadata==4.13.0 ; python_full_version >= "3.7.9" and python_version < "3.8" -isodate==0.6.1 ; python_full_version >= "3.7.9" and python_version < "4.0" -pyparsing==3.0.9 ; python_full_version >= "3.7.9" and python_version < "4.0" -python-dateutil==2.8.2 ; python_full_version >= "3.7.9" and python_version < "4.0" -pytz==2022.7.1 ; python_full_version >= "3.7.9" and python_version < "4.0" -pyyaml==6.0 ; python_full_version >= "3.7.9" and python_version < "4.0" -rdflib==6.3.2 ; python_full_version >= "3.7.9" and python_version < "4.0" -requests==2.28.2 ; python_full_version >= "3.7.9" and python_version < "4" -six==1.16.0 ; python_full_version >= "3.7.9" and python_version < "4.0" -sparqlwrapper==2.0.0 ; python_full_version >= "3.7.9" and python_version < "4.0" -stomp-py==6.0.0 ; python_full_version >= "3.7.9" and python_version < "4.0" -typing-extensions==4.5.0 ; python_full_version >= "3.7.9" and python_version < "3.8" -urllib3==1.26.15 ; python_full_version >= "3.7.9" and python_version < "4" -xsdata==22.12 ; python_full_version >= "3.7.9" and python_version < "4.0" -zipp==3.15.0 ; python_full_version >= "3.7.9" and python_version < "3.8" +certifi==2025.1.31 ; python_version >= "3.10" and python_version < "4.0" +charset-normalizer==3.4.1 ; python_version >= "3.10" and python_version < "4.0" +cim-graph==0.1.8a0 ; python_version >= "3.10" and python_version < "4.0" +click==8.1.8 ; python_version >= "3.10" and python_version < "4.0" +colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" +dateutils==0.6.12 ; python_version >= "3.10" and python_version < "4.0" +defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0" +docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0" +gridappsd-python==2025.2.1 ; python_version >= "3.10" and python_version < "4.0" +idna==3.10 ; python_version >= "3.10" and python_version < "4.0" +isodate==0.7.2 ; python_version == "3.10" +mysql-connector-python==8.4.0 ; python_version >= "3.10" and python_version < "4.0" +neo4j==5.28.1 ; python_version >= "3.10" and python_version < "4.0" +nest-asyncio==1.6.0 ; python_version >= "3.10" and python_version < "4.0" +oxrdflib==0.3.7 ; python_version >= "3.10" and python_version < "4.0" +pyoxigraph==0.3.22 ; python_version >= "3.10" and python_version < "4.0" +pyparsing==3.2.1 ; python_version >= "3.10" and python_version < "4.0" +python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4.0" +pytz==2022.7.1 ; python_version >= "3.10" and python_version < "4.0" +pyyaml==6.0.2 ; python_version >= "3.10" and python_version < "4.0" +rdflib-neo4j==0.0.1b6 ; python_version >= "3.10" and python_version < "4.0" +rdflib==7.1.3 ; python_version >= "3.10" and python_version < "4.0" +requests==2.28.2 ; python_version >= "3.10" and python_version < "4.0" +six==1.17.0 ; python_version >= "3.10" and python_version < "4.0" +sparqlwrapper==2.0.0 ; python_version >= "3.10" and python_version < "4.0" +stomp-py==6.0.0 ; python_version >= "3.10" and python_version < "4.0" +urllib3==1.26.20 ; python_version >= "3.10" and python_version < "4.0" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index d0abafb..0bba014 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 = "2025.2.1a1" +version = "2025.2.1a2" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", @@ -24,7 +24,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.10,<4.0" -gridappsd-python = { path="../gridappsd-python-lib", develop = true} +gridappsd-python = "^2025.2.1a2" cim-graph = "^0.1.8a0" click = "^8.1.8" diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index bb20922..52214b1 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a1" +version = "2025.2.1a2" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 9b0c8c8..7c76a81 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.2.1a1" +version = "2025.2.1a2" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From a1f996a2c5ee03776f93fde60d1de4cce9bbfac1 Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Tue, 25 Feb 2025 15:44:13 -0800 Subject: [PATCH 04/28] resolving bugs --- .../context_managers/context_manager_agents.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py index 4175566..8039008 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/context_manager_agents.py @@ -25,7 +25,7 @@ def __init__(self, self.ot_connection = GridAPPSD() if substation_dict is None: - request = {'request_type': 'get_context', 'modelId': downstream_message_bus_def.id} + request = {'request_type': 'get_context', 'areaId': downstream_message_bus_def.id} substation_dict = None while substation_dict is None: self.ot_connection.get_logger().debug(f"Requesting topology for {self.__class__}") @@ -63,7 +63,7 @@ def __init__(self, self.ot_connection = GridAPPSD() if feeder_dict is None: - request = {'request_type': 'get_context', 'modelId': downstream_message_bus_def.id} + request = {'request_type': 'get_context', 'areaId': downstream_message_bus_def.id} feeder_dict = None while feeder_dict is None: self.ot_connection.get_logger().debug(f"Requesting topology for {self.__class__}") From 908d3e2c5b3683a1d60ca4358d11bf17425cad78 Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Tue, 25 Feb 2025 16:05:44 -0800 Subject: [PATCH 05/28] Update pyproject.toml --- gridappsd-field-bus-lib/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 0bba014..38d9059 100644 --- a/gridappsd-field-bus-lib/pyproject.toml +++ b/gridappsd-field-bus-lib/pyproject.toml @@ -27,6 +27,7 @@ python = ">=3.10,<4.0" gridappsd-python = "^2025.2.1a2" cim-graph = "^0.1.8a0" click = "^8.1.8" +"python-dotenv" = "^1.0.1" [tool.poetry.scripts] # Add things in the form From 58f39e6ed26931d8729618398c8270bfc84d3af7 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Wed, 26 Feb 2025 20:04:36 +0000 Subject: [PATCH 06/28] Bump version to 2025.2.1a3 --- gridappsd-field-bus-lib/info/requirements.txt | 1 + gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index 7a15ef1..ea44b01 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -16,6 +16,7 @@ oxrdflib==0.3.7 ; python_version >= "3.10" and python_version < "4.0" pyoxigraph==0.3.22 ; python_version >= "3.10" and python_version < "4.0" pyparsing==3.2.1 ; python_version >= "3.10" and python_version < "4.0" python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4.0" +python-dotenv==1.0.1 ; python_version >= "3.10" and python_version < "4.0" pytz==2022.7.1 ; python_version >= "3.10" and python_version < "4.0" pyyaml==6.0.2 ; python_version >= "3.10" and python_version < "4.0" rdflib-neo4j==0.0.1b6 ; python_version >= "3.10" and python_version < "4.0" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 38d9059..c4a5ebc 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 = "2025.2.1a2" +version = "2025.2.1a3" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 52214b1..f9374ee 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a2" +version = "2025.2.1a3" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 7c76a81..ac5ae89 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.2.1a2" +version = "2025.2.1a3" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From 5539893640f07390dfe54cd75f4aa4883f938192 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 26 Feb 2025 00:56:33 +0000 Subject: [PATCH 07/28] Create Factory for loading FieldMessageBus dynamically --- .../field_interface/agents/agents.py | 8 ++--- .../field_interface/gridappsd_field_bus.py | 2 +- .../field_interface/interfaces.py | 23 ++++++++++++- .../tests/test_message_bus_factory.py | 34 +++++++++++++++++++ 4 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 gridappsd-field-bus-lib/tests/test_message_bus_factory.py diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py index ffbc971..c5ecc19 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py @@ -15,7 +15,7 @@ import gridappsd.topics as t 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) +from gridappsd_field_bus.field_interface.interfaces import (FieldMessageBus, MessageBusDefinition, MessageBusFactory) CIM_PROFILE = None IEC61970_301 = None @@ -80,13 +80,13 @@ def __init__(self, if upstream_message_bus_def is not None: if upstream_message_bus_def.is_ot_bus: - self.upstream_message_bus = GridAPPSDMessageBus(upstream_message_bus_def) + self.upstream_message_bus = MessageBusFactory.create(upstream_message_bus_def) # else: # self.upstream_message_bus = VolttronMessageBus(upstream_message_bus_def) if downstream_message_bus_def is not None: if downstream_message_bus_def.is_ot_bus: - self.downstream_message_bus = GridAPPSDMessageBus(downstream_message_bus_def) + self.downstream_message_bus = MessageBusFactory.create(downstream_message_bus_def) # else: # self.downstream_message_bus = VolttronMessageBus(downstream_message_bus_def) @@ -346,7 +346,7 @@ def __init__(self, self.feeder_id = feeder_id self.distributed_agents = [] - self.system_message_bus = GridAPPSDMessageBus(system_message_bus_def) + self.system_message_bus = MessageBusFactory.create(system_message_bus_def) self.system_message_bus.connect() # This will change when we have multiple feeders per system diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py index db4a8a2..724d6e0 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/gridappsd_field_bus.py @@ -7,7 +7,7 @@ class GridAPPSDMessageBus(FieldMessageBus): def __init__(self, definition: MessageBusDefinition): - super(GridAPPSDMessageBus, self).__init__(definition) + super().__init__(definition) self._id = definition.id self._user = definition.connection_args["GRIDAPPSD_USER"] diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py index c7d0b39..bac7db1 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py @@ -3,6 +3,7 @@ from abc import ABC, abstractmethod from dataclasses import dataclass from enum import Enum +import importlib import gridappsd.topics as t import logging from os import PathLike @@ -32,7 +33,7 @@ class ConnectionType(Enum): # CONNECTION_TYPE_HTTP = "HTTP" # CONNECTION_TYPE_TCP = "TCP" CONNECTION_TYPE = "STOMP" - CONNECTION_TYPE_GRIDAPPSD = "CONNECTION_TYPE_GRIDAPPSD" + CONNECTION_TYPE_GRIDAPPSD = "gridappsd_field_bus.field_interface.gridappsd_field_bus.GridAPPSDMessageBus" class ProtocolTransformer(ABC): @@ -191,6 +192,26 @@ def disconnect(self): pass +class MessageBusFactory(ABC): + """ + A factory class for creating message bus objects. + """ + + def create(self, config: MessageBusDefinition) -> FieldMessageBus: + """ + Create a message bus based upon the configuration passed. + """ + try: + module_name, class_name = config.connection_type.value.rsplit('.', 1) + except AttributeError: + module_name, class_name = config.connection_type.rsplit('.', 1) + + module = importlib.import_module(module_name) + bus_class = getattr(module, class_name) + return bus_class(config) + + + class MessageBusDefinitions: def __init__( diff --git a/gridappsd-field-bus-lib/tests/test_message_bus_factory.py b/gridappsd-field-bus-lib/tests/test_message_bus_factory.py new file mode 100644 index 0000000..4e298b3 --- /dev/null +++ b/gridappsd-field-bus-lib/tests/test_message_bus_factory.py @@ -0,0 +1,34 @@ +import unittest +import subprocess +from gridappsd_field_bus.field_interface.interfaces import MessageBusFactory, MessageBusDefinition, ConnectionType + +class TestMessageBusFactory(unittest.TestCase): + + @classmethod + def setUpClass(cls): + # Start Artemis Docker container + subprocess.run(["docker", "run", "-d", "--name", "artemis", "-p", "61616:61616", "-p", "8161:8161", "vromero/activemq-artemis"]) + + @classmethod + def tearDownClass(cls): + # Stop and remove Artemis Docker container + subprocess.run(["docker", "stop", "artemis"]) + subprocess.run(["docker", "rm", "artemis"]) + + def setUp(self): + self.factory = MessageBusFactory() + self.config = MessageBusDefinition( + id="test_bus", + connection_type=ConnectionType.CONNECTION_TYPE_GRIDAPPSD, + connection_args={"GRIDAPPSD_USER": "artemis", "GRIDAPPSD_PASSWORD": "aretemis", + "GRIDAPPSD_PORT": 61613, "GRIDAPPSD_ADDRESS": "localhost"} + ) + + def test_create_message_bus(self): + message_bus = self.factory.create(self.config) + self.assertIsNotNone(message_bus) + self.assertEqual(message_bus.id, "test_bus") + self.assertEqual(message_bus.is_ot_bus, False) + +if __name__ == '__main__': + unittest.main() From 2cc6d093ab72705b86e63b6583ff788adf20834d Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Wed, 26 Feb 2025 20:14:51 +0000 Subject: [PATCH 08/28] Bump version to 2025.2.1a4 --- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index c4a5ebc..74b50e2 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 = "2025.2.1a3" +version = "2025.2.1a4" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index f9374ee..c1a4d1c 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a3" +version = "2025.2.1a4" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index ac5ae89..fe18abf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.2.1a3" +version = "2025.2.1a4" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From bd655140714d1d190da0c9f934642d5b6887cf7a Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Wed, 26 Feb 2025 12:35:41 -0800 Subject: [PATCH 09/28] Update to use env for tag. --- .github/workflows/deploy-dev-release.yml | 27 +++++++++++++----------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/deploy-dev-release.yml b/.github/workflows/deploy-dev-release.yml index 57189cb..5bfdba4 100644 --- a/.github/workflows/deploy-dev-release.yml +++ b/.github/workflows/deploy-dev-release.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v2 with: fetch-depth: 0 - + - name: Get changed files id: changed-files uses: tj-actions/changed-files@v45 @@ -38,7 +38,7 @@ jobs: uses: actions/checkout@v2 with: fetch-depth: 0 - + - name: Set up Python uses: actions/setup-python@v4 with: @@ -49,14 +49,18 @@ jobs: with: virtualenvs-in-project: true installer-parallel: true - + - name: Bump version id: bump-version run: | echo "Bumping version..." ./scripts/run_on_each.sh poetry version prerelease echo "Version bumped to $(poetry version -s)" - + NEW_TAG=v$(poetry version --short) + # Finally because we want to be able to use the variable in later + # steps we set a NEW_TAG environmental variable + echo "NEW_TAG=$(echo ${NEW_TAG})" >> $GITHUB_ENV + - name: Install dependencies run: | ./scripts/run_on_each.sh poetry self add poetry-plugin-export @@ -64,7 +68,7 @@ jobs: - name: Build project run: ./scripts/poetry_build.sh - + - name: Commit bumped version run: | git config --global user.name 'gridappsd[bot]' @@ -77,14 +81,13 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag: v$(poetry version -s) - name: Release v$(poetry version -s) - draft: false - prerelease: true - generateReleaseNotes: true - commit: ${{ github.ref }} artifacts: "dist/*.gz,dist/*.whl" artifactErrorsFailBuild: true + generateReleaseNotes: true + commit: ${{ github.ref }} + prerelease: true + tag: ${{ env.NEW_TAG }} + token: ${{ secrets.GITHUB_TOKEN }} - name: Publish to PyPI id: publish-to-pypi run: | @@ -97,4 +100,4 @@ jobs: cd ../gridappsd-field-bus-lib poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }} - poetry publish \ No newline at end of file + poetry publish From 08123e744aea5835b922c87048996e7d0b61f4b2 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Wed, 26 Feb 2025 20:42:48 +0000 Subject: [PATCH 10/28] Bump version to 2025.2.1a5 --- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 74b50e2..ef7058c 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 = "2025.2.1a4" +version = "2025.2.1a5" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index c1a4d1c..88bd764 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a4" +version = "2025.2.1a5" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index fe18abf..647b905 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.2.1a4" +version = "2025.2.1a5" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From 8b64b69c13abc0a609c5b474ec06eaba41f41f24 Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Tue, 11 Mar 2025 15:17:44 -0700 Subject: [PATCH 11/28] Update pyproject.toml --- gridappsd-field-bus-lib/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index ef7058c..0326ca6 100644 --- a/gridappsd-field-bus-lib/pyproject.toml +++ b/gridappsd-field-bus-lib/pyproject.toml @@ -24,8 +24,8 @@ packages = [ [tool.poetry.dependencies] python = ">=3.10,<4.0" -gridappsd-python = "^2025.2.1a2" -cim-graph = "^0.1.8a0" +gridappsd-python = ">=2025.2,<2025.3" +cim-graph = ">=0.2,<0.3" click = "^8.1.8" "python-dotenv" = "^1.0.1" From e96176f52f4e8ee497b0a9693b644017c761d39c Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Tue, 11 Mar 2025 23:25:10 +0000 Subject: [PATCH 12/28] Bump version to 2025.2.1a6 --- gridappsd-field-bus-lib/info/requirements.txt | 25 ++++++++++++++++--- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index ea44b01..13ff406 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -1,28 +1,45 @@ +asttokens==3.0.0 ; python_version >= "3.10" and python_version < "4.0" certifi==2025.1.31 ; python_version >= "3.10" and python_version < "4.0" charset-normalizer==3.4.1 ; python_version >= "3.10" and python_version < "4.0" -cim-graph==0.1.8a0 ; python_version >= "3.10" and python_version < "4.0" +cim-graph==0.2.2a3 ; python_version >= "3.10" and python_version < "4.0" click==8.1.8 ; python_version >= "3.10" and python_version < "4.0" -colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and (sys_platform == "win32" or platform_system == "Windows") dateutils==0.6.12 ; python_version >= "3.10" and python_version < "4.0" +decorator==5.2.1 ; python_version >= "3.10" and python_version < "4.0" defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0" docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0" +exceptiongroup==1.2.2 ; python_version == "3.10" +executing==2.2.0 ; python_version >= "3.10" and python_version < "4.0" gridappsd-python==2025.2.1 ; python_version >= "3.10" and python_version < "4.0" idna==3.10 ; python_version >= "3.10" and python_version < "4.0" +ipython==8.34.0 ; python_version >= "3.10" and python_version < "4.0" isodate==0.7.2 ; python_version == "3.10" -mysql-connector-python==8.4.0 ; python_version >= "3.10" and python_version < "4.0" +jedi==0.19.2 ; python_version >= "3.10" and python_version < "4.0" +matplotlib-inline==0.1.7 ; python_version >= "3.10" and python_version < "4.0" +mermaid-python==0.1 ; python_version >= "3.10" and python_version < "4.0" +mysql-connector-python==9.2.0 ; python_version >= "3.10" and python_version < "4.0" neo4j==5.28.1 ; python_version >= "3.10" and python_version < "4.0" nest-asyncio==1.6.0 ; python_version >= "3.10" and python_version < "4.0" oxrdflib==0.3.7 ; python_version >= "3.10" and python_version < "4.0" +parso==0.8.4 ; python_version >= "3.10" and python_version < "4.0" +pexpect==4.9.0 ; python_version >= "3.10" and python_version < "4.0" and sys_platform != "win32" and sys_platform != "emscripten" +prompt-toolkit==3.0.50 ; python_version >= "3.10" and python_version < "4.0" +ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "4.0" and sys_platform != "win32" and sys_platform != "emscripten" +pure-eval==0.2.3 ; python_version >= "3.10" and python_version < "4.0" +pygments==2.19.1 ; python_version >= "3.10" and python_version < "4.0" pyoxigraph==0.3.22 ; python_version >= "3.10" and python_version < "4.0" pyparsing==3.2.1 ; python_version >= "3.10" and python_version < "4.0" python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4.0" python-dotenv==1.0.1 ; python_version >= "3.10" and python_version < "4.0" pytz==2022.7.1 ; python_version >= "3.10" and python_version < "4.0" pyyaml==6.0.2 ; python_version >= "3.10" and python_version < "4.0" -rdflib-neo4j==0.0.1b6 ; python_version >= "3.10" and python_version < "4.0" rdflib==7.1.3 ; python_version >= "3.10" and python_version < "4.0" requests==2.28.2 ; python_version >= "3.10" and python_version < "4.0" six==1.17.0 ; python_version >= "3.10" and python_version < "4.0" sparqlwrapper==2.0.0 ; python_version >= "3.10" and python_version < "4.0" +stack-data==0.6.3 ; python_version >= "3.10" and python_version < "4.0" stomp-py==6.0.0 ; python_version >= "3.10" and python_version < "4.0" +traitlets==5.14.3 ; python_version >= "3.10" and python_version < "4.0" +typing-extensions==4.12.2 ; python_version >= "3.10" and python_version < "3.12" urllib3==1.26.20 ; python_version >= "3.10" and python_version < "4.0" +wcwidth==0.2.13 ; python_version >= "3.10" and python_version < "4.0" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 0326ca6..14804cc 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 = "2025.2.1a5" +version = "2025.2.1a6" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 88bd764..700a60b 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a5" +version = "2025.2.1a6" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 647b905..95e6499 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.2.1a5" +version = "2025.2.1a6" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From 98e24b34baff8f5361d338d5225c54d88046e62d Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Wed, 12 Mar 2025 17:58:48 +0000 Subject: [PATCH 13/28] Bump version number for next releases. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 95e6499..6bc5167 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.2.1a6" +version = "2025.3.1a0" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From 19cb322c84c026c1105da52d5cdcb9babcf0ea8f Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Wed, 12 Mar 2025 18:02:53 +0000 Subject: [PATCH 14/28] Bump version to 2025.3.1a1 --- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 14804cc..8c149cf 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 = "2025.2.1a6" +version = "2025.2.1a7" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 700a60b..70196bf 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a6" +version = "2025.2.1a7" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 6bc5167..75bd12e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a0" +version = "2025.3.1a1" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From b6709f630e6acf4ee36fcf79f2b111a540c299b9 Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Wed, 12 Mar 2025 18:11:55 +0000 Subject: [PATCH 15/28] Bump version number for next releases. --- .gitignore | 1 + gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b601ea7..d7dc735 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,4 @@ ENV/ # pytest cache .pytest_cache /gridappsd-python.code-workspace +.qodo diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 8c149cf..e37c110 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 = "2025.2.1a7" +version = "2025.3.1a0" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 70196bf..ac51f11 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.2.1a7" +version = "2025.3.1a0" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", @@ -66,4 +66,4 @@ split_before_logical_operator = true [tool.poetry.requires-plugins] -poetry-plugin-export = ">=1.8" \ No newline at end of file +poetry-plugin-export = ">=1.8" From d121cc0edccd13d461ddd98ab0bcd04846862fca Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Wed, 12 Mar 2025 18:17:26 +0000 Subject: [PATCH 16/28] Bump version to 2025.3.1a2 --- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index e37c110..dac5a05 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 = "2025.3.1a0" +version = "2025.3.1a1" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index ac51f11..78bf5da 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.3.1a0" +version = "2025.3.1a1" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 75bd12e..619cd6b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a1" +version = "2025.3.1a2" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From a4490cafab7875c149872232bfb94504f3e42c6e Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Wed, 12 Mar 2025 11:29:35 -0700 Subject: [PATCH 17/28] Update pyproject.toml --- gridappsd-field-bus-lib/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index dac5a05..088fe5d 100644 --- a/gridappsd-field-bus-lib/pyproject.toml +++ b/gridappsd-field-bus-lib/pyproject.toml @@ -25,7 +25,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.10,<4.0" gridappsd-python = ">=2025.2,<2025.3" -cim-graph = ">=0.2,<0.3" +cim-graph = ">=0.2.2a4" click = "^8.1.8" "python-dotenv" = "^1.0.1" From 990b2b5e6bedc8fea7b70ffc24473c18a312210d Mon Sep 17 00:00:00 2001 From: poorva1209 Date: Wed, 12 Mar 2025 11:35:58 -0700 Subject: [PATCH 18/28] Update pyproject.toml --- gridappsd-field-bus-lib/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 088fe5d..6553012 100644 --- a/gridappsd-field-bus-lib/pyproject.toml +++ b/gridappsd-field-bus-lib/pyproject.toml @@ -24,7 +24,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.10,<4.0" -gridappsd-python = ">=2025.2,<2025.3" +gridappsd-python = ">=2025.3.1a1" cim-graph = ">=0.2.2a4" click = "^8.1.8" "python-dotenv" = "^1.0.1" From daf4c196bbd38f11ac284ba20d7ba1c0850ef017 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Wed, 12 Mar 2025 18:38:40 +0000 Subject: [PATCH 19/28] Bump version to 2025.3.1a3 --- gridappsd-field-bus-lib/info/requirements.txt | 4 ++-- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index 13ff406..ab2c959 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -1,7 +1,7 @@ asttokens==3.0.0 ; python_version >= "3.10" and python_version < "4.0" certifi==2025.1.31 ; python_version >= "3.10" and python_version < "4.0" charset-normalizer==3.4.1 ; python_version >= "3.10" and python_version < "4.0" -cim-graph==0.2.2a3 ; python_version >= "3.10" and python_version < "4.0" +cim-graph==0.2.2a4 ; python_version >= "3.10" and python_version < "4.0" click==8.1.8 ; python_version >= "3.10" and python_version < "4.0" colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and (sys_platform == "win32" or platform_system == "Windows") dateutils==0.6.12 ; python_version >= "3.10" and python_version < "4.0" @@ -10,7 +10,7 @@ defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0" docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0" exceptiongroup==1.2.2 ; python_version == "3.10" executing==2.2.0 ; python_version >= "3.10" and python_version < "4.0" -gridappsd-python==2025.2.1 ; python_version >= "3.10" and python_version < "4.0" +gridappsd-python==2025.3.1a1 ; python_version >= "3.10" and python_version < "4.0" idna==3.10 ; python_version >= "3.10" and python_version < "4.0" ipython==8.34.0 ; python_version >= "3.10" and python_version < "4.0" isodate==0.7.2 ; python_version == "3.10" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 6553012..2cdb359 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 = "2025.3.1a1" +version = "2025.3.1a2" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 78bf5da..65239b5 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.3.1a1" +version = "2025.3.1a2" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 619cd6b..4726838 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a2" +version = "2025.3.1a3" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From a68a36d49652eabce2b98165792a8199170b523d Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Thu, 13 Mar 2025 09:55:37 -0700 Subject: [PATCH 20/28] create should be static method for creating the definition. --- .../field_interface/context_managers/utils.py | 4 ++-- .../gridappsd_field_bus/field_interface/interfaces.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/utils.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/context_managers/utils.py index e5c85ba..af8bfdb 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/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_bus.field_interface.interfaces import MessageBusDefinition +from gridappsd_field_bus.field_interface.interfaces import MessageBusDefinition, ConnectionType #FieldBusManager's request topics. To be used only by context manager user role only. REQUEST_FIELD = ".".join((t.PROCESS_PREFIX, "request.field")) @@ -17,7 +17,7 @@ def get_message_bus_definition(area_id: str) -> MessageBusDefinition: bus = MessageBusDefinition(id=area_id, is_ot_bus=True, - connection_type="GRIDAPPSD_TYPE_GRIDAPPSD", + connection_type=ConnectionType.CONNECTION_TYPE_GRIDAPPSD, connection_args=connection_args) return bus diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py index bac7db1..e386b91 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py @@ -197,6 +197,7 @@ class MessageBusFactory(ABC): A factory class for creating message bus objects. """ + @staticmethod def create(self, config: MessageBusDefinition) -> FieldMessageBus: """ Create a message bus based upon the configuration passed. @@ -209,7 +210,7 @@ def create(self, config: MessageBusDefinition) -> FieldMessageBus: module = importlib.import_module(module_name) bus_class = getattr(module, class_name) return bus_class(config) - + class MessageBusDefinitions: From caca5694e75834621c0b24cd2c2749828c2e3907 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Thu, 13 Mar 2025 16:56:46 +0000 Subject: [PATCH 21/28] Bump version to 2025.3.1a4 --- gridappsd-field-bus-lib/info/requirements.txt | 2 +- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index ab2c959..9b68041 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -10,7 +10,7 @@ defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0" docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0" exceptiongroup==1.2.2 ; python_version == "3.10" executing==2.2.0 ; python_version >= "3.10" and python_version < "4.0" -gridappsd-python==2025.3.1a1 ; python_version >= "3.10" and python_version < "4.0" +gridappsd-python==2025.3.1a2 ; python_version >= "3.10" and python_version < "4.0" idna==3.10 ; python_version >= "3.10" and python_version < "4.0" ipython==8.34.0 ; python_version >= "3.10" and python_version < "4.0" isodate==0.7.2 ; python_version == "3.10" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index 2cdb359..d8e9c50 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 = "2025.3.1a2" +version = "2025.3.1a3" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 65239b5..c1b33bb 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.3.1a2" +version = "2025.3.1a3" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 4726838..581ccbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a3" +version = "2025.3.1a4" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From 22aa2aca906e499dac52afce183bf359f5fe2daa Mon Sep 17 00:00:00 2001 From: "C. Allwardt" <3979063+craig8@users.noreply.github.com> Date: Thu, 13 Mar 2025 10:19:34 -0700 Subject: [PATCH 22/28] No longer an instance is required to call create method --- .../gridappsd_field_bus/field_interface/interfaces.py | 2 +- gridappsd-field-bus-lib/tests/test_message_bus_factory.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py index e386b91..3dedc5c 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/interfaces.py @@ -198,7 +198,7 @@ class MessageBusFactory(ABC): """ @staticmethod - def create(self, config: MessageBusDefinition) -> FieldMessageBus: + def create(config: MessageBusDefinition) -> FieldMessageBus: """ Create a message bus based upon the configuration passed. """ diff --git a/gridappsd-field-bus-lib/tests/test_message_bus_factory.py b/gridappsd-field-bus-lib/tests/test_message_bus_factory.py index 4e298b3..c3c92ae 100644 --- a/gridappsd-field-bus-lib/tests/test_message_bus_factory.py +++ b/gridappsd-field-bus-lib/tests/test_message_bus_factory.py @@ -16,7 +16,7 @@ def tearDownClass(cls): subprocess.run(["docker", "rm", "artemis"]) def setUp(self): - self.factory = MessageBusFactory() + #self.factory = MessageBusFactory() self.config = MessageBusDefinition( id="test_bus", connection_type=ConnectionType.CONNECTION_TYPE_GRIDAPPSD, @@ -25,7 +25,7 @@ def setUp(self): ) def test_create_message_bus(self): - message_bus = self.factory.create(self.config) + message_bus = MessageBusFactory.create(self.config) self.assertIsNotNone(message_bus) self.assertEqual(message_bus.id, "test_bus") self.assertEqual(message_bus.is_ot_bus, False) From 8038aed4e6fd2fe2d0573e5b127093f3a5a509a2 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Thu, 13 Mar 2025 17:27:19 +0000 Subject: [PATCH 23/28] Bump version to 2025.3.1a5 --- gridappsd-field-bus-lib/info/requirements.txt | 2 +- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index 9b68041..8e3e2f9 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -10,7 +10,7 @@ defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0" docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0" exceptiongroup==1.2.2 ; python_version == "3.10" executing==2.2.0 ; python_version >= "3.10" and python_version < "4.0" -gridappsd-python==2025.3.1a2 ; python_version >= "3.10" and python_version < "4.0" +gridappsd-python==2025.3.1a3 ; python_version >= "3.10" and python_version < "4.0" idna==3.10 ; python_version >= "3.10" and python_version < "4.0" ipython==8.34.0 ; python_version >= "3.10" and python_version < "4.0" isodate==0.7.2 ; python_version == "3.10" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index d8e9c50..b5ead7a 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 = "2025.3.1a3" +version = "2025.3.1a4" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index c1b33bb..691914e 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.3.1a3" +version = "2025.3.1a4" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 581ccbf..2f316ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a4" +version = "2025.3.1a5" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From 193c5e9f42eca73060e2607221f6064e918619d7 Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Mon, 17 Mar 2025 12:50:57 -0700 Subject: [PATCH 24/28] Connect to the busses when the init finishes. --- .../gridappsd_field_bus/field_interface/agents/agents.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py index c5ecc19..0bbd295 100644 --- a/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py +++ b/gridappsd-field-bus-lib/gridappsd_field_bus/field_interface/agents/agents.py @@ -87,14 +87,11 @@ def __init__(self, if downstream_message_bus_def is not None: if downstream_message_bus_def.is_ot_bus: self.downstream_message_bus = MessageBusFactory.create(downstream_message_bus_def) - # else: - # self.downstream_message_bus = VolttronMessageBus(downstream_message_bus_def) - # self.context = ContextManager.get(self.feeder_id, self.area_id) + if self.downstream_message_bus is None and self.upstream_message_bus is None: + raise ValueError("Must have at least a downstream and/or upstream message bus specified") - # if agent_dict is not None: - # self.addressable_equipments = agent_dict['addressable_equipment'] - # self.unaddressable_equipments = agent_dict['unaddressable_equipment'] + self._connect() def _connect(self): From 43ff0dac7b541e441324fa1e1219ceb79f606fe2 Mon Sep 17 00:00:00 2001 From: "gridappsd[bot]" Date: Mon, 17 Mar 2025 19:51:59 +0000 Subject: [PATCH 25/28] Bump version to 2025.3.1a6 --- gridappsd-field-bus-lib/info/requirements.txt | 2 +- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gridappsd-field-bus-lib/info/requirements.txt b/gridappsd-field-bus-lib/info/requirements.txt index 8e3e2f9..879d5a7 100644 --- a/gridappsd-field-bus-lib/info/requirements.txt +++ b/gridappsd-field-bus-lib/info/requirements.txt @@ -10,7 +10,7 @@ defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0" docopt==0.6.2 ; python_version >= "3.10" and python_version < "4.0" exceptiongroup==1.2.2 ; python_version == "3.10" executing==2.2.0 ; python_version >= "3.10" and python_version < "4.0" -gridappsd-python==2025.3.1a3 ; python_version >= "3.10" and python_version < "4.0" +gridappsd-python==2025.3.1a4 ; python_version >= "3.10" and python_version < "4.0" idna==3.10 ; python_version >= "3.10" and python_version < "4.0" ipython==8.34.0 ; python_version >= "3.10" and python_version < "4.0" isodate==0.7.2 ; python_version == "3.10" diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index b5ead7a..a66586c 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 = "2025.3.1a4" +version = "2025.3.1a5" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index 691914e..fe2de6c 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.3.1a4" +version = "2025.3.1a5" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 2f316ff..8a61f45 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a5" +version = "2025.3.1a6" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From ab575e62d367a1ec5edb141df52f2120cce11589 Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Tue, 18 Mar 2025 20:34:02 +0000 Subject: [PATCH 26/28] Bump to version 2025.3.1 --- gridappsd-field-bus-lib/pyproject.toml | 2 +- gridappsd-python-lib/pyproject.toml | 2 +- pyproject.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gridappsd-field-bus-lib/pyproject.toml b/gridappsd-field-bus-lib/pyproject.toml index a66586c..3f95a21 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 = "2025.3.1a5" +version = "2025.3.1" description = "GridAPPS-D Field Bus Implementation" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/gridappsd-python-lib/pyproject.toml b/gridappsd-python-lib/pyproject.toml index fe2de6c..c7238cb 100644 --- a/gridappsd-python-lib/pyproject.toml +++ b/gridappsd-python-lib/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python" -version = "2025.3.1a5" +version = "2025.3.1" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", diff --git a/pyproject.toml b/pyproject.toml index 8a61f45..0e864b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "gridappsd-python-workspace" -version = "2025.3.1a6" +version = "2025.3.1" description = "A GridAPPS-D Python Adapter" authors = [ "C. Allwardt <3979063+craig8@users.noreply.github.com>", From b5711625d0752e48a0561ee68fba3c9b1273bf93 Mon Sep 17 00:00:00 2001 From: Craig <3979063+craig8@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:59:17 -0800 Subject: [PATCH 27/28] Add linting instructions to commit guidelines Add linting instructions before committing changes. --- .github/instructions/*.instructions.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/instructions/*.instructions.md diff --git a/.github/instructions/*.instructions.md b/.github/instructions/*.instructions.md new file mode 100644 index 0000000..74dcfb1 --- /dev/null +++ b/.github/instructions/*.instructions.md @@ -0,0 +1 @@ +Please make sure you run pixi run lint before committing attempting to commit anything. From 9b1d55c8d4b109e5a5043794f2d607ec0cda29ee Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Sun, 14 Dec 2025 10:34:12 +0000 Subject: [PATCH 28/28] fix: Dockerfile to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-DEBIAN10-SYSTEMD-3339153 - https://snyk.io/vuln/SNYK-DEBIAN10-SYSTEMD-3339153 - https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-2426310 - https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-2807585 - https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-567125 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 924fabd..6252b06 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ ## Use latest slim Python image. Note that it's built on Debian Stretch. # `python-base` sets up all our shared environment variables -FROM python:3.8.1-slim as python-base +FROM python:3.14.2-slim as python-base ARG GRIDAPPSD_PYTHON_VERSION