rustling 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.
rustling-0.2.0/.flake8 ADDED
@@ -0,0 +1,3 @@
1
+ [flake8]
2
+ max-line-length = 88
3
+ extend-ignore = E203, W503
@@ -0,0 +1,57 @@
1
+ name: Python
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ env:
8
+ PYTHON_VERSION: "3.14"
9
+
10
+ jobs:
11
+ lint:
12
+ name: Lint
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v5
19
+
20
+ - name: Set up Python
21
+ run: uv python install ${{ env.PYTHON_VERSION }}
22
+
23
+ - name: Check formatting with black
24
+ run: uvx black --check python/
25
+
26
+ - name: Lint with flake8
27
+ run: uvx flake8 python/
28
+
29
+ - name: Type check with mypy
30
+ run: uvx mypy python/rustling/
31
+
32
+ test:
33
+ name: Test
34
+ runs-on: ubuntu-latest
35
+ strategy:
36
+ matrix:
37
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+
41
+ - name: Install uv
42
+ uses: astral-sh/setup-uv@v5
43
+
44
+ - name: Set up Python ${{ matrix.python-version }}
45
+ run: uv python install ${{ matrix.python-version }}
46
+
47
+ - name: Install Rust toolchain
48
+ uses: dtolnay/rust-toolchain@stable
49
+
50
+ - name: Build and install package
51
+ run: |
52
+ uv venv
53
+ uv pip install maturin pytest
54
+ uv run maturin develop
55
+
56
+ - name: Run tests
57
+ run: uv run pytest python/tests/ -v
@@ -0,0 +1,108 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ python-sdist:
12
+ name: Python - Build source distribution
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Build sdist
18
+ uses: PyO3/maturin-action@v1
19
+ with:
20
+ command: sdist
21
+ args: --out dist
22
+
23
+ - name: Upload sdist
24
+ uses: actions/upload-artifact@v4
25
+ with:
26
+ name: wheels-sdist
27
+ path: dist
28
+
29
+ python-wheels:
30
+ name: Python - Build wheels on ${{ matrix.os }} (${{ matrix.target }})
31
+ runs-on: ${{ matrix.os }}
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ include:
36
+ # Linux x86_64
37
+ - os: ubuntu-latest
38
+ target: x86_64
39
+ # Linux aarch64
40
+ - os: ubuntu-latest
41
+ target: aarch64
42
+ # macOS x86_64
43
+ - os: macos-15-intel
44
+ target: x86_64
45
+ # macOS arm64
46
+ - os: macos-14
47
+ target: aarch64
48
+ # Windows x86_64
49
+ - os: windows-latest
50
+ target: x86_64
51
+ steps:
52
+ - uses: actions/checkout@v4
53
+
54
+ - name: Build wheels
55
+ uses: PyO3/maturin-action@v1
56
+ with:
57
+ target: ${{ matrix.target }}
58
+ args: --release --out dist
59
+ sccache: "true"
60
+ manylinux: auto
61
+
62
+ - name: Upload wheels
63
+ uses: actions/upload-artifact@v4
64
+ with:
65
+ name: wheels-${{ matrix.os }}-${{ matrix.target }}
66
+ path: dist
67
+
68
+ python-publish:
69
+ name: Python - Publish to PyPI
70
+ runs-on: ubuntu-latest
71
+ needs: [python-sdist, python-wheels]
72
+ environment:
73
+ name: pypi
74
+ url: https://pypi.org/p/rustling
75
+ permissions:
76
+ id-token: write
77
+ steps:
78
+ - name: Download all artifacts
79
+ uses: actions/download-artifact@v4
80
+ with:
81
+ path: dist
82
+ pattern: wheels-*
83
+ merge-multiple: true
84
+
85
+ - name: Publish to PyPI
86
+ uses: pypa/gh-action-pypi-publish@release/v1
87
+
88
+ rust-publish:
89
+ name: Rust - Publish to crates.io
90
+ runs-on: ubuntu-latest
91
+ environment:
92
+ name: crates-io
93
+ permissions:
94
+ id-token: write
95
+ steps:
96
+ - uses: actions/checkout@v4
97
+
98
+ - name: Install Rust toolchain
99
+ uses: dtolnay/rust-toolchain@stable
100
+
101
+ - name: Authenticate with crates.io
102
+ uses: rust-lang/crates-io-auth-action@v1
103
+ id: auth
104
+
105
+ - name: Publish to crates.io
106
+ run: cargo publish
107
+ env:
108
+ CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
@@ -0,0 +1,43 @@
1
+ name: Rust
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ env:
8
+ CARGO_TERM_COLOR: always
9
+
10
+ jobs:
11
+ lint:
12
+ name: Lint
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Install Rust toolchain
18
+ uses: dtolnay/rust-toolchain@stable
19
+ with:
20
+ components: rustfmt, clippy
21
+
22
+ - name: Check formatting
23
+ run: cargo fmt --all -- --check
24
+
25
+ - name: Run clippy
26
+ run: cargo clippy --all-targets --all-features -- -D warnings
27
+
28
+ test:
29
+ name: Test
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+
34
+ - name: Set up Python
35
+ uses: actions/setup-python@v5
36
+ with:
37
+ python-version: "3.14"
38
+
39
+ - name: Install Rust toolchain
40
+ uses: dtolnay/rust-toolchain@stable
41
+
42
+ - name: Run tests
43
+ run: cargo test
@@ -0,0 +1,76 @@
1
+ /target
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ .pytest_cache/
6
+ *.py[cod]
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ .venv/
14
+ env/
15
+ bin/
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ include/
26
+ man/
27
+ venv/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # Installer logs
33
+ pip-log.txt
34
+ pip-delete-this-directory.txt
35
+ pip-selfcheck.json
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+
45
+ # Translations
46
+ *.mo
47
+
48
+ # Mr Developer
49
+ .mr.developer.cfg
50
+ .project
51
+ .pydevproject
52
+
53
+ # Rope
54
+ .ropeproject
55
+
56
+ # Django stuff:
57
+ *.log
58
+ *.pot
59
+
60
+ .DS_Store
61
+
62
+ # Sphinx documentation
63
+ docs/_build/
64
+
65
+ # PyCharm
66
+ .idea/
67
+
68
+ # VSCode
69
+ .vscode/
70
+
71
+ # Pyenv
72
+ .python-version
73
+
74
+ # This is a library, not an application.
75
+ Cargo.lock
76
+ uv.lock
@@ -0,0 +1,95 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance for Claude when working with this repository.
4
+
5
+ ## Project Overview
6
+
7
+ **rustling** is a computational linguistics library implemented in Rust with Python bindings via PyO3.
8
+
9
+ ## Repository Structure
10
+
11
+ ```
12
+ ├── src/ # Rust source code
13
+ ├── python/ # Python package and tests
14
+ ├── Cargo.toml # Rust package configuration
15
+ ├── pyproject.toml # Python package configuration (maturin)
16
+ └── .github/workflows/ # CI/CD workflows
17
+ ```
18
+
19
+ ## Build Commands
20
+
21
+ ### Rust
22
+
23
+ ```bash
24
+ cargo build # Build library
25
+ cargo test # Run Rust tests
26
+ cargo doc --open # Build and view documentation
27
+ cargo fmt # Format code
28
+ cargo clippy # Lint
29
+ ```
30
+
31
+ ### Python
32
+
33
+ ```bash
34
+ maturin develop # Build and install locally for development
35
+ pytest python/tests/ -v # Run Python tests
36
+ black python/ # Format
37
+ flake8 python/ # Lint
38
+ mypy python/rustling/ # Type check
39
+ ```
40
+
41
+ ### Using uv (faster)
42
+
43
+ ```bash
44
+ uv run maturin develop
45
+ uv run pytest python/tests/ -v
46
+ uvx black --check python/
47
+ uvx flake8 python/
48
+ uvx mypy python/rustling/
49
+ ```
50
+
51
+ ## Architecture Notes
52
+
53
+ - **Crate types**: Both `cdylib` (for Python extension) and `rlib` (for `cargo test`)
54
+ - **PyO3 features**: `extension-module` is a Cargo feature, enabled by maturin but not during `cargo test`
55
+ - **Python bindings**: Rust structs use `#[pyclass]` and methods use `#[pymethods]`
56
+ - **Module registration**: `wordseg::register_module()` adds the submodule to Python
57
+
58
+ ## Benchmarking
59
+
60
+ Benchmark scripts live in `benchmarks/` to compare rustling vs pure Python wordseg:
61
+
62
+ ```bash
63
+ # Quick benchmark
64
+ python benchmarks/run_wordseg.py --quick
65
+
66
+ # Full benchmark suite
67
+ python benchmarks/run_wordseg.py
68
+
69
+ # Scaling benchmark with ASCII chart
70
+ python benchmarks/scaling.py --plot
71
+
72
+ # Realistic Chinese text simulation
73
+ python benchmarks/realistic.py
74
+ ```
75
+
76
+ Requires: `pip install wordseg` for comparison. Build with `--release` for accurate results.
77
+
78
+ ## Conventions
79
+
80
+ - **Rust docstrings**: Use `///` for public items, `//!` for module-level docs
81
+ - **Python docstrings**: NumPy style
82
+ - **Type stubs**: `.pyi` files mirror the Python package structure
83
+ - **Tests**: Rust tests are inline (`#[cfg(test)]`), Python tests in `python/tests/`
84
+
85
+ ## CI/CD
86
+
87
+ - **python.yml**: Runs on push/PR. Lint job uses `uvx`, test job runs pytest across Python 3.10-3.14
88
+ - **rust.yml**: Runs on push/PR. Format check, clippy, and `cargo test` (requires Python for linking)
89
+ - **release.yml**: Triggered on GitHub release. Builds wheels for Linux/macOS/Windows and publishes to PyPI and crates.io
90
+
91
+ ## Release Process
92
+
93
+ 1. Update version in `Cargo.toml` and `pyproject.toml`
94
+ 2. Create a GitHub release
95
+ 3. CI automatically publishes to PyPI (trusted publishing) and crates.io (also trusted publishing)
@@ -0,0 +1,323 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.5.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
10
+
11
+ [[package]]
12
+ name = "cfg-if"
13
+ version = "1.0.4"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
16
+
17
+ [[package]]
18
+ name = "crossbeam-deque"
19
+ version = "0.8.6"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
22
+ dependencies = [
23
+ "crossbeam-epoch",
24
+ "crossbeam-utils",
25
+ ]
26
+
27
+ [[package]]
28
+ name = "crossbeam-epoch"
29
+ version = "0.9.18"
30
+ source = "registry+https://github.com/rust-lang/crates.io-index"
31
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
32
+ dependencies = [
33
+ "crossbeam-utils",
34
+ ]
35
+
36
+ [[package]]
37
+ name = "crossbeam-utils"
38
+ version = "0.8.21"
39
+ source = "registry+https://github.com/rust-lang/crates.io-index"
40
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
41
+
42
+ [[package]]
43
+ name = "either"
44
+ version = "1.15.0"
45
+ source = "registry+https://github.com/rust-lang/crates.io-index"
46
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
47
+
48
+ [[package]]
49
+ name = "getrandom"
50
+ version = "0.3.4"
51
+ source = "registry+https://github.com/rust-lang/crates.io-index"
52
+ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
53
+ dependencies = [
54
+ "cfg-if",
55
+ "libc",
56
+ "r-efi",
57
+ "wasip2",
58
+ ]
59
+
60
+ [[package]]
61
+ name = "heck"
62
+ version = "0.5.0"
63
+ source = "registry+https://github.com/rust-lang/crates.io-index"
64
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
65
+
66
+ [[package]]
67
+ name = "indoc"
68
+ version = "2.0.7"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
71
+ dependencies = [
72
+ "rustversion",
73
+ ]
74
+
75
+ [[package]]
76
+ name = "libc"
77
+ version = "0.2.180"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
80
+
81
+ [[package]]
82
+ name = "memoffset"
83
+ version = "0.9.1"
84
+ source = "registry+https://github.com/rust-lang/crates.io-index"
85
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
86
+ dependencies = [
87
+ "autocfg",
88
+ ]
89
+
90
+ [[package]]
91
+ name = "once_cell"
92
+ version = "1.21.3"
93
+ source = "registry+https://github.com/rust-lang/crates.io-index"
94
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
95
+
96
+ [[package]]
97
+ name = "portable-atomic"
98
+ version = "1.13.1"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
101
+
102
+ [[package]]
103
+ name = "ppv-lite86"
104
+ version = "0.2.21"
105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
106
+ checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
107
+ dependencies = [
108
+ "zerocopy",
109
+ ]
110
+
111
+ [[package]]
112
+ name = "proc-macro2"
113
+ version = "1.0.106"
114
+ source = "registry+https://github.com/rust-lang/crates.io-index"
115
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
116
+ dependencies = [
117
+ "unicode-ident",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "pyo3"
122
+ version = "0.25.1"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
125
+ dependencies = [
126
+ "indoc",
127
+ "libc",
128
+ "memoffset",
129
+ "once_cell",
130
+ "portable-atomic",
131
+ "pyo3-build-config",
132
+ "pyo3-ffi",
133
+ "pyo3-macros",
134
+ "unindent",
135
+ ]
136
+
137
+ [[package]]
138
+ name = "pyo3-build-config"
139
+ version = "0.25.1"
140
+ source = "registry+https://github.com/rust-lang/crates.io-index"
141
+ checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
142
+ dependencies = [
143
+ "once_cell",
144
+ "target-lexicon",
145
+ ]
146
+
147
+ [[package]]
148
+ name = "pyo3-ffi"
149
+ version = "0.25.1"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
152
+ dependencies = [
153
+ "libc",
154
+ "pyo3-build-config",
155
+ ]
156
+
157
+ [[package]]
158
+ name = "pyo3-macros"
159
+ version = "0.25.1"
160
+ source = "registry+https://github.com/rust-lang/crates.io-index"
161
+ checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
162
+ dependencies = [
163
+ "proc-macro2",
164
+ "pyo3-macros-backend",
165
+ "quote",
166
+ "syn",
167
+ ]
168
+
169
+ [[package]]
170
+ name = "pyo3-macros-backend"
171
+ version = "0.25.1"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
174
+ dependencies = [
175
+ "heck",
176
+ "proc-macro2",
177
+ "pyo3-build-config",
178
+ "quote",
179
+ "syn",
180
+ ]
181
+
182
+ [[package]]
183
+ name = "quote"
184
+ version = "1.0.44"
185
+ source = "registry+https://github.com/rust-lang/crates.io-index"
186
+ checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
187
+ dependencies = [
188
+ "proc-macro2",
189
+ ]
190
+
191
+ [[package]]
192
+ name = "r-efi"
193
+ version = "5.3.0"
194
+ source = "registry+https://github.com/rust-lang/crates.io-index"
195
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
196
+
197
+ [[package]]
198
+ name = "rand"
199
+ version = "0.9.2"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
202
+ dependencies = [
203
+ "rand_chacha",
204
+ "rand_core",
205
+ ]
206
+
207
+ [[package]]
208
+ name = "rand_chacha"
209
+ version = "0.9.0"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
212
+ dependencies = [
213
+ "ppv-lite86",
214
+ "rand_core",
215
+ ]
216
+
217
+ [[package]]
218
+ name = "rand_core"
219
+ version = "0.9.5"
220
+ source = "registry+https://github.com/rust-lang/crates.io-index"
221
+ checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
222
+ dependencies = [
223
+ "getrandom",
224
+ ]
225
+
226
+ [[package]]
227
+ name = "rayon"
228
+ version = "1.11.0"
229
+ source = "registry+https://github.com/rust-lang/crates.io-index"
230
+ checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
231
+ dependencies = [
232
+ "either",
233
+ "rayon-core",
234
+ ]
235
+
236
+ [[package]]
237
+ name = "rayon-core"
238
+ version = "1.13.0"
239
+ source = "registry+https://github.com/rust-lang/crates.io-index"
240
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
241
+ dependencies = [
242
+ "crossbeam-deque",
243
+ "crossbeam-utils",
244
+ ]
245
+
246
+ [[package]]
247
+ name = "rustling"
248
+ version = "0.2.0"
249
+ dependencies = [
250
+ "pyo3",
251
+ "rand",
252
+ "rayon",
253
+ ]
254
+
255
+ [[package]]
256
+ name = "rustversion"
257
+ version = "1.0.22"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
260
+
261
+ [[package]]
262
+ name = "syn"
263
+ version = "2.0.114"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
266
+ dependencies = [
267
+ "proc-macro2",
268
+ "quote",
269
+ "unicode-ident",
270
+ ]
271
+
272
+ [[package]]
273
+ name = "target-lexicon"
274
+ version = "0.13.4"
275
+ source = "registry+https://github.com/rust-lang/crates.io-index"
276
+ checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
277
+
278
+ [[package]]
279
+ name = "unicode-ident"
280
+ version = "1.0.22"
281
+ source = "registry+https://github.com/rust-lang/crates.io-index"
282
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
283
+
284
+ [[package]]
285
+ name = "unindent"
286
+ version = "0.2.4"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
289
+
290
+ [[package]]
291
+ name = "wasip2"
292
+ version = "1.0.2+wasi-0.2.9"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
295
+ dependencies = [
296
+ "wit-bindgen",
297
+ ]
298
+
299
+ [[package]]
300
+ name = "wit-bindgen"
301
+ version = "0.51.0"
302
+ source = "registry+https://github.com/rust-lang/crates.io-index"
303
+ checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
304
+
305
+ [[package]]
306
+ name = "zerocopy"
307
+ version = "0.8.38"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961"
310
+ dependencies = [
311
+ "zerocopy-derive",
312
+ ]
313
+
314
+ [[package]]
315
+ name = "zerocopy-derive"
316
+ version = "0.8.38"
317
+ source = "registry+https://github.com/rust-lang/crates.io-index"
318
+ checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75"
319
+ dependencies = [
320
+ "proc-macro2",
321
+ "quote",
322
+ "syn",
323
+ ]