plexus-python 0.9.0__tar.gz → 0.9.1__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.
- {plexus_python-0.9.0 → plexus_python-0.9.1}/.github/workflows/publish.yml +17 -3
- {plexus_python-0.9.0 → plexus_python-0.9.1}/CHANGELOG.md +11 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/PKG-INFO +1 -1
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/__init__.py +1 -1
- {plexus_python-0.9.0 → plexus_python-0.9.1}/pyproject.toml +1 -1
- {plexus_python-0.9.0 → plexus_python-0.9.1}/scripts/release.sh +13 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/.github/workflows/ci.yml +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/.gitignore +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/AGENTS.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/API.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/CODE_OF_CONDUCT.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/CONTRIBUTING.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/LICENSE +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/README.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/SECURITY.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/TODO.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/.python-version +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/README.md +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/basic.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/can.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/i2c_bme280.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/mac_metrics.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/mavlink.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/mqtt.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/pyproject.toml +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/thermal_camera.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/examples/uv.lock +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/_log.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/buffer.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/cameras/__init__.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/cameras/thermal.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/cli.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/client.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/config.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/plexus/ws.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/scripts/plexus.service +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/scripts/scan_buses.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/scripts/setup.sh +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_basic.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_buffer.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_config.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_retry.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_thermal.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_video.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/tests/test_ws.py +0 -0
- {plexus_python-0.9.0 → plexus_python-0.9.1}/uv.lock +0 -0
|
@@ -30,10 +30,24 @@ jobs:
|
|
|
30
30
|
match = re.search(r'^version\s*=\s*\"(.+?)\"', f.read(), re.MULTILINE)
|
|
31
31
|
print(match.group(1))
|
|
32
32
|
")
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
INIT_VERSION=$(python -c "
|
|
34
|
+
import re
|
|
35
|
+
with open('plexus/__init__.py') as f:
|
|
36
|
+
match = re.search(r'^__version__\s*=\s*\"(.+?)\"', f.read(), re.MULTILINE)
|
|
37
|
+
print(match.group(1))
|
|
38
|
+
")
|
|
39
|
+
echo "Git tag version: $TAG"
|
|
40
|
+
echo "pyproject.toml: $CODE_VERSION"
|
|
41
|
+
echo "plexus/__init__.py: $INIT_VERSION"
|
|
35
42
|
if [ "$TAG" != "$CODE_VERSION" ]; then
|
|
36
|
-
echo "::error::Tag v$TAG does not match
|
|
43
|
+
echo "::error::Tag v$TAG does not match pyproject.toml version $CODE_VERSION"
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
# 0.9.0 shipped to PyPI with __version__ still reading 0.8.0: the CI
|
|
47
|
+
# job that checks this does not gate publish, and this job only read
|
|
48
|
+
# pyproject.toml. Check it here, where it can actually stop an upload.
|
|
49
|
+
if [ "$TAG" != "$INIT_VERSION" ]; then
|
|
50
|
+
echo "::error::Tag v$TAG does not match plexus/__init__.py version $INIT_VERSION"
|
|
37
51
|
exit 1
|
|
38
52
|
fi
|
|
39
53
|
|
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.9.1] - 2026-08-27 - Version sync
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- `plexus.__version__` reported `0.8.0` in the 0.9.0 release. The release script
|
|
10
|
+
and the publish workflow both validated `pyproject.toml` only; the CI job that
|
|
11
|
+
compares the two version sites does not gate publishing, so it failed after the
|
|
12
|
+
upload had already gone out. Both gates now check `plexus/__init__.py` too.
|
|
13
|
+
0.9.0 is functionally identical to this release — only the reported version
|
|
14
|
+
string was wrong.
|
|
15
|
+
|
|
5
16
|
## [0.9.0] - 2026-08-27 - Flexible values and the real slug rule
|
|
6
17
|
|
|
7
18
|
Two fixes for data that looked like it was sent but never arrived, plus the
|
|
@@ -10,5 +10,5 @@ Plexus — thin Python SDK for sending telemetry to the Plexus gateway.
|
|
|
10
10
|
from plexus.client import AuthenticationError, Plexus, PlexusError, read_mjpeg_frames
|
|
11
11
|
from plexus.config import RetryConfig
|
|
12
12
|
|
|
13
|
-
__version__ = "0.
|
|
13
|
+
__version__ = "0.9.1"
|
|
14
14
|
__all__ = ["AuthenticationError", "Plexus", "PlexusError", "RetryConfig", "read_mjpeg_frames"]
|
|
@@ -31,6 +31,19 @@ if [[ "$CODE_VERSION" != "$VERSION" ]]; then
|
|
|
31
31
|
exit 1
|
|
32
32
|
fi
|
|
33
33
|
|
|
34
|
+
# plexus/__init__.py carries its own __version__, and it is what users read
|
|
35
|
+
# back when you ask them what they are running. Keep it in lockstep.
|
|
36
|
+
INIT_VERSION=$(python3 -c "
|
|
37
|
+
import re
|
|
38
|
+
with open('plexus/__init__.py') as f:
|
|
39
|
+
m = re.search(r'^__version__\s*=\s*\"(.+?)\"', f.read(), re.MULTILINE)
|
|
40
|
+
print(m.group(1))
|
|
41
|
+
")
|
|
42
|
+
if [[ "$INIT_VERSION" != "$VERSION" ]]; then
|
|
43
|
+
echo "Error: plexus/__init__.py has version $INIT_VERSION, expected $VERSION" >&2
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
34
47
|
# Extract release title suffix (the part after the date, e.g. "Video input broadening and wire safety")
|
|
35
48
|
TITLE_SUFFIX=$(grep "## \[$VERSION\]" CHANGELOG.md | sed 's/.*[0-9] - //')
|
|
36
49
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|