katcp-codec 0.1.0b2__tar.gz → 0.2.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.
Files changed (54) hide show
  1. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/.github/workflows/test.yml +43 -39
  2. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/.pre-commit-config.yaml +9 -19
  3. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/.readthedocs.yml +4 -2
  4. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/Cargo.lock +494 -364
  5. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/Cargo.toml +9 -4
  6. {katcp_codec-0.1.0b2/python/katcp_codec.egg-info → katcp_codec-0.2.1}/PKG-INFO +2 -1
  7. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/benches/bench_format.rs +4 -2
  8. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/benches/bench_parse.rs +6 -4
  9. katcp_codec-0.2.1/crates/fsm/Cargo.lock +185 -0
  10. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/crates/fsm/Cargo.toml +1 -1
  11. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/crates/fsm/src/lib.rs +6 -1
  12. katcp_codec-0.2.1/doc/changelog.rst +32 -0
  13. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/installation.rst +1 -1
  14. katcp_codec-0.2.1/doc-requirements.txt +60 -0
  15. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/pyproject.toml +24 -8
  16. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec/__init__.py +4 -2
  17. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec/_lib.pyi +8 -6
  18. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1/python/katcp_codec.egg-info}/PKG-INFO +2 -1
  19. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec.egg-info/SOURCES.txt +1 -0
  20. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec.egg-info/requires.txt +1 -0
  21. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/tests/test_format.py +2 -2
  22. katcp_codec-0.2.1/python/tests/test_message.py +46 -0
  23. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/tests/test_parse.py +7 -4
  24. katcp_codec-0.2.1/requirements.txt +63 -0
  25. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/src/format.rs +45 -1
  26. katcp_codec-0.2.1/src/message.rs +124 -0
  27. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/src/parse.rs +128 -108
  28. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/src/test.rs +19 -3
  29. katcp_codec-0.1.0b2/crates/fsm/Cargo.lock +0 -309
  30. katcp_codec-0.1.0b2/doc/changelog.rst +0 -10
  31. katcp_codec-0.1.0b2/doc-requirements.txt +0 -66
  32. katcp_codec-0.1.0b2/requirements.txt +0 -52
  33. katcp_codec-0.1.0b2/src/message.rs +0 -194
  34. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/.ci/before_all_linux.sh +0 -0
  35. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/.github/dependabot.yml +0 -0
  36. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/.gitignore +0 -0
  37. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/README.md +0 -0
  38. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/build.rs +0 -0
  39. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/.gitignore +0 -0
  40. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/Makefile +0 -0
  41. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/conf.py +0 -0
  42. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/design.rst +0 -0
  43. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/index.rst +0 -0
  44. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/introduction.rst +0 -0
  45. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/katcp_codec.rst +0 -0
  46. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/modules.rst +0 -0
  47. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/doc/usage.rst +0 -0
  48. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec/py.typed +0 -0
  49. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec.egg-info/dependency_links.txt +0 -0
  50. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/python/katcp_codec.egg-info/top_level.txt +0 -0
  51. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/setup.cfg +0 -0
  52. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/src/binding.rs +0 -0
  53. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/src/lib.rs +0 -0
  54. {katcp_codec-0.1.0b2 → katcp_codec-0.2.1}/src/tables.rs +0 -0
@@ -4,17 +4,17 @@ concurrency:
4
4
  group: test-${{ github.ref }}
5
5
  cancel-in-progress: true
6
6
  env:
7
- RUST_VERSION: '1.76.0'
7
+ RUST_VERSION: '1.96.0'
8
8
  MIN_PYTHON_VERSION: '3.8'
9
- MAX_PYTHON_VERSION: '3.12'
9
+ MAX_PYTHON_VERSION: '3.14'
10
10
  jobs:
11
11
  pre-commit:
12
- runs-on: ubuntu-22.04
12
+ runs-on: ubuntu-24.04
13
13
  steps:
14
- - uses: actions/checkout@v4
15
- - uses: actions/setup-python@v5
14
+ - uses: actions/checkout@v6
15
+ - uses: actions/setup-python@v6
16
16
  with:
17
- python-version: ${{ env.MIN_PYTHON_VERSION }}
17
+ python-version: ${{ env.MAX_PYTHON_VERSION }}
18
18
  cache: 'pip'
19
19
  - uses: dtolnay/rust-toolchain@v1
20
20
  with:
@@ -27,12 +27,12 @@ jobs:
27
27
  run: pre-commit run --all-files
28
28
 
29
29
  docs:
30
- runs-on: ubuntu-22.04
30
+ runs-on: ubuntu-24.04
31
31
  steps:
32
- - uses: actions/checkout@v4
33
- - uses: actions/setup-python@v5
32
+ - uses: actions/checkout@v6
33
+ - uses: actions/setup-python@v6
34
34
  with:
