katcp-codec 0.1.0b2__tar.gz → 0.2.0__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 (53) hide show
  1. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/.github/workflows/test.yml +20 -16
  2. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/.pre-commit-config.yaml +9 -19
  3. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/.readthedocs.yml +4 -2
  4. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/Cargo.lock +302 -329
  5. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/Cargo.toml +9 -4
  6. {katcp_codec-0.1.0b2/python/katcp_codec.egg-info → katcp_codec-0.2.0}/PKG-INFO +2 -1
  7. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/benches/bench_format.rs +4 -2
  8. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/benches/bench_parse.rs +6 -4
  9. katcp_codec-0.2.0/crates/fsm/Cargo.lock +185 -0
  10. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/crates/fsm/Cargo.toml +1 -1
  11. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/crates/fsm/src/lib.rs +1 -1
  12. katcp_codec-0.2.0/doc/changelog.rst +27 -0
  13. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/installation.rst +1 -1
  14. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc-requirements.txt +19 -21
  15. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/pyproject.toml +24 -8
  16. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec/__init__.py +4 -2
  17. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec/_lib.pyi +8 -6
  18. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0/python/katcp_codec.egg-info}/PKG-INFO +2 -1
  19. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec.egg-info/SOURCES.txt +1 -0
  20. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec.egg-info/requires.txt +1 -0
  21. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/tests/test_format.py +2 -2
  22. katcp_codec-0.2.0/python/tests/test_message.py +46 -0
  23. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/tests/test_parse.py +7 -4
  24. katcp_codec-0.2.0/requirements.txt +48 -0
  25. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/src/format.rs +45 -1
  26. katcp_codec-0.2.0/src/message.rs +124 -0
  27. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/src/parse.rs +128 -108
  28. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/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/requirements.txt +0 -52
  32. katcp_codec-0.1.0b2/src/message.rs +0 -194
  33. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/.ci/before_all_linux.sh +0 -0
  34. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/.github/dependabot.yml +0 -0
  35. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/.gitignore +0 -0
  36. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/README.md +0 -0
  37. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/build.rs +0 -0
  38. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/.gitignore +0 -0
  39. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/Makefile +0 -0
  40. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/conf.py +0 -0
  41. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/design.rst +0 -0
  42. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/index.rst +0 -0
  43. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/introduction.rst +0 -0
  44. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/katcp_codec.rst +0 -0
  45. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/modules.rst +0 -0
  46. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/doc/usage.rst +0 -0
  47. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec/py.typed +0 -0
  48. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec.egg-info/dependency_links.txt +0 -0
  49. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/python/katcp_codec.egg-info/top_level.txt +0 -0
  50. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/setup.cfg +0 -0
  51. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/src/binding.rs +0 -0
  52. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/src/lib.rs +0 -0
  53. {katcp_codec-0.1.0b2 → katcp_codec-0.2.0}/src/tables.rs +0 -0
@@ -4,12 +4,12 @@ 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.88.0'
8
8
  MIN_PYTHON_VERSION: '3.8'
9
9
  MAX_PYTHON_VERSION: '3.12'
10
10
  jobs:
11
11
  pre-commit:
12
- runs-on: ubuntu-22.04
12
+ runs-on: ubuntu-24.04
13
13
  steps:
14
14
  - uses: actions/checkout@v4
15
15
  - uses: actions/setup-python@v5
@@ -27,7 +27,7 @@ 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
32
  - uses: actions/checkout@v4
33
33
  - uses: actions/setup-python@v5
@@ -49,7 +49,7 @@ 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
54
  - uses: actions/checkout@v4
55
55
  - uses: actions/setup-python@v5
@@ -69,7 +69,7 @@ jobs:
69
69
  fail-fast: false
70
70
  matrix:
71
71
  python: ['3.8', '3.9', '3.10', '3.11', '3.12']
72
- runs-on: ubuntu-22.04
72
+ runs-on: ubuntu-24.04
73
73
  steps:
74
74
  - uses: actions/checkout@v4
75
75
  - uses: actions/setup-python@v5
@@ -93,21 +93,23 @@ 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
105
  - uses: actions/checkout@v4
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.1.3
111
113
  env:
112
114
  CIBW_ARCHS: ${{ matrix.arch }}
113
115
  CIBW_BUILD: ${{ matrix.python }}-manylinux*
@@ -122,7 +124,9 @@ 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
132
  - uses: actions/checkout@v4
@@ -141,7 +145,7 @@ jobs:
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.1.3
145
149
  env:
146
150
  CIBW_ARCHS: ${{ matrix.arch }}
147
151
  CIBW_BUILD: ${{ matrix.python }}-macos*
@@ -151,7 +155,7 @@ jobs:
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
160
  - uses: actions/checkout@v4
157
161
  with:
@@ -171,7 +175,7 @@ jobs:
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
@@ -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.12.5
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.14.1
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.8.5
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", "--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.8", "--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: