python-bsblan 2.2.3__tar.gz → 2.2.5__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 (77) hide show
  1. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/codeql.yaml +2 -2
  2. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/release.yaml +62 -3
  3. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/PKG-INFO +1 -1
  4. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/pyproject.toml +1 -1
  5. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.editorconfig +0 -0
  6. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.gitattributes +0 -0
  7. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/CODE_OF_CONDUCT.md +0 -0
  8. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/CONTRIBUTING.md +0 -0
  9. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/ISSUE_TEMPLATE/PULL_REQUEST_TEMPLATE.md +0 -0
  10. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  11. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  12. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/LICENSE.md +0 -0
  13. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/labels.yml +0 -0
  14. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/release-drafter.yml +0 -0
  15. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/renovate.json +0 -0
  16. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/labels.yaml +0 -0
  17. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/linting.yaml +0 -0
  18. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/lock.yaml +0 -0
  19. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/pr-labels.yaml +0 -0
  20. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/release-drafter.yaml +0 -0
  21. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/stale.yaml +0 -0
  22. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/tests.yaml +0 -0
  23. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.github/workflows/typing.yaml +0 -0
  24. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.gitignore +0 -0
  25. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.nvmrc +0 -0
  26. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.pre-commit-config.yaml +0 -0
  27. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.prettierignore +0 -0
  28. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/.yamllint +0 -0
  29. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/README.md +0 -0
  30. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/examples/control.py +0 -0
  31. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/examples/ruff.toml +0 -0
  32. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/package-lock.json +0 -0
  33. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/package.json +0 -0
  34. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/sonar-project.properties +0 -0
  35. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/src/bsblan/__init__.py +0 -0
  36. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/src/bsblan/bsblan.py +0 -0
  37. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/src/bsblan/constants.py +0 -0
  38. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/src/bsblan/exceptions.py +0 -0
  39. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/src/bsblan/models.py +0 -0
  40. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/src/bsblan/utility.py +0 -0
  41. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/__init__.py +0 -0
  42. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/conftest.py +0 -0
  43. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/device.json +0 -0
  44. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/dict_version.json +0 -0
  45. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/hot_water_state.json +0 -0
  46. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/info.json +0 -0
  47. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/password.txt +0 -0
  48. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/sensor.json +0 -0
  49. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/state.json +0 -0
  50. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/static_state.json +0 -0
  51. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/thermostat_hvac.json +0 -0
  52. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/fixtures/thermostat_temp.json +0 -0
  53. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/ruff.toml +0 -0
  54. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_api_initialization.py +0 -0
  55. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_api_validation.py +0 -0
  56. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_auth.py +0 -0
  57. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_bsblan.py +0 -0
  58. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_configuration.py +0 -0
  59. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_context_manager.py +0 -0
  60. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_device.py +0 -0
  61. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_dhw_time_switch.py +0 -0
  62. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_entity_info.py +0 -0
  63. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_hotwater_state.py +0 -0
  64. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_info.py +0 -0
  65. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_initialization.py +0 -0
  66. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_reset_validation.py +0 -0
  67. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_sensor.py +0 -0
  68. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_set_hotwater.py +0 -0
  69. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_state.py +0 -0
  70. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_static_state.py +0 -0
  71. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_temperature_unit.py +0 -0
  72. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_temperature_validation.py +0 -0
  73. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_thermostat.py +0 -0
  74. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_utility.py +0 -0
  75. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_utility_additional.py +0 -0
  76. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/tests/test_version_errors.py +0 -0
  77. {python_bsblan-2.2.3 → python_bsblan-2.2.5}/uv.lock +0 -0
@@ -19,6 +19,6 @@ jobs:
19
19
  - name: ⤵️ Check out code from GitHub
20
20
  uses: actions/checkout@v4.2.2
21
21
  - name: 🏗 Initialize CodeQL
22
- uses: github/codeql-action/init@v3.28.18
22
+ uses: github/codeql-action/init@v3.28.19
23
23
  - name: 🚀 Perform CodeQL Analysis
24
- uses: github/codeql-action/analyze@v3.28.18
24
+ uses: github/codeql-action/analyze@v3.28.19
@@ -79,10 +79,69 @@ jobs:
79
79
  echo "Checking file: $file"
80
80
  # Test file readability
81
81
  cat "$file" > /dev/null && echo "✓ File is readable" || echo "✗ File read error"
82
+ # Ensure file handles are closed
83
+ sync
82
84
  fi
83
85
  done
86
+ # Poll for file system operations to complete
87
+ max_wait_time=30
88
+ wait_interval=2
89
+ waited_time=0
90
+ while [ $waited_time -lt $max_wait_time ]; do
91
+ all_files_ready=true
92
+ for file in ./dist/*.sigstore.json; do
93
+ if [ -f "$file" ]; then
94
+ # Test file readability
95
+ if ! cat "$file" > /dev/null; then
96
+ echo "File $file is not readable yet."
97
+ all_files_ready=false
98
+ break
99
+ fi
100
+ else
101
+ echo "File $file does not exist yet."
102
+ all_files_ready=false
103
+ break
104
+ fi
105
+ done
106
+ if [ "$all_files_ready" = true ]; then
107
+ echo "All files are ready."
108
+ break
109
+ fi
110
+ echo "Waiting for files to be ready..."
111
+ sleep $wait_interval
112
+ waited_time=$((waited_time + wait_interval))
113
+ done
114
+ if [ $waited_time -ge $max_wait_time ]; then
115
+ echo "Error: Files not ready after $max_wait_time seconds."
116
+ exit 1
117
+ fi
118
+ - name: 📋 List signature files explicitly
119
+ id: list-files
120
+ run: |
121
+ echo "signature_files<<EOF" >> $GITHUB_OUTPUT
122
+ find ./dist -name "*.sigstore.json" -type f | tr '\n' '\0' | xargs -0 -I {} echo "{}"
123
+ echo "EOF" >> $GITHUB_OUTPUT
124
+
125
+ # Also create a space-separated list for the upload action
126
+ FILES=$(find ./dist -name "*.sigstore.json" -type f | tr '\n' ' ')
127
+ echo "files_list=$FILES" >> $GITHUB_OUTPUT
128
+ echo "Found files: $FILES"
84
129
  - name: 📤 Upload signature files to release
85
- uses: softprops/action-gh-release@v2.3.0
86
130
  if: github.event_name == 'release' && github.event.action == 'published'
87
- with:
88
- files: ./dist/*.sigstore.json
131
+ run: |
132
+ # Upload files individually to avoid Node.js file handle issues
133
+ for file in ./dist/*.sigstore.json; do
134
+ if [ -f "$file" ]; then
135
+ echo "Uploading $file..."
136
+ # Use GitHub CLI for more reliable uploads
137
+ gh release upload ${{ github.event.release.tag_name }} "$file" --clobber
138
+ if [ $? -ne 0 ]; then
139
+ echo "✗ Failed to upload $file" >&2
140
+ exit 1
141
+ fi
142
+ echo "✓ Uploaded $file"
143
+ sleep 1 # Small delay between uploads
144
+ fi
145
+ done
146
+ env:
147
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-bsblan
3
- Version: 2.2.3
3
+ Version: 2.2.5
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.3"
3
+ version = "2.2.5"
4
4
  description = "Asynchronous Python client for BSBLAN API"
5
5
  authors = [
6
6
  {name = "Willem-Jan van Rootselaar", email = "liudgervr@gmail.com"}
File without changes
File without changes
File without changes
File without changes
File without changes