python-bsblan 2.2.1__tar.gz → 2.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. python_bsblan-2.2.3/.github/workflows/release.yaml +88 -0
  2. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/PKG-INFO +1 -1
  3. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/pyproject.toml +1 -1
  4. python_bsblan-2.2.1/.github/workflows/release.yaml +0 -54
  5. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.editorconfig +0 -0
  6. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.gitattributes +0 -0
  7. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/CODE_OF_CONDUCT.md +0 -0
  8. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/CONTRIBUTING.md +0 -0
  9. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE.md +0 -0
  10. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  11. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  12. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/LICENSE.md +0 -0
  13. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/labels.yml +0 -0
  14. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/release-drafter.yml +0 -0
  15. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/renovate.json +0 -0
  16. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/codeql.yaml +0 -0
  17. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/labels.yaml +0 -0
  18. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/linting.yaml +0 -0
  19. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/lock.yaml +0 -0
  20. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/pr-labels.yaml +0 -0
  21. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/release-drafter.yaml +0 -0
  22. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/stale.yaml +0 -0
  23. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/tests.yaml +0 -0
  24. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.github/workflows/typing.yaml +0 -0
  25. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.gitignore +0 -0
  26. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.nvmrc +0 -0
  27. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.pre-commit-config.yaml +0 -0
  28. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.prettierignore +0 -0
  29. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/.yamllint +0 -0
  30. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/README.md +0 -0
  31. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/examples/control.py +0 -0
  32. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/examples/ruff.toml +0 -0
  33. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/package-lock.json +0 -0
  34. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/package.json +0 -0
  35. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/sonar-project.properties +0 -0
  36. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/src/bsblan/__init__.py +0 -0
  37. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/src/bsblan/bsblan.py +0 -0
  38. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/src/bsblan/constants.py +0 -0
  39. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/src/bsblan/exceptions.py +0 -0
  40. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/src/bsblan/models.py +0 -0
  41. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/src/bsblan/utility.py +0 -0
  42. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/__init__.py +0 -0
  43. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/conftest.py +0 -0
  44. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/device.json +0 -0
  45. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/dict_version.json +0 -0
  46. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/hot_water_state.json +0 -0
  47. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/info.json +0 -0
  48. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/password.txt +0 -0
  49. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/sensor.json +0 -0
  50. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/state.json +0 -0
  51. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/static_state.json +0 -0
  52. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/thermostat_hvac.json +0 -0
  53. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/fixtures/thermostat_temp.json +0 -0
  54. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/ruff.toml +0 -0
  55. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_api_initialization.py +0 -0
  56. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_api_validation.py +0 -0
  57. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_auth.py +0 -0
  58. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_bsblan.py +0 -0
  59. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_configuration.py +0 -0
  60. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_context_manager.py +0 -0
  61. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_device.py +0 -0
  62. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_dhw_time_switch.py +0 -0
  63. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_entity_info.py +0 -0
  64. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_hotwater_state.py +0 -0
  65. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_info.py +0 -0
  66. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_initialization.py +0 -0
  67. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_reset_validation.py +0 -0
  68. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_sensor.py +0 -0
  69. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_set_hotwater.py +0 -0
  70. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_state.py +0 -0
  71. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_static_state.py +0 -0
  72. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_temperature_unit.py +0 -0
  73. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_temperature_validation.py +0 -0
  74. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_thermostat.py +0 -0
  75. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_utility.py +0 -0
  76. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_utility_additional.py +0 -0
  77. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/tests/test_version_errors.py +0 -0
  78. {python_bsblan-2.2.1 → python_bsblan-2.2.3}/uv.lock +0 -0
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: Release
3
+
4
+ # yamllint disable-line rule:truthy
5
+ on:
6
+ release:
7
+ types:
8
+ - published
9
+
10
+ env:
11
+ DEFAULT_PYTHON: "3.11"
12
+
13
+ jobs:
14
+ release:
15
+ name: Releasing to PyPi
16
+ runs-on: ubuntu-latest
17
+ environment:
18
+ name: release
19
+ url: https://pypi.org/p/python-bsblan
20
+ permissions:
21
+ contents: write
22
+ id-token: write
23
+ steps:
24
+ - name: ⤵️ Check out code from GitHub
25
+ uses: actions/checkout@v4.2.2
26
+ - name: 🏗 Set up uv
27
+ uses: astral-sh/setup-uv@v4
28
+ with:
29
+ enable-cache: true
30
+ - name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }}
31
+ id: python
32
+ uses: actions/setup-python@v5.6.0
33
+ with:
34
+ python-version: ${{ env.DEFAULT_PYTHON }}
35
+ - name: 🏗 Install dependencies
36
+ run: uv sync
37
+ - name: 🏗 Set package version
38
+ run: |
39
+ version="${{ github.event.release.tag_name }}"
40
+ version="${version,,}"
41
+ version="${version#v}"
42
+ sed -i '0,/version = ".*"/{s/version = ".*"/version = "'"${version}"'"/}' pyproject.toml
43
+ - name: 🏗 Build package
44
+ run: uv build
45
+ - name: 🚀 Publish to PyPi
46
+ uses: pypa/gh-action-pypi-publish@v1.12.4
47
+ with:
48
+ verbose: true
49
+ print-hash: true
50
+ - name: ✍️ Sign published artifacts
51
+ uses: sigstore/gh-action-sigstore-python@v3.0.0
52
+ with:
53
+ inputs: ./dist/*.tar.gz ./dist/*.whl
54
+ release-signing-artifacts: false
55
+ - name: 🔍 Verify signature files
56
+ run: |
57
+ # Retry mechanism for file system sync
58
+ max_retries=5
59
+ retry_delay=2
60
+ retries=0
61
+ while [ $retries -lt $max_retries ]; do
62
+ echo "Checking for signature files (attempt $((retries + 1))/$max_retries)..."
63
+ if find ./dist -name "*.sigstore.json" -type f -exec echo "Found: {}" \; -exec ls -la {} \;; then
64
+ echo "Signature files found and listed."
65
+ break
66
+ else
67
+ echo "Files not ready, retrying in $retry_delay seconds..."
68
+ sleep $retry_delay
69
+ retries=$((retries + 1))
70
+ fi
71
+ done
72
+ if [ $retries -eq $max_retries ]; then
73
+ echo "Error: Signature files not found after $max_retries attempts."
74
+ exit 1
75
+ fi
76
+ # Ensure files are not locked or being written to
77
+ for file in ./dist/*.sigstore.json; do
78
+ if [ -f "$file" ]; then
79
+ echo "Checking file: $file"
80
+ # Test file readability
81
+ cat "$file" > /dev/null && echo "✓ File is readable" || echo "✗ File read error"
82
+ fi
83
+ done
84
+ - name: 📤 Upload signature files to release
85
+ uses: softprops/action-gh-release@v2.3.0
86
+ if: github.event_name == 'release' && github.event.action == 'published'
87
+ with:
88
+ files: ./dist/*.sigstore.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-bsblan
3
- Version: 2.2.1
3
+ Version: 2.2.3
4
4
  Summary: Asynchronous Python client for BSBLAN API
5
5
  Project-URL: Homepage, https://github.com/liudger/python-bsblan
6
6
  Project-URL: Repository, https://github.com/liudger/python-bsblan
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-bsblan"
3
- version = "2.2.1"
3
+ version = "2.2.3"
4
4
  description = "Asynchronous Python client for BSBLAN API"
5
5
  authors = [
6
6
  {name = "Willem-Jan van Rootselaar", email = "liudgervr@gmail.com"}
@@ -1,54 +0,0 @@
1
- ---
2
- name: Release
3
-
4
- # yamllint disable-line rule:truthy
5
- on:
6
- release:
7
- types:
8
- - published
9
-
10
- env:
11
- DEFAULT_PYTHON: "3.11"
12
-
13
- jobs:
14
- release:
15
- name: Releasing to PyPi
16
- runs-on: ubuntu-latest
17
- environment:
18
- name: release
19
- url: https://pypi.org/p/python-bsblan
20
- permissions:
21
- contents: write
22
- id-token: write
23
- steps:
24
- - name: ⤵️ Check out code from GitHub
25
- uses: actions/checkout@v4.2.2
26
- - name: 🏗 Set up uv
27
- uses: astral-sh/setup-uv@v4
28
- with:
29
- enable-cache: true
30
- - name: 🏗 Set up Python ${{ env.DEFAULT_PYTHON }}
31
- id: python
32
- uses: actions/setup-python@v5.6.0
33
- with:
34
- python-version: ${{ env.DEFAULT_PYTHON }}
35
- - name: 🏗 Install dependencies
36
- run: uv sync
37
- - name: 🏗 Set package version
38
- run: |
39
- version="${{ github.event.release.tag_name }}"
40
- version="${version,,}"
41
- version="${version#v}"
42
- sed -i '0,/version = ".*"/{s/version = ".*"/version = "'"${version}"'"/}' pyproject.toml
43
- - name: 🏗 Build package
44
- run: uv build
45
- - name: 🚀 Publish to PyPi
46
- uses: pypa/gh-action-pypi-publish@v1.12.4
47
- with:
48
- verbose: true
49
- print-hash: true
50
- - name: ✍️ Sign published artifacts
51
- uses: sigstore/gh-action-sigstore-python@v3.0.0
52
- with:
53
- inputs: ./dist/*.tar.gz ./dist/*.whl
54
- release-signing-artifacts: true
File without changes
File without changes
File without changes
File without changes
File without changes