From 2d4e826d121f40e0e8a6d69d69750931f586987e Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Tue, 17 Oct 2023 01:48:08 -0400 Subject: [PATCH 1/3] Reorganize crates and update workflows Switch to a better system for checking minimum version so only the library is checked for MSRV, but we can still use stable for tests. --- .github/workflows/release-python.yaml | 31 +- .github/workflows/release-rust.yaml | 41 +- .github/workflows/validation-python.yaml | 26 +- .github/workflows/validation-rust.yaml | 178 +- .gitignore | 1 - .pre-commit-config.yaml | 4 +- .readthedocs.yaml | 4 +- Cargo.lock | 3058 +++++++++++++++++ Cargo.toml | 8 +- Pipfile | 14 +- README.py.md => README-py.md | 0 README.md | 27 +- crates/zspell-cli/LICENSE | 1 - crates/zspell-cli/README.md | 1 - crates/zspell-py/LICENSE | 1 - crates/zspell-py/README.md | 1 - crates/zspell/LICENSE | 13 - crates/zspell/README.md | 86 - {crates/zspell-cli => zspell-cli}/Cargo.toml | 1 + zspell-cli/LICENSE | 1 + zspell-cli/README.md | 1 + {crates/zspell-cli => zspell-cli}/build.rs | 0 .../zspell-cli => zspell-cli}/src/cli/mod.rs | 0 .../zspell-cli => zspell-cli}/src/download.rs | 0 {crates/zspell-cli => zspell-cli}/src/main.rs | 0 .../src/spelling/mod.rs | 0 .../tests/cli_dict.rs | 0 .../tests/cli_lev.rs | 0 .../tests/files/de_at_listing.json | 0 .../tests/files/de_listing.json | 0 .../tests/files/de_res.txt | 0 .../tests/files/dict_listing.json | 0 {crates/zspell-py => zspell-py}/Cargo.toml | 0 zspell-py/LICENSE | 1 + zspell-py/README.md | 1 + {crates/zspell-py => zspell-py}/build.rs | 0 {crates/zspell-py => zspell-py}/docs/Makefile | 0 {crates/zspell-py => zspell-py}/docs/conf.py | 0 .../zspell-py => zspell-py}/docs/index.rst | 0 {crates/zspell-py => zspell-py}/docs/make.bat | 0 .../docs/requirements.txt | 0 .../zspell-py => zspell-py}/pyproject.toml | 0 .../python/zspell/__init__.py | 0 .../python/zspell/py.types | 0 .../python/zspell/zspell.pyi | 0 {crates/zspell-py => zspell-py}/src/lib.rs | 0 .../tests/test_basic.py | 0 {crates/zspell => zspell}/Cargo.toml | 1 - zspell/LICENSE | 1 + zspell/README.md | 1 + .../benches/datastructure.rs | 0 .../benches/dict_integration.rs | 0 .../benches/slice_contains.rs | 0 .../zspell => zspell}/benches/small_map.rs | 0 .../benches/word_splitter.rs | 0 {crates/zspell => zspell}/build.rs | 0 {crates/zspell => zspell}/src/affix.rs | 0 {crates/zspell => zspell}/src/affix/tests.rs | 0 {crates/zspell => zspell}/src/affix/types.rs | 0 {crates/zspell => zspell}/src/dict.rs | 7 +- {crates/zspell => zspell}/src/dict/flags.rs | 0 {crates/zspell => zspell}/src/dict/helpers.rs | 0 {crates/zspell => zspell}/src/dict/parser.rs | 2 +- {crates/zspell => zspell}/src/dict/rule.rs | 0 .../zspell => zspell}/src/dict/rule/tests.rs | 0 {crates/zspell => zspell}/src/dict/tests.rs | 0 {crates/zspell => zspell}/src/dict/types.rs | 0 {crates/zspell => zspell}/src/error.rs | 0 {crates/zspell => zspell}/src/helpers.rs | 0 {crates/zspell => zspell}/src/lib.rs | 0 {crates/zspell => zspell}/src/meta.rs | 0 {crates/zspell => zspell}/src/morph.rs | 0 {crates/zspell => zspell}/src/parser_affix.rs | 2 +- .../src/parser_affix/node.rs | 0 .../src/parser_affix/tests.rs | 0 .../src/parser_affix/types.rs | 0 {crates/zspell => zspell}/src/suggestions.rs | 0 {crates/zspell => zspell}/src/system.rs | 0 {crates/zspell => zspell}/src/system/tests.rs | 0 .../zspell => zspell}/tests/files/odyssey.txt | 0 .../tests/files/tortoise_hare_misspelled.txt | 0 .../tests/files/w1_eng_short.aff | 0 .../tests/files/w1_eng_short.dic | 0 .../zspell => zspell}/tests/integration.rs | 0 .../tests/managed/0_example.test | 0 .../tests/managed/1_pfxsfx.test | 0 .../tests/managed/1_pfxsfx_num.test | 0 .../tests/managed/2_nosuggest_forbid.test | 0 {crates/zspell => zspell}/util/Cargo.toml | 0 {crates/zspell => zspell}/util/src/lib.rs | 2 +- 90 files changed, 3188 insertions(+), 328 deletions(-) create mode 100644 Cargo.lock rename README.py.md => README-py.md (100%) delete mode 120000 crates/zspell-cli/LICENSE delete mode 120000 crates/zspell-cli/README.md delete mode 120000 crates/zspell-py/LICENSE delete mode 120000 crates/zspell-py/README.md delete mode 100644 crates/zspell/LICENSE delete mode 100644 crates/zspell/README.md rename {crates/zspell-cli => zspell-cli}/Cargo.toml (98%) create mode 120000 zspell-cli/LICENSE create mode 120000 zspell-cli/README.md rename {crates/zspell-cli => zspell-cli}/build.rs (100%) rename {crates/zspell-cli => zspell-cli}/src/cli/mod.rs (100%) rename {crates/zspell-cli => zspell-cli}/src/download.rs (100%) rename {crates/zspell-cli => zspell-cli}/src/main.rs (100%) rename {crates/zspell-cli => zspell-cli}/src/spelling/mod.rs (100%) rename {crates/zspell-cli => zspell-cli}/tests/cli_dict.rs (100%) rename {crates/zspell-cli => zspell-cli}/tests/cli_lev.rs (100%) rename {crates/zspell-cli => zspell-cli}/tests/files/de_at_listing.json (100%) rename {crates/zspell-cli => zspell-cli}/tests/files/de_listing.json (100%) rename {crates/zspell-cli => zspell-cli}/tests/files/de_res.txt (100%) rename {crates/zspell-cli => zspell-cli}/tests/files/dict_listing.json (100%) rename {crates/zspell-py => zspell-py}/Cargo.toml (100%) create mode 120000 zspell-py/LICENSE create mode 120000 zspell-py/README.md rename {crates/zspell-py => zspell-py}/build.rs (100%) rename {crates/zspell-py => zspell-py}/docs/Makefile (100%) rename {crates/zspell-py => zspell-py}/docs/conf.py (100%) rename {crates/zspell-py => zspell-py}/docs/index.rst (100%) rename {crates/zspell-py => zspell-py}/docs/make.bat (100%) rename {crates/zspell-py => zspell-py}/docs/requirements.txt (100%) rename {crates/zspell-py => zspell-py}/pyproject.toml (100%) rename {crates/zspell-py => zspell-py}/python/zspell/__init__.py (100%) rename {crates/zspell-py => zspell-py}/python/zspell/py.types (100%) rename {crates/zspell-py => zspell-py}/python/zspell/zspell.pyi (100%) rename {crates/zspell-py => zspell-py}/src/lib.rs (100%) rename {crates/zspell-py => zspell-py}/tests/test_basic.py (100%) rename {crates/zspell => zspell}/Cargo.toml (99%) create mode 120000 zspell/LICENSE create mode 120000 zspell/README.md rename {crates/zspell => zspell}/benches/datastructure.rs (100%) rename {crates/zspell => zspell}/benches/dict_integration.rs (100%) rename {crates/zspell => zspell}/benches/slice_contains.rs (100%) rename {crates/zspell => zspell}/benches/small_map.rs (100%) rename {crates/zspell => zspell}/benches/word_splitter.rs (100%) rename {crates/zspell => zspell}/build.rs (100%) rename {crates/zspell => zspell}/src/affix.rs (100%) rename {crates/zspell => zspell}/src/affix/tests.rs (100%) rename {crates/zspell => zspell}/src/affix/types.rs (100%) rename {crates/zspell => zspell}/src/dict.rs (99%) rename {crates/zspell => zspell}/src/dict/flags.rs (100%) rename {crates/zspell => zspell}/src/dict/helpers.rs (100%) rename {crates/zspell => zspell}/src/dict/parser.rs (99%) rename {crates/zspell => zspell}/src/dict/rule.rs (100%) rename {crates/zspell => zspell}/src/dict/rule/tests.rs (100%) rename {crates/zspell => zspell}/src/dict/tests.rs (100%) rename {crates/zspell => zspell}/src/dict/types.rs (100%) rename {crates/zspell => zspell}/src/error.rs (100%) rename {crates/zspell => zspell}/src/helpers.rs (100%) rename {crates/zspell => zspell}/src/lib.rs (100%) rename {crates/zspell => zspell}/src/meta.rs (100%) rename {crates/zspell => zspell}/src/morph.rs (100%) rename {crates/zspell => zspell}/src/parser_affix.rs (99%) rename {crates/zspell => zspell}/src/parser_affix/node.rs (100%) rename {crates/zspell => zspell}/src/parser_affix/tests.rs (100%) rename {crates/zspell => zspell}/src/parser_affix/types.rs (100%) rename {crates/zspell => zspell}/src/suggestions.rs (100%) rename {crates/zspell => zspell}/src/system.rs (100%) rename {crates/zspell => zspell}/src/system/tests.rs (100%) rename {crates/zspell => zspell}/tests/files/odyssey.txt (100%) rename {crates/zspell => zspell}/tests/files/tortoise_hare_misspelled.txt (100%) rename {crates/zspell => zspell}/tests/files/w1_eng_short.aff (100%) rename {crates/zspell => zspell}/tests/files/w1_eng_short.dic (100%) rename {crates/zspell => zspell}/tests/integration.rs (100%) rename {crates/zspell => zspell}/tests/managed/0_example.test (100%) rename {crates/zspell => zspell}/tests/managed/1_pfxsfx.test (100%) rename {crates/zspell => zspell}/tests/managed/1_pfxsfx_num.test (100%) rename {crates/zspell => zspell}/tests/managed/2_nosuggest_forbid.test (100%) rename {crates/zspell => zspell}/util/Cargo.toml (100%) rename {crates/zspell => zspell}/util/src/lib.rs (99%) diff --git a/.github/workflows/release-python.yaml b/.github/workflows/release-python.yaml index 39aec71..fcc3d9f 100644 --- a/.github/workflows/release-python.yaml +++ b/.github/workflows/release-python.yaml @@ -6,25 +6,33 @@ on: - 'v*' jobs: + # Allow our jobs to block on validation steps + validation_rust: + uses: ./.github/workflows/validation-rust.yaml + + validation_py: + uses: ./.github/workflows/validation-python.yaml + linux_wheels: runs-on: ubuntu-latest + needs: [validation_rust, validation_py] steps: - uses: actions/checkout@v3 - - name: Build libc wheels + - name: build libc wheels uses: messense/maturin-action@v1 with: manylinux: auto command: build # container default is manylinux - args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 --manifest-path crates/zspell-py/Cargo.toml - - name: Build musl wheels + args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 3.12 --manifest-path zspell-py/Cargo.toml + - name: build musl wheels uses: messense/maturin-action@v1 with: target: x86_64-unknown-linux-musl manylinux: musllinux_1_1 command: build - args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 --manifest-path crates/zspell-py/Cargo.toml - - name: Upload wheels + args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 3.12 --manifest-path zspell-py/Cargo.toml + - name: upload wheels uses: actions/upload-artifact@v2 with: name: wheels @@ -32,13 +40,14 @@ jobs: windows_wheels: runs-on: windows-latest + needs: [validation_rust, validation_py] steps: - uses: actions/checkout@v3 - uses: messense/maturin-action@v1 with: command: build - args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 --manifest-path crates/zspell-py/Cargo.toml - - name: Upload wheels + args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 3.12 --manifest-path zspell-py/Cargo.toml + - name: upload wheels uses: actions/upload-artifact@v2 with: name: wheels @@ -46,13 +55,14 @@ jobs: macos_wheels: runs-on: macos-latest + needs: [validation_rust, validation_py] steps: - uses: actions/checkout@v3 - uses: messense/maturin-action@v1 with: command: build - args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 --universal2 --manifest-path crates/zspell-py/Cargo.toml - - name: Upload wheels + args: --release -o dist -i 3.7 3.8 3.9 3.10 3.11 3.12 --universal2 --manifest-path zspell-py/Cargo.toml + - name: upload wheels uses: actions/upload-artifact@v2 with: name: wheels @@ -61,8 +71,7 @@ jobs: release_all_wheels: name: Release wheels runs-on: ubuntu-latest - # needs: [ linux ] - needs: [ linux_wheels, macos_wheels, windows_wheels ] + needs: [linux_wheels, macos_wheels, windows_wheels] steps: - uses: actions/download-artifact@v2 with: diff --git a/.github/workflows/release-rust.yaml b/.github/workflows/release-rust.yaml index 091795b..d29978f 100644 --- a/.github/workflows/release-rust.yaml +++ b/.github/workflows/release-rust.yaml @@ -1,19 +1,24 @@ --- -name: "Rust Build & Release" - -# This configuration largely comes from ripgrep +name: Rust Release on: push: tags: - 'v*' -# on: -# pull_request: jobs: + # Allow our jobs to block on validation steps + validation_rust: + uses: ./.github/workflows/validation-rust.yaml + + validation_py: + uses: ./.github/workflows/validation-python.yaml + build_release: - name: "Build ${{ matrix.build }} binaries (cargo build)" + name: "build & deploy ${{ matrix.build }} binaries (cargo build)" + needs: [validation_rust, validation_py] runs-on: ${{ matrix.os }} + if: ${{ github.event.workflow_run.conclusion == 'success' }} strategy: matrix: include: @@ -43,27 +48,10 @@ jobs: steps: # Retreive git files - uses: actions/checkout@v3 - # Set cache configuration - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - # - name: Install System Requirements - # run: | - # if [ "${{ matrix.os }}" = "ububtu-latest" ]; then - # sudo apt-get install musl-tools libssl-dev - # fi - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@stable with: - profile: minimal - toolchain: stable - override: true - target: ${{ matrix.target }} + targets: ${{ matrix.target }} + - uses: Swatinem/rust-cache@v2 # Debugging aid - name: Show commands run: | @@ -148,6 +136,7 @@ jobs: deploy_book: runs-on: ubuntu-latest + needs: [validation_rust, validation_py] steps: - uses: actions/checkout@v3 with: diff --git a/.github/workflows/validation-python.yaml b/.github/workflows/validation-python.yaml index 5603f2c..f79e386 100644 --- a/.github/workflows/validation-python.yaml +++ b/.github/workflows/validation-python.yaml @@ -5,38 +5,30 @@ on: branches: - main pull_request: + workflow_call: # allow this to be run from other workflows jobs: verify: - name: Verify + name: pytest runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - uses: actions/cache@v3 with: path: ~/.local/share/virtualenvs key: ${{ runner.os }}-pipenv-${{ hashFiles('**/Pipfile.lock') }} + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - uses: actions/setup-python@v4 + with: + python-version: '3.11' - name: Install pipenv run: python -m pip install --upgrade pipenv wheel - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - name: Install dependencies run: | pipenv install --dev - pipenv run maturin develop --manifest-path crates/zspell-py/Cargo.toml + pipenv run maturin develop --manifest-path zspell-py/Cargo.toml - name: Pytest run: pipenv run pytest - name: Validate docs - run: pipenv run make -C crates/zspell-py/docs html + run: pipenv run make -C zspell-py/docs html diff --git a/.github/workflows/validation-rust.yaml b/.github/workflows/validation-rust.yaml index 9d25d8d..de6c217 100644 --- a/.github/workflows/validation-rust.yaml +++ b/.github/workflows/validation-rust.yaml @@ -1,48 +1,42 @@ --- - -# Main "useful" actions config file -# Cache config comes from https://github.com/actions/cache/blob/main/examples.md#rust---cargo -# actions-rs/toolchain configures rustup -# actions-rs/cargo actually runs cargo +name: Rust Validation on: push: branches: - main pull_request: - -name: Rust Validation + workflow_call: # allow this to be run from other workflows env: RUSTDOCFLAGS: -D warnings RUSTFLAGS: -D warnings + RUST_BACKTRACE: 1 CARGO_UNSTABLE_SPARSE_REGISTRY: true jobs: - check: - name: "Check (cargo check)" + clippy: + name: clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@stable with: - profile: minimal - toolchain: stable - override: true - - name: Check on Rust stable - uses: actions-rs/cargo@v1 - with: - command: check - args: --all-features --all-targets + components: clippy + - uses: Swatinem/rust-cache@v2 + - run: cargo clippy --all-features --all-targets -- -D warnings + - run: cargo clippy --no-default-features --all-targets -- -D warnings + + min_versions: + name: check minimum rustc version + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@1.65 + - uses: Swatinem/rust-cache@v2 + # check only zspell; we can use later for the CLI + - run: cargo check -p zspell --all-features + - run: cargo check -p zspell --no-default-features test: strategy: @@ -56,8 +50,7 @@ jobs: name: windows - os: macos-latest name: mac - - name: "Test on ${{ matrix.name }} (cargo test)" + name: "test on ${{ matrix.name }}" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 @@ -65,131 +58,42 @@ jobs: run: | pwd ls - - uses: actions/cache@v3 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: "1.65" - override: true - # We both check and test here so our `check` action can be somewhat more lean - - name: Check on Rust 1.65 - uses: actions-rs/cargo@v1 - with: - command: check - args: --all-features --lib --tests --examples - - name: Run tests - uses: actions-rs/cargo@v1 - env: - RUST_BACKTRACE: "1" - with: - command: test + key: ${{ matrix.os }} + - run: cargo test fmt: - name: "Format (cargo fmt)" + name: formatting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3 + - uses: actions/checkout@v2 + - uses: dtolnay/rust-toolchain@nightly with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - - run: rustup component add rustfmt - - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + components: rustfmt + - uses: Swatinem/rust-cache@v2 + - run: cargo fmt --all -- --check - uses: actions/setup-python@v3 - name: Validate pre-commit uses: pre-commit/action@v3.0.0 - clippy: - name: "Clippy (cargo clippy)" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - # Some nice checks are only nightly - toolchain: nightly - override: true - - run: rustup component add clippy - - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-features --all-targets -- -D warnings - doc: - name: "Docs (cargo doc)" + name: docs runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - - uses: actions-rs/cargo@v1 - with: - command: doc + - uses: actions/checkout@v2 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + - run: cargo doc book: - name: "Book (mdbook)" + name: book runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - ~/mdbook - target/ - book/ - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 - run: | mkdir -p ~/mdbook # Tar is weird with ~ as home @@ -199,7 +103,7 @@ jobs: # Make sure we turned the clippy lint off verify_fixme_critical: - name: "Verify critical fixmes" + name: verify critical fixmes runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.gitignore b/.gitignore index fd3d203..282b5e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ /target -/Cargo.lock dictionaries/*.dic dictionaries/*.aff dictionaries/*.license diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index afa39c7..ca42c3e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 + rev: v4.5.0 hooks: - id: check-yaml - id: check-toml @@ -12,7 +12,7 @@ repos: args: ['--maxkb=600'] - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 23.9.1 hooks: - id: black diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 953ee61..da1545c 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,6 +14,6 @@ build: python: install: - - requirements: crates/zspell-py/docs/requirements.txt + - requirements: zspell-py/docs/requirements.txt - method: pip - path: crates/zspell-py/ + path: zspell-py/ diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..6b21cd3 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3058 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstream" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" + +[[package]] +name = "anstyle-parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + +[[package]] +name = "anyhow" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "assert-json-diff" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "assert_cmd" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b800c4403e8105d959595e1f88119e78bc12bc874c4336973658b648a746ba93" +dependencies = [ + "bstr", + "doc-comment", + "predicates", + "predicates-core", + "predicates-tree", + "wait-timeout", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0" +dependencies = [ + "async-lock", + "async-task", + "concurrent-queue", + "fastrand 2.0.1", + "futures-lite", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" +dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-lock", + "blocking", + "futures-lite", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite", + "log", + "parking", + "polling", + "rustix 0.37.25", + "slab", + "socket2 0.4.9", + "waker-fn", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-object-pool" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb901c30ebc2fc4ab46395bbfbdba9542c16559d853645d75190c3056caf3bc" +dependencies = [ + "async-std", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io", + "async-lock", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.0.0", + "futures-lite", + "rustix 0.38.19", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-signal" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2a5415b7abcdc9cd7d63d6badba5288b2ca017e3fbd4173b8f405449f1a2399" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.19", + "signal-hook-registry", + "slab", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-channel", + "async-global-executor", + "async-io", + "async-lock", + "async-process", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921" + +[[package]] +name = "async-trait" +version = "0.1.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" + +[[package]] +name = "basic-cookies" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb53b6b315f924c7f113b162e53b3901c05fc9966baf84d201dfcc7432a4bb38" +dependencies = [ + "lalrpop", + "lalrpop-util", + "regex", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blocking" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite", + "piper", + "tracing", +] + +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata 0.1.10", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "castaway" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "ciborium" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" + +[[package]] +name = "ciborium-ll" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "bitflags 1.3.2", + "clap_lex 0.2.4", + "indexmap 1.9.3", + "textwrap", +] + +[[package]] +name = "clap" +version = "4.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.5.1", + "strsim", + "terminal_size", +] + +[[package]] +name = "clap_complete" +version = "4.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ae8ba90b9d8b007efe66e55e48fb936272f5ca00349b5b0e89877520d35ea7" +dependencies = [ + "clap 4.4.6", +] + +[[package]] +name = "clap_derive" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clap_lex" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" + +[[package]] +name = "clap_mangen" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b44f35c514163027542f7147797ff930523eea288e03642727348ef1a9666f6b" +dependencies = [ + "clap 4.4.6", + "roff", +] + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "concurrent-queue" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.0", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +dependencies = [ + "libc", +] + +[[package]] +name = "criterion" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +dependencies = [ + "anes", + "atty", + "cast", + "ciborium", + "clap 3.2.25", + "criterion-plot", + "itertools", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "curl" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2 0.4.9", + "winapi", +] + +[[package]] +name = "curl-sys" +version = "0.4.68+curl-8.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a0d18d88360e374b16b2273c832b5e57258ffc1d4aa4f96b108e0738d5752f" +dependencies = [ + "cc", + "libc", + "libnghttp2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.48.0", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "ena" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +dependencies = [ + "log", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "h2" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "httpmock" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b02e044d3b4c2f94936fb05f9649efa658ca788f44eb6b87554e2033fc8ce93" +dependencies = [ + "assert-json-diff", + "async-object-pool", + "async-trait", + "base64", + "basic-cookies", + "crossbeam-utils", + "form_urlencoded", + "futures-util", + "hyper", + "isahc", + "lazy_static", + "levenshtein", + "log", + "regex", + "serde", + "serde_json", + "serde_regex", + "similar", + "tokio", + "url", +] + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +dependencies = [ + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown 0.14.1", +] + +[[package]] +name = "indicatif" +version = "0.17.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "indoc" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.3", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi 0.3.3", + "rustix 0.38.19", + "windows-sys 0.48.0", +] + +[[package]] +name = "isahc" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9" +dependencies = [ + "async-channel", + "castaway", + "crossbeam-utils", + "curl", + "curl-sys", + "encoding_rs", + "event-listener 2.5.3", + "futures-lite", + "http", + "log", + "mime", + "once_cell", + "polling", + "slab", + "sluice", + "tracing", + "tracing-futures", + "url", + "waker-fn", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + +[[package]] +name = "lalrpop" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" +dependencies = [ + "ascii-canvas", + "bit-set", + "diff", + "ena", + "is-terminal", + "itertools", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.6.29", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "lalrpop-util" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" +dependencies = [ + "regex", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "levenshtein" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" + +[[package]] +name = "libc" +version = "0.2.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" + +[[package]] +name = "libnghttp2-sys" +version = "0.1.8+1.55.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libz-sys" +version = "1.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +dependencies = [ + "value-bag", +] + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.3", + "libc", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "parking" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets 0.48.5", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.0.2", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "plotters" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" + +[[package]] +name = "plotters-svg" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "portable-atomic" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "predicates" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +dependencies = [ + "difflib", + "float-cmp", + "itertools", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "predicates-tree" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "pretty_assertions" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +dependencies = [ + "diff", + "yansi", +] + +[[package]] +name = "proc-macro2" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pyo3" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543" +dependencies = [ + "cfg-if", + "indoc", + "libc", + "memoffset 0.6.5", + "parking_lot", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-build-config" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8" +dependencies = [ + "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "reqwest" +version = "0.11.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "system-configuration", + "tokio", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "winreg", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "roff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.37.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys 0.4.10", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustls" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +dependencies = [ + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +dependencies = [ + "base64", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "serde" +version = "1.0.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "serde_json" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_regex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf" +dependencies = [ + "regex", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "similar" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "sluice" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" +dependencies = [ + "async-channel", + "futures-core", + "futures-io", +] + +[[package]] +name = "smallvec" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "stringmetrics" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b3c8667cd96245cbb600b8dec5680a7319edd719c5aa2b5d23c6bff94f39765" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sys-locale" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a11bd9c338fdba09f7881ab41551932ad42e405f61d01e8406baea71c07aee" +dependencies = [ + "js-sys", + "libc", + "wasm-bindgen", + "web-sys", + "windows-sys 0.45.0", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "target-lexicon" +version = "0.12.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" + +[[package]] +name = "tempfile" +version = "3.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +dependencies = [ + "cfg-if", + "fastrand 2.0.1", + "redox_syscall 0.3.5", + "rustix 0.38.19", + "windows-sys 0.48.0", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix 0.38.19", + "windows-sys 0.48.0", +] + +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.4", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "unindent" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "util" +version = "0.3.3" +dependencies = [ + "pretty_assertions", + "regex", + "zspell", +] + +[[package]] +name = "value-bag" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "visibility" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8881d5cc0ae34e3db2f1de5af81e5117a420d2f937506c2dc20d6f4cfb069051" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "waker-fn" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" + +[[package]] +name = "walkdir" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.38", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wasm-streams" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "zspell" +version = "0.3.3" +dependencies = [ + "atty", + "cfg-if", + "criterion", + "hashbrown 0.13.2", + "home", + "itertools", + "lazy_static", + "pretty_assertions", + "rand", + "regex", + "stringmetrics", + "sys-locale", + "tempfile", + "unicode-segmentation", + "util", + "visibility", +] + +[[package]] +name = "zspell-cli" +version = "0.3.3" +dependencies = [ + "anyhow", + "assert_cmd", + "cfg-if", + "clap 4.4.6", + "clap_complete", + "clap_mangen", + "criterion", + "futures-util", + "hex", + "httpmock", + "indicatif", + "lazy_static", + "predicates", + "reqwest", + "serde", + "serde_json", + "sha1", + "stringmetrics", + "tempfile", + "termcolor", + "tokio", + "zspell", +] + +[[package]] +name = "zspell-py" +version = "0.3.3" +dependencies = [ + "pyo3", + "pyo3-build-config", + "regex", + "zspell", +] diff --git a/Cargo.toml b/Cargo.toml index 170bc48..31f10bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,9 @@ [workspace] - +resolver = "2" members = [ - "crates/zspell", - "crates/zspell-py", - "crates/zspell-cli", + "zspell", + "zspell-py", + "zspell-cli", ] # Build with `cargo build --profile=release-debug` diff --git a/Pipfile b/Pipfile index 2da646d..02e76d3 100644 --- a/Pipfile +++ b/Pipfile @@ -4,14 +4,14 @@ verify_ssl = true name = "pypi" [packages] -maturin = "0.14.8" -sphinx = "6.0" -furo = "2022.12" +maturin = "1.3.0" +sphinx = "7.2.6" +furo = "2023.9.10" [dev-packages] -black = "2022.12" -pytest = "7.2" -m2r = "0.2" +black = "23.9.1" +pytest = "7.4.2" +m2r = "0.3.1" [requires] -python_version = "3.10" +python_version = "3.11" diff --git a/README.py.md b/README-py.md similarity index 100% rename from README.py.md rename to README-py.md diff --git a/README.md b/README.md index 3afbe74..b0d02c5 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ Here are some useful quick links: ## Interfaces -This project exposes multiple interfaces to its spellchecker, listed in -this section. +This project exposes multiple interfaces to its spellchecker, listed in this +section. ### Command Line Interface @@ -41,24 +41,24 @@ discussions, for those who are interested. ### Python Interface -There is a python wrapper for this library with prebuilt wheels, available -here: . Its source is located -in the [zspell-py crate](crates/zspell-py). +There is a python wrapper for this library with prebuilt wheels, available here: +. Its source is located in the +[zspell-py crate](zspell-py). ### Usage via WASM -The library API should work out of the box. Official WASM bindings will be -added at some point. +The library API should work out of the box. Official WASM bindings will be added +at some point. ## Feature Status -| Feature | Available via Library | Available via CLI | Tracking Issue | -|--------------------------------|-----------------------|-------------------|----------------| -| Basic spellcheck functionality | ✓ | ✓ | | +| Feature | Available via Library | Available via CLI | Tracking Issue | +| ------------------------------ | --------------------- | ----------------- | ------------------------------------------------- | +| Basic spellcheck functionality | ✓ | ✓ | | | Forbidden word handling | ✓ | ✓ | [#17](https://github.com/pluots/zspell/issues/17) | | Suggestions | WIP | ✕ | [#16](https://github.com/pluots/zspell/issues/16) | -| Compound word handling | ✕ | ✕ | | -| Full Morph/Phone Handling | WIP | ✕ | | +| Compound word handling | ✕ | ✕ | | +| Full Morph/Phone Handling | WIP | ✕ | | | Python Interface | Beta | N/A | [#18](https://github.com/pluots/zspell/issues/18) | | Prebuilt WASM bindings | ✕ | N/A | [#19](https://github.com/pluots/zspell/issues/19) | @@ -67,7 +67,8 @@ added at some point. This repository has the goal of highly prioritizing the most expected usage, i.e., that most words to be checked are correct. With optimizations based around this concept and with the modern computers now able to store entire compiled -word lists in memory (~20 MiB), `zspell` tends to outperform other spellcheckers. +word lists in memory (~20 MiB), `zspell` tends to outperform other +spellcheckers. ## MSRV diff --git a/crates/zspell-cli/LICENSE b/crates/zspell-cli/LICENSE deleted file mode 120000 index 30cff74..0000000 --- a/crates/zspell-cli/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE \ No newline at end of file diff --git a/crates/zspell-cli/README.md b/crates/zspell-cli/README.md deleted file mode 120000 index fe84005..0000000 --- a/crates/zspell-cli/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/crates/zspell-py/LICENSE b/crates/zspell-py/LICENSE deleted file mode 120000 index 30cff74..0000000 --- a/crates/zspell-py/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE \ No newline at end of file diff --git a/crates/zspell-py/README.md b/crates/zspell-py/README.md deleted file mode 120000 index 2684099..0000000 --- a/crates/zspell-py/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.py.md \ No newline at end of file diff --git a/crates/zspell/LICENSE b/crates/zspell/LICENSE deleted file mode 100644 index 4db18d8..0000000 --- a/crates/zspell/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2022 Trevor Gross - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/crates/zspell/README.md b/crates/zspell/README.md deleted file mode 100644 index 9276508..0000000 --- a/crates/zspell/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# ZSpell - -This project is a spellchecker written completely in rust, that maintains -compatibility with the venerable Hunspell dictionary format. It is entirely -native and does not rely on any other backends (Enchant, Hunspell, Aspell, -etc.). This library also has the goal of being usable via WASM. - -The library side has a stabalized checker, but the suggestion API is not yet -finalized. The CLI side is usable but not yet considered stabalized. -See [Feature Status](#feature-status) for more information on what is available. - -Here are some useful quick links: - -- Crate info: -- Crate CLI docs: -- Crate library docs: -- Python library page: -- Crate source: - -## Interfaces - -This project exposes multiple interfaces to its spellchecker, listed in -this section. - -### CLI Interface - -Just want to use this spellchecker from the command line? Check out the book, -located here , for a more in-depth explanation -of installation and usage. - -If you don't want to read further, the easiest way to get started is to download -a prebuilt binary from here: . - -### Rust Library Interface - -This project also aims to create a fully functional spellchecking library, for -easy programmatic use. See the documentation for the library side here -. This also includes a lot of design methodology -discussions, for those who are interested. - -### Python Interface - -There is a python wrapper for this library with prebuilt wheels, available -here: . Its source is located -in the [zspell-py crate](crates/zspell-py). - -### Usage via WASM - -The library API should work out of the box. Official WASM bindings will be -added at some point. - -## Feature Status - -| Feature | Available via Library | Available via CLI | Tracking Issue | -|--------------------------------|-----------------------|-------------------|----------------| -| Basic spellcheck functionality | ✓ | ✓ | | -| Forbidden word handling | ✕ | ✕ | [#17](https://github.com/pluots/zspell/issues/17) | -| Suggestions | ✕ | ✕ | [#16](https://github.com/pluots/zspell/issues/16) | -| Compound word handling | ✕ | ✕ | | -| Full Morph/Phone Handling | ✕ | ✕ | | -| Python Interface | ✕ | ✕ | [#18](https://github.com/pluots/zspell/issues/18) | -| Prebuilt WASM bindings | ✕ | ✕ | [#19](https://github.com/pluots/zspell/issues/19) | - -## Performance - -This repository has the goal of highly prioritizing the most expected usage, -i.e., that most words to be checked are correct. With optimizations based around -this concept and with the modern computers now able to store entire compiled -word lists in memory (~2 MiB), `zspell` tends to outperform other spellcheckers. - -## License - -See the LICENSE file for license information. The provided license does allow -for proprietary use and adaptation; that being said, I kindly suggest that if -you come up with an improvement, you submit a pull request and help us all out -:) - -### Dictionary data license - -The dictionaries provided in this repository for testing purposed have been -obtained under license. These files have been sourced from here: -[https://github.com/wooorm/dictionaries](https://github.com/wooorm/dictionaries) - -These dictionaries are licensed under various licenses, different from that of -this project. Please see the applicable `.license` file withing the -`dictionaries/` directory. diff --git a/crates/zspell-cli/Cargo.toml b/zspell-cli/Cargo.toml similarity index 98% rename from crates/zspell-cli/Cargo.toml rename to zspell-cli/Cargo.toml index 67c6ade..0798911 100644 --- a/crates/zspell-cli/Cargo.toml +++ b/zspell-cli/Cargo.toml @@ -3,6 +3,7 @@ name = "zspell-cli" version = "0.3.3" edition = "2021" publish = false +rust-version = "1.70" # Note: this is symlinked from top level readme = "README.md" diff --git a/zspell-cli/LICENSE b/zspell-cli/LICENSE new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/zspell-cli/LICENSE @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/zspell-cli/README.md b/zspell-cli/README.md new file mode 120000 index 0000000..32d46ee --- /dev/null +++ b/zspell-cli/README.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/crates/zspell-cli/build.rs b/zspell-cli/build.rs similarity index 100% rename from crates/zspell-cli/build.rs rename to zspell-cli/build.rs diff --git a/crates/zspell-cli/src/cli/mod.rs b/zspell-cli/src/cli/mod.rs similarity index 100% rename from crates/zspell-cli/src/cli/mod.rs rename to zspell-cli/src/cli/mod.rs diff --git a/crates/zspell-cli/src/download.rs b/zspell-cli/src/download.rs similarity index 100% rename from crates/zspell-cli/src/download.rs rename to zspell-cli/src/download.rs diff --git a/crates/zspell-cli/src/main.rs b/zspell-cli/src/main.rs similarity index 100% rename from crates/zspell-cli/src/main.rs rename to zspell-cli/src/main.rs diff --git a/crates/zspell-cli/src/spelling/mod.rs b/zspell-cli/src/spelling/mod.rs similarity index 100% rename from crates/zspell-cli/src/spelling/mod.rs rename to zspell-cli/src/spelling/mod.rs diff --git a/crates/zspell-cli/tests/cli_dict.rs b/zspell-cli/tests/cli_dict.rs similarity index 100% rename from crates/zspell-cli/tests/cli_dict.rs rename to zspell-cli/tests/cli_dict.rs diff --git a/crates/zspell-cli/tests/cli_lev.rs b/zspell-cli/tests/cli_lev.rs similarity index 100% rename from crates/zspell-cli/tests/cli_lev.rs rename to zspell-cli/tests/cli_lev.rs diff --git a/crates/zspell-cli/tests/files/de_at_listing.json b/zspell-cli/tests/files/de_at_listing.json similarity index 100% rename from crates/zspell-cli/tests/files/de_at_listing.json rename to zspell-cli/tests/files/de_at_listing.json diff --git a/crates/zspell-cli/tests/files/de_listing.json b/zspell-cli/tests/files/de_listing.json similarity index 100% rename from crates/zspell-cli/tests/files/de_listing.json rename to zspell-cli/tests/files/de_listing.json diff --git a/crates/zspell-cli/tests/files/de_res.txt b/zspell-cli/tests/files/de_res.txt similarity index 100% rename from crates/zspell-cli/tests/files/de_res.txt rename to zspell-cli/tests/files/de_res.txt diff --git a/crates/zspell-cli/tests/files/dict_listing.json b/zspell-cli/tests/files/dict_listing.json similarity index 100% rename from crates/zspell-cli/tests/files/dict_listing.json rename to zspell-cli/tests/files/dict_listing.json diff --git a/crates/zspell-py/Cargo.toml b/zspell-py/Cargo.toml similarity index 100% rename from crates/zspell-py/Cargo.toml rename to zspell-py/Cargo.toml diff --git a/zspell-py/LICENSE b/zspell-py/LICENSE new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/zspell-py/LICENSE @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/zspell-py/README.md b/zspell-py/README.md new file mode 120000 index 0000000..6bc40c3 --- /dev/null +++ b/zspell-py/README.md @@ -0,0 +1 @@ +../README-py.md \ No newline at end of file diff --git a/crates/zspell-py/build.rs b/zspell-py/build.rs similarity index 100% rename from crates/zspell-py/build.rs rename to zspell-py/build.rs diff --git a/crates/zspell-py/docs/Makefile b/zspell-py/docs/Makefile similarity index 100% rename from crates/zspell-py/docs/Makefile rename to zspell-py/docs/Makefile diff --git a/crates/zspell-py/docs/conf.py b/zspell-py/docs/conf.py similarity index 100% rename from crates/zspell-py/docs/conf.py rename to zspell-py/docs/conf.py diff --git a/crates/zspell-py/docs/index.rst b/zspell-py/docs/index.rst similarity index 100% rename from crates/zspell-py/docs/index.rst rename to zspell-py/docs/index.rst diff --git a/crates/zspell-py/docs/make.bat b/zspell-py/docs/make.bat similarity index 100% rename from crates/zspell-py/docs/make.bat rename to zspell-py/docs/make.bat diff --git a/crates/zspell-py/docs/requirements.txt b/zspell-py/docs/requirements.txt similarity index 100% rename from crates/zspell-py/docs/requirements.txt rename to zspell-py/docs/requirements.txt diff --git a/crates/zspell-py/pyproject.toml b/zspell-py/pyproject.toml similarity index 100% rename from crates/zspell-py/pyproject.toml rename to zspell-py/pyproject.toml diff --git a/crates/zspell-py/python/zspell/__init__.py b/zspell-py/python/zspell/__init__.py similarity index 100% rename from crates/zspell-py/python/zspell/__init__.py rename to zspell-py/python/zspell/__init__.py diff --git a/crates/zspell-py/python/zspell/py.types b/zspell-py/python/zspell/py.types similarity index 100% rename from crates/zspell-py/python/zspell/py.types rename to zspell-py/python/zspell/py.types diff --git a/crates/zspell-py/python/zspell/zspell.pyi b/zspell-py/python/zspell/zspell.pyi similarity index 100% rename from crates/zspell-py/python/zspell/zspell.pyi rename to zspell-py/python/zspell/zspell.pyi diff --git a/crates/zspell-py/src/lib.rs b/zspell-py/src/lib.rs similarity index 100% rename from crates/zspell-py/src/lib.rs rename to zspell-py/src/lib.rs diff --git a/crates/zspell-py/tests/test_basic.py b/zspell-py/tests/test_basic.py similarity index 100% rename from crates/zspell-py/tests/test_basic.py rename to zspell-py/tests/test_basic.py diff --git a/crates/zspell/Cargo.toml b/zspell/Cargo.toml similarity index 99% rename from crates/zspell/Cargo.toml rename to zspell/Cargo.toml index f2a5ae6..3550df0 100644 --- a/crates/zspell/Cargo.toml +++ b/zspell/Cargo.toml @@ -41,7 +41,6 @@ visibility = "0.0.1" [dev-dependencies] criterion = "0.4" -predicates = "2.1" pretty_assertions = "1.3" tempfile = "3.3" rand = "0.8.5" diff --git a/zspell/LICENSE b/zspell/LICENSE new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/zspell/LICENSE @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/zspell/README.md b/zspell/README.md new file mode 120000 index 0000000..32d46ee --- /dev/null +++ b/zspell/README.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/crates/zspell/benches/datastructure.rs b/zspell/benches/datastructure.rs similarity index 100% rename from crates/zspell/benches/datastructure.rs rename to zspell/benches/datastructure.rs diff --git a/crates/zspell/benches/dict_integration.rs b/zspell/benches/dict_integration.rs similarity index 100% rename from crates/zspell/benches/dict_integration.rs rename to zspell/benches/dict_integration.rs diff --git a/crates/zspell/benches/slice_contains.rs b/zspell/benches/slice_contains.rs similarity index 100% rename from crates/zspell/benches/slice_contains.rs rename to zspell/benches/slice_contains.rs diff --git a/crates/zspell/benches/small_map.rs b/zspell/benches/small_map.rs similarity index 100% rename from crates/zspell/benches/small_map.rs rename to zspell/benches/small_map.rs diff --git a/crates/zspell/benches/word_splitter.rs b/zspell/benches/word_splitter.rs similarity index 100% rename from crates/zspell/benches/word_splitter.rs rename to zspell/benches/word_splitter.rs diff --git a/crates/zspell/build.rs b/zspell/build.rs similarity index 100% rename from crates/zspell/build.rs rename to zspell/build.rs diff --git a/crates/zspell/src/affix.rs b/zspell/src/affix.rs similarity index 100% rename from crates/zspell/src/affix.rs rename to zspell/src/affix.rs diff --git a/crates/zspell/src/affix/tests.rs b/zspell/src/affix/tests.rs similarity index 100% rename from crates/zspell/src/affix/tests.rs rename to zspell/src/affix/tests.rs diff --git a/crates/zspell/src/affix/types.rs b/zspell/src/affix/types.rs similarity index 100% rename from crates/zspell/src/affix/types.rs rename to zspell/src/affix/types.rs diff --git a/crates/zspell/src/dict.rs b/zspell/src/dict.rs similarity index 99% rename from crates/zspell/src/dict.rs rename to zspell/src/dict.rs index edafb7b..44bb69e 100644 --- a/crates/zspell/src/dict.rs +++ b/zspell/src/dict.rs @@ -241,7 +241,12 @@ impl Dictionary { #[inline] #[cfg(feature = "unstable-stem")] pub fn stem_word(&self, word: &str) -> Result, WordNotFoundError> { - let Some(meta) = self.wordlist.0.get(word).or_else(|| self.wordlist_nosuggest.0.get(word)) else { + let Some(meta) = self + .wordlist + .0 + .get(word) + .or_else(|| self.wordlist_nosuggest.0.get(word)) + else { return Err(WordNotFoundError); }; diff --git a/crates/zspell/src/dict/flags.rs b/zspell/src/dict/flags.rs similarity index 100% rename from crates/zspell/src/dict/flags.rs rename to zspell/src/dict/flags.rs diff --git a/crates/zspell/src/dict/helpers.rs b/zspell/src/dict/helpers.rs similarity index 100% rename from crates/zspell/src/dict/helpers.rs rename to zspell/src/dict/helpers.rs diff --git a/crates/zspell/src/dict/parser.rs b/zspell/src/dict/parser.rs similarity index 99% rename from crates/zspell/src/dict/parser.rs rename to zspell/src/dict/parser.rs index d494dc7..c7d8263 100644 --- a/crates/zspell/src/dict/parser.rs +++ b/zspell/src/dict/parser.rs @@ -200,7 +200,7 @@ pub fn parse_dict(input: &str, flag_type: FlagType) -> Result, Pa let lines_backup = lines_iter.clone(); let Some(first) = lines_iter.next() else { - return Ok(Vec::new()) + return Ok(Vec::new()); }; // Try to parse the first line as an integer; if not, ignore it diff --git a/crates/zspell/src/dict/rule.rs b/zspell/src/dict/rule.rs similarity index 100% rename from crates/zspell/src/dict/rule.rs rename to zspell/src/dict/rule.rs diff --git a/crates/zspell/src/dict/rule/tests.rs b/zspell/src/dict/rule/tests.rs similarity index 100% rename from crates/zspell/src/dict/rule/tests.rs rename to zspell/src/dict/rule/tests.rs diff --git a/crates/zspell/src/dict/tests.rs b/zspell/src/dict/tests.rs similarity index 100% rename from crates/zspell/src/dict/tests.rs rename to zspell/src/dict/tests.rs diff --git a/crates/zspell/src/dict/types.rs b/zspell/src/dict/types.rs similarity index 100% rename from crates/zspell/src/dict/types.rs rename to zspell/src/dict/types.rs diff --git a/crates/zspell/src/error.rs b/zspell/src/error.rs similarity index 100% rename from crates/zspell/src/error.rs rename to zspell/src/error.rs diff --git a/crates/zspell/src/helpers.rs b/zspell/src/helpers.rs similarity index 100% rename from crates/zspell/src/helpers.rs rename to zspell/src/helpers.rs diff --git a/crates/zspell/src/lib.rs b/zspell/src/lib.rs similarity index 100% rename from crates/zspell/src/lib.rs rename to zspell/src/lib.rs diff --git a/crates/zspell/src/meta.rs b/zspell/src/meta.rs similarity index 100% rename from crates/zspell/src/meta.rs rename to zspell/src/meta.rs diff --git a/crates/zspell/src/morph.rs b/zspell/src/morph.rs similarity index 100% rename from crates/zspell/src/morph.rs rename to zspell/src/morph.rs diff --git a/crates/zspell/src/parser_affix.rs b/zspell/src/parser_affix.rs similarity index 99% rename from crates/zspell/src/parser_affix.rs rename to zspell/src/parser_affix.rs index 2e01d58..11937e8 100644 --- a/crates/zspell/src/parser_affix.rs +++ b/zspell/src/parser_affix.rs @@ -311,7 +311,7 @@ fn parse_morph_info(s: &str, nlines: u32) -> Result, ParseError> /// returns error if there is no whitespace fn munch_newline(s: &str) -> Result, ParseError> { let Some(i_term) = s.find('\n') else { - return Ok(None) + return Ok(None); }; let ret = &s[i_term + 1..]; let mut validate = &s[..i_term]; diff --git a/crates/zspell/src/parser_affix/node.rs b/zspell/src/parser_affix/node.rs similarity index 100% rename from crates/zspell/src/parser_affix/node.rs rename to zspell/src/parser_affix/node.rs diff --git a/crates/zspell/src/parser_affix/tests.rs b/zspell/src/parser_affix/tests.rs similarity index 100% rename from crates/zspell/src/parser_affix/tests.rs rename to zspell/src/parser_affix/tests.rs diff --git a/crates/zspell/src/parser_affix/types.rs b/zspell/src/parser_affix/types.rs similarity index 100% rename from crates/zspell/src/parser_affix/types.rs rename to zspell/src/parser_affix/types.rs diff --git a/crates/zspell/src/suggestions.rs b/zspell/src/suggestions.rs similarity index 100% rename from crates/zspell/src/suggestions.rs rename to zspell/src/suggestions.rs diff --git a/crates/zspell/src/system.rs b/zspell/src/system.rs similarity index 100% rename from crates/zspell/src/system.rs rename to zspell/src/system.rs diff --git a/crates/zspell/src/system/tests.rs b/zspell/src/system/tests.rs similarity index 100% rename from crates/zspell/src/system/tests.rs rename to zspell/src/system/tests.rs diff --git a/crates/zspell/tests/files/odyssey.txt b/zspell/tests/files/odyssey.txt similarity index 100% rename from crates/zspell/tests/files/odyssey.txt rename to zspell/tests/files/odyssey.txt diff --git a/crates/zspell/tests/files/tortoise_hare_misspelled.txt b/zspell/tests/files/tortoise_hare_misspelled.txt similarity index 100% rename from crates/zspell/tests/files/tortoise_hare_misspelled.txt rename to zspell/tests/files/tortoise_hare_misspelled.txt diff --git a/crates/zspell/tests/files/w1_eng_short.aff b/zspell/tests/files/w1_eng_short.aff similarity index 100% rename from crates/zspell/tests/files/w1_eng_short.aff rename to zspell/tests/files/w1_eng_short.aff diff --git a/crates/zspell/tests/files/w1_eng_short.dic b/zspell/tests/files/w1_eng_short.dic similarity index 100% rename from crates/zspell/tests/files/w1_eng_short.dic rename to zspell/tests/files/w1_eng_short.dic diff --git a/crates/zspell/tests/integration.rs b/zspell/tests/integration.rs similarity index 100% rename from crates/zspell/tests/integration.rs rename to zspell/tests/integration.rs diff --git a/crates/zspell/tests/managed/0_example.test b/zspell/tests/managed/0_example.test similarity index 100% rename from crates/zspell/tests/managed/0_example.test rename to zspell/tests/managed/0_example.test diff --git a/crates/zspell/tests/managed/1_pfxsfx.test b/zspell/tests/managed/1_pfxsfx.test similarity index 100% rename from crates/zspell/tests/managed/1_pfxsfx.test rename to zspell/tests/managed/1_pfxsfx.test diff --git a/crates/zspell/tests/managed/1_pfxsfx_num.test b/zspell/tests/managed/1_pfxsfx_num.test similarity index 100% rename from crates/zspell/tests/managed/1_pfxsfx_num.test rename to zspell/tests/managed/1_pfxsfx_num.test diff --git a/crates/zspell/tests/managed/2_nosuggest_forbid.test b/zspell/tests/managed/2_nosuggest_forbid.test similarity index 100% rename from crates/zspell/tests/managed/2_nosuggest_forbid.test rename to zspell/tests/managed/2_nosuggest_forbid.test diff --git a/crates/zspell/util/Cargo.toml b/zspell/util/Cargo.toml similarity index 100% rename from crates/zspell/util/Cargo.toml rename to zspell/util/Cargo.toml diff --git a/crates/zspell/util/src/lib.rs b/zspell/util/src/lib.rs similarity index 99% rename from crates/zspell/util/src/lib.rs rename to zspell/util/src/lib.rs index 9fdcc22..bd5e4ae 100644 --- a/crates/zspell/util/src/lib.rs +++ b/zspell/util/src/lib.rs @@ -195,7 +195,7 @@ impl TestManager { ]; for (name, expected_ref, actual_ref) in check_lists.into_iter() { - let Some (tmp) = expected_ref else { + let Some(tmp) = expected_ref else { eprintln!("skipped testing for {name}"); continue; }; From a1b439315accf1613660aa023dc304299f1543b4 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Tue, 17 Oct 2023 03:09:08 -0400 Subject: [PATCH 2/3] Fix clippy errors --- .github/workflows/validation-rust.yaml | 4 ++-- zspell-cli/Cargo.toml | 20 ++++++++++---------- zspell-py/Cargo.toml | 2 +- zspell/Cargo.toml | 14 +++++++------- zspell/benches/datastructure.rs | 12 ++++++------ zspell/src/dict.rs | 4 ++-- zspell/src/dict/helpers.rs | 4 ++-- zspell/src/lib.rs | 2 +- zspell/util/Cargo.toml | 4 ++-- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/validation-rust.yaml b/.github/workflows/validation-rust.yaml index de6c217..69265f3 100644 --- a/.github/workflows/validation-rust.yaml +++ b/.github/workflows/validation-rust.yaml @@ -25,7 +25,7 @@ jobs: components: clippy - uses: Swatinem/rust-cache@v2 - run: cargo clippy --all-features --all-targets -- -D warnings - - run: cargo clippy --no-default-features --all-targets -- -D warnings + - run: cargo clippy --no-default-features --all-targets --features benchmarking -- -D warnings min_versions: name: check minimum rustc version @@ -36,7 +36,7 @@ jobs: - uses: Swatinem/rust-cache@v2 # check only zspell; we can use later for the CLI - run: cargo check -p zspell --all-features - - run: cargo check -p zspell --no-default-features + - run: cargo check -p zspell --no-default-features --features benchmarking test: strategy: diff --git a/zspell-cli/Cargo.toml b/zspell-cli/Cargo.toml index 0798911..9fbc426 100644 --- a/zspell-cli/Cargo.toml +++ b/zspell-cli/Cargo.toml @@ -16,34 +16,34 @@ path = "src/main.rs" [dependencies] cfg-if = "1.0" -clap = { version = "4.0.32", features = ["derive", "wrap_help"] } +clap = { version = "4.4.6", features = ["derive", "wrap_help"] } futures-util = "0.3" hex = "0.4" indicatif = "0.17" # We opt to use rustls instead of linking openssl reqwest = { version = "0.11", features = ["blocking", "stream", "rustls-tls"], default-features = false } -serde = { version = "1.0.152", features = ["derive"] } -serde_json = "1.0.91" -sha1 = "0.10.5" +serde = { version = "1.0.189", features = ["derive"] } +serde_json = "1.0.107" +sha1 = "0.10.6" stringmetrics = "2.2" -termcolor = "1.1.3" -tokio = "1.21.2" -anyhow = "1.0.68" +termcolor = "1.3.0" +tokio = "1.33.0" +anyhow = "1.0.75" zspell = { path = "../zspell", features = ["zspell-unstable"] } [dev-dependencies] criterion = "0.4" assert_cmd = "2.0" predicates = "2.1" -tempfile = "3.3" +tempfile = "3.8" httpmock = "0.6" lazy_static = "1.4" # util = { path = "util" } [build-dependencies] -clap = { version = "4.0", features = ["derive", "wrap_help"] } +clap = { version = "4.4", features = ["derive", "wrap_help"] } clap_mangen = "0.2" -clap_complete = "4.0" +clap_complete = "4.4" [package.metadata.release] shared-version = true diff --git a/zspell-py/Cargo.toml b/zspell-py/Cargo.toml index 161e7d9..06fe947 100644 --- a/zspell-py/Cargo.toml +++ b/zspell-py/Cargo.toml @@ -14,7 +14,7 @@ crate-type = ["cdylib"] doc = false [dependencies] -regex = "1.7" +regex = "1.10" pyo3 = { version = "0.17.3", features = ["extension-module"] } zspell = { path = "../zspell" } diff --git a/zspell/Cargo.toml b/zspell/Cargo.toml index 3550df0..d09abea 100644 --- a/zspell/Cargo.toml +++ b/zspell/Cargo.toml @@ -28,21 +28,21 @@ path = "src/lib.rs" # Base dependencies atty = "0.2.14" cfg-if = "1.0" -hashbrown = "0.13.1" -home = "0.5.4" +hashbrown = "0.13.2" +home = "0.5.5" lazy_static = "1.4" -regex = "1.7" +regex = "1.10" stringmetrics = "2.2.2" -sys-locale = "0.2.3" -unicode-segmentation = "1.10.0" +sys-locale = "0.2.4" +unicode-segmentation = "1.10.1" itertools = "0.10.5" visibility = "0.0.1" [dev-dependencies] criterion = "0.4" -pretty_assertions = "1.3" -tempfile = "3.3" +pretty_assertions = "1.4" +tempfile = "3.8" rand = "0.8.5" util = { path = "util" } diff --git a/zspell/benches/datastructure.rs b/zspell/benches/datastructure.rs index 83c2159..2644ee9 100644 --- a/zspell/benches/datastructure.rs +++ b/zspell/benches/datastructure.rs @@ -110,7 +110,7 @@ pub fn bench_vec(c: &mut Criterion) { } pub fn bench_btree(c: &mut Criterion) { - let bt = BTreeSet::from_iter(lines_loader().into_iter()); + let bt = BTreeSet::from_iter(lines_loader()); c.bench_function("BTree contains true", |b| { b.iter(|| { @@ -130,7 +130,7 @@ pub fn bench_btree(c: &mut Criterion) { } pub fn bench_hashset(c: &mut Criterion) { - let hs: HashSet = HashSet::from_iter(lines_loader().into_iter()); + let hs: HashSet = HashSet::from_iter(lines_loader()); c.bench_function("HashSet contains true", |b| { b.iter(|| { @@ -150,7 +150,7 @@ pub fn bench_hashset(c: &mut Criterion) { } pub fn bench_hashbrownset(c: &mut Criterion) { - let hs: HashBrownSet = HashBrownSet::from_iter(lines_loader().into_iter()); + let hs: HashBrownSet = HashBrownSet::from_iter(lines_loader()); c.bench_function("HashBrownSet contains true", |b| { b.iter(|| { @@ -208,7 +208,7 @@ pub fn bench_vecmap(c: &mut Criterion) { } pub fn bench_btreemap(c: &mut Criterion) { - let bt: BTreeMap = BTreeMap::from_iter(map_loader().into_iter()); + let bt: BTreeMap = BTreeMap::from_iter(map_loader()); c.bench_function("BTreeMap contains true", |b| { b.iter(|| { @@ -244,7 +244,7 @@ pub fn bench_btreemap(c: &mut Criterion) { } pub fn bench_hashmap(c: &mut Criterion) { - let hm: HashMap = HashMap::from_iter(map_loader().into_iter()); + let hm: HashMap = HashMap::from_iter(map_loader()); c.bench_function("HashMap contains true", |b| { b.iter(|| { @@ -280,7 +280,7 @@ pub fn bench_hashmap(c: &mut Criterion) { } pub fn bench_hashbrownmap(c: &mut Criterion) { - let hm: HashBrownMap = HashBrownMap::from_iter(map_loader().into_iter()); + let hm: HashBrownMap = HashBrownMap::from_iter(map_loader()); c.bench_function("HashBrownMap contains true", |b| { b.iter(|| { diff --git a/zspell/src/dict.rs b/zspell/src/dict.rs index 44bb69e..0350727 100644 --- a/zspell/src/dict.rs +++ b/zspell/src/dict.rs @@ -195,7 +195,7 @@ impl Dictionary { ) -> impl Iterator)> { word_splitter(input).filter_map(|(idx, w)| { self.suggest_word(w) - .map_or_else(|v| Some((idx, w, v)), |_| None) + .map_or_else(|v| Some((idx, w, v)), |()| None) }) } @@ -327,7 +327,7 @@ impl Dictionary { continue; } - match self.flags.get(flag).unwrap().borrow() { + match self.flags.get(flag).unwrap() { FlagValue::ForbiddenWord => forbid = true, FlagValue::NoSuggest => nosuggest = true, FlagValue::Rule(rule) => { diff --git a/zspell/src/dict/helpers.rs b/zspell/src/dict/helpers.rs index cc3f98e..46092b2 100644 --- a/zspell/src/dict/helpers.rs +++ b/zspell/src/dict/helpers.rs @@ -29,7 +29,7 @@ pub(super) fn create_affixed_word_map( let mut prefixed_words: Vec<(String, &Arc, usize)> = Vec::new(); let mut rule_found = false; - for &rule in prefix_rules.iter() { + for &rule in prefix_rules { for (idx, result) in rule.apply_patterns(stem) { let meta = Meta::new(stem_rc.clone(), Source::Affix(rule.clone())); let meta_vec = dest.0.entry_ref(&result).or_insert_with(Vec::new); @@ -42,7 +42,7 @@ pub(super) fn create_affixed_word_map( } } - for &rule in suffix_rules.iter() { + for &rule in suffix_rules { for (idx, result) in rule.apply_patterns(stem) { let meta = Meta::new(stem_rc.clone(), Source::Affix(rule.clone())); let meta_vec = dest.0.entry_ref(&result).or_insert_with(Vec::new); diff --git a/zspell/src/lib.rs b/zspell/src/lib.rs index 11db3ac..46bcd61 100644 --- a/zspell/src/lib.rs +++ b/zspell/src/lib.rs @@ -83,7 +83,7 @@ //! [CLI docs]: https://pluots.github.io/zspell/ #![allow(unused)] #![warn(clippy::pedantic)] -#![warn(clippy::cargo)] +// #![warn(clippy::cargo)] #![warn(clippy::nursery)] #![warn(clippy::str_to_string)] #![warn(clippy::missing_inline_in_public_items)] diff --git a/zspell/util/Cargo.toml b/zspell/util/Cargo.toml index 70766f1..5edee65 100644 --- a/zspell/util/Cargo.toml +++ b/zspell/util/Cargo.toml @@ -6,5 +6,5 @@ publish = false [dependencies] zspell = { path = "../", features = ["zspell-unstable"] } -regex = "1.7" -pretty_assertions = "1.3" +regex = "1.10" +pretty_assertions = "1.4" From 5f981421d52ff20be9ac638f523e81c06b2bf2b0 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Tue, 17 Oct 2023 03:18:43 -0400 Subject: [PATCH 3/3] Upgrade all crates to their latest versions --- Cargo.lock | 196 +++++++++++++++++------------------------- zspell-cli/Cargo.toml | 4 +- zspell-py/Cargo.toml | 4 +- zspell-py/src/lib.rs | 2 +- zspell/Cargo.toml | 10 +-- 5 files changed, 91 insertions(+), 125 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6b21cd3..a68cfe4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,6 +37,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "anes" version = "0.1.6" @@ -124,7 +130,7 @@ checksum = "b800c4403e8105d959595e1f88119e78bc12bc874c4336973658b648a746ba93" dependencies = [ "bstr", "doc-comment", - "predicates", + "predicates 2.1.5", "predicates-core", "predicates-tree", "wait-timeout", @@ -284,7 +290,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -471,18 +477,6 @@ dependencies = [ "half", ] -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "bitflags 1.3.2", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "textwrap", -] - [[package]] name = "clap" version = "4.4.6" @@ -501,7 +495,7 @@ checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" dependencies = [ "anstream", "anstyle", - "clap_lex 0.5.1", + "clap_lex", "strsim", "terminal_size", ] @@ -512,7 +506,7 @@ version = "4.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3ae8ba90b9d8b007efe66e55e48fb936272f5ca00349b5b0e89877520d35ea7" dependencies = [ - "clap 4.4.6", + "clap", ] [[package]] @@ -524,16 +518,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.38", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", + "syn", ] [[package]] @@ -548,7 +533,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b44f35c514163027542f7147797ff930523eea288e03642727348ef1a9666f6b" dependencies = [ - "clap 4.4.6", + "clap", "roff", ] @@ -607,19 +592,19 @@ dependencies = [ [[package]] name = "criterion" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" dependencies = [ "anes", - "atty", "cast", "ciborium", - "clap 3.2.25", + "clap", "criterion-plot", - "itertools", - "lazy_static", + "is-terminal", + "itertools 0.10.5", "num-traits", + "once_cell", "oorandom", "plotters", "rayon", @@ -638,7 +623,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -661,7 +646,7 @@ dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", + "memoffset", "scopeguard", ] @@ -922,7 +907,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -1026,19 +1011,14 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.13.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" dependencies = [ "ahash", + "allocator-api2", ] -[[package]] -name = "hashbrown" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" - [[package]] name = "heck" version = "0.4.1" @@ -1220,9 +1200,9 @@ dependencies = [ [[package]] name = "indoc" -version = "1.0.9" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" +checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" [[package]] name = "instant" @@ -1297,6 +1277,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -1332,7 +1321,7 @@ dependencies = [ "diff", "ena", "is-terminal", - "itertools", + "itertools 0.10.5", "lalrpop-util", "petgraph", "regex", @@ -1429,15 +1418,6 @@ version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -1549,12 +1529,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - [[package]] name = "parking" version = "2.1.1" @@ -1626,7 +1600,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -1726,9 +1700,21 @@ version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ + "difflib", + "itertools 0.10.5", + "predicates-core", +] + +[[package]] +name = "predicates" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0" +dependencies = [ + "anstyle", "difflib", "float-cmp", - "itertools", + "itertools 0.11.0", "normalize-line-endings", "predicates-core", "regex", @@ -1771,14 +1757,14 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.17.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543" +checksum = "04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b" dependencies = [ "cfg-if", "indoc", "libc", - "memoffset 0.6.5", + "memoffset", "parking_lot", "pyo3-build-config", "pyo3-ffi", @@ -1788,9 +1774,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.17.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8" +checksum = "a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5" dependencies = [ "once_cell", "target-lexicon", @@ -1798,9 +1784,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.17.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc" +checksum = "214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b" dependencies = [ "libc", "pyo3-build-config", @@ -1808,25 +1794,26 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.17.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28" +checksum = "dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b" dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "pyo3-macros-backend" -version = "0.17.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f" +checksum = "7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424" dependencies = [ + "heck", "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -2148,7 +2135,7 @@ checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -2293,17 +2280,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.38" @@ -2317,15 +2293,11 @@ dependencies = [ [[package]] name = "sys-locale" -version = "0.2.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a11bd9c338fdba09f7881ab41551932ad42e405f61d01e8406baea71c07aee" +checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0" dependencies = [ - "js-sys", "libc", - "wasm-bindgen", - "web-sys", - "windows-sys 0.45.0", ] [[package]] @@ -2404,12 +2376,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" - [[package]] name = "thiserror" version = "1.0.49" @@ -2427,7 +2393,7 @@ checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -2490,7 +2456,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -2543,7 +2509,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -2618,9 +2584,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unindent" -version = "0.1.11" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" +checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" [[package]] name = "untrusted" @@ -2674,13 +2640,13 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "visibility" -version = "0.0.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8881d5cc0ae34e3db2f1de5af81e5117a420d2f937506c2dc20d6f4cfb069051" +checksum = "b3fd98999db9227cf28e59d83e1f120f42bc233d4b152e8fab9bc87d5bb1e0f8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -2744,7 +2710,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.38", + "syn", "wasm-bindgen-shared", ] @@ -2778,7 +2744,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3004,9 +2970,9 @@ dependencies = [ "atty", "cfg-if", "criterion", - "hashbrown 0.13.2", + "hashbrown 0.14.1", "home", - "itertools", + "itertools 0.11.0", "lazy_static", "pretty_assertions", "rand", @@ -3026,7 +2992,7 @@ dependencies = [ "anyhow", "assert_cmd", "cfg-if", - "clap 4.4.6", + "clap", "clap_complete", "clap_mangen", "criterion", @@ -3035,7 +3001,7 @@ dependencies = [ "httpmock", "indicatif", "lazy_static", - "predicates", + "predicates 3.0.4", "reqwest", "serde", "serde_json", diff --git a/zspell-cli/Cargo.toml b/zspell-cli/Cargo.toml index 9fbc426..1af20b9 100644 --- a/zspell-cli/Cargo.toml +++ b/zspell-cli/Cargo.toml @@ -32,9 +32,9 @@ anyhow = "1.0.75" zspell = { path = "../zspell", features = ["zspell-unstable"] } [dev-dependencies] -criterion = "0.4" +criterion = "0.5" assert_cmd = "2.0" -predicates = "2.1" +predicates = "3.0" tempfile = "3.8" httpmock = "0.6" lazy_static = "1.4" diff --git a/zspell-py/Cargo.toml b/zspell-py/Cargo.toml index 06fe947..d757bff 100644 --- a/zspell-py/Cargo.toml +++ b/zspell-py/Cargo.toml @@ -15,11 +15,11 @@ doc = false [dependencies] regex = "1.10" -pyo3 = { version = "0.17.3", features = ["extension-module"] } +pyo3 = { version = "0.20.0", features = ["extension-module"] } zspell = { path = "../zspell" } [build-dependencies] -pyo3-build-config = "0.17.3" +pyo3-build-config = "0.20.0" [package.metadata.release] shared-version = true diff --git a/zspell-py/src/lib.rs b/zspell-py/src/lib.rs index ea6dbf7..efbd980 100644 --- a/zspell-py/src/lib.rs +++ b/zspell-py/src/lib.rs @@ -28,13 +28,13 @@ use pyo3::prelude::*; /// >>> d.check("Apples are baaaad") /// False /// ``` -#[pyo3(text_signature = "(config_str, dict_str)")] struct Dictionary(z::Dictionary); #[pymethods] impl Dictionary { /// Create a new dictionary #[new] + #[pyo3(text_signature = "(config_str, dict_str)")] fn new(config_str: &str, dict_str: &str, personal_str: Option<&str>) -> PyResult { let mut builder = z::DictBuilder::new() .dict_str(dict_str) diff --git a/zspell/Cargo.toml b/zspell/Cargo.toml index d09abea..400078c 100644 --- a/zspell/Cargo.toml +++ b/zspell/Cargo.toml @@ -28,19 +28,19 @@ path = "src/lib.rs" # Base dependencies atty = "0.2.14" cfg-if = "1.0" -hashbrown = "0.13.2" +hashbrown = "0.14.1" home = "0.5.5" lazy_static = "1.4" regex = "1.10" stringmetrics = "2.2.2" -sys-locale = "0.2.4" +sys-locale = "0.3.1" unicode-segmentation = "1.10.1" -itertools = "0.10.5" -visibility = "0.0.1" +itertools = "0.11.0" +visibility = "0.1.0" [dev-dependencies] -criterion = "0.4" +criterion = "0.5" pretty_assertions = "1.4" tempfile = "3.8" rand = "0.8.5"