diff --git a/.github/workflows/periodic.yml b/.github/workflows/periodic.yml index 8c0bca4..fb54281 100644 --- a/.github/workflows/periodic.yml +++ b/.github/workflows/periodic.yml @@ -37,12 +37,17 @@ jobs: platform: - runner: ubuntu-latest target: x86_64-unknown-linux-gnu - - runner: macOS-latest - target: x86_64-apple-darwin - - runner: macOS-latest + - runner: ubuntu-24.04-arm + target: aarch64-unknown-linux-gnu + - runner: macos-latest target: aarch64-apple-darwin + - runner: macos-15-intel + target: x86_64-apple-darwin - runner: windows-latest target: x86_64-pc-windows-msvc + - runner: windows-latest + target: aarch64-pc-windows-msvc + skip_test_run: true toolchain: [stable] runs-on: ${{ matrix.platform.runner }} steps: @@ -57,4 +62,11 @@ jobs: components: rustfmt, clippy - name: Run test - run: cargo test --target "${{ matrix.platform.target }}" --all-features + shell: bash + run: | + if [ "${{ matrix.platform.skip_test_run }}" == "true" ]; then + export PYO3_CROSS_PYTHON_VERSION=3.10 + cargo check --target "${{ matrix.platform.target }}" --all-features + else + cargo test --target "${{ matrix.platform.target }}" --all-features + fi diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 95daa33..46fa788 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -40,12 +40,17 @@ jobs: platform: - runner: ubuntu-latest target: x86_64-unknown-linux-gnu - - runner: macOS-latest - target: x86_64-apple-darwin - - runner: macOS-latest + - runner: ubuntu-24.04-arm + target: aarch64-unknown-linux-gnu + - runner: macos-latest target: aarch64-apple-darwin + - runner: macos-15-intel + target: x86_64-apple-darwin - runner: windows-latest target: x86_64-pc-windows-msvc + - runner: windows-latest + target: aarch64-pc-windows-msvc + skip_test_run: true toolchain: [stable] runs-on: ${{ matrix.platform.runner }} steps: @@ -60,4 +65,11 @@ jobs: components: rustfmt, clippy - name: Run test - run: cargo test --target "${{ matrix.platform.target }}" --all-features + shell: bash + run: | + if [ "${{ matrix.platform.skip_test_run }}" == "true" ]; then + export PYO3_CROSS_PYTHON_VERSION=3.10 + cargo check --target "${{ matrix.platform.target }}" --all-features + else + cargo test --target "${{ matrix.platform.target }}" --all-features + fi diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 08978a4..88ad6b0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,15 +42,20 @@ jobs: platform: - runner: ubuntu-latest target: x86_64-unknown-linux-gnu - - runner: macOS-latest - target: x86_64-apple-darwin - - runner: macOS-latest + - runner: ubuntu-24.04-arm + target: aarch64-unknown-linux-gnu + - runner: macos-latest target: aarch64-apple-darwin + - runner: macos-15-intel + target: x86_64-apple-darwin - runner: windows-latest target: x86_64-pc-windows-msvc + - runner: windows-latest + target: aarch64-pc-windows-msvc + skip_test_run: true toolchain: [stable] features: - - value: "embedded-ipadic" + - value: "embed-ipadic" package_name: "lindera-python-ipadic" package_description: "Python binding for Lindera with IPADIC dictionary" @@ -67,97 +72,43 @@ jobs: components: rustfmt, clippy - name: Run test - run: cargo test --target "${{ matrix.platform.target }}" --features="${{ matrix.features.value }}" + shell: bash + run: | + if [ "${{ matrix.platform.skip_test_run }}" == "true" ]; then + export PYO3_CROSS_PYTHON_VERSION=3.10 + cargo check --target "${{ matrix.platform.target }}" --all-features + else + cargo test --target "${{ matrix.platform.target }}" --all-features + fi linux: name: Linux needs: [test] strategy: - max-parallel: 1 matrix: platform: - runner: ubuntu-latest - target: x86_64 - toolchain: [stable] - features: - - value: "default" - package_name: "lindera-python" - package_description: "Python binding for Lindera (no embedded dictionaries)" - - value: "embedded-cjk" - package_name: "lindera-python-cjk" - package_description: "Python binding for Lindera with CJK dictionaries (IPADIC, ko-dic, CC-CEDICT)" - - value: "embedded-ipadic" - package_name: "lindera-python-ipadic" - package_description: "Python binding for Lindera with IPADIC dictionary" - - value: "embedded-unidic" - package_name: "lindera-python-unidic" - package_description: "Python binding for Lindera with UniDic dictionary" - - value: "embedded-ko-dic" - package_name: "lindera-python-ko-dic" - package_description: "Python binding for Lindera with ko-dic Korean dictionary" - - value: "embedded-cc-cedict" - package_name: "lindera-python-cc-cedict" - package_description: "Python binding for Lindera with CC-CEDICT Chinese dictionary" - runs-on: ${{ matrix.platform.runner }} - steps: - - name: Run checkout - uses: actions/checkout@v6 - - - name: Setup Python - uses: actions/setup-python@v6 - with: - python-version: 3.x - - - name: Create package-specific pyproject.toml - run: | - # Modify pyproject.toml in place - sed -i "s/^name = \"lindera-python\"/name = \"${{ matrix.features.package_name }}\"/" pyproject.toml - sed -i "s/^description = \".*\"/description = \"${{ matrix.features.package_description }}\"/" pyproject.toml - - - name: Build wheels - uses: PyO3/maturin-action@v1 - env: - NODE_OPTIONS: "--max-old-space-size=8192" - with: - target: ${{ matrix.platform.target }} - args: --release --out dist --find-interpreter --features=${{ matrix.features.value }} - sccache: "true" - manylinux: auto - before-script-linux: "yum install openssl-devel devtoolset-10-libatomic-devel perl-IPC-Cmd -y" - - - name: Upload wheels - uses: actions/upload-artifact@v6 - with: - name: wheels-${{ matrix.features.package_name }}-linux-${{ matrix.platform.target }}-${{ github.ref_name }} - path: dist - - linux2: - name: Linux2 - needs: [test] - strategy: - max-parallel: 1 - matrix: - platform: - - runner: ubuntu-latest - target: aarch64 + target: x86_64-unknown-linux-gnu + - runner: ubuntu-24.04-arm + target: aarch64-unknown-linux-gnu toolchain: [stable] features: - value: "default" package_name: "lindera-python" package_description: "Python binding for Lindera (no embedded dictionaries)" - - value: "embedded-cjk" + - value: "embed-cjk" package_name: "lindera-python-cjk" package_description: "Python binding for Lindera with CJK dictionaries (IPADIC, ko-dic, CC-CEDICT)" - - value: "embedded-ipadic" + - value: "embed-ipadic" package_name: "lindera-python-ipadic" package_description: "Python binding for Lindera with IPADIC dictionary" - - value: "embedded-unidic" + - value: "embed-unidic" package_name: "lindera-python-unidic" package_description: "Python binding for Lindera with UniDic dictionary" - - value: "embedded-ko-dic" + - value: "embed-ko-dic" package_name: "lindera-python-ko-dic" package_description: "Python binding for Lindera with ko-dic Korean dictionary" - - value: "embedded-cc-cedict" + - value: "embed-cc-cedict" package_name: "lindera-python-cc-cedict" package_description: "Python binding for Lindera with CC-CEDICT Chinese dictionary" runs-on: ${{ matrix.platform.runner }} @@ -185,7 +136,12 @@ jobs: args: --release --out dist --find-interpreter --features=${{ matrix.features.value }} sccache: "true" manylinux: auto - before-script-linux: "apt-get update && apt-get install libssl-dev pkg-config -y" + before-script-linux: | + if command -v yum >/dev/null 2>&1; then + yum install openssl-devel devtoolset-10-libatomic-devel perl-IPC-Cmd -y + elif command -v apt-get >/dev/null 2>&1; then + apt-get update && apt-get install libssl-dev pkg-config -y + fi - name: Upload wheels uses: actions/upload-artifact@v6 @@ -201,25 +157,27 @@ jobs: matrix: platform: - runner: windows-latest - target: x64 + target: x86_64-pc-windows-msvc + - runner: windows-latest + target: aarch64-pc-windows-msvc toolchain: [stable] features: - value: "default" package_name: "lindera-python" package_description: "Python binding for Lindera (no embedded dictionaries)" - - value: "embedded-cjk" + - value: "embed-cjk" package_name: "lindera-python-cjk" package_description: "Python binding for Lindera with CJK dictionaries (IPADIC, ko-dic, CC-CEDICT)" - - value: "embedded-ipadic" + - value: "embed-ipadic" package_name: "lindera-python-ipadic" package_description: "Python binding for Lindera with IPADIC dictionary" - - value: "embedded-unidic" + - value: "embed-unidic" package_name: "lindera-python-unidic" package_description: "Python binding for Lindera with UniDic dictionary" - - value: "embedded-ko-dic" + - value: "embed-ko-dic" package_name: "lindera-python-ko-dic" package_description: "Python binding for Lindera with ko-dic Korean dictionary" - - value: "embedded-cc-cedict" + - value: "embed-cc-cedict" package_name: "lindera-python-cc-cedict" package_description: "Python binding for Lindera with CC-CEDICT Chinese dictionary" runs-on: ${{ matrix.platform.runner }} @@ -231,7 +189,7 @@ jobs: uses: actions/setup-python@v6 with: python-version: 3.x - architecture: ${{ matrix.platform.target }} + architecture: ${{ contains(matrix.platform.target, 'aarch64') && 'arm64' || 'x64' }} - name: Create package-specific pyproject.toml shell: pwsh @@ -258,34 +216,34 @@ jobs: path: dist macos: - name: MacOS + name: macOS needs: [test] strategy: max-parallel: 1 matrix: platform: - runner: macos-latest - target: x86_64 - - runner: macos-latest - target: aarch64 + target: aarch64-apple-darwin + - runner: macos-15-intel + target: x86_64-apple-darwin toolchain: [stable] features: - value: "default" package_name: "lindera-python" package_description: "Python binding for Lindera (no embedded dictionaries)" - - value: "embedded-cjk" + - value: "embed-cjk" package_name: "lindera-python-cjk" package_description: "Python binding for Lindera with CJK dictionaries (IPADIC, ko-dic, CC-CEDICT)" - - value: "embedded-ipadic" + - value: "embed-ipadic" package_name: "lindera-python-ipadic" package_description: "Python binding for Lindera with IPADIC dictionary" - - value: "embedded-unidic" + - value: "embed-unidic" package_name: "lindera-python-unidic" package_description: "Python binding for Lindera with UniDic dictionary" - - value: "embedded-ko-dic" + - value: "embed-ko-dic" package_name: "lindera-python-ko-dic" package_description: "Python binding for Lindera with ko-dic Korean dictionary" - - value: "embedded-cc-cedict" + - value: "embed-cc-cedict" package_name: "lindera-python-cc-cedict" package_description: "Python binding for Lindera with CC-CEDICT Chinese dictionary" runs-on: ${{ matrix.platform.runner }} @@ -339,8 +297,7 @@ jobs: release: name: GitHub Release - # needs: [linux, linux2, musllinux, windows, macos, sdist] - needs: [linux, linux2, windows, macos, sdist] + needs: [linux, windows, macos, sdist] runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }} permissions: @@ -374,7 +331,7 @@ jobs: publish-pypi: name: Publish to PyPI - needs: [linux, linux2, windows, macos, sdist] + needs: [linux, windows, macos, sdist] runs-on: ubuntu-latest if: ${{ startsWith(github.ref, 'refs/tags/') }} permissions: @@ -413,10 +370,10 @@ jobs: - name: Publish lindera-python run: | - LINDERA_PY_VERSION=$(cargo metadata --no-deps --format-version=1 | jq -r '.packages[] | select(.name=="lindera-python") | .version') - LINDERA_PY_VERSIONS=$(curl -s -XGET https://crates.io/api/v1/crates/lindera-python | jq -r 'select(.versions != null) | .versions[].num') - if echo ${LINDERA_PY_VERSIONS} | grep ${LINDERA_PY_VERSION} >/dev/null; then - echo "lindera-python ${LINDERA_PY_VERSION} has already published" + LINDERA_PYTHON_VERSION=$(cargo metadata --no-deps --format-version=1 | jq -r '.packages[] | select(.name=="lindera-python") | .version') + LINDERA_PYTHON_VERSIONS=$(curl -s -XGET https://crates.io/api/v1/crates/lindera-python | jq -r 'select(.versions != null) | .versions[].num') + if echo ${LINDERA_PYTHON_VERSIONS} | grep ${LINDERA_PYTHON_VERSION} >/dev/null; then + echo "lindera-python ${LINDERA_PYTHON_VERSION} has already published" else cargo publish fi diff --git a/Cargo.lock b/Cargo.lock index 7f7d74a..8e56b91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -634,6 +634,12 @@ dependencies = [ "foldhash", ] +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + [[package]] name = "heck" version = "0.5.0" @@ -928,7 +934,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.15.0", ] [[package]] @@ -1038,9 +1044,9 @@ checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "lindera" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c705f6841f5d6d92f0fb49b3394e0b633f7b68e6bb6bfaaf02d794ade1de61" +checksum = "5b24b63a13a8b2de281b5d07a7d3494bb63f862148dfea0deb9d0b9589f37a84" dependencies = [ "anyhow", "byteorder", @@ -1052,6 +1058,7 @@ dependencies = [ "lindera-ipadic-neologd", "lindera-ko-dic", "lindera-unidic", + "log", "once_cell", "percent-encoding", "regex", @@ -1069,9 +1076,9 @@ dependencies = [ [[package]] name = "lindera-cc-cedict" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aad0b904e0e5c6ab4df0c426e9e7e73baa1bd02beb5f6caa299a2c50b65be5" +checksum = "b5fb6c378e451c614890c223808baf8e9416bce766000316ccb54c896726e5d6" dependencies = [ "anyhow", "byteorder", @@ -1085,9 +1092,9 @@ dependencies = [ [[package]] name = "lindera-dictionary" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58d801e2f083a6a55c95eab013b8159029a538bb23d25f998537ca83f519c0ce" +checksum = "48c76799a6d2a55eb4425b04ae0e0399dc4f9b2f644403c3bb75576b50fe54a4" dependencies = [ "anyhow", "byteorder", @@ -1120,9 +1127,9 @@ dependencies = [ [[package]] name = "lindera-ipadic" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c96c39429b860d3cd6673817654f73c3569fdd4ff5ee350579b7144f3af6607" +checksum = "a4df4314530c32bfbca1eac7ddd223b52cc5b61b629d0729dafa699c85068a68" dependencies = [ "anyhow", "byteorder", @@ -1136,9 +1143,9 @@ dependencies = [ [[package]] name = "lindera-ipadic-neologd" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafe1b69d68bf202c1dc38f7650617269627806b532addf179f6ecd117290a13" +checksum = "f376c0d638dd19429e737da68648e96ab86ef671be52266e7ef87dfe6096c2ec" dependencies = [ "anyhow", "byteorder", @@ -1152,9 +1159,9 @@ dependencies = [ [[package]] name = "lindera-ko-dic" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420133c798b4162a1fb3e8c483da0add4e370f22d3e90c9f2ef15013bdac9ce2" +checksum = "924e9b80b4c43107d379667dad2349b30af98d7a74c80e8260b6e4e365c4632c" dependencies = [ "anyhow", "byteorder", @@ -1168,7 +1175,7 @@ dependencies = [ [[package]] name = "lindera-python" -version = "1.4.1" +version = "2.0.0" dependencies = [ "lindera", "num_cpus", @@ -1179,9 +1186,9 @@ dependencies = [ [[package]] name = "lindera-unidic" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae93789d60f4423c341af4f17bb83180a30aa3c156329fab647f446e00cf364b" +checksum = "3e0124a535ab2c25939e6b16a9c6caa950511f1b52015c914258978293a95240" dependencies = [ "anyhow", "byteorder", @@ -1726,13 +1733,13 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.8.12" +version = "0.8.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35a640b26f007713818e9a9b65d34da1cf58538207b052916a83d80e43f3ffa4" +checksum = "8b2e88acca7157d83d789836a3987dafc12bc3d88a050e54b8fe9ea4aaa29d20" dependencies = [ "bytecheck", "bytes", - "hashbrown", + "hashbrown 0.16.1", "indexmap", "munge", "ptr_meta", @@ -1745,9 +1752,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.8.12" +version = "0.8.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd83f5f173ff41e00337d97f6572e416d022ef8a19f371817259ae960324c482" +checksum = "7f6dffea3c91fa91a3c0fc8a061b0e27fef25c6304728038a6d6bcb1c58ba9bd" dependencies = [ "proc-macro2", "quote", @@ -1765,7 +1772,7 @@ dependencies = [ "argmin-observer-slog", "bincode", "crossbeam-channel", - "hashbrown", + "hashbrown 0.15.0", ] [[package]] @@ -1947,9 +1954,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.148" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3084b546a1dd6289475996f182a22aba973866ea8e8b02c51d9f46b1336a22da" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", @@ -2429,9 +2436,9 @@ checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", diff --git a/Cargo.toml b/Cargo.toml index b853773..c2110b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lindera-python" -version = "1.4.1" +version = "2.0.0" edition = "2024" description = "Python binding for Lindera." documentation = "https://docs.rs/lindera-python" @@ -17,23 +17,23 @@ path = "src/lib.rs" crate-type = ["cdylib"] [features] -embedded-ipadic = [ - "lindera/embedded-ipadic", +embed-ipadic = [ + "lindera/embed-ipadic", ] # Include Japanese dictionary (IPADIC) -embedded-ipadic-neologd = [ - "lindera/embedded-ipadic-neologd", +embed-ipadic-neologd = [ + "lindera/embed-ipadic-neologd", ] # Include Japanese dictionary (IPADIC NEologd) -embedded-unidic = [ - "lindera/embedded-unidic", +embed-unidic = [ + "lindera/embed-unidic", ] # Include Japanese dictionary (UniDic) -embedded-ko-dic = [ - "lindera/embedded-ko-dic", +embed-ko-dic = [ + "lindera/embed-ko-dic", ] # Include Korean dictionary (ko-dic) -embedded-cc-cedict = [ - "lindera/embedded-cc-cedict", +embed-cc-cedict = [ + "lindera/embed-cc-cedict", ] # Include Chinese dictionary (CC-CEDICT) -embedded-cjk = [ - "lindera/embedded-cjk", +embed-cjk = [ + "lindera/embed-cjk", ] # Include CJK dictionary (CC-CEDICT, IPADIC, ko-dic) train = ["lindera/train"] # Enable training functionality default = ["train"] # No directories included @@ -41,7 +41,7 @@ default = ["train"] # No directories included [dependencies] pyo3 = { version = "0.27.2", features = ["extension-module"] } serde = { version = "1.0.228", features = ["derive"] } -serde_json = "1.0.148" +serde_json = "1.0.149" num_cpus = "1.17.0" -lindera = "1.5.1" +lindera = "2.0.1" diff --git a/Makefile b/Makefile index 3617232..8291f7a 100644 --- a/Makefile +++ b/Makefile @@ -25,27 +25,27 @@ format: ## Format the project poetry run black ./examples ./tests lint: ## Lint the project - cargo clippy --features=embedded-ipadic,train + cargo clippy --features=embed-ipadic,train poetry run isort --check-only --diff ./examples ./tests poetry run black --check ./examples ./tests poetry run flake8 ./examples ./tests poetry run mypy ./examples ./tests develop: ## Build Python module in development mode and install it into the current Python environment - poetry run maturin develop --features=embedded-ipadic,train + poetry run maturin develop --features=embed-ipadic,train build: ## Build the project - poetry run maturin build -i python --release --features=embedded-ipadic,train + poetry run maturin build -i python --release --features=embed-ipadic,train .PHONY: tests test: ## Test the project - cargo test --features=embedded-ipadic,train - poetry run maturin develop --features=embedded-ipadic,train + cargo test --features=embed-ipadic,train + poetry run maturin develop --features=embed-ipadic,train poetry run pytest -v ./tests .PHONY: run-examples run-examples: ## Run examples - poetry run maturin develop --features=embedded-ipadic,train + poetry run maturin develop --features=embed-ipadic,train poetry run python ./examples/build_ipadic.py poetry run python ./examples/tokenize.py poetry run python ./examples/tokenize_with_userdict.py diff --git a/poetry.lock b/poetry.lock index b0cd30c..88ca15d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -268,26 +268,26 @@ files = [ [[package]] name = "maturin" -version = "1.10.2" +version = "1.11.5" description = "Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "maturin-1.10.2-py3-none-linux_armv6l.whl", hash = "sha256:11c73815f21a755d2129c410e6cb19dbfacbc0155bfc46c706b69930c2eb794b"}, - {file = "maturin-1.10.2-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:7fbd997c5347649ee7987bd05a92bd5b8b07efa4ac3f8bcbf6196e07eb573d89"}, - {file = "maturin-1.10.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e3ce9b2ad4fb9c341f450a6d32dc3edb409a2d582a81bc46ba55f6e3b6196b22"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:f0d1b7b5f73c8d30a7e71cd2a2189a7f0126a3a3cd8b3d6843e7e1d4db50f759"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:efcd496a3202ffe0d0489df1f83d08b91399782fb2dd545d5a1e7bf6fd81af39"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:a41ec70d99e27c05377be90f8e3c3def2a7bae4d0d9d5ea874aaf2d1da625d5c"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:07a82864352feeaf2167247c8206937ef6c6ae9533025d416b7004ade0ea601d"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:04df81ee295dcda37828bd025a4ac688ea856e3946e4cb300a8f44a448de0069"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96e1d391e4c1fa87edf2a37e4d53d5f2e5f39dd880b9d8306ac9f8eb212d23f8"}, - {file = "maturin-1.10.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a217aa7c42aa332fb8e8377eb07314e1f02cf0fe036f614aca4575121952addd"}, - {file = "maturin-1.10.2-py3-none-win32.whl", hash = "sha256:da031771d9fb6ddb1d373638ec2556feee29e4507365cd5749a2d354bcadd818"}, - {file = "maturin-1.10.2-py3-none-win_amd64.whl", hash = "sha256:da777766fd584440dc9fecd30059a94f85e4983f58b09e438ae38ee4b494024c"}, - {file = "maturin-1.10.2-py3-none-win_arm64.whl", hash = "sha256:a4c29a770ea2c76082e0afc6d4efd8ee94405588bfae00d10828f72e206c739b"}, - {file = "maturin-1.10.2.tar.gz", hash = "sha256:259292563da89850bf8f7d37aa4ddba22905214c1e180b1c8f55505dfd8c0e81"}, + {file = "maturin-1.11.5-py3-none-linux_armv6l.whl", hash = "sha256:edd1d4d35050ea2b9ef42aa01e87fe019a1e822940346b35ccb973e0aa8f6d82"}, + {file = "maturin-1.11.5-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:2a596eab137cb3e169b97e89a739515abfa7a8755e2e5f0fc91432ef446f74f4"}, + {file = "maturin-1.11.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1c27a2eb47821edf26c75d100b3150b52dca2c1a5f074d7514af06f7a7acb9d5"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:f1320dacddcd3aa84a4bdfc77ee6fdb60e4c3835c853d7eb79c09473628b0498"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:ffe7418834ff3b4a6c987187b7abb85ba033f4733e089d77d84e2de87057b4e7"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:c739b243d012386902f112ea63a54a94848932b70ae3565fa5e121fd1c0200e0"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:8127d2cd25950bacbcdc8a2ec6daab1d4d27200f7d73964392680ad64d27f7f0"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:2a4e872fb78e77748217084ffeb59de565d08a86ccefdace054520aaa7b66db4"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2079447967819b5cf615e5b5b99a406d662effdc8d6afd493dcd253c6afc3707"}, + {file = "maturin-1.11.5-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:50f6c668c1d5d4d4dc1c3ffec7b4270dab493e5b2368f8e4213f4bcde6a50eea"}, + {file = "maturin-1.11.5-py3-none-win32.whl", hash = "sha256:49f85ce6cbe478e9743ecddd6da2964afc0ded57013aa4d054256be702d23d40"}, + {file = "maturin-1.11.5-py3-none-win_amd64.whl", hash = "sha256:70d3e5beffb9ef9dfae5f3c1a7eeb572091505eb8cb076e9434518df1c42a73b"}, + {file = "maturin-1.11.5-py3-none-win_arm64.whl", hash = "sha256:9348f7f0a346108e0c96e6719be91da4470bd43c15802435e9f4157f5cca43d4"}, + {file = "maturin-1.11.5.tar.gz", hash = "sha256:7579cf47640fb9595a19fe83a742cbf63203f0343055c349c1cab39045a30c29"}, ] [package.dependencies] @@ -419,16 +419,22 @@ test = ["importlib_metadata (>=2.0)", "pytest (>=6.0)"] [[package]] name = "pathspec" -version = "0.12.1" +version = "1.0.2" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, + {file = "pathspec-1.0.2-py3-none-any.whl", hash = "sha256:62f8558917908d237d399b9b338ef455a814801a4688bc41074b25feefd93472"}, + {file = "pathspec-1.0.2.tar.gz", hash = "sha256:fa32b1eb775ed9ba8d599b22c5f906dc098113989da2c00bf8b210078ca7fb92"}, ] +[package.extras] +hyperscan = ["hyperscan (>=0.7)"] +optional = ["typing-extensions (>=4)"] +re2 = ["google-re2 (>=1.1)"] +tests = ["pytest (>=9)", "typing-extensions (>=4.15)"] + [[package]] name = "platformdirs" version = "4.5.1" @@ -608,4 +614,4 @@ files = [ [metadata] lock-version = "2.1" python-versions = ">=3.10,<3.15" -content-hash = "94742500ab10175aa64421a5809698bdc7399dd698102e97f60df7e7fa95a36c" +content-hash = "286744a3b8151cf8562aeadf1b26229c58d5d588624c817096cb829e351aa5d6" diff --git a/pyproject.toml b/pyproject.toml index a0c523c..366251b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ module-name = "lindera" [project] name = "lindera-python" -version = "1.4.1" +version = "2.0.0" description = "Python binding for Lindera (no embedded dictionaries)" authors = [{ name = "Minoru Osuka", email = "minoru.osuka@gmail.com" }] license = { text = "MIT" } @@ -11,12 +11,12 @@ readme = "README.md" keywords = ["morphological", "analysis", "library", "python"] classifiers = [ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] @@ -24,7 +24,7 @@ requires-python = ">=3.10,<3.15" [tool.poetry.dependencies] python = ">=3.10,<3.15" -maturin = "^1.10.2" +maturin = "^1.11.5" patchelf = "^0.17.2.4" [tool.poetry.group.dev.dependencies]