hostel-protocol-python 0.2.0__tar.gz → 0.2.2__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 (21) hide show
  1. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/.github/workflows/publish.yml +20 -0
  2. hostel_protocol_python-0.2.2/Makefile +28 -0
  3. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/PKG-INFO +3 -3
  4. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/pyproject.toml +7 -5
  5. hostel_protocol_python-0.2.0/Makefile +0 -21
  6. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/.github/workflows/ci.yml +0 -0
  7. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/.gitignore +0 -0
  8. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/client/__init__.py +0 -0
  9. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/client/client.py +0 -0
  10. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/protocol/__init__.py +0 -0
  11. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/protocol/converter.py +0 -0
  12. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/protocol/models.py +0 -0
  13. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/py.typed +0 -0
  14. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/transport/__init__.py +0 -0
  15. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/transport/transport.py +0 -0
  16. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/src/hostel/transport/zeromq.py +0 -0
  17. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/tests/__init__.py +0 -0
  18. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/tests/test_client.py +0 -0
  19. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/tests/test_converter.py +0 -0
  20. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/tests/test_models.py +0 -0
  21. {hostel_protocol_python-0.2.0 → hostel_protocol_python-0.2.2}/tests/test_transport.py +0 -0
@@ -32,6 +32,26 @@ jobs:
32
32
  - name: Set up Python
33
33
  run: uv python install 3.12
34
34
 
35
+ - name: Verify tag matches project version
36
+ run: |
37
+ python - <<'PY'
38
+ import pathlib
39
+ import tomllib
40
+
41
+ tag = "${{ github.ref_name }}"
42
+ version = tomllib.loads(pathlib.Path("pyproject.toml").read_text())["project"]["version"]
43
+ expected = f"v{version}"
44
+
45
+ print(f"Tag: {tag}")
46
+ print(f"Expected tag: {expected}")
47
+
48
+ if tag != expected:
49
+ raise SystemExit(
50
+ "Tag/project version mismatch. "
51
+ f"pyproject.toml has {version}, but pushed tag is {tag}."
52
+ )
53
+ PY
54
+
35
55
  - name: Build package
36
56
  run: uv build
37
57
 
@@ -0,0 +1,28 @@
1
+ .PHONY: install format lint typecheck test build check-tag-version
2
+
3
+ install:
4
+ uv sync --all-groups
5
+
6
+ format:
7
+ uv run black src/ tests/
8
+ uv run ruff check --fix src/ tests/
9
+
10
+ lint:
11
+ uv run ruff check src/ tests/
12
+ uv run black --check src/ tests/
13
+
14
+ typecheck:
15
+ uv run mypy --package hostel.protocol --package hostel.transport --package hostel.client
16
+
17
+ test:
18
+ uv run pytest
19
+
20
+ build:
21
+ uv build
22
+
23
+ check-tag-version:
24
+ @test -n "$(TAG)" || (echo "Usage: make check-tag-version TAG=vX.Y.Z"; exit 1)
25
+ @uv run python -c "import pathlib, sys, tomllib; p=pathlib.Path('pyproject.toml'); v=tomllib.loads(p.read_text())['project']['version']; t='$(TAG)'; expected=f'v{v}';\
26
+ print(f'pyproject version: {v}'); print(f'tag: {t}');\
27
+ sys.exit(0 if t == expected else 1)"
28
+ @echo "Tag and project version are synchronized."
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hostel-protocol-python
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: Pydantic models, transport and client for the Hostel protocol
5
5
  Requires-Python: >=3.12
6
- Requires-Dist: hostel-protocol>=0.1.0
7
- Requires-Dist: protobuf>=7.0
6
+ Requires-Dist: hostel-protocol>=0.2.2
7
+ Requires-Dist: protobuf<8,>=7.35.0
8
8
  Requires-Dist: pydantic>=2.5.0
9
9
  Provides-Extra: client
10
10
  Requires-Dist: pyzmq>=26.0; extra == 'client'
@@ -4,13 +4,13 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hostel-protocol-python"
7
- version = "0.2.0"
7
+ version = "0.2.2"
8
8
  description = "Pydantic models, transport and client for the Hostel protocol"
9
9
  requires-python = ">=3.12"
10
10
  dependencies = [
11
- "hostel-protocol>=0.1.0",
11
+ "hostel-protocol>=0.2.2",
12
12
  "pydantic>=2.5.0",
13
- "protobuf>=7.0",
13
+ "protobuf>=7.35.0,<8",
14
14
  ]
15
15
 
16
16
  [project.optional-dependencies]
@@ -45,6 +45,8 @@ select = ["E", "F", "I", "W"]
45
45
  python_version = "3.12"
46
46
  strict = true
47
47
  plugins = ["pydantic.mypy"]
48
+ mypy_path = "src"
49
+ explicit_package_bases = true
48
50
 
49
51
  [[tool.mypy.overrides]]
50
52
  module = "hostel.protocol.v1.*"
@@ -59,5 +61,5 @@ testpaths = ["tests"]
59
61
  addopts = "--cov=hostel --cov-report=term-missing"
60
62
 
61
63
  [tool.uv]
62
- constraint-dependencies = ["protobuf>=7.0"]
63
- override-dependencies = ["protobuf>=7.0"]
64
+ constraint-dependencies = ["protobuf>=7.35.0,<8"]
65
+ override-dependencies = ["protobuf>=7.35.0,<8"]
@@ -1,21 +0,0 @@
1
- .PHONY: install format lint typecheck test build
2
-
3
- install:
4
- uv sync --all-groups
5
-
6
- format:
7
- uv run black src/ tests/
8
- uv run ruff check --fix src/ tests/
9
-
10
- lint:
11
- uv run ruff check src/ tests/
12
- uv run black --check src/ tests/
13
-
14
- typecheck:
15
- uv run mypy --package hostel.protocol --package hostel.transport --package hostel.client
16
-
17
- test:
18
- uv run pytest
19
-
20
- build:
21
- uv build