Skip to content

Commit 8505405

Browse files
committed
Merge branch 'v2.3'
2 parents e868681 + b0b4e4d commit 8505405

31 files changed

+626
-239
lines changed

.github/workflows/deploy.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ name: Deploy to PyPi
22
on:
33
push:
44
tags:
5-
- 'v*'
5+
- "v*"
66
jobs:
77
build:
88
name: Build Wheels and Package 🛠️
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Checkout Code
1212
uses: actions/checkout@v5
13-
- name: Set up Python 3.12
13+
- name: Set up Python 3.x
1414
uses: actions/setup-python@v6
1515
with:
1616
python-version: "3.x"
@@ -84,6 +84,8 @@ jobs:
8484
inputs: >-
8585
./dist/*.tar.gz
8686
./dist/*.whl
87+
- name: Checkout Code
88+
uses: actions/checkout@v5
8789
- name: Create GitHub Release
8890
env:
8991
GITHUB_TOKEN: ${{ github.token }}
@@ -99,7 +101,7 @@ jobs:
99101
exit
100102
}
101103
}
102-
header_found == 1 && /^\* / { print }
104+
header_found == 1 && /^\- / { print }
103105
' CHANGELOG.md)
104106
gh release create
105107
'${{ github.ref_name }}'

.github/workflows/test_client_macos_nightlies.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,30 @@ jobs:
161161
python -m pytest -x
162162
-m config -c /dev/null -p no:warnings
163163
-n 8 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
164+
scenario_tests:
165+
runs-on: ubuntu-latest
166+
timeout-minutes: 30
167+
steps:
168+
- uses: actions/checkout@v5
169+
- name: Set up Python 3.14
170+
uses: actions/setup-python@v6
171+
with:
172+
python-version: "3.14"
173+
- name: Install dependencies
174+
run: |
175+
python -m pip install poetry
176+
poetry self add poetry-plugin-export
177+
poetry export -f requirements.txt --with dev -o requirements.txt --all-extras
178+
python -m pip install -r requirements.txt
179+
python -m pip install .
180+
- name: Test with pytest
181+
env:
182+
SIMVUE_URL: ${{ secrets.SIMVUE_URL }}
183+
SIMVUE_TOKEN: ${{ secrets.SIMVUE_TOKEN }}
184+
run: >-
185+
python -m pytest -x
186+
-m "scenario and not run" -c /dev/null -p no:warnings
187+
-n 0 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
164188
executor_tests:
165189
runs-on: ubuntu-latest
166190
timeout-minutes: 30

.github/workflows/test_client_ubuntu.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,30 @@ jobs:
166166
python -m pytest -x
167167
-m config -c /dev/null -p no:warnings
168168
-n 8 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
169+
scenario_tests:
170+
runs-on: ubuntu-latest
171+
timeout-minutes: 30
172+
steps:
173+
- uses: actions/checkout@v5
174+
- name: Set up Python 3.14
175+
uses: actions/setup-python@v6
176+
with:
177+
python-version: "3.14"
178+
- name: Install dependencies
179+
run: |
180+
python -m pip install poetry
181+
poetry self add poetry-plugin-export
182+
poetry export -f requirements.txt --with dev -o requirements.txt --all-extras
183+
python -m pip install -r requirements.txt
184+
python -m pip install .
185+
- name: Test with pytest
186+
env:
187+
SIMVUE_URL: ${{ secrets.SIMVUE_URL }}
188+
SIMVUE_TOKEN: ${{ secrets.SIMVUE_TOKEN }}
189+
run: >-
190+
python -m pytest -x
191+
-m "scenario and not run" -c /dev/null -p no:warnings
192+
-n 0 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
169193
executor_tests:
170194
runs-on: ubuntu-latest
171195
timeout-minutes: 30

.github/workflows/test_client_ubuntu_nightlies.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,30 @@ jobs:
164164
python -m pytest -x
165165
-m config -c /dev/null -p no:warnings
166166
-n 8 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
167+
scenario_tests:
168+
runs-on: ubuntu-latest
169+
timeout-minutes: 30
170+
steps:
171+
- uses: actions/checkout@v5
172+
- name: Set up Python 3.14
173+
uses: actions/setup-python@v6
174+
with:
175+
python-version: "3.14"
176+
- name: Install dependencies
177+
run: |
178+
python -m pip install poetry
179+
poetry self add poetry-plugin-export
180+
poetry export -f requirements.txt --with dev -o requirements.txt --all-extras
181+
python -m pip install -r requirements.txt
182+
python -m pip install .
183+
- name: Test with pytest
184+
env:
185+
SIMVUE_URL: ${{ secrets.SIMVUE_URL }}
186+
SIMVUE_TOKEN: ${{ secrets.SIMVUE_TOKEN }}
187+
run: >-
188+
python -m pytest -x
189+
-m "scenario and not run" -c /dev/null -p no:warnings
190+
-n 0 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
167191
executor_tests:
168192
runs-on: ubuntu-latest
169193
timeout-minutes: 30

.github/workflows/test_client_windows_nightlies.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,30 @@ jobs:
167167
-m 'config and not unix' -c /dev/null -p no:warnings
168168
-n 8 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
169169
shell: pwsh
170+
scenario_tests:
171+
runs-on: ubuntu-latest
172+
timeout-minutes: 30
173+
steps:
174+
- uses: actions/checkout@v5
175+
- name: Set up Python 3.14
176+
uses: actions/setup-python@v6
177+
with:
178+
python-version: "3.14"
179+
- name: Install dependencies
180+
run: |
181+
python -m pip install poetry
182+
poetry self add poetry-plugin-export
183+
poetry export -f requirements.txt --with dev -o requirements.txt --all-extras
184+
python -m pip install -r requirements.txt
185+
python -m pip install .
186+
- name: Test with pytest
187+
env:
188+
SIMVUE_URL: ${{ secrets.SIMVUE_URL }}
189+
SIMVUE_TOKEN: ${{ secrets.SIMVUE_TOKEN }}
190+
run: >-
191+
python -m pytest -x
192+
-m scenario -c /dev/null -p no:warnings
193+
-n 0 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
170194
executor_tests:
171195
runs-on: windows-latest
172196
timeout-minutes: 30

.github/workflows/test_multiple_python.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,30 @@ jobs:
194194
python -m pytest -x
195195
-m config -c /dev/null -p no:warnings
196196
-n 8 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
197+
scenario_tests:
198+
runs-on: ubuntu-latest
199+
timeout-minutes: 30
200+
steps:
201+
- uses: actions/checkout@v5
202+
- name: Set up Python 3.14
203+
uses: actions/setup-python@v6
204+
with:
205+
python-version: "3.14"
206+
- name: Install dependencies
207+
run: |
208+
python -m pip install poetry
209+
poetry self add poetry-plugin-export
210+
poetry export -f requirements.txt --with dev -o requirements.txt --all-extras
211+
python -m pip install -r requirements.txt
212+
python -m pip install .
213+
- name: Test with pytest
214+
env:
215+
SIMVUE_URL: ${{ secrets.SIMVUE_URL }}
216+
SIMVUE_TOKEN: ${{ secrets.SIMVUE_TOKEN }}
217+
run: >-
218+
python -m pytest -x
219+
-m "scenario and not run" -c /dev/null -p no:warnings
220+
-n 0 -v -o cache_dir=${GITHUB_WORKSPACE}/.pytest-cache
197221
executor_tests:
198222
runs-on: ubuntu-latest
199223
name: Executor Tests

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ repos:
2323
args: [--branch, main, --branch, dev]
2424
- id: check-added-large-files
2525
- repo: https://github.com/astral-sh/ruff-pre-commit
26-
rev: v0.14.8
26+
rev: v0.14.14
2727
hooks:
2828
- id: ruff
2929
args: [ --fix, --exit-non-zero-on-fix, "--ignore=C901" ]
@@ -35,7 +35,7 @@ repos:
3535
pass_filenames: false
3636

3737
- repo: https://github.com/PyCQA/bandit.git
38-
rev: 1.9.2
38+
rev: 1.9.3
3939
hooks:
4040
- id: bandit
4141
args: [-lll, --recursive, clumper]

CHANGELOG.md

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,39 @@
11
# Change Log
22

3-
## [v2.3.1](https://github.com/simvue-io/client/releases/tag/v2.3.1) - 2026-01-30
3+
## [v2.3.2](https://github.com/simvue-io/python-api/releases/tag/v2.3.2) - 2026-02-10
4+
5+
- Add handling of metrics based on size and enforce 10k points per grid metric as per server.
6+
- Freeze `flatdict==4.0.0` do address install issues.
7+
8+
## [v2.3.1](https://github.com/simvue-io/python-api/releases/tag/v2.3.1) - 2026-01-30
49

510
- Allow negative time when logging simulation metrics.
611

7-
## [v2.3.0](https://github.com/simvue-io/client/releases/tag/v2.3.0) - 2025-12-11
12+
## [v2.3.0](https://github.com/simvue-io/python-api/releases/tag/v2.3.0) - 2025-12-11
813

914
- Refactored sender functionality introducing new `Sender` class.
1015
- Added missing `created` property to `User` and `Tenant` LLAPI objects.
1116

12-
## [v2.2.4](https://github.com/simvue-io/client/releases/tag/v2.2.4) - 2025-11-13
17+
## [v2.2.4](https://github.com/simvue-io/python-api/releases/tag/v2.2.4) - 2025-11-13
1318

1419
- Added fixes for future servers which disallow extra arguments in requests.
1520

16-
## [v2.2.3](https://github.com/simvue-io/client/releases/tag/v2.2.3) - 2025-11-10
21+
## [v2.2.3](https://github.com/simvue-io/python-api/releases/tag/v2.2.3) - 2025-11-10
1722

1823
- Use `msgpack` for `GridMetrics` in a manner similar to `Metrics`.
1924
- Fix incorrect setting of global log level.
2025
- Fix alert duplication in offline mode and other offline fixes.
2126

22-
## [v2.2.2](https://github.com/simvue-io/client/releases/tag/v2.2.2) - 2025-10-14
27+
## [v2.2.2](https://github.com/simvue-io/python-api/releases/tag/v2.2.2) - 2025-10-14
2328

2429
- Enforced use of UTC for all datetime recording.
2530
- Added support for Python3.14.
2631

27-
## ~~[v2.2.1](https://github.com/simvue-io/client/releases/tag/v2.2.1) - 2025-10-13~~
32+
## ~~[v2.2.1](https://github.com/simvue-io/python-api/releases/tag/v2.2.1) - 2025-10-13~~
2833

2934
**Broken release yanked from PyPi**
3035

31-
## [v2.2.0](https://github.com/simvue-io/client/releases/tag/v2.2.0) - 2025-09-22
36+
## [v2.2.0](https://github.com/simvue-io/python-api/releases/tag/v2.2.0) - 2025-09-22
3237

3338
- Improves handling of Conda based environments in metadata collection.
3439
- Adds additional options to `Client.get_runs`.
@@ -37,7 +42,7 @@
3742
- Improves checks on `offline.cache` directory specification in config file.
3843
- Added ability to upload multiple runs as a batch via the low level API.
3944

40-
## [v2.1.2](https://github.com/simvue-io/client/releases/tag/v2.1.2) - 2025-06-25
45+
## [v2.1.2](https://github.com/simvue-io/python-api/releases/tag/v2.1.2) - 2025-06-25
4146

4247
- Fixed issue in downloading files from tenant runs.
4348
- Fixed bug in pagination whereby the count value specified by the user is ignored.
@@ -47,7 +52,7 @@
4752
- Ensured all threads have `daemon=True` to prevent hanging on termination.
4853
- Added error when `close()` method is called within the `simvue.Run` context manager.
4954

50-
## [v2.1.1](https://github.com/simvue-io/client/releases/tag/v2.1.1) - 2025-04-25
55+
## [v2.1.1](https://github.com/simvue-io/python-api/releases/tag/v2.1.1) - 2025-04-25
5156

5257
- Changed from CO2 Signal to ElectricityMaps
5358
- Fixed a number of bugs in how offline mode is handled with emissions
@@ -56,18 +61,18 @@
5661
- Fixed bug in setting visibility in `run.init` method
5762
- Default setting in `Client.get_runs` is now `show_shared=True`
5863

59-
## [v2.1.0](https://github.com/simvue-io/client/releases/tag/v2.1.0) - 2025-03-28
64+
## [v2.1.0](https://github.com/simvue-io/python-api/releases/tag/v2.1.0) - 2025-03-28
6065

6166
- Removed CodeCarbon dependence in favour of a slimmer solution using the CO2 Signal API.
6267
- Added sorting to server queries, users can now specify to sort by columns during data retrieval from the database.
6368
- Added pagination of results from server to reduce await time in responses.
6469
- Added equivalent of folder details modification function to `Client` class.
6570

66-
## [v2.0.1](https://github.com/simvue-io/client/releases/tag/v2.0.1) - 2025-03-24
71+
## [v2.0.1](https://github.com/simvue-io/python-api/releases/tag/v2.0.1) - 2025-03-24
6772

6873
- Improvements to docstrings on methods, classes and functions.
6974

70-
## [v2.0.0](https://github.com/simvue-io/client/releases/tag/v2.0.0) - 2025-03-07
75+
## [v2.0.0](https://github.com/simvue-io/python-api/releases/tag/v2.0.0) - 2025-03-07
7176

7277
- Add new example notebooks
7378
- Update and refactor examples to work with v2.0
@@ -305,6 +310,6 @@
305310

306311
- The previous `Simvue` class has been split into `Run` and `Client`. When creating a run use the new `Run` class rather than `Simvue`.
307312

308-
## [v0.1.0](https://github.com/simvue-io/client/releases/tag/v0.1.0) - 2022-10-25
313+
## [v0.1.0](https://github.com/simvue-io/python-api/releases/tag/v0.1.0) - 2022-10-25
309314

310315
- First release.

CITATION.cff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ keywords:
4242
- alerting
4343
- simulation
4444
license: Apache-2.0
45-
commit: ef738fec3a98c0b59b73d1ce6bfbc22be7a1d5bc
46-
version: 2.3.1
47-
date-released: '2026-01-30'
45+
commit: 8d382632a6ccfb9ba04edf56f46a854b20921674
46+
version: 2.3.2
47+
date-released: '2026-02-10'

poetry.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)