35
- python-version: ${{ env.MIN_PYTHON_VERSION }}
35
+ python-version: ${{ env.MAX_PYTHON_VERSION }}
36
36
  cache: 'pip'
37
37
  - uses: dtolnay/rust-toolchain@v1
38
38
  with:
@@ -49,10 +49,10 @@ jobs:
49
49
  run: SPHINX_OPTS="-W --keep-going" make -C doc html
50
50
 
51
51
  rust-tests:
52
- runs-on: ubuntu-22.04
52
+ runs-on: ubuntu-24.04
53
53
  steps:
54
- - uses: actions/checkout@v4
55
- - uses: actions/setup-python@v5
54
+ - uses: actions/checkout@v6
55
+ - uses: actions/setup-python@v6
56
56
  with:
57
57
  python-version: ${{ env.MAX_PYTHON_VERSION }}
58
58
  - uses: dtolnay/rust-toolchain@v1
@@ -68,11 +68,11 @@ jobs:
68
68
  strategy:
69
69
  fail-fast: false
70
70
  matrix:
71
- python: ['3.8', '3.9', '3.10', '3.11', '3.12']
72
- runs-on: ubuntu-22.04
71
+ python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
72
+ runs-on: ubuntu-24.04
73
73
  steps:
74
- - uses: actions/checkout@v4
75
- - uses: actions/setup-python@v5
74
+ - uses: actions/checkout@v6
75
+ - uses: actions/setup-python@v6
76
76
  with:
77
77
  python-version: ${{ matrix.python }}
78
78
  cache: 'pip'
@@ -93,25 +93,27 @@ jobs:
93
93
  fail-fast: false
94
94
  matrix:
95
95
  arch: [x86_64, aarch64]
96
- python: [cp38] # Using limited ABI, so newer versions are not required
97
- runs-on: ubuntu-22.04
96
+ python: [cp38, cp39, cp310, cp311] # From 3.11 we can use the limited ABI
97
+ # Set os based on arch
98
+ include:
99
+ - arch: x86_64
100
+ os: ubuntu-24.04
101
+ - arch: aarch64
102
+ os: ubuntu-24.04-arm
103
+ runs-on: ${{ matrix.os }}
98
104
  steps:
99
- - uses: actions/checkout@v4
105
+ - uses: actions/checkout@v6
100
106
  with:
101
107
  fetch-depth: 0
102
- - uses: docker/setup-qemu-action@v3
103
- with:
104
- platforms: arm64
105
- if: matrix.arch != 'x86_64'
106
108
  - uses: dtolnay/rust-toolchain@v1
107
109
  with:
108
110
  toolchain: ${{ env.RUST_VERSION }}
109
111
  - uses: Swatinem/rust-cache@v2
110
- - uses: pypa/cibuildwheel@v2.17.0
112
+ - uses: pypa/cibuildwheel@v3.4.0
111
113
  env:
112
114
  CIBW_ARCHS: ${{ matrix.arch }}
113
115
  CIBW_BUILD: ${{ matrix.python }}-manylinux*
114
- - uses: actions/upload-artifact@v4
116
+ - uses: actions/upload-artifact@v7
115
117
  with:
116
118
  name: wheel_linux-${{ matrix.arch }}-${{ matrix.python }}
