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 +3 -0
- rustling-0.2.0/.github/workflows/python.yml +57 -0
- rustling-0.2.0/.github/workflows/release.yml +108 -0
- rustling-0.2.0/.github/workflows/rust.yml +43 -0
- rustling-0.2.0/.gitignore +76 -0
- rustling-0.2.0/CLAUDE.md +95 -0
- rustling-0.2.0/Cargo.lock +323 -0
- rustling-0.2.0/Cargo.toml +23 -0
- rustling-0.2.0/LICENSE.md +21 -0
- rustling-0.2.0/PKG-INFO +124 -0
- rustling-0.2.0/README.md +87 -0
- rustling-0.2.0/benchmarks/README.md +90 -0
- rustling-0.2.0/benchmarks/realistic.py +250 -0
- rustling-0.2.0/benchmarks/run_wordseg.py +531 -0
- rustling-0.2.0/benchmarks/scaling.py +222 -0
- rustling-0.2.0/pyproject.toml +69 -0
- rustling-0.2.0/python/rustling/__init__.py +7 -0
- rustling-0.2.0/python/rustling/py.typed +0 -0
- rustling-0.2.0/python/rustling/wordseg/__init__.py +12 -0
- rustling-0.2.0/python/rustling/wordseg/__init__.pyi +113 -0
- rustling-0.2.0/python/tests/test_longest_string_matching.py +93 -0
- rustling-0.2.0/python/tests/test_random_segmenter.py +89 -0
- rustling-0.2.0/src/lib.rs +14 -0
- rustling-0.2.0/src/trie.rs +359 -0
- rustling-0.2.0/src/wordseg/longest_string_matching.rs +222 -0
- rustling-0.2.0/src/wordseg/mod.rs +21 -0
- rustling-0.2.0/src/wordseg/random_segmenter.rs +231 -0
rustling-0.2.0/.flake8
ADDED
|
@@ -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
|
rustling-0.2.0/CLAUDE.md
ADDED
|
@@ -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
|
+
]
|