117
119
  path: ./wheelhouse/*.whl
@@ -122,10 +124,12 @@ jobs:
122
124
  fail-fast: false
123
125
  matrix:
124
126
  arch: [x86_64, arm64]
125
- python: [cp38] # Using limited ABI, so newer versions are not required
127
+ python: [cp38, cp39, cp310, cp311] # From 3.11 we can use the limited ABI
128
+ env:
129
+ MACOSX_DEPLOYMENT_TARGET: "10.12" # Seems to be needed due to Rust version
126
130
  runs-on: macos-14
127
131
  steps:
128
- - uses: actions/checkout@v4
132
+ - uses: actions/checkout@v6
129
133
  with:
130
134
  fetch-depth: 0
131
135
  - uses: dtolnay/rust-toolchain@v1
@@ -135,28 +139,28 @@ jobs:
135
139
  - name: Install x86_64 Rust compiler
136
140
  run: rustup target add x86_64-apple-darwin
137
141
  if: matrix.arch == 'x86_64'
138
- - uses: actions/setup-python@v5
142
+ - uses: actions/setup-python@v6
139
143
  with:
140
144
  python-version: ${{ env.MAX_PYTHON_VERSION }}
141
145
  cache: 'pip'
142
146
  - name: Install pipx
143
147
  run: pip install pipx
144
- - uses: pypa/cibuildwheel@v2.17.0
148
+ - uses: pypa/cibuildwheel@v3.4.0
145
149
  env:
146
150
  CIBW_ARCHS: ${{ matrix.arch }}
147
151
  CIBW_BUILD: ${{ matrix.python }}-macos*
148
- - uses: actions/upload-artifact@v4
152
+ - uses: actions/upload-artifact@v7
149
153
  with:
150
154
  name: wheel_macos-${{ matrix.arch }}-${{ matrix.python }}
151
155
  path: ./wheelhouse/*.whl
152
156
 
153
157
  sdist:
154
- runs-on: ubuntu-22.04
158
+ runs-on: ubuntu-24.04
155
159
  steps:
156
- - uses: actions/checkout@v4
160
+ - uses: actions/checkout@v6
157
161
  with:
158
162
  fetch-depth: 0
159
- - uses: actions/setup-python@v5
163
+ - uses: actions/setup-python@v6
160
164
  with:
161
165
  python-version: ${{ env.MIN_PYTHON_VERSION }}
162
166
  cache: 'pip'
@@ -164,28 +168,28 @@ jobs:
164
168
  run: pip install -c requirements.txt build
165
169
  - name: build sdist
166
170
  run: python -m build --sdist .
167
- - uses: actions/upload-artifact@v4
171
+ - uses: actions/upload-artifact@v7
168
172
  with:
169
173
  name: sdist
170
174
  path: ./dist/*.tar.gz
171
175
 
172
176
  combine-wheels:
173
177
  needs: [linux-wheels, macos-wheels, sdist]
174
- runs-on: ubuntu-22.04
178
+ runs-on: ubuntu-24.04
175
179
  steps:
176
180
  - name: Create paths
177
181
  run: mkdir -p dist wheelhouse
178
- - uses: actions/download-artifact@v4
182
+ - uses: actions/download-artifact@v8
179
183
  with:
180
184
  pattern: wheel_*
181
185
  path: wheelhouse/
182
186
  merge-multiple: true
183
- - uses: actions/download-artifact@v4
187
+ - uses: actions/download-artifact@v8
184
188
  with:
185
189
  name: sdist
186
190
  path: dist/
187
191
  merge-multiple: true
188
- - uses: actions/upload-artifact@v4
192
+ - uses: actions/upload-artifact@v7
189
193
  with:
190
194
  name: release
191
195
  path: |
@@ -4,21 +4,13 @@ repos:
4
4
  hooks:
5
5
  - id: fmt
6
6
  - id: clippy
7
- - repo: https://github.com/psf/black
8
- rev: 24.3.0
9
- hooks:
10
- - id: black
11
- - repo: https://github.com/pycqa/isort
12
- rev: 5.13.2
13
- hooks:
14
- - id: isort
15
- args: ["--filter-files"]
16
7
  - repo: https://github.com/astral-sh/ruff-pre-commit
17
- rev: v0.3.3
8
+ rev: v0.14.2
18
9
  hooks:
19
- - id: ruff
10
+ - id: ruff-check
11
+ - id: ruff-format
20
12
  - repo: https://github.com/pre-commit/mirrors-mypy
21
- rev: v1.9.0
13
+ rev: v1.18.2
22
14
  hooks:
23
15
  - id: mypy
24
16
  # Passing filenames to mypy can do odd things.
@@ -27,16 +19,14 @@ repos:
27
19
  # The pre-commit hook passes some options, but we set options in pyproject.toml.
28
20
  args: []
29
21
  additional_dependencies:
30
- - pytest==8.1.1
31
- - repo: https://github.com/jazzband/pip-tools
32
- rev: 7.4.1
22
+ - pytest==8.3.5
23
+ - repo: https://github.com/astral-sh/uv-pre-commit
24
+ rev: 0.9.8
33
25
  hooks:
34
26
  - id: pip-compile
35
- language_version: python3.8
36
- args: ["--output-file=requirements.txt", "--extra=dev", "--strip-extras", "pyproject.toml"]
27
+ args: ["--output-file=requirements.txt", "--python-version=3.8", "--universal", "--extra=dev", "pyproject.toml"]
37
28
  files: '^(pyproject\.toml|requirements\.txt)$'
38
29
  - id: pip-compile
39
30
  name: pip-compile doc-requirements
40
- language_version: python3.8
41
- args: ["--output-file=doc-requirements.txt", "--extra=doc", "--strip-extras", "pyproject.toml"]
31
+ args: ["--output-file=doc-requirements.txt", "--python-version=3.12", "--extra=doc", "pyproject.toml"]
42
32
  files: '^(pyproject\.toml|doc-requirements\.txt)$'
@@ -15,13 +15,15 @@
15
15
  ################################################################################
16
16
 
17
17
  version: 2
18
+ sphinx:
19
+ configuration: doc/conf.py
18
20
  build:
19
- os: ubuntu-22.04
21
+ os: ubuntu-24.04
20
22
  apt_packages:
21
23
  - pdf2svg # For sphinxcontrib-tikz
22
24
  tools:
23
25
  python: "3.12"
24
- rust: "1.75"
26
+ rust: "1.86"
25
27
 
26
28
  python:
27
29
  install: