diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index cabe0b5038c7..8d50af8f84fe 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -197,18 +197,18 @@ doc = false name = "_opendal" [dependencies] -bytes = "1.5.0" -futures = "0.3.28" -jiff = { version = "0.2.15" } +bytes = "1" +futures = "0.3" +jiff = "0.2" mea = "0.6" # this crate won't be published, we always use the local version opendal = { version = ">=0", path = "../../core", features = [ "blocking", "layers-mime-guess", ] } -pyo3 = { version = "0.27.2", features = ["generate-import-lib", "jiff-02"] } -pyo3-async-runtimes = { version = "0.27.0", features = ["tokio-runtime"] } -pyo3-stub-gen = { version = "0.17" } +pyo3 = { version = "0.27", features = ["generate-import-lib", "jiff-02"] } +pyo3-async-runtimes = { version = "0.27", features = ["tokio-runtime"] } +pyo3-stub-gen = { version = "0.18" } tokio = "1" [profile.release] diff --git a/bindings/python/justfile b/bindings/python/justfile index 6181a1ea6d00..8945ccf51eca 100644 --- a/bindings/python/justfile +++ b/bindings/python/justfile @@ -38,39 +38,42 @@ setup: [group('maintenance')] clean: @echo "{{ BOLD }}--- Cleaning Rust build artifacts (Cargo) ---{{ NORMAL }}" - @cargo clean - @echo "{{ BOLD }}--- Removing .venv/, build/, dist/ directories, and other caches ---{{ NORMAL }}" - @rm -rf .venv/ build/ dist/ .pytest_cache/ .mypy_cache/ .hypothesis/ .ruff_cache/ - @echo "{{ BOLD }}--- Removing Python bytecode and compiled extensions ---{{ NORMAL }}" - @find . -type f -name '*.py[co]' -delete \ - -o -type d -name __pycache__ -exec rm -rf {} + \ - -o -type f -name '_opendal*.so' -delete + @cargo clean --quiet + @echo "{{ BOLD }}--- Removing build directories, other caches, python bytecode and compiled extensions ---{{ NORMAL }}" + @find . \ + \( -type d \( -name __pycache__ -o -name .venv -o -name .build -o -name dist -o -name .pytest_cache -o -name .mypy_cache -o -name .hypothesis -o -name .ruff_cache \) -prune -exec rm -rf {} + \) \ + -o \ + \( -type f \( -name '*.py[co]' -o -name '_*.so' \) -delete \) # ============================================================================== # Dev & Build # ============================================================================== # Generate Python type stubs -[group('build')] +[group('dev')] stub-gen: setup - @echo "{{ BOLD }}--- Generating Python type stubs ---{{ NORMAL }}" - @cargo run --quiet --manifest-path=../../dev/Cargo.toml -- generate -l python + @echo "{{ BOLD }}--- Generating stubs for (opendal) ---{{ NORMAL }}" @cargo run --quiet --bin stub_gen @echo "{{ BOLD }}--- Formatting and fixing generated stubs ---{{ NORMAL }}" + @just _post-gen-cleanup + +# Internal: Post-generation cleanup (fix linting and formatting) +[private] +_post-gen-cleanup: -@bash -c 'shopt -s globstar; uv run ruff check **/*.pyi --fix --unsafe-fixes --silent || true' @just fmt # Compile and produce a release wheel with optimizations [group('release')] build-release *args: stub-gen - @echo "{{ BOLD }}--- Building release wheel ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Building release wheel (opendal) ---{{ NORMAL }}" @uv run maturin build -m ./Cargo.toml --profile release --strip --release --out dist {{ args }} @uv run mkdocs build # Build and install the release wheel in the current venv [group('release')] install-release *args: stub-gen - @echo "{{ BOLD }}--- Installing release wheel ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Installing release wheel (opendal) ---{{ NORMAL }}" @uv run maturin develop -m ./Cargo.toml --profile release --strip --release {{ args }} # Build and install the release wheel in the current venv @@ -84,20 +87,20 @@ bench: install-release # Build only a source distribution (sdist) without compiling [group('release')] sdist *args: stub-gen - @echo "{{ BOLD }}--- Building source distribution without compiling ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Building source distribution without compiling (opendal) ---{{ NORMAL }}" @uv run maturin sdist -m ./Cargo.toml --out dist {{ args }} # Compile and produce a development wheel [group('dev')] build-dev *args: stub-gen - @echo "{{ BOLD }}--- Building development wheel ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Building development wheel (opendal) ---{{ NORMAL }}" @uv run maturin build -m ./Cargo.toml --out dist {{ args }} @uv run mkdocs build # Build and install the development wheel in the current venv [group('dev')] install-dev *args: stub-gen - @echo "{{ BOLD }}--- Installing development wheel ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Installing development wheel (opendal) ---{{ NORMAL }}" @uv run maturin develop -m ./Cargo.toml {{ args }} # Run tests @@ -113,11 +116,12 @@ test *args: install-dev # Run all lint checks for Rust and Python [group('lint')] lint: setup - @echo "{{ BOLD }}--- Running Rust linter (Clippy) ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Running Rust linter ---{{ NORMAL }}" ## remove `-A clippy::incompatible_msrv` until https://github.com/rust-lang/rust-clippy/issues/15792 is fixed and released @cargo clippy -- -D warnings -D clippy::dbg_macro -A clippy::incompatible_msrv - @echo "{{ BOLD }}--- Running Python linter (Ruff) ---{{ NORMAL }}" + @echo "{{ BOLD }}--- Running Python linter ---{{ NORMAL }}" @uv run ruff check + @uv run ty check ./python # Format all code (Rust, Python, etc.) [group('lint')] diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index 79f3106e1e21..89565e514ce4 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -46,9 +46,8 @@ benchmark = [ "greenlet>=3.1.1", "pydantic>=2.10.6", ] -dev = ["maturin>=1.8.2"] +dev = ["maturin>=1.9.4,<2.0", "ruff>=0.9.10", "ty>=0.0.15"] docs = ["mkdocs", "mkdocs-material", "mkdocstrings[python]", "mkdocs-jupyter"] -lint = ["ruff>=0.9.10"] test = [ "pytest>=8.3.5", "pytest-asyncio>=0.25.3", @@ -57,10 +56,8 @@ test = [ ] [tool.maturin] -features = ["pyo3/extension-module"] module-name = "opendal._opendal" python-source = "python" -strip = true [tool.uv] cache-keys = [ diff --git a/bindings/python/pyrightconfig.json b/bindings/python/pyrightconfig.json deleted file mode 100644 index c792ffe005a4..000000000000 --- a/bindings/python/pyrightconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "include": ["python/opendal/"], - "ignore": [ - "python/opendal/*.pyi" - ], - "reportIgnoreCommentWithoutRule": false -} diff --git a/bindings/python/python/opendal/__init__.py b/bindings/python/python/opendal/__init__.py index 77f0687c632b..ed912cf0a298 100644 --- a/bindings/python/python/opendal/__init__.py +++ b/bindings/python/python/opendal/__init__.py @@ -15,34 +15,18 @@ # specific language governing permissions and limitations # under the License. -# ruff: noqa: D104 -from __future__ import annotations +# ruff: noqa: D104, F405, F403 -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - __version__: str - from opendal import capability, exceptions, file, layers, services, types -else: - from opendal._opendal import ( - __version__, # noqa: F401 - capability, - exceptions, - file, - layers, - services, - types, - ) - -from opendal.operator import AsyncOperator, Operator # pyright:ignore +from opendal._opendal import * # ty: ignore +from opendal.operator import AsyncOperator, Operator __all__ = [ "capability", "exceptions", "file", "layers", - "services", "types", "AsyncOperator", "Operator", + "__version__", ] diff --git a/bindings/python/python/opendal/__init__.pyi b/bindings/python/python/opendal/__init__.pyi new file mode 100644 index 000000000000..f6d390f2030e --- /dev/null +++ b/bindings/python/python/opendal/__init__.pyi @@ -0,0 +1,30 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +# This file is automatically generated by pyo3_stub_gen +# ruff: noqa: E501, F401, F403, F405 + +from opendal import capability, exceptions, file, layers, operator, types + +__all__ = [ + "capability", + "exceptions", + "file", + "layers", + "operator", + "types", +] diff --git a/bindings/python/python/opendal/capability.pyi b/bindings/python/python/opendal/capability/__init__.pyi similarity index 98% rename from bindings/python/python/opendal/capability.pyi rename to bindings/python/python/opendal/capability/__init__.pyi index 259de3ea8b14..aa32670d4ded 100644 --- a/bindings/python/python/opendal/capability.pyi +++ b/bindings/python/python/opendal/capability/__init__.pyi @@ -16,11 +16,15 @@ # under the License. # This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 +# ruff: noqa: E501, F401, F403, F405 import builtins import typing +__all__ = [ + "Capability", +] + @typing.final class Capability: r""" diff --git a/bindings/python/python/opendal/exceptions.pyi b/bindings/python/python/opendal/exceptions/__init__.pyi similarity index 85% rename from bindings/python/python/opendal/exceptions.pyi rename to bindings/python/python/opendal/exceptions/__init__.pyi index 8a1e21e57940..6bdfb93c7346 100644 --- a/bindings/python/python/opendal/exceptions.pyi +++ b/bindings/python/python/opendal/exceptions/__init__.pyi @@ -16,10 +16,24 @@ # under the License. # This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 +# ruff: noqa: E501, F401, F403, F405 import builtins +__all__ = [ + "AlreadyExists", + "ConditionNotMatch", + "ConfigInvalid", + "Error", + "IsADirectory", + "IsSameFile", + "NotADirectory", + "NotFound", + "PermissionDenied", + "Unexpected", + "Unsupported", +] + class AlreadyExists(builtins.Exception): r"""Already exists.""" diff --git a/bindings/python/python/opendal/file.pyi b/bindings/python/python/opendal/file/__init__.pyi similarity index 99% rename from bindings/python/python/opendal/file.pyi rename to bindings/python/python/opendal/file/__init__.pyi index 7c2446df1a03..2a095d01061b 100644 --- a/bindings/python/python/opendal/file.pyi +++ b/bindings/python/python/opendal/file/__init__.pyi @@ -16,7 +16,7 @@ # under the License. # This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 +# ruff: noqa: E501, F401, F403, F405 import builtins import collections.abc @@ -25,6 +25,11 @@ import typing import typing_extensions +__all__ = [ + "AsyncFile", + "File", +] + @typing.final class AsyncFile: r""" diff --git a/bindings/python/python/opendal/layers.pyi b/bindings/python/python/opendal/layers/__init__.pyi similarity index 96% rename from bindings/python/python/opendal/layers.pyi rename to bindings/python/python/opendal/layers/__init__.pyi index d46e6f5e18eb..d496b6e9c906 100644 --- a/bindings/python/python/opendal/layers.pyi +++ b/bindings/python/python/opendal/layers/__init__.pyi @@ -16,11 +16,18 @@ # under the License. # This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 +# ruff: noqa: E501, F401, F403, F405 import builtins import typing +__all__ = [ + "ConcurrentLimitLayer", + "Layer", + "MimeGuessLayer", + "RetryLayer", +] + @typing.final class ConcurrentLimitLayer(Layer): r""" diff --git a/bindings/python/python/opendal/operator.pyi b/bindings/python/python/opendal/operator.pyi deleted file mode 100644 index 54c9f2f9eb88..000000000000 --- a/bindings/python/python/opendal/operator.pyi +++ /dev/null @@ -1,4605 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 - -import builtins -import collections.abc -import datetime -import os -import pathlib -import typing - -import typing_extensions - -import opendal.file -import opendal.services -import opendal.types -from opendal.capability import Capability -from opendal.file import File -from opendal.layers import Layer -from opendal.types import Metadata - -@typing.final -class AsyncOperator: - r""" - The async equivalent of `Operator`. - - `AsyncOperator` is the entry point for all async APIs. - - See Also - -------- - Operator - """ - - def layer(self, layer: Layer) -> AsyncOperator: - r""" - Add a new layer to the operator. - - Parameters - ---------- - layer : Layer - The layer to add. - - Returns - ------- - AsyncOperator - A new operator with the layer added. - """ - def open( - self, - path: builtins.str | os.PathLike | pathlib.Path, - mode: builtins.str, - **kwargs: typing.Any, - ) -> collections.abc.Awaitable[opendal.file.AsyncFile]: - r""" - Open an async file-like object for the given path. - - The returning async file-like object is a context manager. - - Parameters - ---------- - path : str - The path to the file. - mode : str - The mode to open the file in. Only "rb" and "wb" are supported. - **kwargs : dict - Additional options for the underlying reader or writer. - - Returns - ------- - coroutine - An awaitable that returns a file-like object. - """ - def read( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - version: builtins.str | None = None, - concurrent: builtins.int | None = None, - chunk: builtins.int | None = None, - gap: builtins.int | None = None, - offset: builtins.int | None = None, - prefetch: builtins.int | None = None, - size: builtins.int | None = None, - if_match: builtins.str | None = None, - if_none_match: builtins.str | None = None, - if_modified_since: datetime.datetime = None, - if_unmodified_since: datetime.datetime = None, - content_type: builtins.str | None = None, - cache_control: builtins.str | None = None, - content_disposition: builtins.str | None = None, - ) -> collections.abc.Awaitable[builtins.bytes]: - r""" - Read the entire contents of a file at the given path. - - Parameters - ---------- - path : str - The path to the file. - version : str, optional - The version of the file. - concurrent : int, optional - The number of concurrent readers. - chunk : int, optional - The size of each chunk. - gap : int, optional - The gap between each chunk. - offset : int, optional - The offset of the file. - prefetch : int, optional - The number of bytes to prefetch. - size : int, optional - The size of the file. - if_match : str, optional - The ETag of the file. - if_none_match : str, optional - The ETag of the file. - if_modified_since : str, optional - The last modified time of the file. - if_unmodified_since : str, optional - The last modified time of the file. - content_type : str, optional - The content type of the file. - cache_control : str, optional - The cache control of the file. - content_disposition : str, optional - The content disposition of the file. - - Returns - ------- - coroutine - An awaitable that returns the contents of the file as bytes. - """ - def write( - self, - path: builtins.str | os.PathLike | pathlib.Path, - bs: builtins.bytes, - *, - append: builtins.bool | None = None, - chunk: builtins.int | None = None, - concurrent: builtins.int | None = None, - cache_control: builtins.str | None = None, - content_type: builtins.str | None = None, - content_disposition: builtins.str | None = None, - content_encoding: builtins.str | None = None, - if_match: builtins.str | None = None, - if_none_match: builtins.str | None = None, - if_not_exists: builtins.bool | None = None, - user_metadata: typing.Mapping[builtins.str, builtins.str] | None = None, - ) -> collections.abc.Awaitable[None]: - r""" - Write bytes to a file at the given path. - - This function will create a file if it does not exist, and will - overwrite its contents if it does. - - Parameters - ---------- - path : str - The path to the file. - bs : bytes - The contents to write to the file. - append : bool, optional - Whether to append to the file instead of overwriting it. - chunk : int, optional - The chunk size to use when writing the file. - concurrent : int, optional - The number of concurrent requests to make when writing the file. - cache_control : str, optional - The cache control header to set on the file. - content_type : str, optional - The content type header to set on the file. - content_disposition : str, optional - The content disposition header to set on the file. - content_encoding : str, optional - The content encoding header to set on the file. - if_match : str, optional - The ETag to match when writing the file. - if_none_match : str, optional - The ETag to not match when writing the file. - if_not_exists : bool, optional - Whether to fail if the file already exists. - user_metadata : dict, optional - The user metadata to set on the file. - - Returns - ------- - coroutine - An awaitable that completes when the write is finished. - """ - def stat( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - version: builtins.str | None = None, - if_match: builtins.str | None = None, - if_none_match: builtins.str | None = None, - if_modified_since: datetime.datetime = None, - if_unmodified_since: datetime.datetime = None, - content_type: builtins.str | None = None, - cache_control: builtins.str | None = None, - content_disposition: builtins.str | None = None, - ) -> collections.abc.Awaitable[Metadata]: - r""" - Get the metadata of a file at the given path. - - Parameters - ---------- - path : str - The path to the file. - version : str, optional - The version of the file. - if_match : str, optional - The ETag of the file. - if_none_match : str, optional - The ETag of the file. - if_modified_since : datetime, optional - The last modified time of the file. - if_unmodified_since : datetime, optional - The last modified time of the file. - content_type : str, optional - The content type of the file. - cache_control : str, optional - The cache control of the file. - content_disposition : str, optional - The content disposition of the file. - - Returns - ------- - coroutine - An awaitable that returns the metadata of the file. - """ - def copy( - self, - source: builtins.str | os.PathLike | pathlib.Path, - target: builtins.str | os.PathLike | pathlib.Path, - ) -> collections.abc.Awaitable[None]: - r""" - Copy a file from one path to another. - - Parameters - ---------- - source : str - The path to the source file. - target : str - The path to the target file. - - Returns - ------- - coroutine - An awaitable that completes when the copy is finished. - """ - def rename( - self, - source: builtins.str | os.PathLike | pathlib.Path, - target: builtins.str | os.PathLike | pathlib.Path, - ) -> collections.abc.Awaitable[None]: - r""" - Rename (move) a file from one path to another. - - Parameters - ---------- - source : str - The path to the source file. - target : str - The path to the target file. - - Returns - ------- - coroutine - An awaitable that completes when the rename is finished. - """ - def remove_all( - self, path: builtins.str | os.PathLike | pathlib.Path - ) -> collections.abc.Awaitable[None]: - r""" - Recursively remove all files and directories at the given path. - - Parameters - ---------- - path : str - The path to remove. - - Returns - ------- - coroutine - An awaitable that completes when the removal is finished. - """ - def check(self) -> collections.abc.Awaitable[None]: - r""" - Check if the operator is able to work correctly. - - Returns - ------- - coroutine - An awaitable that completes when the check is finished. - - Raises - ------ - Exception - If the operator is not able to work correctly. - """ - def create_dir( - self, path: builtins.str | os.PathLike | pathlib.Path - ) -> collections.abc.Awaitable[None]: - r""" - Create a directory at the given path. - - Notes - ----- - To indicate that a path is a directory, it must end with a `/`. - This operation is always recursive, like `mkdir -p`. - - Parameters - ---------- - path : str - The path to the directory. - - Returns - ------- - coroutine - An awaitable that completes when the directory is created. - """ - def delete( - self, path: builtins.str | os.PathLike | pathlib.Path - ) -> collections.abc.Awaitable[None]: - r""" - Delete a file at the given path. - - Notes - ----- - This operation will not return an error if the path does not exist. - - Parameters - ---------- - path : str - The path to the file. - - Returns - ------- - coroutine - An awaitable that completes when the file is deleted. - """ - def exists( - self, path: builtins.str | os.PathLike | pathlib.Path - ) -> collections.abc.Awaitable[builtins.bool]: - r""" - Check if a path exists. - - Parameters - ---------- - path : str - The path to check. - - Returns - ------- - coroutine - An awaitable that returns True if the path exists, False otherwise. - """ - def list( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - limit: builtins.int | None = None, - start_after: builtins.str | None = None, - recursive: builtins.bool | None = None, - versions: builtins.bool | None = None, - deleted: builtins.bool | None = None, - ) -> collections.abc.Awaitable[collections.abc.AsyncIterable[opendal.types.Entry]]: - r""" - List entries in the given directory. - - Parameters - ---------- - path : str - The path to the directory. - limit : int, optional - The maximum number of entries to return. - start_after : str, optional - The entry to start after. - recursive : bool, optional - Whether to list recursively. - versions : bool, optional - Whether to list versions. - deleted : bool, optional - Whether to list deleted entries. - - Returns - ------- - coroutine - An awaitable that returns an async iterator over the entries. - """ - def presign_stat( - self, - path: builtins.str | os.PathLike | pathlib.Path, - expire_second: builtins.int, - ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: - r""" - Create a presigned request for a stat operation. - - Parameters - ---------- - path : str - The path of the object to stat. - expire_second : int - The number of seconds until the presigned URL expires. - - Returns - ------- - coroutine - An awaitable that returns a presigned request object. - """ - def presign_read( - self, - path: builtins.str | os.PathLike | pathlib.Path, - expire_second: builtins.int, - ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: - r""" - Create a presigned request for a read operation. - - Parameters - ---------- - path : str - The path of the object to read. - expire_second : int - The number of seconds until the presigned URL expires. - - Returns - ------- - coroutine - An awaitable that returns a presigned request object. - """ - def presign_write( - self, - path: builtins.str | os.PathLike | pathlib.Path, - expire_second: builtins.int, - ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: - r""" - Create a presigned request for a write operation. - - Parameters - ---------- - path : str - The path of the object to write to. - expire_second : int - The number of seconds until the presigned URL expires. - - Returns - ------- - coroutine - An awaitable that returns a presigned request object. - """ - def presign_delete( - self, - path: builtins.str | os.PathLike | pathlib.Path, - expire_second: builtins.int, - ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: - r""" - Create a presigned request for a delete operation. - - Parameters - ---------- - path : str - The path of the object to delete. - expire_second : int - The number of seconds until the presigned URL expires. - - Returns - ------- - coroutine - An awaitable that returns a presigned request object. - """ - def capability(self) -> Capability: - r""" - Get all capabilities of this operator. - - Returns - ------- - Capability - The capability of the operator. - """ - def to_operator(self) -> Operator: - r""" - Create a new blocking `Operator` from this async operator. - - Returns - ------- - Operator - The blocking operator. - """ - @typing.overload - def __new__( - cls, - scheme: builtins.str, - /, - **kwargs: builtins.str, - ) -> typing_extensions.Self: ... - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.AliyunDrive | typing.Literal["aliyun-drive"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - drive_type: builtins.str, - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `aliyun-drive` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access_token of this backend. - Solution for client-only purpose. - #4733 Required if no client_id, client_secret and - refresh_token are provided. - client_id : builtins.str, optional - The client_id of this backend. - Required if no access_token is provided. - client_secret : builtins.str, optional - The client_secret of this backend. - Required if no access_token is provided. - drive_type : builtins.str - The drive_type of this backend. - All operations will happen under this type of drive. - Available values are `default`, `backup` and - `resource`. - Fallback to default if not set or no other drives - can be found. - refresh_token : builtins.str, optional - The refresh_token of this backend. - Required if no access_token is provided. - root : builtins.str, optional - The Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `aliyun-drive` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Alluxio | typing.Literal["alluxio"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `alluxio` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, mostly like - `http://127.0.0.1:39999`. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `alluxio` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Azblob | typing.Literal["azblob"], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - batch_max_operations: builtins.int = ..., - container: builtins.str, - encryption_algorithm: builtins.str = ..., - encryption_key: builtins.str = ..., - encryption_key_sha256: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `azblob` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key of Azblob service backend. - account_name : builtins.str, optional - The account name of Azblob service backend. - batch_max_operations : builtins.int, optional - The maximum batch operations of Azblob service - backend. - container : builtins.str - The container name of Azblob service backend. - encryption_algorithm : builtins.str, optional - The encryption algorithm of Azblob service backend. - encryption_key : builtins.str, optional - The encryption key of Azblob service backend. - encryption_key_sha256 : builtins.str, optional - The encryption key sha256 of Azblob service backend. - endpoint : builtins.str, optional - The endpoint of Azblob service backend. - Endpoint must be full uri, e.g. - - Azblob: - `https://accountname.blob.core.windows.net` - - Azurite: `http://127.0.0.1:10000/devstoreaccount1` - root : builtins.str, optional - The root of Azblob service backend. - All operations will happen under this root. - sas_token : builtins.str, optional - The sas token of Azblob service backend. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `azblob` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Azdls | typing.Literal["azdls"], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - authority_host: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - endpoint: builtins.str = ..., - filesystem: builtins.str, - root: builtins.str = ..., - sas_token: builtins.str = ..., - tenant_id: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `azdls` service. - - Parameters - ---------- - account_key : builtins.str, optional - Account key of this backend. - - required for shared_key authentication - account_name : builtins.str, optional - Account name of this backend. - authority_host : builtins.str, optional - authority_host The authority host of the service - principal. - - required for client_credentials authentication - - default value: `https://login.microsoftonline.com` - client_id : builtins.str, optional - client_id The client id of the service principal. - - required for client_credentials authentication - client_secret : builtins.str, optional - client_secret The client secret of the service - principal. - - required for client_credentials authentication - endpoint : builtins.str, optional - Endpoint of this backend. - filesystem : builtins.str - Filesystem name of this backend. - root : builtins.str, optional - Root of this backend. - sas_token : builtins.str, optional - sas_token The shared access signature token. - - required for sas authentication - tenant_id : builtins.str, optional - tenant_id The tenant id of the service principal. - - required for client_credentials authentication - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `azdls` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Azfile | typing.Literal["azfile"], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - share_name: builtins.str, - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `azfile` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key for azfile. - account_name : builtins.str, optional - The account name for azfile. - endpoint : builtins.str, optional - The endpoint for azfile. - root : builtins.str, optional - The root path for azfile. - sas_token : builtins.str, optional - The sas token for azfile. - share_name : builtins.str - The share name for azfile. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `azfile` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.B2 | typing.Literal["b2"], - /, - *, - application_key: builtins.str = ..., - application_key_id: builtins.str = ..., - bucket: builtins.str, - bucket_id: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `b2` service. - - Parameters - ---------- - application_key : builtins.str, optional - applicationKey of this backend. - - If application_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - application_key_id : builtins.str, optional - keyID of this backend. - - If application_key_id is set, we will take user's - input first. - - If not, we will try to load it from environment. - bucket : builtins.str - bucket of this backend. - required. - bucket_id : builtins.str - bucket id of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `b2` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Cacache | typing.Literal["cacache"], - /, - *, - datadir: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `cacache` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the cacache data directory. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `cacache` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Cos | typing.Literal["cos"], - /, - *, - bucket: builtins.str = ..., - disable_config_load: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_id: builtins.str = ..., - secret_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `cos` service. - - Parameters - ---------- - bucket : builtins.str, optional - Bucket of this backend. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint of this backend. - root : builtins.str, optional - Root of this backend. - secret_id : builtins.str, optional - Secret ID of this backend. - secret_key : builtins.str, optional - Secret key of this backend. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `cos` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Dashmap | typing.Literal["dashmap"], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `dashmap` service. - - Parameters - ---------- - root : builtins.str, optional - root path of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `dashmap` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Dropbox | typing.Literal["dropbox"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `dropbox` service. - - Parameters - ---------- - access_token : builtins.str, optional - access token for dropbox. - client_id : builtins.str, optional - client_id for dropbox. - client_secret : builtins.str, optional - client_secret for dropbox. - refresh_token : builtins.str, optional - refresh_token for dropbox. - root : builtins.str, optional - root path for dropbox. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `dropbox` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Fs | typing.Literal["fs"], - /, - *, - atomic_write_dir: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `fs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - tmp dir for atomic write - root : builtins.str, optional - root dir for backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `fs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ftp | typing.Literal["ftp"], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ftp` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ftp` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Gcs | typing.Literal["gcs"], - /, - *, - allow_anonymous: builtins.bool = ..., - bucket: builtins.str, - credential: builtins.str = ..., - credential_path: builtins.str = ..., - default_storage_class: builtins.str = ..., - disable_config_load: builtins.bool = ..., - disable_vm_metadata: builtins.bool = ..., - endpoint: builtins.str = ..., - predefined_acl: builtins.str = ..., - root: builtins.str = ..., - scope: builtins.str = ..., - service_account: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `gcs` service. - - Parameters - ---------- - allow_anonymous : builtins.bool, optional - Allow opendal to send requests without signing when - credentials are not loaded. - bucket : builtins.str - bucket name - credential : builtins.str, optional - Credentials string for GCS service OAuth2 - authentication. - credential_path : builtins.str, optional - Local path to credentials file for GCS service - OAuth2 authentication. - default_storage_class : builtins.str, optional - The default storage class used by gcs. - disable_config_load : builtins.bool, optional - Disable loading configuration from the environment. - disable_vm_metadata : builtins.bool, optional - Disable attempting to load credentials from the GCE - metadata server when running within Google Cloud. - endpoint : builtins.str, optional - endpoint URI of GCS service, default is - `https://storage.googleapis.com` - predefined_acl : builtins.str, optional - The predefined acl for GCS. - root : builtins.str, optional - root URI, all operations happens under `root` - scope : builtins.str, optional - Scope for gcs. - service_account : builtins.str, optional - Service Account for gcs. - token : builtins.str, optional - A Google Cloud OAuth2 token. - Takes precedence over `credential` and - `credential_path`. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `gcs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Gdrive | typing.Literal["gdrive"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `gdrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Access token for gdrive. - client_id : builtins.str, optional - Client id for gdrive. - client_secret : builtins.str, optional - Client secret for gdrive. - refresh_token : builtins.str, optional - Refresh token for gdrive. - root : builtins.str, optional - The root for gdrive - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `gdrive` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ghac | typing.Literal["ghac"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - runtime_token: builtins.str = ..., - version: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ghac` service. - - Parameters - ---------- - endpoint : builtins.str, optional - The endpoint for ghac service. - root : builtins.str, optional - The root path for ghac. - runtime_token : builtins.str, optional - The runtime token for ghac service. - version : builtins.str, optional - The version that used by cache. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ghac` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Gridfs | typing.Literal["gridfs"], - /, - *, - bucket: builtins.str = ..., - chunk_size: builtins.int = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `gridfs` service. - - Parameters - ---------- - bucket : builtins.str, optional - The bucket name of the MongoDB GridFs service to - read/write. - chunk_size : builtins.int, optional - The chunk size of the MongoDB GridFs service used to - break the user file into chunks. - connection_string : builtins.str, optional - The connection string of the MongoDB service. - database : builtins.str, optional - The database name of the MongoDB GridFs service to - read/write. - root : builtins.str, optional - The working directory, all operations will be - performed under it. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `gridfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.HdfsNative | typing.Literal["hdfs-native"], - /, - *, - enable_append: builtins.bool = ..., - name_node: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `hdfs-native` service. - - Parameters - ---------- - enable_append : builtins.bool, optional - enable the append capacity - name_node : builtins.str, optional - name_node of this backend - root : builtins.str, optional - work dir of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `hdfs-native` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Http | typing.Literal["http"], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `http` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `http` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Huggingface | typing.Literal["huggingface"], - /, - *, - repo_id: builtins.str = ..., - repo_type: builtins.str = ..., - revision: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `huggingface` service. - - Parameters - ---------- - repo_id : builtins.str, optional - Repo id of this backend. - This is required. - repo_type : builtins.str, optional - Repo type of this backend. - Default is model. - Available values: - model - dataset - revision : builtins.str, optional - Revision of this backend. - Default is main. - root : builtins.str, optional - Root of this backend. - Can be "/path/to/dir". - Default is "/". - token : builtins.str, optional - Token of this backend. - This is optional. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `huggingface` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ipfs | typing.Literal["ipfs"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ipfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - IPFS gateway endpoint. - root : builtins.str, optional - IPFS root. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ipfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ipmfs | typing.Literal["ipmfs"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ipmfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - Endpoint for ipfs. - root : builtins.str, optional - Root for ipfs. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ipmfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Koofr | typing.Literal["koofr"], - /, - *, - email: builtins.str, - endpoint: builtins.str, - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `koofr` service. - - Parameters - ---------- - email : builtins.str - Koofr email. - endpoint : builtins.str - Koofr endpoint. - password : builtins.str, optional - password of this backend. - (Must be the application password) - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `koofr` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Memcached | typing.Literal["memcached"], - /, - *, - connection_pool_max_size: builtins.int = ..., - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `memcached` service. - - Parameters - ---------- - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the memcached service. - For example: "tcp://localhost:11211" - password : builtins.str, optional - Memcached password, optional. - root : builtins.str, optional - the working directory of the service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - Memcached username, optional. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `memcached` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Memory | typing.Literal["memory"], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `memory` service. - - Parameters - ---------- - root : builtins.str, optional - root of the backend. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `memory` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.MiniMoka | typing.Literal["mini-moka"], - /, - *, - max_capacity: builtins.int = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `mini-moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::max_capacity`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.max_capacity) - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_idle`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_live`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_live) - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `mini-moka` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Moka | typing.Literal["moka"], - /, - *, - max_capacity: builtins.int = ..., - name: builtins.str = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`moka::future::CacheBuilder::max_capacity`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.max_capacity) - name : builtins.str, optional - Name for this cache instance. - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_idle`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_live`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_live) - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `moka` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Mongodb | typing.Literal["mongodb"], - /, - *, - collection: builtins.str = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `mongodb` service. - - Parameters - ---------- - collection : builtins.str, optional - collection of this backend - connection_string : builtins.str, optional - connection string of this backend - database : builtins.str, optional - database of this backend - key_field : builtins.str, optional - key field of this backend - root : builtins.str, optional - root of this backend - value_field : builtins.str, optional - value field of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `mongodb` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Mysql | typing.Literal["mysql"], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `mysql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - This connection string is used to connect to the - mysql service. - There are url based formats. - The format of connect string resembles the url - format of the mysql client. - The format is: - `[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...` - - `mysql://user@localhost` - - `mysql://user:password@localhost` - - `mysql://user:password@localhost:3306` - - `mysql://user:password@localhost:3306/db` For more - information, please refer to - . - key_field : builtins.str, optional - The key field name for mysql. - root : builtins.str, optional - The root for mysql. - table : builtins.str, optional - The table name for mysql. - value_field : builtins.str, optional - The value field name for mysql. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `mysql` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Obs | typing.Literal["obs"], - /, - *, - access_key_id: builtins.str = ..., - bucket: builtins.str = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `obs` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for obs. - bucket : builtins.str, optional - Bucket for obs. - enable_versioning : builtins.bool, optional - Is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for obs. - root : builtins.str, optional - Root for obs. - secret_access_key : builtins.str, optional - Secret access key for obs. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `obs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Onedrive | typing.Literal["onedrive"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - enable_versioning: builtins.bool = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `onedrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) access token - client_id : builtins.str, optional - Microsoft Graph API Application (client) ID that is - in the Azure's app registration portal - client_secret : builtins.str, optional - Microsoft Graph API Application client secret that - is in the Azure's app registration portal - enable_versioning : builtins.bool, optional - Enabling version support - refresh_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) refresh - token - root : builtins.str, optional - The root path for the OneDrive service for the file - access - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `onedrive` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Oss | typing.Literal["oss"], - /, - *, - access_key_id: builtins.str = ..., - access_key_secret: builtins.str = ..., - addressing_style: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - delete_max_size: builtins.int = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - oidc_provider_arn: builtins.str = ..., - oidc_token_file: builtins.str = ..., - presign_addressing_style: builtins.str = ..., - presign_endpoint: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - security_token: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_key_id: builtins.str = ..., - sts_endpoint: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `oss` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_ID`] - access_key_secret : builtins.str, optional - Access key secret for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_SECRET`] - addressing_style : builtins.str, optional - Addressing style for oss. - allow_anonymous : builtins.bool, optional - Allow anonymous for oss. - batch_max_operations : builtins.int, optional - The size of max batch operations. - bucket : builtins.str - Bucket for oss. - delete_max_size : builtins.int, optional - The size of max delete operations. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for oss. - oidc_provider_arn : builtins.str, optional - `oidc_provider_arn` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_PROVIDER_ARN`] - oidc_token_file : builtins.str, optional - `oidc_token_file` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_TOKEN_FILE`] - presign_addressing_style : builtins.str, optional - Pre sign addressing style for oss. - presign_endpoint : builtins.str, optional - Presign endpoint for oss. - role_arn : builtins.str, optional - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ROLE_ARN`] - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - Root for oss. - security_token : builtins.str, optional - `security_token` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_SECURITY_TOKEN`] - server_side_encryption : builtins.str, optional - Server side encryption for oss. - server_side_encryption_key_id : builtins.str, optional - Server side encryption key id for oss. - sts_endpoint : builtins.str, optional - `sts_endpoint` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_STS_ENDPOINT`] - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `oss` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Persy | typing.Literal["persy"], - /, - *, - datafile: builtins.str = ..., - index: builtins.str = ..., - segment: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `persy` service. - - Parameters - ---------- - datafile : builtins.str, optional - That path to the persy data file. - The directory in the path must already exist. - index : builtins.str, optional - That name of the persy index. - segment : builtins.str, optional - That name of the persy segment. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `persy` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Postgresql | typing.Literal["postgresql"], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `postgresql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - The URL should be with a scheme of either - `postgres://` or `postgresql://`. - - `postgresql://user@localhost` - - `postgresql://user:password@%2Fvar%2Flib%2Fpostgresql/mydb?connect_timeout=10` - - - `postgresql://user@host1:1234,host2,host3:5678?target_session_attrs=read-write` - - - `postgresql:///mydb?user=user&host=/var/lib/postgresql` - For more information, please visit - . - key_field : builtins.str, optional - the key field of postgresql - root : builtins.str, optional - Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - table : builtins.str, optional - the table of postgresql - value_field : builtins.str, optional - the value field of postgresql - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `postgresql` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Redb | typing.Literal["redb"], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `redb` service. - - Parameters - ---------- - datadir : builtins.str, optional - path to the redb data directory. - root : builtins.str, optional - The root for redb. - table : builtins.str, optional - The table name for redb. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `redb` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Redis | typing.Literal["redis"], - /, - *, - cluster_endpoints: builtins.str = ..., - connection_pool_max_size: builtins.int = ..., - db: builtins.int, - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `redis` service. - - Parameters - ---------- - cluster_endpoints : builtins.str, optional - network address of the Redis cluster service. - Can be - "tcp://127.0.0.1:6379,tcp://127.0.0.1:6380,tcp://127.0.0.1:6381", - e.g. - default is None - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - db : builtins.int - the number of DBs redis can take is unlimited - default is db 0 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the Redis service. - Can be "tcp://127.0.0.1:6379", e.g. - default is "tcp://127.0.0.1:6379" - password : builtins.str, optional - the password for authentication default is None - root : builtins.str, optional - the working directory of the Redis service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - the username to connect redis service. - default is None - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `redis` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.S3 | typing.Literal["s3"], - /, - *, - access_key_id: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - checksum_algorithm: builtins.str = ..., - default_storage_class: builtins.str = ..., - delete_max_size: builtins.int = ..., - disable_config_load: builtins.bool = ..., - disable_ec2_metadata: builtins.bool = ..., - disable_list_objects_v2: builtins.bool = ..., - disable_stat_with_override: builtins.bool = ..., - disable_write_with_if_match: builtins.bool = ..., - enable_request_payer: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - enable_virtual_host_style: builtins.bool = ..., - enable_write_with_append: builtins.bool = ..., - endpoint: builtins.str = ..., - external_id: builtins.str = ..., - region: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_aws_kms_key_id: builtins.str = ..., - server_side_encryption_customer_algorithm: builtins.str = ..., - server_side_encryption_customer_key: builtins.str = ..., - server_side_encryption_customer_key_md5: builtins.str = ..., - session_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `s3` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - access_key_id of this backend. - - If access_key_id is set, we will take user's input - first. - - If not, we will try to load it from environment. - allow_anonymous : builtins.bool, optional - Allow anonymous will allow opendal to send request - without signing when credential is not loaded. - batch_max_operations : builtins.int, optional - Set maximum batch operations of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - bucket : builtins.str - bucket name of this backend. - required. - checksum_algorithm : builtins.str, optional - Checksum Algorithm to use when sending checksums in - HTTP headers. - This is necessary when writing to AWS S3 Buckets - with Object Lock enabled for example. - Available options: - "crc32c" - default_storage_class : builtins.str, optional - default storage_class for this backend. - Available values: - `DEEP_ARCHIVE` - `GLACIER` - - `GLACIER_IR` - `INTELLIGENT_TIERING` - `ONEZONE_IA` - - `EXPRESS_ONEZONE` - `OUTPOSTS` - - `REDUCED_REDUNDANCY` - `STANDARD` - `STANDARD_IA` S3 - compatible services don't support all of them - delete_max_size : builtins.int, optional - Set the maximum delete size of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from environment. - For examples: - envs like `AWS_ACCESS_KEY_ID` - - files like `~/.aws/config` - disable_ec2_metadata : builtins.bool, optional - Disable load credential from ec2 metadata. - This option is used to disable the default behavior - of opendal to load credential from ec2 metadata, - a.k.a, IMDSv2 - disable_list_objects_v2 : builtins.bool, optional - OpenDAL uses List Objects V2 by default to list - objects. - However, some legacy services do not yet support V2. - This option allows users to switch back to the older - List Objects V1. - disable_stat_with_override : builtins.bool, optional - Disable stat with override so that opendal will not - send stat request with override queries. - For example, R2 doesn't support stat with - `response_content_type` query. - disable_write_with_if_match : builtins.bool, optional - Disable write with if match so that opendal will not - send write request with if match headers. - For example, Ceph RADOS S3 doesn't support write - with if match. - enable_request_payer : builtins.bool, optional - Indicates whether the client agrees to pay for the - requests made to the S3 bucket. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - enable_virtual_host_style : builtins.bool, optional - Enable virtual host style so that opendal will send - API requests in virtual host style instead of path - style. - - By default, opendal will send API to - `https://s3.us-east-1.amazonaws.com/bucket_name` - - Enabled, opendal will send API to - `https://bucket_name.s3.us-east-1.amazonaws.com` - enable_write_with_append : builtins.bool, optional - Enable write with append so that opendal will send - write request with append headers. - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, e.g. - - AWS S3: `https://s3.amazonaws.com` or - `https://s3.{region}.amazonaws.com` - Cloudflare R2: - `https://.r2.cloudflarestorage.com` - - Aliyun OSS: `https://{region}.aliyuncs.com` - - Tencent COS: `https://cos.{region}.myqcloud.com` - - Minio: `http://127.0.0.1:9000` If user inputs - endpoint without scheme like "s3.amazonaws.com", we - will prepend "https://" before it. - - If endpoint is set, we will take user's input - first. - - If not, we will try to load it from environment. - - If still not set, default to - `https://s3.amazonaws.com`. - external_id : builtins.str, optional - external_id for this backend. - region : builtins.str, optional - Region represent the signing region of this - endpoint. - This is required if you are using the default AWS S3 - endpoint. - If using a custom endpoint, - If region is set, we - will take user's input first. - - If not, we will try to load it from environment. - role_arn : builtins.str, optional - role_arn for this backend. - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - secret_access_key : builtins.str, optional - secret_access_key of this backend. - - If secret_access_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - server_side_encryption : builtins.str, optional - server_side_encryption for this backend. - Available values: `AES256`, `aws:kms`. - server_side_encryption_aws_kms_key_id : builtins.str, optional - server_side_encryption_aws_kms_key_id for this - backend - If `server_side_encryption` set to - `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is not set, - S3 will use aws managed kms key to encrypt data. - - If `server_side_encryption` set to `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is a valid - kms key id, S3 will use the provided kms key to - encrypt data. - - If the `server_side_encryption_aws_kms_key_id` is - invalid or not found, an error will be returned. - - If `server_side_encryption` is not `aws:kms`, - setting `server_side_encryption_aws_kms_key_id` is a - noop. - server_side_encryption_customer_algorithm : builtins.str, optional - server_side_encryption_customer_algorithm for this - backend. - Available values: `AES256`. - server_side_encryption_customer_key : builtins.str, optional - server_side_encryption_customer_key for this - backend. - Value: BASE64-encoded key that matches algorithm - specified in - `server_side_encryption_customer_algorithm`. - server_side_encryption_customer_key_md5 : builtins.str, optional - Set server_side_encryption_customer_key_md5 for this - backend. - Value: MD5 digest of key specified in - `server_side_encryption_customer_key`. - session_token : builtins.str, optional - session_token (aka, security token) of this backend. - This token will expire after sometime, it's - recommended to set session_token by hand. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `s3` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Seafile | typing.Literal["seafile"], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - repo_name: builtins.str, - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `seafile` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint address of this backend. - password : builtins.str, optional - password of this backend. - repo_name : builtins.str - repo_name of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - username : builtins.str, optional - username of this backend. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `seafile` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Sftp | typing.Literal["sftp"], - /, - *, - enable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - key: builtins.str = ..., - known_hosts_strategy: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `sftp` service. - - Parameters - ---------- - enable_copy : builtins.bool, optional - enable_copy of this backend - endpoint : builtins.str, optional - endpoint of this backend - key : builtins.str, optional - key of this backend - known_hosts_strategy : builtins.str, optional - known_hosts_strategy of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `sftp` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Sled | typing.Literal["sled"], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - tree: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `sled` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the sled data directory. - root : builtins.str, optional - The root for sled. - tree : builtins.str, optional - The tree for sled. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `sled` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Sqlite | typing.Literal["sqlite"], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `sqlite` service. - - Parameters - ---------- - connection_string : builtins.str, optional - Set the connection_string of the sqlite service. - This connection string is used to connect to the - sqlite service. - The format of connect string resembles the url - format of the sqlite client: - `sqlite::memory:` - - `sqlite:data.db` - `sqlite://data.db` For more - information, please visit - . - key_field : builtins.str, optional - Set the key field name of the sqlite service to - read/write. - Default to `key` if not specified. - root : builtins.str, optional - set the working directory, all operations will be - performed under it. - default: "/" - table : builtins.str, optional - Set the table name of the sqlite service to - read/write. - value_field : builtins.str, optional - Set the value field name of the sqlite service to - read/write. - Default to `value` if not specified. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `sqlite` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Swift | typing.Literal["swift"], - /, - *, - container: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `swift` service. - - Parameters - ---------- - container : builtins.str, optional - The container for Swift. - endpoint : builtins.str, optional - The endpoint for Swift. - root : builtins.str, optional - The root for Swift. - token : builtins.str, optional - The token for Swift. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `swift` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Upyun | typing.Literal["upyun"], - /, - *, - bucket: builtins.str, - operator: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `upyun` service. - - Parameters - ---------- - bucket : builtins.str - bucket address of this backend. - operator : builtins.str, optional - username of this backend. - password : builtins.str, optional - password of this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `upyun` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.VercelArtifacts - | typing.Literal["vercel-artifacts"], - /, - *, - access_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `vercel-artifacts` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access token for Vercel. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `vercel-artifacts` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Webdav | typing.Literal["webdav"], - /, - *, - disable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `webdav` service. - - Parameters - ---------- - disable_copy : builtins.bool, optional - WebDAV Service doesn't support copy. - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `webdav` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Webhdfs | typing.Literal["webhdfs"], - /, - *, - atomic_write_dir: builtins.str = ..., - delegation: builtins.str = ..., - disable_list_batch: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - user_name: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `webhdfs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - atomic_write_dir of this backend - delegation : builtins.str, optional - Delegation token for webhdfs. - disable_list_batch : builtins.bool, optional - Disable batch listing - endpoint : builtins.str, optional - Endpoint for webhdfs. - root : builtins.str, optional - Root for webhdfs. - user_name : builtins.str, optional - Name of the user for webhdfs. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `webhdfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.YandexDisk | typing.Literal["yandex-disk"], - /, - *, - access_token: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `yandex-disk` service. - - Parameters - ---------- - access_token : builtins.str - yandex disk oauth access_token. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `yandex-disk` service - """ - -@typing.final -class Operator: - r""" - The blocking equivalent of `AsyncOperator`. - - `Operator` is the entry point for all blocking APIs. - - See Also - -------- - AsyncOperator - """ - - def layer(self, layer: Layer) -> Operator: - r""" - Add a new layer to this operator. - - Parameters - ---------- - layer : Layer - The layer to add. - - Returns - ------- - Operator - A new operator with the layer added. - """ - def open( - self, - path: builtins.str | os.PathLike | pathlib.Path, - mode: builtins.str, - **kwargs: typing.Any, - ) -> File: - r""" - Open a file-like object for the given path. - - The returning file-like object is a context manager. - - Parameters - ---------- - path : str - The path to the file. - mode : str - The mode to open the file in. Only "rb" and "wb" are supported. - **kwargs - Additional options for the underlying reader or writer. - - Returns - ------- - File - A file-like object. - """ - def read( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - version: builtins.str | None = None, - concurrent: builtins.int | None = None, - chunk: builtins.int | None = None, - gap: builtins.int | None = None, - offset: builtins.int | None = None, - prefetch: builtins.int | None = None, - size: builtins.int | None = None, - if_match: builtins.str | None = None, - if_none_match: builtins.str | None = None, - if_modified_since: datetime.datetime = None, - if_unmodified_since: datetime.datetime = None, - content_type: builtins.str | None = None, - cache_control: builtins.str | None = None, - content_disposition: builtins.str | None = None, - ) -> builtins.bytes: - r""" - Read the entire contents of a file at the given path. - - Parameters - ---------- - path : str - The path to the file. - version : str, optional - The version of the file. - concurrent : int, optional - The number of concurrent readers. - chunk : int, optional - The size of each chunk. - gap : int, optional - The gap between each chunk. - offset : int, optional - The offset of the file. - prefetch : int, optional - The number of bytes to prefetch. - size : int, optional - The size of the file. - if_match : str, optional - The ETag of the file. - if_none_match : str, optional - The ETag of the file. - if_modified_since : str, optional - The last modified time of the file. - if_unmodified_since : str, optional - The last modified time of the file. - content_type : str, optional - The content type of the file. - cache_control : str, optional - The cache control of the file. - content_disposition : str, optional - The content disposition of the file. - - Returns - ------- - bytes - The contents of the file as bytes. - """ - def write( - self, - path: builtins.str | os.PathLike | pathlib.Path, - bs: builtins.bytes, - *, - append: builtins.bool | None = None, - chunk: builtins.int | None = None, - concurrent: builtins.int | None = None, - cache_control: builtins.str | None = None, - content_type: builtins.str | None = None, - content_disposition: builtins.str | None = None, - content_encoding: builtins.str | None = None, - if_match: builtins.str | None = None, - if_none_match: builtins.str | None = None, - if_not_exists: builtins.bool | None = None, - user_metadata: typing.Mapping[builtins.str, builtins.str] | None = None, - ) -> None: - r""" - Write bytes to a file at the given path. - - This function will create a file if it does not exist, and will - overwrite its contents if it does. - - Parameters - ---------- - path : str - The path to the file. - bs : bytes - The contents to write to the file. - append : bool, optional - Whether to append to the file instead of overwriting it. - chunk : int, optional - The chunk size to use when writing the file. - concurrent : int, optional - The number of concurrent requests to make when writing the file. - cache_control : str, optional - The cache control header to set on the file. - content_type : str, optional - The content type header to set on the file. - content_disposition : str, optional - The content disposition header to set on the file. - content_encoding : str, optional - The content encoding header to set on the file. - if_match : str, optional - The ETag to match when writing the file. - if_none_match : str, optional - The ETag to not match when writing the file. - if_not_exists : bool, optional - Whether to fail if the file already exists. - user_metadata : dict, optional - The user metadata to set on the file. - """ - def stat( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - version: builtins.str | None = None, - if_match: builtins.str | None = None, - if_none_match: builtins.str | None = None, - if_modified_since: datetime.datetime = None, - if_unmodified_since: datetime.datetime = None, - content_type: builtins.str | None = None, - cache_control: builtins.str | None = None, - content_disposition: builtins.str | None = None, - ) -> Metadata: - r""" - Get the metadata of a file at the given path. - - Parameters - ---------- - path : str - The path to the file. - version : str, optional - The version of the file. - if_match : str, optional - The ETag of the file. - if_none_match : str, optional - The ETag of the file. - if_modified_since : datetime, optional - The last modified time of the file. - if_unmodified_since : datetime, optional - The last modified time of the file. - content_type : str, optional - The content type of the file. - cache_control : str, optional - The cache control of the file. - content_disposition : str, optional - The content disposition of the file. - - Returns - ------- - Metadata - The metadata of the file. - """ - def copy( - self, - source: builtins.str | os.PathLike | pathlib.Path, - target: builtins.str | os.PathLike | pathlib.Path, - ) -> None: - r""" - Copy a file from one path to another. - - Parameters - ---------- - source : str - The path to the source file. - target : str - The path to the target file. - """ - def rename( - self, - source: builtins.str | os.PathLike | pathlib.Path, - target: builtins.str | os.PathLike | pathlib.Path, - ) -> None: - r""" - Rename (move) a file from one path to another. - - Parameters - ---------- - source : str - The path to the source file. - target : str - The path to the target file. - """ - def remove_all(self, path: builtins.str | os.PathLike | pathlib.Path) -> None: - r""" - Recursively remove all files and directories at the given path. - - Parameters - ---------- - path : str - The path to remove. - """ - def create_dir(self, path: builtins.str | os.PathLike | pathlib.Path) -> None: - r""" - Create a directory at the given path. - - Notes - ----- - To indicate that a path is a directory, it must end with a `/`. - This operation is always recursive, like `mkdir -p`. - - Parameters - ---------- - path : str - The path to the directory. - """ - def delete(self, path: builtins.str | os.PathLike | pathlib.Path) -> None: - r""" - Delete a file at the given path. - - Notes - ----- - This operation will not return an error if the path does not exist. - - Parameters - ---------- - path : str - The path to the file. - """ - def exists(self, path: builtins.str | os.PathLike | pathlib.Path) -> builtins.bool: - r""" - Check if a path exists. - - Parameters - ---------- - path : str - The path to check. - - Returns - ------- - bool - True if the path exists, False otherwise. - """ - def list( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - limit: builtins.int | None = None, - start_after: builtins.str | None = None, - recursive: builtins.bool | None = None, - versions: builtins.bool | None = None, - deleted: builtins.bool | None = None, - ) -> collections.abc.Iterable[opendal.types.Entry]: - r""" - List entries in the given directory. - - Parameters - ---------- - path : str - The path to the directory. - limit : int, optional - The maximum number of entries to return. - start_after : str, optional - The entry to start after. - recursive : bool, optional - Whether to list recursively. - versions : bool, optional - Whether to list versions. - deleted : bool, optional - Whether to list deleted entries. - - Returns - ------- - BlockingLister - An iterator over the entries in the directory. - """ - def scan( - self, - path: builtins.str | os.PathLike | pathlib.Path, - *, - limit: builtins.int | None = None, - start_after: builtins.str | None = None, - versions: builtins.bool | None = None, - deleted: builtins.bool | None = None, - ) -> collections.abc.Iterable[opendal.types.Entry]: - r""" - Recursively list entries in the given directory. - - Deprecated - ---------- - Use `list()` with `recursive=True` instead. - - Parameters - ---------- - path : str - The path to the directory. - limit : int, optional - The maximum number of entries to return. - start_after : str, optional - The entry to start after. - versions : bool, optional - Whether to list versions. - deleted : bool, optional - Whether to list deleted entries. - - Returns - ------- - BlockingLister - An iterator over the entries in the directory. - """ - def capability(self) -> Capability: - r""" - Get all capabilities of this operator. - - Returns - ------- - Capability - The capability of the operator. - """ - def check(self) -> None: - r""" - Check if the operator is able to work correctly. - - Raises - ------ - Exception - If the operator is not able to work correctly. - """ - def to_async_operator(self) -> AsyncOperator: - r""" - Create a new `AsyncOperator` from this blocking operator. - - Returns - ------- - AsyncOperator - The async operator. - """ - @typing.overload - def __new__( - cls, - scheme: builtins.str, - /, - **kwargs: builtins.str, - ) -> typing_extensions.Self: ... - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.AliyunDrive | typing.Literal["aliyun-drive"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - drive_type: builtins.str, - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `aliyun-drive` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access_token of this backend. - Solution for client-only purpose. - #4733 Required if no client_id, client_secret and - refresh_token are provided. - client_id : builtins.str, optional - The client_id of this backend. - Required if no access_token is provided. - client_secret : builtins.str, optional - The client_secret of this backend. - Required if no access_token is provided. - drive_type : builtins.str - The drive_type of this backend. - All operations will happen under this type of drive. - Available values are `default`, `backup` and - `resource`. - Fallback to default if not set or no other drives - can be found. - refresh_token : builtins.str, optional - The refresh_token of this backend. - Required if no access_token is provided. - root : builtins.str, optional - The Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - - Returns - ------- - Operator - The new `Operator` for `aliyun-drive` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Alluxio | typing.Literal["alluxio"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `alluxio` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, mostly like - `http://127.0.0.1:39999`. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - - Returns - ------- - Operator - The new `Operator` for `alluxio` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Azblob | typing.Literal["azblob"], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - batch_max_operations: builtins.int = ..., - container: builtins.str, - encryption_algorithm: builtins.str = ..., - encryption_key: builtins.str = ..., - encryption_key_sha256: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `azblob` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key of Azblob service backend. - account_name : builtins.str, optional - The account name of Azblob service backend. - batch_max_operations : builtins.int, optional - The maximum batch operations of Azblob service - backend. - container : builtins.str - The container name of Azblob service backend. - encryption_algorithm : builtins.str, optional - The encryption algorithm of Azblob service backend. - encryption_key : builtins.str, optional - The encryption key of Azblob service backend. - encryption_key_sha256 : builtins.str, optional - The encryption key sha256 of Azblob service backend. - endpoint : builtins.str, optional - The endpoint of Azblob service backend. - Endpoint must be full uri, e.g. - - Azblob: - `https://accountname.blob.core.windows.net` - - Azurite: `http://127.0.0.1:10000/devstoreaccount1` - root : builtins.str, optional - The root of Azblob service backend. - All operations will happen under this root. - sas_token : builtins.str, optional - The sas token of Azblob service backend. - - Returns - ------- - Operator - The new `Operator` for `azblob` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Azdls | typing.Literal["azdls"], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - authority_host: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - endpoint: builtins.str = ..., - filesystem: builtins.str, - root: builtins.str = ..., - sas_token: builtins.str = ..., - tenant_id: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `azdls` service. - - Parameters - ---------- - account_key : builtins.str, optional - Account key of this backend. - - required for shared_key authentication - account_name : builtins.str, optional - Account name of this backend. - authority_host : builtins.str, optional - authority_host The authority host of the service - principal. - - required for client_credentials authentication - - default value: `https://login.microsoftonline.com` - client_id : builtins.str, optional - client_id The client id of the service principal. - - required for client_credentials authentication - client_secret : builtins.str, optional - client_secret The client secret of the service - principal. - - required for client_credentials authentication - endpoint : builtins.str, optional - Endpoint of this backend. - filesystem : builtins.str - Filesystem name of this backend. - root : builtins.str, optional - Root of this backend. - sas_token : builtins.str, optional - sas_token The shared access signature token. - - required for sas authentication - tenant_id : builtins.str, optional - tenant_id The tenant id of the service principal. - - required for client_credentials authentication - - Returns - ------- - Operator - The new `Operator` for `azdls` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Azfile | typing.Literal["azfile"], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - share_name: builtins.str, - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `azfile` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key for azfile. - account_name : builtins.str, optional - The account name for azfile. - endpoint : builtins.str, optional - The endpoint for azfile. - root : builtins.str, optional - The root path for azfile. - sas_token : builtins.str, optional - The sas token for azfile. - share_name : builtins.str - The share name for azfile. - - Returns - ------- - Operator - The new `Operator` for `azfile` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.B2 | typing.Literal["b2"], - /, - *, - application_key: builtins.str = ..., - application_key_id: builtins.str = ..., - bucket: builtins.str, - bucket_id: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `b2` service. - - Parameters - ---------- - application_key : builtins.str, optional - applicationKey of this backend. - - If application_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - application_key_id : builtins.str, optional - keyID of this backend. - - If application_key_id is set, we will take user's - input first. - - If not, we will try to load it from environment. - bucket : builtins.str - bucket of this backend. - required. - bucket_id : builtins.str - bucket id of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - Operator - The new `Operator` for `b2` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Cacache | typing.Literal["cacache"], - /, - *, - datadir: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `cacache` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the cacache data directory. - - Returns - ------- - Operator - The new `Operator` for `cacache` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Cos | typing.Literal["cos"], - /, - *, - bucket: builtins.str = ..., - disable_config_load: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_id: builtins.str = ..., - secret_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `cos` service. - - Parameters - ---------- - bucket : builtins.str, optional - Bucket of this backend. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint of this backend. - root : builtins.str, optional - Root of this backend. - secret_id : builtins.str, optional - Secret ID of this backend. - secret_key : builtins.str, optional - Secret key of this backend. - - Returns - ------- - Operator - The new `Operator` for `cos` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Dashmap | typing.Literal["dashmap"], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `dashmap` service. - - Parameters - ---------- - root : builtins.str, optional - root path of this backend - - Returns - ------- - Operator - The new `Operator` for `dashmap` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Dropbox | typing.Literal["dropbox"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `dropbox` service. - - Parameters - ---------- - access_token : builtins.str, optional - access token for dropbox. - client_id : builtins.str, optional - client_id for dropbox. - client_secret : builtins.str, optional - client_secret for dropbox. - refresh_token : builtins.str, optional - refresh_token for dropbox. - root : builtins.str, optional - root path for dropbox. - - Returns - ------- - Operator - The new `Operator` for `dropbox` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Fs | typing.Literal["fs"], - /, - *, - atomic_write_dir: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `fs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - tmp dir for atomic write - root : builtins.str, optional - root dir for backend - - Returns - ------- - Operator - The new `Operator` for `fs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ftp | typing.Literal["ftp"], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ftp` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - - Returns - ------- - Operator - The new `Operator` for `ftp` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Gcs | typing.Literal["gcs"], - /, - *, - allow_anonymous: builtins.bool = ..., - bucket: builtins.str, - credential: builtins.str = ..., - credential_path: builtins.str = ..., - default_storage_class: builtins.str = ..., - disable_config_load: builtins.bool = ..., - disable_vm_metadata: builtins.bool = ..., - endpoint: builtins.str = ..., - predefined_acl: builtins.str = ..., - root: builtins.str = ..., - scope: builtins.str = ..., - service_account: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `gcs` service. - - Parameters - ---------- - allow_anonymous : builtins.bool, optional - Allow opendal to send requests without signing when - credentials are not loaded. - bucket : builtins.str - bucket name - credential : builtins.str, optional - Credentials string for GCS service OAuth2 - authentication. - credential_path : builtins.str, optional - Local path to credentials file for GCS service - OAuth2 authentication. - default_storage_class : builtins.str, optional - The default storage class used by gcs. - disable_config_load : builtins.bool, optional - Disable loading configuration from the environment. - disable_vm_metadata : builtins.bool, optional - Disable attempting to load credentials from the GCE - metadata server when running within Google Cloud. - endpoint : builtins.str, optional - endpoint URI of GCS service, default is - `https://storage.googleapis.com` - predefined_acl : builtins.str, optional - The predefined acl for GCS. - root : builtins.str, optional - root URI, all operations happens under `root` - scope : builtins.str, optional - Scope for gcs. - service_account : builtins.str, optional - Service Account for gcs. - token : builtins.str, optional - A Google Cloud OAuth2 token. - Takes precedence over `credential` and - `credential_path`. - - Returns - ------- - Operator - The new `Operator` for `gcs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Gdrive | typing.Literal["gdrive"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `gdrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Access token for gdrive. - client_id : builtins.str, optional - Client id for gdrive. - client_secret : builtins.str, optional - Client secret for gdrive. - refresh_token : builtins.str, optional - Refresh token for gdrive. - root : builtins.str, optional - The root for gdrive - - Returns - ------- - Operator - The new `Operator` for `gdrive` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ghac | typing.Literal["ghac"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - runtime_token: builtins.str = ..., - version: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ghac` service. - - Parameters - ---------- - endpoint : builtins.str, optional - The endpoint for ghac service. - root : builtins.str, optional - The root path for ghac. - runtime_token : builtins.str, optional - The runtime token for ghac service. - version : builtins.str, optional - The version that used by cache. - - Returns - ------- - Operator - The new `Operator` for `ghac` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Gridfs | typing.Literal["gridfs"], - /, - *, - bucket: builtins.str = ..., - chunk_size: builtins.int = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `gridfs` service. - - Parameters - ---------- - bucket : builtins.str, optional - The bucket name of the MongoDB GridFs service to - read/write. - chunk_size : builtins.int, optional - The chunk size of the MongoDB GridFs service used to - break the user file into chunks. - connection_string : builtins.str, optional - The connection string of the MongoDB service. - database : builtins.str, optional - The database name of the MongoDB GridFs service to - read/write. - root : builtins.str, optional - The working directory, all operations will be - performed under it. - - Returns - ------- - Operator - The new `Operator` for `gridfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.HdfsNative | typing.Literal["hdfs-native"], - /, - *, - enable_append: builtins.bool = ..., - name_node: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `hdfs-native` service. - - Parameters - ---------- - enable_append : builtins.bool, optional - enable the append capacity - name_node : builtins.str, optional - name_node of this backend - root : builtins.str, optional - work dir of this backend - - Returns - ------- - Operator - The new `Operator` for `hdfs-native` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Http | typing.Literal["http"], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `http` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - - Returns - ------- - Operator - The new `Operator` for `http` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Huggingface | typing.Literal["huggingface"], - /, - *, - repo_id: builtins.str = ..., - repo_type: builtins.str = ..., - revision: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `huggingface` service. - - Parameters - ---------- - repo_id : builtins.str, optional - Repo id of this backend. - This is required. - repo_type : builtins.str, optional - Repo type of this backend. - Default is model. - Available values: - model - dataset - revision : builtins.str, optional - Revision of this backend. - Default is main. - root : builtins.str, optional - Root of this backend. - Can be "/path/to/dir". - Default is "/". - token : builtins.str, optional - Token of this backend. - This is optional. - - Returns - ------- - Operator - The new `Operator` for `huggingface` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ipfs | typing.Literal["ipfs"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ipfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - IPFS gateway endpoint. - root : builtins.str, optional - IPFS root. - - Returns - ------- - Operator - The new `Operator` for `ipfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Ipmfs | typing.Literal["ipmfs"], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ipmfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - Endpoint for ipfs. - root : builtins.str, optional - Root for ipfs. - - Returns - ------- - Operator - The new `Operator` for `ipmfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Koofr | typing.Literal["koofr"], - /, - *, - email: builtins.str, - endpoint: builtins.str, - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `koofr` service. - - Parameters - ---------- - email : builtins.str - Koofr email. - endpoint : builtins.str - Koofr endpoint. - password : builtins.str, optional - password of this backend. - (Must be the application password) - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - Operator - The new `Operator` for `koofr` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Memcached | typing.Literal["memcached"], - /, - *, - connection_pool_max_size: builtins.int = ..., - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `memcached` service. - - Parameters - ---------- - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the memcached service. - For example: "tcp://localhost:11211" - password : builtins.str, optional - Memcached password, optional. - root : builtins.str, optional - the working directory of the service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - Memcached username, optional. - - Returns - ------- - Operator - The new `Operator` for `memcached` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Memory | typing.Literal["memory"], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `memory` service. - - Parameters - ---------- - root : builtins.str, optional - root of the backend. - - Returns - ------- - Operator - The new `Operator` for `memory` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.MiniMoka | typing.Literal["mini-moka"], - /, - *, - max_capacity: builtins.int = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `mini-moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::max_capacity`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.max_capacity) - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_idle`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_live`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_live) - - Returns - ------- - Operator - The new `Operator` for `mini-moka` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Moka | typing.Literal["moka"], - /, - *, - max_capacity: builtins.int = ..., - name: builtins.str = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`moka::future::CacheBuilder::max_capacity`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.max_capacity) - name : builtins.str, optional - Name for this cache instance. - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_idle`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_live`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_live) - - Returns - ------- - Operator - The new `Operator` for `moka` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Mongodb | typing.Literal["mongodb"], - /, - *, - collection: builtins.str = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `mongodb` service. - - Parameters - ---------- - collection : builtins.str, optional - collection of this backend - connection_string : builtins.str, optional - connection string of this backend - database : builtins.str, optional - database of this backend - key_field : builtins.str, optional - key field of this backend - root : builtins.str, optional - root of this backend - value_field : builtins.str, optional - value field of this backend - - Returns - ------- - Operator - The new `Operator` for `mongodb` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Mysql | typing.Literal["mysql"], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `mysql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - This connection string is used to connect to the - mysql service. - There are url based formats. - The format of connect string resembles the url - format of the mysql client. - The format is: - `[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...` - - `mysql://user@localhost` - - `mysql://user:password@localhost` - - `mysql://user:password@localhost:3306` - - `mysql://user:password@localhost:3306/db` For more - information, please refer to - . - key_field : builtins.str, optional - The key field name for mysql. - root : builtins.str, optional - The root for mysql. - table : builtins.str, optional - The table name for mysql. - value_field : builtins.str, optional - The value field name for mysql. - - Returns - ------- - Operator - The new `Operator` for `mysql` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Obs | typing.Literal["obs"], - /, - *, - access_key_id: builtins.str = ..., - bucket: builtins.str = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `obs` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for obs. - bucket : builtins.str, optional - Bucket for obs. - enable_versioning : builtins.bool, optional - Is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for obs. - root : builtins.str, optional - Root for obs. - secret_access_key : builtins.str, optional - Secret access key for obs. - - Returns - ------- - Operator - The new `Operator` for `obs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Onedrive | typing.Literal["onedrive"], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - enable_versioning: builtins.bool = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `onedrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) access token - client_id : builtins.str, optional - Microsoft Graph API Application (client) ID that is - in the Azure's app registration portal - client_secret : builtins.str, optional - Microsoft Graph API Application client secret that - is in the Azure's app registration portal - enable_versioning : builtins.bool, optional - Enabling version support - refresh_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) refresh - token - root : builtins.str, optional - The root path for the OneDrive service for the file - access - - Returns - ------- - Operator - The new `Operator` for `onedrive` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Oss | typing.Literal["oss"], - /, - *, - access_key_id: builtins.str = ..., - access_key_secret: builtins.str = ..., - addressing_style: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - delete_max_size: builtins.int = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - oidc_provider_arn: builtins.str = ..., - oidc_token_file: builtins.str = ..., - presign_addressing_style: builtins.str = ..., - presign_endpoint: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - security_token: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_key_id: builtins.str = ..., - sts_endpoint: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `oss` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_ID`] - access_key_secret : builtins.str, optional - Access key secret for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_SECRET`] - addressing_style : builtins.str, optional - Addressing style for oss. - allow_anonymous : builtins.bool, optional - Allow anonymous for oss. - batch_max_operations : builtins.int, optional - The size of max batch operations. - bucket : builtins.str - Bucket for oss. - delete_max_size : builtins.int, optional - The size of max delete operations. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for oss. - oidc_provider_arn : builtins.str, optional - `oidc_provider_arn` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_PROVIDER_ARN`] - oidc_token_file : builtins.str, optional - `oidc_token_file` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_TOKEN_FILE`] - presign_addressing_style : builtins.str, optional - Pre sign addressing style for oss. - presign_endpoint : builtins.str, optional - Presign endpoint for oss. - role_arn : builtins.str, optional - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ROLE_ARN`] - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - Root for oss. - security_token : builtins.str, optional - `security_token` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_SECURITY_TOKEN`] - server_side_encryption : builtins.str, optional - Server side encryption for oss. - server_side_encryption_key_id : builtins.str, optional - Server side encryption key id for oss. - sts_endpoint : builtins.str, optional - `sts_endpoint` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_STS_ENDPOINT`] - - Returns - ------- - Operator - The new `Operator` for `oss` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Persy | typing.Literal["persy"], - /, - *, - datafile: builtins.str = ..., - index: builtins.str = ..., - segment: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `persy` service. - - Parameters - ---------- - datafile : builtins.str, optional - That path to the persy data file. - The directory in the path must already exist. - index : builtins.str, optional - That name of the persy index. - segment : builtins.str, optional - That name of the persy segment. - - Returns - ------- - Operator - The new `Operator` for `persy` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Postgresql | typing.Literal["postgresql"], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `postgresql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - The URL should be with a scheme of either - `postgres://` or `postgresql://`. - - `postgresql://user@localhost` - - `postgresql://user:password@%2Fvar%2Flib%2Fpostgresql/mydb?connect_timeout=10` - - - `postgresql://user@host1:1234,host2,host3:5678?target_session_attrs=read-write` - - - `postgresql:///mydb?user=user&host=/var/lib/postgresql` - For more information, please visit - . - key_field : builtins.str, optional - the key field of postgresql - root : builtins.str, optional - Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - table : builtins.str, optional - the table of postgresql - value_field : builtins.str, optional - the value field of postgresql - - Returns - ------- - Operator - The new `Operator` for `postgresql` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Redb | typing.Literal["redb"], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `redb` service. - - Parameters - ---------- - datadir : builtins.str, optional - path to the redb data directory. - root : builtins.str, optional - The root for redb. - table : builtins.str, optional - The table name for redb. - - Returns - ------- - Operator - The new `Operator` for `redb` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Redis | typing.Literal["redis"], - /, - *, - cluster_endpoints: builtins.str = ..., - connection_pool_max_size: builtins.int = ..., - db: builtins.int, - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `redis` service. - - Parameters - ---------- - cluster_endpoints : builtins.str, optional - network address of the Redis cluster service. - Can be - "tcp://127.0.0.1:6379,tcp://127.0.0.1:6380,tcp://127.0.0.1:6381", - e.g. - default is None - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - db : builtins.int - the number of DBs redis can take is unlimited - default is db 0 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the Redis service. - Can be "tcp://127.0.0.1:6379", e.g. - default is "tcp://127.0.0.1:6379" - password : builtins.str, optional - the password for authentication default is None - root : builtins.str, optional - the working directory of the Redis service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - the username to connect redis service. - default is None - - Returns - ------- - Operator - The new `Operator` for `redis` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.S3 | typing.Literal["s3"], - /, - *, - access_key_id: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - checksum_algorithm: builtins.str = ..., - default_storage_class: builtins.str = ..., - delete_max_size: builtins.int = ..., - disable_config_load: builtins.bool = ..., - disable_ec2_metadata: builtins.bool = ..., - disable_list_objects_v2: builtins.bool = ..., - disable_stat_with_override: builtins.bool = ..., - disable_write_with_if_match: builtins.bool = ..., - enable_request_payer: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - enable_virtual_host_style: builtins.bool = ..., - enable_write_with_append: builtins.bool = ..., - endpoint: builtins.str = ..., - external_id: builtins.str = ..., - region: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_aws_kms_key_id: builtins.str = ..., - server_side_encryption_customer_algorithm: builtins.str = ..., - server_side_encryption_customer_key: builtins.str = ..., - server_side_encryption_customer_key_md5: builtins.str = ..., - session_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `s3` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - access_key_id of this backend. - - If access_key_id is set, we will take user's input - first. - - If not, we will try to load it from environment. - allow_anonymous : builtins.bool, optional - Allow anonymous will allow opendal to send request - without signing when credential is not loaded. - batch_max_operations : builtins.int, optional - Set maximum batch operations of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - bucket : builtins.str - bucket name of this backend. - required. - checksum_algorithm : builtins.str, optional - Checksum Algorithm to use when sending checksums in - HTTP headers. - This is necessary when writing to AWS S3 Buckets - with Object Lock enabled for example. - Available options: - "crc32c" - default_storage_class : builtins.str, optional - default storage_class for this backend. - Available values: - `DEEP_ARCHIVE` - `GLACIER` - - `GLACIER_IR` - `INTELLIGENT_TIERING` - `ONEZONE_IA` - - `EXPRESS_ONEZONE` - `OUTPOSTS` - - `REDUCED_REDUNDANCY` - `STANDARD` - `STANDARD_IA` S3 - compatible services don't support all of them - delete_max_size : builtins.int, optional - Set the maximum delete size of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from environment. - For examples: - envs like `AWS_ACCESS_KEY_ID` - - files like `~/.aws/config` - disable_ec2_metadata : builtins.bool, optional - Disable load credential from ec2 metadata. - This option is used to disable the default behavior - of opendal to load credential from ec2 metadata, - a.k.a, IMDSv2 - disable_list_objects_v2 : builtins.bool, optional - OpenDAL uses List Objects V2 by default to list - objects. - However, some legacy services do not yet support V2. - This option allows users to switch back to the older - List Objects V1. - disable_stat_with_override : builtins.bool, optional - Disable stat with override so that opendal will not - send stat request with override queries. - For example, R2 doesn't support stat with - `response_content_type` query. - disable_write_with_if_match : builtins.bool, optional - Disable write with if match so that opendal will not - send write request with if match headers. - For example, Ceph RADOS S3 doesn't support write - with if match. - enable_request_payer : builtins.bool, optional - Indicates whether the client agrees to pay for the - requests made to the S3 bucket. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - enable_virtual_host_style : builtins.bool, optional - Enable virtual host style so that opendal will send - API requests in virtual host style instead of path - style. - - By default, opendal will send API to - `https://s3.us-east-1.amazonaws.com/bucket_name` - - Enabled, opendal will send API to - `https://bucket_name.s3.us-east-1.amazonaws.com` - enable_write_with_append : builtins.bool, optional - Enable write with append so that opendal will send - write request with append headers. - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, e.g. - - AWS S3: `https://s3.amazonaws.com` or - `https://s3.{region}.amazonaws.com` - Cloudflare R2: - `https://.r2.cloudflarestorage.com` - - Aliyun OSS: `https://{region}.aliyuncs.com` - - Tencent COS: `https://cos.{region}.myqcloud.com` - - Minio: `http://127.0.0.1:9000` If user inputs - endpoint without scheme like "s3.amazonaws.com", we - will prepend "https://" before it. - - If endpoint is set, we will take user's input - first. - - If not, we will try to load it from environment. - - If still not set, default to - `https://s3.amazonaws.com`. - external_id : builtins.str, optional - external_id for this backend. - region : builtins.str, optional - Region represent the signing region of this - endpoint. - This is required if you are using the default AWS S3 - endpoint. - If using a custom endpoint, - If region is set, we - will take user's input first. - - If not, we will try to load it from environment. - role_arn : builtins.str, optional - role_arn for this backend. - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - secret_access_key : builtins.str, optional - secret_access_key of this backend. - - If secret_access_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - server_side_encryption : builtins.str, optional - server_side_encryption for this backend. - Available values: `AES256`, `aws:kms`. - server_side_encryption_aws_kms_key_id : builtins.str, optional - server_side_encryption_aws_kms_key_id for this - backend - If `server_side_encryption` set to - `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is not set, - S3 will use aws managed kms key to encrypt data. - - If `server_side_encryption` set to `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is a valid - kms key id, S3 will use the provided kms key to - encrypt data. - - If the `server_side_encryption_aws_kms_key_id` is - invalid or not found, an error will be returned. - - If `server_side_encryption` is not `aws:kms`, - setting `server_side_encryption_aws_kms_key_id` is a - noop. - server_side_encryption_customer_algorithm : builtins.str, optional - server_side_encryption_customer_algorithm for this - backend. - Available values: `AES256`. - server_side_encryption_customer_key : builtins.str, optional - server_side_encryption_customer_key for this - backend. - Value: BASE64-encoded key that matches algorithm - specified in - `server_side_encryption_customer_algorithm`. - server_side_encryption_customer_key_md5 : builtins.str, optional - Set server_side_encryption_customer_key_md5 for this - backend. - Value: MD5 digest of key specified in - `server_side_encryption_customer_key`. - session_token : builtins.str, optional - session_token (aka, security token) of this backend. - This token will expire after sometime, it's - recommended to set session_token by hand. - - Returns - ------- - Operator - The new `Operator` for `s3` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Seafile | typing.Literal["seafile"], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - repo_name: builtins.str, - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `seafile` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint address of this backend. - password : builtins.str, optional - password of this backend. - repo_name : builtins.str - repo_name of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - username : builtins.str, optional - username of this backend. - - Returns - ------- - Operator - The new `Operator` for `seafile` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Sftp | typing.Literal["sftp"], - /, - *, - enable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - key: builtins.str = ..., - known_hosts_strategy: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `sftp` service. - - Parameters - ---------- - enable_copy : builtins.bool, optional - enable_copy of this backend - endpoint : builtins.str, optional - endpoint of this backend - key : builtins.str, optional - key of this backend - known_hosts_strategy : builtins.str, optional - known_hosts_strategy of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - - Returns - ------- - Operator - The new `Operator` for `sftp` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Sled | typing.Literal["sled"], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - tree: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `sled` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the sled data directory. - root : builtins.str, optional - The root for sled. - tree : builtins.str, optional - The tree for sled. - - Returns - ------- - Operator - The new `Operator` for `sled` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Sqlite | typing.Literal["sqlite"], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `sqlite` service. - - Parameters - ---------- - connection_string : builtins.str, optional - Set the connection_string of the sqlite service. - This connection string is used to connect to the - sqlite service. - The format of connect string resembles the url - format of the sqlite client: - `sqlite::memory:` - - `sqlite:data.db` - `sqlite://data.db` For more - information, please visit - . - key_field : builtins.str, optional - Set the key field name of the sqlite service to - read/write. - Default to `key` if not specified. - root : builtins.str, optional - set the working directory, all operations will be - performed under it. - default: "/" - table : builtins.str, optional - Set the table name of the sqlite service to - read/write. - value_field : builtins.str, optional - Set the value field name of the sqlite service to - read/write. - Default to `value` if not specified. - - Returns - ------- - Operator - The new `Operator` for `sqlite` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Swift | typing.Literal["swift"], - /, - *, - container: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `swift` service. - - Parameters - ---------- - container : builtins.str, optional - The container for Swift. - endpoint : builtins.str, optional - The endpoint for Swift. - root : builtins.str, optional - The root for Swift. - token : builtins.str, optional - The token for Swift. - - Returns - ------- - Operator - The new `Operator` for `swift` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Upyun | typing.Literal["upyun"], - /, - *, - bucket: builtins.str, - operator: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `upyun` service. - - Parameters - ---------- - bucket : builtins.str - bucket address of this backend. - operator : builtins.str, optional - username of this backend. - password : builtins.str, optional - password of this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - Operator - The new `Operator` for `upyun` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.VercelArtifacts - | typing.Literal["vercel-artifacts"], - /, - *, - access_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `vercel-artifacts` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access token for Vercel. - - Returns - ------- - Operator - The new `Operator` for `vercel-artifacts` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Webdav | typing.Literal["webdav"], - /, - *, - disable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `webdav` service. - - Parameters - ---------- - disable_copy : builtins.bool, optional - WebDAV Service doesn't support copy. - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - - Returns - ------- - Operator - The new `Operator` for `webdav` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.Webhdfs | typing.Literal["webhdfs"], - /, - *, - atomic_write_dir: builtins.str = ..., - delegation: builtins.str = ..., - disable_list_batch: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - user_name: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `webhdfs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - atomic_write_dir of this backend - delegation : builtins.str, optional - Delegation token for webhdfs. - disable_list_batch : builtins.bool, optional - Disable batch listing - endpoint : builtins.str, optional - Endpoint for webhdfs. - root : builtins.str, optional - Root for webhdfs. - user_name : builtins.str, optional - Name of the user for webhdfs. - - Returns - ------- - Operator - The new `Operator` for `webhdfs` service - """ - @typing.overload - def __new__( - cls, - scheme: opendal.services.Scheme.YandexDisk | typing.Literal["yandex-disk"], - /, - *, - access_token: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `yandex-disk` service. - - Parameters - ---------- - access_token : builtins.str - yandex disk oauth access_token. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - - Returns - ------- - Operator - The new `Operator` for `yandex-disk` service - """ diff --git a/bindings/python/python/opendal/operator/__init__.pyi b/bindings/python/python/opendal/operator/__init__.pyi new file mode 100644 index 000000000000..7552f55b10ae --- /dev/null +++ b/bindings/python/python/opendal/operator/__init__.pyi @@ -0,0 +1,944 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +# This file is automatically generated by pyo3_stub_gen +# ruff: noqa: E501, F401, F403, F405 + +import builtins +import collections.abc +import datetime +import os +import pathlib +import typing + +import typing_extensions + +import opendal + +__all__ = [ + "AsyncOperator", + "Operator", +] + +@typing.final +class AsyncOperator: + r""" + The async equivalent of `Operator`. + + `AsyncOperator` is the entry point for all async APIs. + + See Also + -------- + Operator + """ + + def __new__(cls, scheme: builtins.str, **kwargs: typing.Any) -> AsyncOperator: + r""" + Create a new `AsyncOperator`. + + Parameters + ---------- + scheme : str + The scheme of the service. + **kwargs : dict + The options for the service. + + Returns + ------- + AsyncOperator + The new async operator. + """ + def layer(self, layer: opendal.layers.Layer) -> AsyncOperator: + r""" + Add a new layer to the operator. + + Parameters + ---------- + layer : Layer + The layer to add. + + Returns + ------- + AsyncOperator + A new operator with the layer added. + """ + def open( + self, + path: builtins.str | os.PathLike | pathlib.Path, + mode: builtins.str, + **kwargs: typing.Any, + ) -> collections.abc.Awaitable[opendal.file.AsyncFile]: + r""" + Open an async file-like object for the given path. + + The returning async file-like object is a context manager. + + Parameters + ---------- + path : str + The path to the file. + mode : str + The mode to open the file in. Only "rb" and "wb" are supported. + **kwargs : dict + Additional options for the underlying reader or writer. + + Returns + ------- + coroutine + An awaitable that returns a file-like object. + """ + def read( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + version: builtins.str | None = None, + concurrent: builtins.int | None = None, + chunk: builtins.int | None = None, + gap: builtins.int | None = None, + offset: builtins.int | None = None, + prefetch: builtins.int | None = None, + size: builtins.int | None = None, + if_match: builtins.str | None = None, + if_none_match: builtins.str | None = None, + if_modified_since: datetime.datetime | None = None, + if_unmodified_since: datetime.datetime | None = None, + content_type: builtins.str | None = None, + cache_control: builtins.str | None = None, + content_disposition: builtins.str | None = None, + ) -> collections.abc.Awaitable[builtins.bytes]: + r""" + Read the entire contents of a file at the given path. + + Parameters + ---------- + path : str + The path to the file. + version : str, optional + The version of the file. + concurrent : int, optional + The number of concurrent readers. + chunk : int, optional + The size of each chunk. + gap : int, optional + The gap between each chunk. + offset : int, optional + The offset of the file. + prefetch : int, optional + The number of bytes to prefetch. + size : int, optional + The size of the file. + if_match : str, optional + The ETag of the file. + if_none_match : str, optional + The ETag of the file. + if_modified_since : str, optional + The last modified time of the file. + if_unmodified_since : str, optional + The last modified time of the file. + content_type : str, optional + The content type of the file. + cache_control : str, optional + The cache control of the file. + content_disposition : str, optional + The content disposition of the file. + + Returns + ------- + coroutine + An awaitable that returns the contents of the file as bytes. + """ + def write( + self, + path: builtins.str | os.PathLike | pathlib.Path, + bs: builtins.bytes, + *, + append: builtins.bool | None = None, + chunk: builtins.int | None = None, + concurrent: builtins.int | None = None, + cache_control: builtins.str | None = None, + content_type: builtins.str | None = None, + content_disposition: builtins.str | None = None, + content_encoding: builtins.str | None = None, + if_match: builtins.str | None = None, + if_none_match: builtins.str | None = None, + if_not_exists: builtins.bool | None = None, + user_metadata: typing.Mapping[builtins.str, builtins.str] | None = None, + ) -> collections.abc.Awaitable[None]: + r""" + Write bytes to a file at the given path. + + This function will create a file if it does not exist, and will + overwrite its contents if it does. + + Parameters + ---------- + path : str + The path to the file. + bs : bytes + The contents to write to the file. + append : bool, optional + Whether to append to the file instead of overwriting it. + chunk : int, optional + The chunk size to use when writing the file. + concurrent : int, optional + The number of concurrent requests to make when writing the file. + cache_control : str, optional + The cache control header to set on the file. + content_type : str, optional + The content type header to set on the file. + content_disposition : str, optional + The content disposition header to set on the file. + content_encoding : str, optional + The content encoding header to set on the file. + if_match : str, optional + The ETag to match when writing the file. + if_none_match : str, optional + The ETag to not match when writing the file. + if_not_exists : bool, optional + Whether to fail if the file already exists. + user_metadata : dict, optional + The user metadata to set on the file. + + Returns + ------- + coroutine + An awaitable that completes when the write is finished. + """ + def stat( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + version: builtins.str | None = None, + if_match: builtins.str | None = None, + if_none_match: builtins.str | None = None, + if_modified_since: datetime.datetime | None = None, + if_unmodified_since: datetime.datetime | None = None, + content_type: builtins.str | None = None, + cache_control: builtins.str | None = None, + content_disposition: builtins.str | None = None, + ) -> collections.abc.Awaitable[opendal.types.Metadata]: + r""" + Get the metadata of a file at the given path. + + Parameters + ---------- + path : str + The path to the file. + version : str, optional + The version of the file. + if_match : str, optional + The ETag of the file. + if_none_match : str, optional + The ETag of the file. + if_modified_since : datetime, optional + The last modified time of the file. + if_unmodified_since : datetime, optional + The last modified time of the file. + content_type : str, optional + The content type of the file. + cache_control : str, optional + The cache control of the file. + content_disposition : str, optional + The content disposition of the file. + + Returns + ------- + coroutine + An awaitable that returns the metadata of the file. + """ + def copy( + self, + source: builtins.str | os.PathLike | pathlib.Path, + target: builtins.str | os.PathLike | pathlib.Path, + ) -> collections.abc.Awaitable[None]: + r""" + Copy a file from one path to another. + + Parameters + ---------- + source : str + The path to the source file. + target : str + The path to the target file. + + Returns + ------- + coroutine + An awaitable that completes when the copy is finished. + """ + def rename( + self, + source: builtins.str | os.PathLike | pathlib.Path, + target: builtins.str | os.PathLike | pathlib.Path, + ) -> collections.abc.Awaitable[None]: + r""" + Rename (move) a file from one path to another. + + Parameters + ---------- + source : str + The path to the source file. + target : str + The path to the target file. + + Returns + ------- + coroutine + An awaitable that completes when the rename is finished. + """ + def remove_all( + self, path: builtins.str | os.PathLike | pathlib.Path + ) -> collections.abc.Awaitable[None]: + r""" + Recursively remove all files and directories at the given path. + + Parameters + ---------- + path : str + The path to remove. + + Returns + ------- + coroutine + An awaitable that completes when the removal is finished. + """ + def check(self) -> collections.abc.Awaitable[None]: + r""" + Check if the operator is able to work correctly. + + Returns + ------- + coroutine + An awaitable that completes when the check is finished. + + Raises + ------ + Exception + If the operator is not able to work correctly. + """ + def create_dir( + self, path: builtins.str | os.PathLike | pathlib.Path + ) -> collections.abc.Awaitable[None]: + r""" + Create a directory at the given path. + + Notes + ----- + To indicate that a path is a directory, it must end with a `/`. + This operation is always recursive, like `mkdir -p`. + + Parameters + ---------- + path : str + The path to the directory. + + Returns + ------- + coroutine + An awaitable that completes when the directory is created. + """ + def delete( + self, path: builtins.str | os.PathLike | pathlib.Path + ) -> collections.abc.Awaitable[None]: + r""" + Delete a file at the given path. + + Notes + ----- + This operation will not return an error if the path does not exist. + + Parameters + ---------- + path : str + The path to the file. + + Returns + ------- + coroutine + An awaitable that completes when the file is deleted. + """ + def exists( + self, path: builtins.str | os.PathLike | pathlib.Path + ) -> collections.abc.Awaitable[builtins.bool]: + r""" + Check if a path exists. + + Parameters + ---------- + path : str + The path to check. + + Returns + ------- + coroutine + An awaitable that returns True if the path exists, False otherwise. + """ + def list( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + limit: builtins.int | None = None, + start_after: builtins.str | None = None, + recursive: builtins.bool | None = None, + versions: builtins.bool | None = None, + deleted: builtins.bool | None = None, + ) -> collections.abc.Awaitable[collections.abc.AsyncIterable[opendal.types.Entry]]: + r""" + List entries in the given directory. + + Parameters + ---------- + path : str + The path to the directory. + limit : int, optional + The maximum number of entries to return. + start_after : str, optional + The entry to start after. + recursive : bool, optional + Whether to list recursively. + versions : bool, optional + Whether to list versions. + deleted : bool, optional + Whether to list deleted entries. + + Returns + ------- + coroutine + An awaitable that returns an async iterator over the entries. + """ + @typing_extensions.deprecated("Use `list()` with `recursive=True` instead") + def scan( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + limit: builtins.int | None = None, + start_after: builtins.str | None = None, + versions: builtins.bool | None = None, + deleted: builtins.bool | None = None, + ) -> collections.abc.Awaitable[collections.abc.AsyncIterable[opendal.types.Entry]]: + r""" + Recursively list entries in the given directory. + + Parameters + ---------- + path : str + The path to the directory. + limit : int, optional + The maximum number of entries to return. + start_after : str, optional + The entry to start after. + versions : bool, optional + Whether to list versions. + deleted : bool, optional + Whether to list deleted entries. + + Returns + ------- + coroutine + An awaitable that returns an async iterator over the entries. + """ + def presign_stat( + self, + path: builtins.str | os.PathLike | pathlib.Path, + expire_second: builtins.int, + ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: + r""" + Create a presigned request for a stat operation. + + Parameters + ---------- + path : str + The path of the object to stat. + expire_second : int + The number of seconds until the presigned URL expires. + + Returns + ------- + coroutine + An awaitable that returns a presigned request object. + """ + def presign_read( + self, + path: builtins.str | os.PathLike | pathlib.Path, + expire_second: builtins.int, + ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: + r""" + Create a presigned request for a read operation. + + Parameters + ---------- + path : str + The path of the object to read. + expire_second : int + The number of seconds until the presigned URL expires. + + Returns + ------- + coroutine + An awaitable that returns a presigned request object. + """ + def presign_write( + self, + path: builtins.str | os.PathLike | pathlib.Path, + expire_second: builtins.int, + ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: + r""" + Create a presigned request for a write operation. + + Parameters + ---------- + path : str + The path of the object to write to. + expire_second : int + The number of seconds until the presigned URL expires. + + Returns + ------- + coroutine + An awaitable that returns a presigned request object. + """ + def presign_delete( + self, + path: builtins.str | os.PathLike | pathlib.Path, + expire_second: builtins.int, + ) -> collections.abc.Awaitable[opendal.types.PresignedRequest]: + r""" + Create a presigned request for a delete operation. + + Parameters + ---------- + path : str + The path of the object to delete. + expire_second : int + The number of seconds until the presigned URL expires. + + Returns + ------- + coroutine + An awaitable that returns a presigned request object. + """ + def capability(self) -> opendal.capability.Capability: + r""" + Get all capabilities of this operator. + + Returns + ------- + Capability + The capability of the operator. + """ + def to_operator(self) -> Operator: + r""" + Create a new blocking `Operator` from this async operator. + + Returns + ------- + Operator + The blocking operator. + """ + +@typing.final +class Operator: + r""" + The blocking equivalent of `AsyncOperator`. + + `Operator` is the entry point for all blocking APIs. + + See Also + -------- + AsyncOperator + """ + + def __new__(cls, scheme: builtins.str, **kwargs: typing.Any) -> Operator: + r""" + Create a new blocking `Operator`. + + Parameters + ---------- + scheme : str + The scheme of the service. + **kwargs : dict + The options for the service. + + Returns + ------- + Operator + The new operator. + """ + def layer(self, layer: opendal.layers.Layer) -> Operator: + r""" + Add a new layer to this operator. + + Parameters + ---------- + layer : Layer + The layer to add. + + Returns + ------- + Operator + A new operator with the layer added. + """ + def open( + self, + path: builtins.str | os.PathLike | pathlib.Path, + mode: builtins.str, + **kwargs: typing.Any, + ) -> opendal.file.File: + r""" + Open a file-like object for the given path. + + The returning file-like object is a context manager. + + Parameters + ---------- + path : str + The path to the file. + mode : str + The mode to open the file in. Only "rb" and "wb" are supported. + **kwargs + Additional options for the underlying reader or writer. + + Returns + ------- + File + A file-like object. + """ + def read( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + version: builtins.str | None = None, + concurrent: builtins.int | None = None, + chunk: builtins.int | None = None, + gap: builtins.int | None = None, + offset: builtins.int | None = None, + prefetch: builtins.int | None = None, + size: builtins.int | None = None, + if_match: builtins.str | None = None, + if_none_match: builtins.str | None = None, + if_modified_since: datetime.datetime | None = None, + if_unmodified_since: datetime.datetime | None = None, + content_type: builtins.str | None = None, + cache_control: builtins.str | None = None, + content_disposition: builtins.str | None = None, + ) -> builtins.bytes: + r""" + Read the entire contents of a file at the given path. + + Parameters + ---------- + path : str + The path to the file. + version : str, optional + The version of the file. + concurrent : int, optional + The number of concurrent readers. + chunk : int, optional + The size of each chunk. + gap : int, optional + The gap between each chunk. + offset : int, optional + The offset of the file. + prefetch : int, optional + The number of bytes to prefetch. + size : int, optional + The size of the file. + if_match : str, optional + The ETag of the file. + if_none_match : str, optional + The ETag of the file. + if_modified_since : str, optional + The last modified time of the file. + if_unmodified_since : str, optional + The last modified time of the file. + content_type : str, optional + The content type of the file. + cache_control : str, optional + The cache control of the file. + content_disposition : str, optional + The content disposition of the file. + + Returns + ------- + bytes + The contents of the file as bytes. + """ + def write( + self, + path: builtins.str | os.PathLike | pathlib.Path, + bs: builtins.bytes, + *, + append: builtins.bool | None = None, + chunk: builtins.int | None = None, + concurrent: builtins.int | None = None, + cache_control: builtins.str | None = None, + content_type: builtins.str | None = None, + content_disposition: builtins.str | None = None, + content_encoding: builtins.str | None = None, + if_match: builtins.str | None = None, + if_none_match: builtins.str | None = None, + if_not_exists: builtins.bool | None = None, + user_metadata: typing.Mapping[builtins.str, builtins.str] | None = None, + ) -> None: + r""" + Write bytes to a file at the given path. + + This function will create a file if it does not exist, and will + overwrite its contents if it does. + + Parameters + ---------- + path : str + The path to the file. + bs : bytes + The contents to write to the file. + append : bool, optional + Whether to append to the file instead of overwriting it. + chunk : int, optional + The chunk size to use when writing the file. + concurrent : int, optional + The number of concurrent requests to make when writing the file. + cache_control : str, optional + The cache control header to set on the file. + content_type : str, optional + The content type header to set on the file. + content_disposition : str, optional + The content disposition header to set on the file. + content_encoding : str, optional + The content encoding header to set on the file. + if_match : str, optional + The ETag to match when writing the file. + if_none_match : str, optional + The ETag to not match when writing the file. + if_not_exists : bool, optional + Whether to fail if the file already exists. + user_metadata : dict, optional + The user metadata to set on the file. + """ + def stat( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + version: builtins.str | None = None, + if_match: builtins.str | None = None, + if_none_match: builtins.str | None = None, + if_modified_since: datetime.datetime | None = None, + if_unmodified_since: datetime.datetime | None = None, + content_type: builtins.str | None = None, + cache_control: builtins.str | None = None, + content_disposition: builtins.str | None = None, + ) -> opendal.types.Metadata: + r""" + Get the metadata of a file at the given path. + + Parameters + ---------- + path : str + The path to the file. + version : str, optional + The version of the file. + if_match : str, optional + The ETag of the file. + if_none_match : str, optional + The ETag of the file. + if_modified_since : datetime, optional + The last modified time of the file. + if_unmodified_since : datetime, optional + The last modified time of the file. + content_type : str, optional + The content type of the file. + cache_control : str, optional + The cache control of the file. + content_disposition : str, optional + The content disposition of the file. + + Returns + ------- + Metadata + The metadata of the file. + """ + def copy( + self, + source: builtins.str | os.PathLike | pathlib.Path, + target: builtins.str | os.PathLike | pathlib.Path, + ) -> None: + r""" + Copy a file from one path to another. + + Parameters + ---------- + source : str + The path to the source file. + target : str + The path to the target file. + """ + def rename( + self, + source: builtins.str | os.PathLike | pathlib.Path, + target: builtins.str | os.PathLike | pathlib.Path, + ) -> None: + r""" + Rename (move) a file from one path to another. + + Parameters + ---------- + source : str + The path to the source file. + target : str + The path to the target file. + """ + def remove_all(self, path: builtins.str | os.PathLike | pathlib.Path) -> None: + r""" + Recursively remove all files and directories at the given path. + + Parameters + ---------- + path : str + The path to remove. + """ + def create_dir(self, path: builtins.str | os.PathLike | pathlib.Path) -> None: + r""" + Create a directory at the given path. + + Notes + ----- + To indicate that a path is a directory, it must end with a `/`. + This operation is always recursive, like `mkdir -p`. + + Parameters + ---------- + path : str + The path to the directory. + """ + def delete(self, path: builtins.str | os.PathLike | pathlib.Path) -> None: + r""" + Delete a file at the given path. + + Notes + ----- + This operation will not return an error if the path does not exist. + + Parameters + ---------- + path : str + The path to the file. + """ + def exists(self, path: builtins.str | os.PathLike | pathlib.Path) -> builtins.bool: + r""" + Check if a path exists. + + Parameters + ---------- + path : str + The path to check. + + Returns + ------- + bool + True if the path exists, False otherwise. + """ + def list( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + limit: builtins.int | None = None, + start_after: builtins.str | None = None, + recursive: builtins.bool | None = None, + versions: builtins.bool | None = None, + deleted: builtins.bool | None = None, + ) -> collections.abc.Iterable[opendal.types.Entry]: + r""" + List entries in the given directory. + + Parameters + ---------- + path : str + The path to the directory. + limit : int, optional + The maximum number of entries to return. + start_after : str, optional + The entry to start after. + recursive : bool, optional + Whether to list recursively. + versions : bool, optional + Whether to list versions. + deleted : bool, optional + Whether to list deleted entries. + + Returns + ------- + BlockingLister + An iterator over the entries in the directory. + """ + @typing_extensions.deprecated("Use `list()` with `recursive=True` instead") + def scan( + self, + path: builtins.str | os.PathLike | pathlib.Path, + *, + limit: builtins.int | None = None, + start_after: builtins.str | None = None, + versions: builtins.bool | None = None, + deleted: builtins.bool | None = None, + ) -> collections.abc.Iterable[opendal.types.Entry]: + r""" + Recursively list entries in the given directory. + + Parameters + ---------- + path : str + The path to the directory. + limit : int, optional + The maximum number of entries to return. + start_after : str, optional + The entry to start after. + versions : bool, optional + Whether to list versions. + deleted : bool, optional + Whether to list deleted entries. + + Returns + ------- + BlockingLister + An iterator over the entries in the directory. + """ + def capability(self) -> opendal.capability.Capability: + r""" + Get all capabilities of this operator. + + Returns + ------- + Capability + The capability of the operator. + """ + def check(self) -> None: + r""" + Check if the operator is able to work correctly. + + Raises + ------ + Exception + If the operator is not able to work correctly. + """ + def to_async_operator(self) -> AsyncOperator: + r""" + Create a new `AsyncOperator` from this blocking operator. + + Returns + ------- + AsyncOperator + The async operator. + """ diff --git a/bindings/python/python/opendal/services.pyi b/bindings/python/python/opendal/services.pyi deleted file mode 100644 index b5a279ea73cb..000000000000 --- a/bindings/python/python/opendal/services.pyi +++ /dev/null @@ -1,87 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 -r""" -Services. - ->> DO NOT EDIT THIS FILE MANUALLY << - -This file is automatically generated by just recipe with name `stub-gen` -alongwith the rest of the stubs. - -See justfile at path ``../../justfile`` for more details. -""" - -import builtins -import enum -import typing - -@typing.final -class Scheme(enum.Enum): - AliyunDrive = ... - Alluxio = ... - Azblob = ... - Azdls = ... - Azfile = ... - B2 = ... - Cacache = ... - Cos = ... - Dashmap = ... - Dropbox = ... - Fs = ... - Ftp = ... - Gcs = ... - Gdrive = ... - Ghac = ... - Gridfs = ... - HdfsNative = ... - Http = ... - Huggingface = ... - Ipfs = ... - Ipmfs = ... - Koofr = ... - Memcached = ... - Memory = ... - MiniMoka = ... - Moka = ... - Mongodb = ... - Mysql = ... - Obs = ... - Onedrive = ... - Oss = ... - Persy = ... - Postgresql = ... - Redb = ... - Redis = ... - S3 = ... - Seafile = ... - Sftp = ... - Sled = ... - Sqlite = ... - Swift = ... - Upyun = ... - VercelArtifacts = ... - Webdav = ... - Webhdfs = ... - YandexDisk = ... - - @property - def name(self) -> builtins.str: ... - @property - def value(self) -> builtins.str: ... diff --git a/bindings/python/python/opendal/types.pyi b/bindings/python/python/opendal/types/__init__.pyi similarity index 97% rename from bindings/python/python/opendal/types.pyi rename to bindings/python/python/opendal/types/__init__.pyi index 189c66d085f2..fb330200ec90 100644 --- a/bindings/python/python/opendal/types.pyi +++ b/bindings/python/python/opendal/types/__init__.pyi @@ -16,13 +16,20 @@ # under the License. # This file is automatically generated by pyo3_stub_gen -# ruff: noqa: E501, F401 +# ruff: noqa: E501, F401, F403, F405 import builtins import datetime import enum import typing +__all__ = [ + "Entry", + "EntryMode", + "Metadata", + "PresignedRequest", +] + @typing.final class Entry: r""" diff --git a/bindings/python/src/capability.rs b/bindings/python/src/capability.rs index 39c10d75c742..d911a65382b1 100644 --- a/bindings/python/src/capability.rs +++ b/bindings/python/src/capability.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -use pyo3::prelude::*; +use crate::*; /// Capability defines the supported operations and their constraints for an Operator. /// @@ -25,9 +25,9 @@ use pyo3::prelude::*; /// - Basic operations support (read, write, delete, etc.) /// - Advanced operation variants (conditional operations, metadata handling) /// - Operational constraints (size limits, batch limitations) -#[crate::gen_stub_pyclass] -#[pyclass(get_all, module = "opendal.capability")] -pub struct Capability { +#[gen_stub_pyclass] +#[pyclass(get_all, name = "Capability", module = "opendal.capability")] +pub struct PyCapability { /// If operator supports stat. pub stat: bool, /// If operator supports stat with if match. @@ -127,8 +127,8 @@ pub struct Capability { pub shared: bool, } -impl Capability { - pub fn new(capability: opendal::Capability) -> Self { +impl PyCapability { + pub fn new(capability: ocore::Capability) -> Self { Self { stat: capability.stat, stat_with_if_match: capability.stat_with_if_match, diff --git a/bindings/python/src/lib.rs b/bindings/python/src/lib.rs index 18143a794dd9..3d02ce77e88c 100644 --- a/bindings/python/src/lib.rs +++ b/bindings/python/src/lib.rs @@ -28,6 +28,7 @@ mod lister; pub use lister::*; mod metadata; pub use metadata::*; +#[allow(deprecated)] mod operator; pub use operator::*; mod file; @@ -38,9 +39,7 @@ mod errors; pub use errors::*; mod options; pub use options::*; -mod services; use pyo3_stub_gen::{define_stub_info_gatherer, derive::*}; -pub use services::*; #[pymodule(gil_used = false)] fn _opendal(py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> { @@ -48,16 +47,13 @@ fn _opendal(py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> { m.add("__version__", env!("CARGO_PKG_VERSION"))?; // Operator module - add_pymodule!(py, m, "operator", [Operator, AsyncOperator])?; + add_pymodule!(py, m, "operator", [PyOperator, PyAsyncOperator])?; // File module add_pymodule!(py, m, "file", [File, AsyncFile])?; // Capability module - add_pymodule!(py, m, "capability", [Capability])?; - - // Services module - add_pymodule!(py, m, "services", [PyScheme])?; + add_pymodule!(py, m, "capability", [PyCapability])?; // Layers module add_pymodule!( diff --git a/bindings/python/src/operator.rs b/bindings/python/src/operator.rs index 9f85f0ad3b80..38dca4ce8739 100644 --- a/bindings/python/src/operator.rs +++ b/bindings/python/src/operator.rs @@ -57,8 +57,8 @@ fn normalize_scheme(raw: &str) -> String { /// -------- /// AsyncOperator #[gen_stub_pyclass] -#[pyclass(module = "opendal.operator")] -pub struct Operator { +#[pyclass(module = "opendal.operator", name = "Operator")] +pub struct PyOperator { core: ocore::blocking::Operator, __scheme: String, __map: HashMap, @@ -66,12 +66,12 @@ pub struct Operator { #[gen_stub_pymethods] #[pymethods] -impl Operator { +impl PyOperator { /// Create a new blocking `Operator`. /// /// Parameters /// ---------- - /// scheme : str | opendal.services.Scheme + /// scheme : str /// The scheme of the service. /// **kwargs : dict /// The options for the service. @@ -80,24 +80,11 @@ impl Operator { /// ------- /// Operator /// The new operator. - #[gen_stub(skip)] #[new] #[pyo3(signature = (scheme, *, **kwargs))] - pub fn new( - #[gen_stub(override_type(type_repr = "builtins.str | opendal.services.Scheme", imports=("builtins", "opendal.services")))] - scheme: Bound, - kwargs: Option<&Bound>, - ) -> PyResult { - let scheme = if let Ok(scheme_str) = scheme.extract::<&str>() { - scheme_str.to_string() - } else if let Ok(py_scheme) = scheme.extract::() { - String::from(py_scheme) - } else { - return Err(Unsupported::new_err( - "Invalid type for scheme, expected str or Scheme", - )); - }; - let scheme = normalize_scheme(&scheme); + pub fn new(scheme: &str, kwargs: Option<&Bound>) -> PyResult { + let scheme = normalize_scheme(scheme); + let map = kwargs .map(|v| { v.extract::>() @@ -105,7 +92,7 @@ impl Operator { }) .unwrap_or_default(); - Ok(Operator { + Ok(PyOperator { core: build_blocking_operator(&scheme, map.clone())?, __scheme: scheme, __map: map, @@ -123,7 +110,11 @@ impl Operator { /// ------- /// Operator /// A new operator with the layer added. - pub fn layer(&self, layer: &layers::Layer) -> PyResult { + pub fn layer( + &self, + #[gen_stub(override_type(type_repr = "opendal.layers.Layer", imports=("opendal")))] + layer: &layers::Layer, + ) -> PyResult { let op = layer.0.layer(self.core.clone().into()); let runtime = pyo3_async_runtimes::tokio::get_runtime(); @@ -153,6 +144,10 @@ impl Operator { /// ------- /// File /// A file-like object. + #[gen_stub(override_return_type( + type_repr="opendal.file.File", + imports=("opendal") + ))] #[pyo3(signature = (path, mode, *, **kwargs))] pub fn open( &self, @@ -264,9 +259,9 @@ impl Operator { size: Option, if_match: Option, if_none_match: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_modified_since: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_unmodified_since: Option, content_type: Option, cache_control: Option, @@ -409,6 +404,10 @@ impl Operator { /// Metadata /// The metadata of the file. #[allow(clippy::too_many_arguments)] + #[gen_stub(override_return_type( + type_repr="opendal.types.Metadata", + imports=("opendal") + ))] #[pyo3(signature = (path, *, version=None, if_match=None, @@ -424,9 +423,9 @@ impl Operator { version: Option, if_match: Option, if_none_match: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_modified_since: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_unmodified_since: Option, content_type: Option, cache_control: Option, @@ -484,6 +483,8 @@ impl Operator { /// path : str /// The path to remove. pub fn remove_all(&self, path: PathBuf) -> PyResult<()> { + // TODO: change signature for delete options + use ocore::options::DeleteOptions; let path = path.to_string_lossy().to_string(); self.core @@ -567,7 +568,7 @@ impl Operator { /// An iterator over the entries in the directory. #[gen_stub(override_return_type( type_repr="collections.abc.Iterable[opendal.types.Entry]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] #[pyo3(signature = (path, *, limit=None, @@ -603,10 +604,6 @@ impl Operator { /// Recursively list entries in the given directory. /// - /// Deprecated - /// ---------- - /// Use `list()` with `recursive=True` instead. - /// /// Parameters /// ---------- /// path : str @@ -626,13 +623,14 @@ impl Operator { /// An iterator over the entries in the directory. #[gen_stub(override_return_type( type_repr="collections.abc.Iterable[opendal.types.Entry]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] #[pyo3(signature = (path, *, limit=None, start_after=None, versions=None, deleted=None))] + #[deprecated(note = "Use `list()` with `recursive=True` instead")] pub fn scan( &self, path: PathBuf, @@ -650,8 +648,12 @@ impl Operator { /// ------- /// Capability /// The capability of the operator. - pub fn capability(&self) -> PyResult { - Ok(capability::Capability::new( + #[gen_stub(override_return_type( + type_repr="opendal.capability.Capability", + imports=("opendal") + ))] + pub fn capability(&self) -> PyResult { + Ok(capability::PyCapability::new( self.core.info().full_capability(), )) } @@ -672,8 +674,8 @@ impl Operator { /// ------- /// AsyncOperator /// The async operator. - pub fn to_async_operator(&self) -> PyResult { - Ok(AsyncOperator { + pub fn to_async_operator(&self) -> PyResult { + Ok(PyAsyncOperator { core: self.core.clone().into(), __scheme: self.__scheme.clone(), __map: self.__map.clone(), @@ -711,8 +713,8 @@ impl Operator { /// -------- /// Operator #[gen_stub_pyclass] -#[pyclass(module = "opendal.operator")] -pub struct AsyncOperator { +#[pyclass(module = "opendal.operator", name = "AsyncOperator")] +pub struct PyAsyncOperator { core: ocore::Operator, __scheme: String, __map: HashMap, @@ -720,12 +722,12 @@ pub struct AsyncOperator { #[gen_stub_pymethods] #[pymethods] -impl AsyncOperator { +impl PyAsyncOperator { /// Create a new `AsyncOperator`. /// /// Parameters /// ---------- - /// scheme : str | opendal.services.Scheme + /// scheme : str /// The scheme of the service. /// **kwargs : dict /// The options for the service. @@ -734,24 +736,10 @@ impl AsyncOperator { /// ------- /// AsyncOperator /// The new async operator. - #[gen_stub(skip)] #[new] #[pyo3(signature = (scheme, * ,**kwargs))] - pub fn new( - #[gen_stub(override_type(type_repr = "builtins.str | opendal.services.Scheme", imports=("builtins", "opendal.services")))] - scheme: Bound, - kwargs: Option<&Bound>, - ) -> PyResult { - let scheme = if let Ok(scheme_str) = scheme.extract::<&str>() { - scheme_str.to_string() - } else if let Ok(py_scheme) = scheme.extract::() { - String::from(py_scheme) - } else { - return Err(Unsupported::new_err( - "Invalid type for scheme, expected str or Scheme", - )); - }; - let scheme = normalize_scheme(&scheme); + pub fn new(scheme: &str, kwargs: Option<&Bound>) -> PyResult { + let scheme = normalize_scheme(scheme); let map = kwargs .map(|v| { @@ -760,7 +748,7 @@ impl AsyncOperator { }) .unwrap_or_default(); - Ok(AsyncOperator { + Ok(PyAsyncOperator { core: build_operator(&scheme, map.clone())?, __scheme: scheme, __map: map, @@ -778,7 +766,11 @@ impl AsyncOperator { /// ------- /// AsyncOperator /// A new operator with the layer added. - pub fn layer(&self, layer: &layers::Layer) -> PyResult { + pub fn layer( + &self, + #[gen_stub(override_type(type_repr = "opendal.layers.Layer", imports=("opendal")))] + layer: &layers::Layer, + ) -> PyResult { let op = layer.0.layer(self.core.clone()); Ok(Self { core: op, @@ -806,7 +798,7 @@ impl AsyncOperator { /// An awaitable that returns a file-like object. #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[opendal.file.AsyncFile]", - imports=("collections.abc", "opendal.file") + imports=("collections.abc", "opendal") ))] #[pyo3(signature = (path, mode, *, **kwargs))] pub fn open<'p>( @@ -929,9 +921,9 @@ impl AsyncOperator { size: Option, if_match: Option, if_none_match: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_modified_since: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_unmodified_since: Option, content_type: Option, cache_control: Option, @@ -1096,8 +1088,8 @@ impl AsyncOperator { /// An awaitable that returns the metadata of the file. #[allow(clippy::too_many_arguments)] #[gen_stub(override_return_type( - type_repr="collections.abc.Awaitable[Metadata]", - imports=("collections.abc") + type_repr="collections.abc.Awaitable[opendal.types.Metadata]", + imports=("collections.abc", "opendal") ))] #[pyo3(signature = (path, *, version=None, @@ -1115,9 +1107,9 @@ impl AsyncOperator { version: Option, if_match: Option, if_none_match: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_modified_since: Option, - #[gen_stub(override_type(type_repr = "datetime.datetime", imports=("datetime")))] + #[gen_stub(override_type(type_repr = "datetime.datetime | None", imports=("datetime")))] if_unmodified_since: Option, content_type: Option, cache_control: Option, @@ -1359,7 +1351,7 @@ impl AsyncOperator { #[allow(clippy::too_many_arguments)] #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[collections.abc.AsyncIterable[opendal.types.Entry]]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] #[pyo3(signature = (path, *, limit=None, @@ -1400,10 +1392,6 @@ impl AsyncOperator { /// Recursively list entries in the given directory. /// - /// Deprecated - /// ---------- - /// Use `list()` with `recursive=True` instead. - /// /// Parameters /// ---------- /// path : str @@ -1423,14 +1411,14 @@ impl AsyncOperator { /// An awaitable that returns an async iterator over the entries. #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[collections.abc.AsyncIterable[opendal.types.Entry]]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] - #[gen_stub(skip)] #[pyo3(signature = (path, *, limit=None, start_after=None, versions=None, deleted=None))] + #[deprecated(note = "Use `list()` with `recursive=True` instead")] pub fn scan<'p>( &'p self, py: Python<'p>, @@ -1458,7 +1446,7 @@ impl AsyncOperator { /// An awaitable that returns a presigned request object. #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[opendal.types.PresignedRequest]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] pub fn presign_stat<'p>( &'p self, @@ -1494,7 +1482,7 @@ impl AsyncOperator { /// An awaitable that returns a presigned request object. #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[opendal.types.PresignedRequest]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] pub fn presign_read<'p>( &'p self, @@ -1530,7 +1518,7 @@ impl AsyncOperator { /// An awaitable that returns a presigned request object. #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[opendal.types.PresignedRequest]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] pub fn presign_write<'p>( &'p self, @@ -1566,7 +1554,7 @@ impl AsyncOperator { /// An awaitable that returns a presigned request object. #[gen_stub(override_return_type( type_repr="collections.abc.Awaitable[opendal.types.PresignedRequest]", - imports=("collections.abc", "opendal.types") + imports=("collections.abc", "opendal") ))] pub fn presign_delete<'p>( &'p self, @@ -1593,8 +1581,12 @@ impl AsyncOperator { /// ------- /// Capability /// The capability of the operator. - pub fn capability(&self) -> PyResult { - Ok(capability::Capability::new( + #[gen_stub(override_return_type( + type_repr="opendal.capability.Capability", + imports=("opendal") + ))] + pub fn capability(&self) -> PyResult { + Ok(capability::PyCapability::new( self.core.info().full_capability(), )) } @@ -1605,12 +1597,12 @@ impl AsyncOperator { /// ------- /// Operator /// The blocking operator. - pub fn to_operator(&self) -> PyResult { + pub fn to_operator(&self) -> PyResult { let runtime = pyo3_async_runtimes::tokio::get_runtime(); let _guard = runtime.enter(); let op = ocore::blocking::Operator::new(self.core.clone()).map_err(format_pyerr)?; - Ok(Operator { + Ok(PyOperator { core: op, __scheme: self.__scheme.clone(), __map: self.__map.clone(), diff --git a/bindings/python/src/services.rs b/bindings/python/src/services.rs deleted file mode 100644 index c9e48c678f21..000000000000 --- a/bindings/python/src/services.rs +++ /dev/null @@ -1,4944 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you 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. - -use crate::*; -use pyo3_stub_gen::{derive::*, inventory::submit, module_doc}; - -module_doc!( - "opendal.services", - r#" -Services. - ->> DO NOT EDIT THIS FILE MANUALLY << - -This file is automatically generated by just recipe with name `stub-gen` -alongwith the rest of the stubs. - -See justfile at path ``../../justfile`` for more details. -"# -); - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - class Operator: - @overload - def __new__(cls, - scheme: builtins.str, - /, - **kwargs: builtins.str, - ) -> typing_extensions.Self: ... - "# - } -} - -#[gen_stub_pyclass_enum] -#[pyclass( - eq, - eq_int, - dict, - hash, - frozen, - name = "Scheme", - module = "opendal.services" -)] -#[pyo3(rename_all = "PascalCase")] -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub enum PyScheme { - #[cfg(feature = "services-aliyun-drive")] - AliyunDrive, - #[cfg(feature = "services-alluxio")] - Alluxio, - #[cfg(feature = "services-azblob")] - Azblob, - #[cfg(feature = "services-azdls")] - Azdls, - #[cfg(feature = "services-azfile")] - Azfile, - #[cfg(feature = "services-b2")] - B2, - #[cfg(feature = "services-cacache")] - Cacache, - #[cfg(feature = "services-cos")] - Cos, - #[cfg(feature = "services-dashmap")] - Dashmap, - #[cfg(feature = "services-dropbox")] - Dropbox, - #[cfg(feature = "services-fs")] - Fs, - #[cfg(feature = "services-ftp")] - Ftp, - #[cfg(feature = "services-gcs")] - Gcs, - #[cfg(feature = "services-gdrive")] - Gdrive, - #[cfg(feature = "services-ghac")] - Ghac, - #[cfg(feature = "services-gridfs")] - Gridfs, - #[cfg(feature = "services-hdfs-native")] - HdfsNative, - #[cfg(feature = "services-http")] - Http, - #[cfg(feature = "services-huggingface")] - Huggingface, - #[cfg(feature = "services-ipfs")] - Ipfs, - #[cfg(feature = "services-ipmfs")] - Ipmfs, - #[cfg(feature = "services-koofr")] - Koofr, - #[cfg(feature = "services-memcached")] - Memcached, - #[cfg(feature = "services-memory")] - Memory, - #[cfg(feature = "services-mini-moka")] - MiniMoka, - #[cfg(feature = "services-moka")] - Moka, - #[cfg(feature = "services-mongodb")] - Mongodb, - #[cfg(feature = "services-mysql")] - Mysql, - #[cfg(feature = "services-obs")] - Obs, - #[cfg(feature = "services-onedrive")] - Onedrive, - #[cfg(feature = "services-oss")] - Oss, - #[cfg(feature = "services-persy")] - Persy, - #[cfg(feature = "services-postgresql")] - Postgresql, - #[cfg(feature = "services-redb")] - Redb, - #[cfg(feature = "services-redis")] - Redis, - #[cfg(feature = "services-s3")] - S3, - #[cfg(feature = "services-seafile")] - Seafile, - #[cfg(feature = "services-sftp")] - Sftp, - #[cfg(feature = "services-sled")] - Sled, - #[cfg(feature = "services-sqlite")] - Sqlite, - #[cfg(feature = "services-swift")] - Swift, - #[cfg(feature = "services-upyun")] - Upyun, - #[cfg(feature = "services-vercel-artifacts")] - VercelArtifacts, - #[cfg(feature = "services-webdav")] - Webdav, - #[cfg(feature = "services-webhdfs")] - Webhdfs, - #[cfg(feature = "services-yandex-disk")] - YandexDisk, -} - -#[gen_stub_pymethods] -#[pymethods] -impl PyScheme { - #[getter] - pub fn name(&self) -> String { - format!("{:?}", &self) - } - - #[getter] - pub fn value(&self) -> &'static str { - (*self).into() - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.AliyunDrive, typing.Literal["aliyun-drive"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - drive_type: builtins.str, - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `aliyun-drive` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access_token of this backend. - Solution for client-only purpose. - #4733 Required if no client_id, client_secret and - refresh_token are provided. - client_id : builtins.str, optional - The client_id of this backend. - Required if no access_token is provided. - client_secret : builtins.str, optional - The client_secret of this backend. - Required if no access_token is provided. - drive_type : builtins.str - The drive_type of this backend. - All operations will happen under this type of drive. - Available values are `default`, `backup` and - `resource`. - Fallback to default if not set or no other drives - can be found. - refresh_token : builtins.str, optional - The refresh_token of this backend. - Required if no access_token is provided. - root : builtins.str, optional - The Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - Returns - ------- - Operator - The new `Operator` for `aliyun-drive` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Alluxio, typing.Literal["alluxio"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `alluxio` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, mostly like - `http://127.0.0.1:39999`. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - Returns - ------- - Operator - The new `Operator` for `alluxio` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Azblob, typing.Literal["azblob"]], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - batch_max_operations: builtins.int = ..., - container: builtins.str, - encryption_algorithm: builtins.str = ..., - encryption_key: builtins.str = ..., - encryption_key_sha256: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `azblob` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key of Azblob service backend. - account_name : builtins.str, optional - The account name of Azblob service backend. - batch_max_operations : builtins.int, optional - The maximum batch operations of Azblob service - backend. - container : builtins.str - The container name of Azblob service backend. - encryption_algorithm : builtins.str, optional - The encryption algorithm of Azblob service backend. - encryption_key : builtins.str, optional - The encryption key of Azblob service backend. - encryption_key_sha256 : builtins.str, optional - The encryption key sha256 of Azblob service backend. - endpoint : builtins.str, optional - The endpoint of Azblob service backend. - Endpoint must be full uri, e.g. - - Azblob: - `https://accountname.blob.core.windows.net` - - Azurite: `http://127.0.0.1:10000/devstoreaccount1` - root : builtins.str, optional - The root of Azblob service backend. - All operations will happen under this root. - sas_token : builtins.str, optional - The sas token of Azblob service backend. - Returns - ------- - Operator - The new `Operator` for `azblob` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Azdls, typing.Literal["azdls"]], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - authority_host: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - endpoint: builtins.str = ..., - filesystem: builtins.str, - root: builtins.str = ..., - sas_token: builtins.str = ..., - tenant_id: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `azdls` service. - - Parameters - ---------- - account_key : builtins.str, optional - Account key of this backend. - - required for shared_key authentication - account_name : builtins.str, optional - Account name of this backend. - authority_host : builtins.str, optional - authority_host The authority host of the service - principal. - - required for client_credentials authentication - - default value: `https://login.microsoftonline.com` - client_id : builtins.str, optional - client_id The client id of the service principal. - - required for client_credentials authentication - client_secret : builtins.str, optional - client_secret The client secret of the service - principal. - - required for client_credentials authentication - endpoint : builtins.str, optional - Endpoint of this backend. - filesystem : builtins.str - Filesystem name of this backend. - root : builtins.str, optional - Root of this backend. - sas_token : builtins.str, optional - sas_token The shared access signature token. - - required for sas authentication - tenant_id : builtins.str, optional - tenant_id The tenant id of the service principal. - - required for client_credentials authentication - Returns - ------- - Operator - The new `Operator` for `azdls` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Azfile, typing.Literal["azfile"]], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - share_name: builtins.str, - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `azfile` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key for azfile. - account_name : builtins.str, optional - The account name for azfile. - endpoint : builtins.str, optional - The endpoint for azfile. - root : builtins.str, optional - The root path for azfile. - sas_token : builtins.str, optional - The sas token for azfile. - share_name : builtins.str - The share name for azfile. - Returns - ------- - Operator - The new `Operator` for `azfile` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.B2, typing.Literal["b2"]], - /, - *, - application_key: builtins.str = ..., - application_key_id: builtins.str = ..., - bucket: builtins.str, - bucket_id: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `b2` service. - - Parameters - ---------- - application_key : builtins.str, optional - applicationKey of this backend. - - If application_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - application_key_id : builtins.str, optional - keyID of this backend. - - If application_key_id is set, we will take user's - input first. - - If not, we will try to load it from environment. - bucket : builtins.str - bucket of this backend. - required. - bucket_id : builtins.str - bucket id of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - Operator - The new `Operator` for `b2` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Cacache, typing.Literal["cacache"]], - /, - *, - datadir: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `cacache` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the cacache data directory. - Returns - ------- - Operator - The new `Operator` for `cacache` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Cos, typing.Literal["cos"]], - /, - *, - bucket: builtins.str = ..., - disable_config_load: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_id: builtins.str = ..., - secret_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `cos` service. - - Parameters - ---------- - bucket : builtins.str, optional - Bucket of this backend. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint of this backend. - root : builtins.str, optional - Root of this backend. - secret_id : builtins.str, optional - Secret ID of this backend. - secret_key : builtins.str, optional - Secret key of this backend. - Returns - ------- - Operator - The new `Operator` for `cos` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Dashmap, typing.Literal["dashmap"]], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `dashmap` service. - - Parameters - ---------- - root : builtins.str, optional - root path of this backend - Returns - ------- - Operator - The new `Operator` for `dashmap` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Dropbox, typing.Literal["dropbox"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `dropbox` service. - - Parameters - ---------- - access_token : builtins.str, optional - access token for dropbox. - client_id : builtins.str, optional - client_id for dropbox. - client_secret : builtins.str, optional - client_secret for dropbox. - refresh_token : builtins.str, optional - refresh_token for dropbox. - root : builtins.str, optional - root path for dropbox. - Returns - ------- - Operator - The new `Operator` for `dropbox` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Fs, typing.Literal["fs"]], - /, - *, - atomic_write_dir: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `fs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - tmp dir for atomic write - root : builtins.str, optional - root dir for backend - Returns - ------- - Operator - The new `Operator` for `fs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ftp, typing.Literal["ftp"]], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ftp` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - Returns - ------- - Operator - The new `Operator` for `ftp` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Gcs, typing.Literal["gcs"]], - /, - *, - allow_anonymous: builtins.bool = ..., - bucket: builtins.str, - credential: builtins.str = ..., - credential_path: builtins.str = ..., - default_storage_class: builtins.str = ..., - disable_config_load: builtins.bool = ..., - disable_vm_metadata: builtins.bool = ..., - endpoint: builtins.str = ..., - predefined_acl: builtins.str = ..., - root: builtins.str = ..., - scope: builtins.str = ..., - service_account: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `gcs` service. - - Parameters - ---------- - allow_anonymous : builtins.bool, optional - Allow opendal to send requests without signing when - credentials are not loaded. - bucket : builtins.str - bucket name - credential : builtins.str, optional - Credentials string for GCS service OAuth2 - authentication. - credential_path : builtins.str, optional - Local path to credentials file for GCS service - OAuth2 authentication. - default_storage_class : builtins.str, optional - The default storage class used by gcs. - disable_config_load : builtins.bool, optional - Disable loading configuration from the environment. - disable_vm_metadata : builtins.bool, optional - Disable attempting to load credentials from the GCE - metadata server when running within Google Cloud. - endpoint : builtins.str, optional - endpoint URI of GCS service, default is - `https://storage.googleapis.com` - predefined_acl : builtins.str, optional - The predefined acl for GCS. - root : builtins.str, optional - root URI, all operations happens under `root` - scope : builtins.str, optional - Scope for gcs. - service_account : builtins.str, optional - Service Account for gcs. - token : builtins.str, optional - A Google Cloud OAuth2 token. - Takes precedence over `credential` and - `credential_path`. - Returns - ------- - Operator - The new `Operator` for `gcs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Gdrive, typing.Literal["gdrive"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `gdrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Access token for gdrive. - client_id : builtins.str, optional - Client id for gdrive. - client_secret : builtins.str, optional - Client secret for gdrive. - refresh_token : builtins.str, optional - Refresh token for gdrive. - root : builtins.str, optional - The root for gdrive - Returns - ------- - Operator - The new `Operator` for `gdrive` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ghac, typing.Literal["ghac"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - runtime_token: builtins.str = ..., - version: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ghac` service. - - Parameters - ---------- - endpoint : builtins.str, optional - The endpoint for ghac service. - root : builtins.str, optional - The root path for ghac. - runtime_token : builtins.str, optional - The runtime token for ghac service. - version : builtins.str, optional - The version that used by cache. - Returns - ------- - Operator - The new `Operator` for `ghac` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Gridfs, typing.Literal["gridfs"]], - /, - *, - bucket: builtins.str = ..., - chunk_size: builtins.int = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `gridfs` service. - - Parameters - ---------- - bucket : builtins.str, optional - The bucket name of the MongoDB GridFs service to - read/write. - chunk_size : builtins.int, optional - The chunk size of the MongoDB GridFs service used to - break the user file into chunks. - connection_string : builtins.str, optional - The connection string of the MongoDB service. - database : builtins.str, optional - The database name of the MongoDB GridFs service to - read/write. - root : builtins.str, optional - The working directory, all operations will be - performed under it. - Returns - ------- - Operator - The new `Operator` for `gridfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.HdfsNative, typing.Literal["hdfs-native"]], - /, - *, - enable_append: builtins.bool = ..., - name_node: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `hdfs-native` service. - - Parameters - ---------- - enable_append : builtins.bool, optional - enable the append capacity - name_node : builtins.str, optional - name_node of this backend - root : builtins.str, optional - work dir of this backend - Returns - ------- - Operator - The new `Operator` for `hdfs-native` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Http, typing.Literal["http"]], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `http` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - Returns - ------- - Operator - The new `Operator` for `http` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Huggingface, typing.Literal["huggingface"]], - /, - *, - endpoint: builtins.str = ..., - repo_id: builtins.str = ..., - repo_type: builtins.str = ..., - revision: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `huggingface` service. - - Parameters - ---------- - endpoint : builtins.str, optional - Endpoint of the Huggingface Hub. - Default is "https://huggingface.co". - repo_id : builtins.str, optional - Repo id of this backend. - This is required. - repo_type : builtins.str, optional - Repo type of this backend. - Default is model. - Available values: - model - dataset - datasets - (alias for dataset) - revision : builtins.str, optional - Revision of this backend. - Default is main. - root : builtins.str, optional - Root of this backend. - Can be "/path/to/dir". - Default is "/". - token : builtins.str, optional - Token of this backend. - This is optional. - Returns - ------- - Operator - The new `Operator` for `huggingface` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ipfs, typing.Literal["ipfs"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ipfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - IPFS gateway endpoint. - root : builtins.str, optional - IPFS root. - Returns - ------- - Operator - The new `Operator` for `ipfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ipmfs, typing.Literal["ipmfs"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `ipmfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - Endpoint for ipfs. - root : builtins.str, optional - Root for ipfs. - Returns - ------- - Operator - The new `Operator` for `ipmfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Koofr, typing.Literal["koofr"]], - /, - *, - email: builtins.str, - endpoint: builtins.str, - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `koofr` service. - - Parameters - ---------- - email : builtins.str - Koofr email. - endpoint : builtins.str - Koofr endpoint. - password : builtins.str, optional - password of this backend. - (Must be the application password) - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - Operator - The new `Operator` for `koofr` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Memcached, typing.Literal["memcached"]], - /, - *, - connection_pool_max_size: builtins.int = ..., - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `memcached` service. - - Parameters - ---------- - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the memcached service. - For example: "tcp://localhost:11211" - password : builtins.str, optional - Memcached password, optional. - root : builtins.str, optional - the working directory of the service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - Memcached username, optional. - Returns - ------- - Operator - The new `Operator` for `memcached` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Memory, typing.Literal["memory"]], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `memory` service. - - Parameters - ---------- - root : builtins.str, optional - root of the backend. - Returns - ------- - Operator - The new `Operator` for `memory` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.MiniMoka, typing.Literal["mini-moka"]], - /, - *, - max_capacity: builtins.int = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `mini-moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::max_capacity`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.max_capacity) - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_idle`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_live`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_live) - Returns - ------- - Operator - The new `Operator` for `mini-moka` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Moka, typing.Literal["moka"]], - /, - *, - max_capacity: builtins.int = ..., - name: builtins.str = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`moka::future::CacheBuilder::max_capacity`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.max_capacity) - name : builtins.str, optional - Name for this cache instance. - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_idle`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_live`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_live) - Returns - ------- - Operator - The new `Operator` for `moka` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Mongodb, typing.Literal["mongodb"]], - /, - *, - collection: builtins.str = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `mongodb` service. - - Parameters - ---------- - collection : builtins.str, optional - collection of this backend - connection_string : builtins.str, optional - connection string of this backend - database : builtins.str, optional - database of this backend - key_field : builtins.str, optional - key field of this backend - root : builtins.str, optional - root of this backend - value_field : builtins.str, optional - value field of this backend - Returns - ------- - Operator - The new `Operator` for `mongodb` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Mysql, typing.Literal["mysql"]], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `mysql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - This connection string is used to connect to the - mysql service. - There are url based formats. - The format of connect string resembles the url - format of the mysql client. - The format is: - `[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...` - - `mysql://user@localhost` - - `mysql://user:password@localhost` - - `mysql://user:password@localhost:3306` - - `mysql://user:password@localhost:3306/db` For more - information, please refer to - . - key_field : builtins.str, optional - The key field name for mysql. - root : builtins.str, optional - The root for mysql. - table : builtins.str, optional - The table name for mysql. - value_field : builtins.str, optional - The value field name for mysql. - Returns - ------- - Operator - The new `Operator` for `mysql` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Obs, typing.Literal["obs"]], - /, - *, - access_key_id: builtins.str = ..., - bucket: builtins.str = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `obs` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for obs. - bucket : builtins.str, optional - Bucket for obs. - enable_versioning : builtins.bool, optional - Is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for obs. - root : builtins.str, optional - Root for obs. - secret_access_key : builtins.str, optional - Secret access key for obs. - Returns - ------- - Operator - The new `Operator` for `obs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Onedrive, typing.Literal["onedrive"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - enable_versioning: builtins.bool = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `onedrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) access token - client_id : builtins.str, optional - Microsoft Graph API Application (client) ID that is - in the Azure's app registration portal - client_secret : builtins.str, optional - Microsoft Graph API Application client secret that - is in the Azure's app registration portal - enable_versioning : builtins.bool, optional - Enabling version support - refresh_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) refresh - token - root : builtins.str, optional - The root path for the OneDrive service for the file - access - Returns - ------- - Operator - The new `Operator` for `onedrive` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Oss, typing.Literal["oss"]], - /, - *, - access_key_id: builtins.str = ..., - access_key_secret: builtins.str = ..., - addressing_style: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - delete_max_size: builtins.int = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - oidc_provider_arn: builtins.str = ..., - oidc_token_file: builtins.str = ..., - presign_addressing_style: builtins.str = ..., - presign_endpoint: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - security_token: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_key_id: builtins.str = ..., - sts_endpoint: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `oss` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_ID`] - access_key_secret : builtins.str, optional - Access key secret for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_SECRET`] - addressing_style : builtins.str, optional - Addressing style for oss. - allow_anonymous : builtins.bool, optional - Allow anonymous for oss. - batch_max_operations : builtins.int, optional - The size of max batch operations. - bucket : builtins.str - Bucket for oss. - delete_max_size : builtins.int, optional - The size of max delete operations. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for oss. - oidc_provider_arn : builtins.str, optional - `oidc_provider_arn` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_PROVIDER_ARN`] - oidc_token_file : builtins.str, optional - `oidc_token_file` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_TOKEN_FILE`] - presign_addressing_style : builtins.str, optional - Pre sign addressing style for oss. - presign_endpoint : builtins.str, optional - Presign endpoint for oss. - role_arn : builtins.str, optional - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ROLE_ARN`] - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - Root for oss. - security_token : builtins.str, optional - `security_token` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_SECURITY_TOKEN`] - server_side_encryption : builtins.str, optional - Server side encryption for oss. - server_side_encryption_key_id : builtins.str, optional - Server side encryption key id for oss. - sts_endpoint : builtins.str, optional - `sts_endpoint` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_STS_ENDPOINT`] - Returns - ------- - Operator - The new `Operator` for `oss` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Persy, typing.Literal["persy"]], - /, - *, - datafile: builtins.str = ..., - index: builtins.str = ..., - segment: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `persy` service. - - Parameters - ---------- - datafile : builtins.str, optional - That path to the persy data file. - The directory in the path must already exist. - index : builtins.str, optional - That name of the persy index. - segment : builtins.str, optional - That name of the persy segment. - Returns - ------- - Operator - The new `Operator` for `persy` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Postgresql, typing.Literal["postgresql"]], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `postgresql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - The URL should be with a scheme of either - `postgres://` or `postgresql://`. - - `postgresql://user@localhost` - - `postgresql://user:password@%2Fvar%2Flib%2Fpostgresql/mydb?connect_timeout=10` - - - `postgresql://user@host1:1234,host2,host3:5678?target_session_attrs=read-write` - - - `postgresql:///mydb?user=user&host=/var/lib/postgresql` - For more information, please visit - . - key_field : builtins.str, optional - the key field of postgresql - root : builtins.str, optional - Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - table : builtins.str, optional - the table of postgresql - value_field : builtins.str, optional - the value field of postgresql - Returns - ------- - Operator - The new `Operator` for `postgresql` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Redb, typing.Literal["redb"]], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `redb` service. - - Parameters - ---------- - datadir : builtins.str, optional - path to the redb data directory. - root : builtins.str, optional - The root for redb. - table : builtins.str, optional - The table name for redb. - Returns - ------- - Operator - The new `Operator` for `redb` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Redis, typing.Literal["redis"]], - /, - *, - cluster_endpoints: builtins.str = ..., - connection_pool_max_size: builtins.int = ..., - db: builtins.int, - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `redis` service. - - Parameters - ---------- - cluster_endpoints : builtins.str, optional - network address of the Redis cluster service. - Can be - "tcp://127.0.0.1:6379,tcp://127.0.0.1:6380,tcp://127.0.0.1:6381", - e.g. - default is None - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - db : builtins.int - the number of DBs redis can take is unlimited - default is db 0 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the Redis service. - Can be "tcp://127.0.0.1:6379", e.g. - default is "tcp://127.0.0.1:6379" - password : builtins.str, optional - the password for authentication default is None - root : builtins.str, optional - the working directory of the Redis service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - the username to connect redis service. - default is None - Returns - ------- - Operator - The new `Operator` for `redis` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.S3, typing.Literal["s3"]], - /, - *, - access_key_id: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - checksum_algorithm: builtins.str = ..., - default_storage_class: builtins.str = ..., - delete_max_size: builtins.int = ..., - disable_config_load: builtins.bool = ..., - disable_ec2_metadata: builtins.bool = ..., - disable_list_objects_v2: builtins.bool = ..., - disable_stat_with_override: builtins.bool = ..., - disable_write_with_if_match: builtins.bool = ..., - enable_request_payer: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - enable_virtual_host_style: builtins.bool = ..., - enable_write_with_append: builtins.bool = ..., - endpoint: builtins.str = ..., - external_id: builtins.str = ..., - region: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_aws_kms_key_id: builtins.str = ..., - server_side_encryption_customer_algorithm: builtins.str = ..., - server_side_encryption_customer_key: builtins.str = ..., - server_side_encryption_customer_key_md5: builtins.str = ..., - session_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `s3` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - access_key_id of this backend. - - If access_key_id is set, we will take user's input - first. - - If not, we will try to load it from environment. - allow_anonymous : builtins.bool, optional - Allow anonymous will allow opendal to send request - without signing when credential is not loaded. - batch_max_operations : builtins.int, optional - Set maximum batch operations of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - bucket : builtins.str - bucket name of this backend. - required. - checksum_algorithm : builtins.str, optional - Checksum Algorithm to use when sending checksums in - HTTP headers. - This is necessary when writing to AWS S3 Buckets - with Object Lock enabled for example. - Available options: - "crc32c" - "md5" - default_storage_class : builtins.str, optional - default storage_class for this backend. - Available values: - `DEEP_ARCHIVE` - `GLACIER` - - `GLACIER_IR` - `INTELLIGENT_TIERING` - `ONEZONE_IA` - - `EXPRESS_ONEZONE` - `OUTPOSTS` - - `REDUCED_REDUNDANCY` - `STANDARD` - `STANDARD_IA` S3 - compatible services don't support all of them - delete_max_size : builtins.int, optional - Set the maximum delete size of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from environment. - For examples: - envs like `AWS_ACCESS_KEY_ID` - - files like `~/.aws/config` - disable_ec2_metadata : builtins.bool, optional - Disable load credential from ec2 metadata. - This option is used to disable the default behavior - of opendal to load credential from ec2 metadata, - a.k.a., IMDSv2 - disable_list_objects_v2 : builtins.bool, optional - OpenDAL uses List Objects V2 by default to list - objects. - However, some legacy services do not yet support V2. - This option allows users to switch back to the older - List Objects V1. - disable_stat_with_override : builtins.bool, optional - Disable stat with override so that opendal will not - send stat request with override queries. - For example, R2 doesn't support stat with - `response_content_type` query. - disable_write_with_if_match : builtins.bool, optional - Disable write with if match so that opendal will not - send write request with if match headers. - For example, Ceph RADOS S3 doesn't support write - with if matched. - enable_request_payer : builtins.bool, optional - Indicates whether the client agrees to pay for the - requests made to the S3 bucket. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - enable_virtual_host_style : builtins.bool, optional - Enable virtual host style so that opendal will send - API requests in virtual host style instead of path - style. - - By default, opendal will send API to - `https://s3.us-east-1.amazonaws.com/bucket_name` - - Enabled, opendal will send API to - `https://bucket_name.s3.us-east-1.amazonaws.com` - enable_write_with_append : builtins.bool, optional - Enable write with append so that opendal will send - write request with append headers. - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, e.g. - - AWS S3: `https://s3.amazonaws.com` or - `https://s3.{region}.amazonaws.com` - Cloudflare R2: - `https://.r2.cloudflarestorage.com` - - Aliyun OSS: `https://{region}.aliyuncs.com` - - Tencent COS: `https://cos.{region}.myqcloud.com` - - Minio: `http://127.0.0.1:9000` If user inputs - endpoint without scheme like "s3.amazonaws.com", we - will prepend "https://" before it. - - If endpoint is set, we will take user's input - first. - - If not, we will try to load it from environment. - - If still not set, default to - `https://s3.amazonaws.com`. - external_id : builtins.str, optional - external_id for this backend. - region : builtins.str, optional - Region represent the signing region of this - endpoint. - This is required if you are using the default AWS S3 - endpoint. - If using a custom endpoint, - If region is set, we - will take user's input first. - - If not, we will try to load it from environment. - role_arn : builtins.str, optional - role_arn for this backend. - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - secret_access_key : builtins.str, optional - secret_access_key of this backend. - - If secret_access_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - server_side_encryption : builtins.str, optional - server_side_encryption for this backend. - Available values: `AES256`, `aws:kms`. - server_side_encryption_aws_kms_key_id : builtins.str, optional - server_side_encryption_aws_kms_key_id for this - backend - If `server_side_encryption` set to - `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is not set, - S3 will use aws managed kms key to encrypt data. - - If `server_side_encryption` set to `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is a valid - kms key id, S3 will use the provided kms key to - encrypt data. - - If the `server_side_encryption_aws_kms_key_id` is - invalid or not found, an error will be returned. - - If `server_side_encryption` is not `aws:kms`, - setting `server_side_encryption_aws_kms_key_id` is a - noop. - server_side_encryption_customer_algorithm : builtins.str, optional - server_side_encryption_customer_algorithm for this - backend. - Available values: `AES256`. - server_side_encryption_customer_key : builtins.str, optional - server_side_encryption_customer_key for this - backend. - Value: BASE64-encoded key that matches algorithm - specified in - `server_side_encryption_customer_algorithm`. - server_side_encryption_customer_key_md5 : builtins.str, optional - Set server_side_encryption_customer_key_md5 for this - backend. - Value: MD5 digest of key specified in - `server_side_encryption_customer_key`. - session_token : builtins.str, optional - session_token (aka, security token) of this backend. - This token will expire after sometime, it's - recommended to set session_token by hand. - Returns - ------- - Operator - The new `Operator` for `s3` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Seafile, typing.Literal["seafile"]], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - repo_name: builtins.str, - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `seafile` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint address of this backend. - password : builtins.str, optional - password of this backend. - repo_name : builtins.str - repo_name of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - username : builtins.str, optional - username of this backend. - Returns - ------- - Operator - The new `Operator` for `seafile` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Sftp, typing.Literal["sftp"]], - /, - *, - enable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - key: builtins.str = ..., - known_hosts_strategy: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `sftp` service. - - Parameters - ---------- - enable_copy : builtins.bool, optional - enable_copy of this backend - endpoint : builtins.str, optional - endpoint of this backend - key : builtins.str, optional - key of this backend - known_hosts_strategy : builtins.str, optional - known_hosts_strategy of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - Returns - ------- - Operator - The new `Operator` for `sftp` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Sled, typing.Literal["sled"]], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - tree: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `sled` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the sled data directory. - root : builtins.str, optional - The root for sled. - tree : builtins.str, optional - The tree for sled. - Returns - ------- - Operator - The new `Operator` for `sled` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Sqlite, typing.Literal["sqlite"]], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `sqlite` service. - - Parameters - ---------- - connection_string : builtins.str, optional - Set the connection_string of the sqlite service. - This connection string is used to connect to the - sqlite service. - The format of connect string resembles the url - format of the sqlite client: - `sqlite::memory:` - - `sqlite:data.db` - `sqlite://data.db` For more - information, please visit - . - key_field : builtins.str, optional - Set the key field name of the sqlite service to - read/write. - Default to `key` if not specified. - root : builtins.str, optional - set the working directory, all operations will be - performed under it. - default: "/" - table : builtins.str, optional - Set the table name of the sqlite service to - read/write. - value_field : builtins.str, optional - Set the value field name of the sqlite service to - read/write. - Default to `value` if not specified. - Returns - ------- - Operator - The new `Operator` for `sqlite` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Swift, typing.Literal["swift"]], - /, - *, - container: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `swift` service. - - Parameters - ---------- - container : builtins.str, optional - The container for Swift. - endpoint : builtins.str, optional - The endpoint for Swift. - root : builtins.str, optional - The root for Swift. - token : builtins.str, optional - The token for Swift. - Returns - ------- - Operator - The new `Operator` for `swift` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Upyun, typing.Literal["upyun"]], - /, - *, - bucket: builtins.str, - operator: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `upyun` service. - - Parameters - ---------- - bucket : builtins.str - bucket address of this backend. - operator : builtins.str, optional - username of this backend. - password : builtins.str, optional - password of this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - Operator - The new `Operator` for `upyun` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.VercelArtifacts, typing.Literal["vercel-artifacts"]], - /, - *, - access_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `vercel-artifacts` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access token for Vercel. - Returns - ------- - Operator - The new `Operator` for `vercel-artifacts` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Webdav, typing.Literal["webdav"]], - /, - *, - disable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `webdav` service. - - Parameters - ---------- - disable_copy : builtins.bool, optional - WebDAV Service doesn't support copy. - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - Returns - ------- - Operator - The new `Operator` for `webdav` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Webhdfs, typing.Literal["webhdfs"]], - /, - *, - atomic_write_dir: builtins.str = ..., - delegation: builtins.str = ..., - disable_list_batch: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - user_name: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `webhdfs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - atomic_write_dir of this backend - delegation : builtins.str, optional - Delegation token for webhdfs. - disable_list_batch : builtins.bool, optional - Disable batch listing - endpoint : builtins.str, optional - Endpoint for webhdfs. - root : builtins.str, optional - Root for webhdfs. - user_name : builtins.str, optional - Name of the user for webhdfs. - Returns - ------- - Operator - The new `Operator` for `webhdfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class Operator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.YandexDisk, typing.Literal["yandex-disk"]], - /, - *, - access_token: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `Operator` for `yandex-disk` service. - - Parameters - ---------- - access_token : builtins.str - yandex disk oauth access_token. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - Operator - The new `Operator` for `yandex-disk` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - class AsyncOperator: - @overload - def __new__(cls, - scheme: builtins.str, - /, - **kwargs: builtins.str, - ) -> typing_extensions.Self: ... - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.AliyunDrive, typing.Literal["aliyun-drive"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - drive_type: builtins.str, - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `aliyun-drive` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access_token of this backend. - Solution for client-only purpose. - #4733 Required if no client_id, client_secret and - refresh_token are provided. - client_id : builtins.str, optional - The client_id of this backend. - Required if no access_token is provided. - client_secret : builtins.str, optional - The client_secret of this backend. - Required if no access_token is provided. - drive_type : builtins.str - The drive_type of this backend. - All operations will happen under this type of drive. - Available values are `default`, `backup` and - `resource`. - Fallback to default if not set or no other drives - can be found. - refresh_token : builtins.str, optional - The refresh_token of this backend. - Required if no access_token is provided. - root : builtins.str, optional - The Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `aliyun-drive` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Alluxio, typing.Literal["alluxio"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `alluxio` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, mostly like - `http://127.0.0.1:39999`. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `alluxio` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Azblob, typing.Literal["azblob"]], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - batch_max_operations: builtins.int = ..., - container: builtins.str, - encryption_algorithm: builtins.str = ..., - encryption_key: builtins.str = ..., - encryption_key_sha256: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `azblob` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key of Azblob service backend. - account_name : builtins.str, optional - The account name of Azblob service backend. - batch_max_operations : builtins.int, optional - The maximum batch operations of Azblob service - backend. - container : builtins.str - The container name of Azblob service backend. - encryption_algorithm : builtins.str, optional - The encryption algorithm of Azblob service backend. - encryption_key : builtins.str, optional - The encryption key of Azblob service backend. - encryption_key_sha256 : builtins.str, optional - The encryption key sha256 of Azblob service backend. - endpoint : builtins.str, optional - The endpoint of Azblob service backend. - Endpoint must be full uri, e.g. - - Azblob: - `https://accountname.blob.core.windows.net` - - Azurite: `http://127.0.0.1:10000/devstoreaccount1` - root : builtins.str, optional - The root of Azblob service backend. - All operations will happen under this root. - sas_token : builtins.str, optional - The sas token of Azblob service backend. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `azblob` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Azdls, typing.Literal["azdls"]], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - authority_host: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - endpoint: builtins.str = ..., - filesystem: builtins.str, - root: builtins.str = ..., - sas_token: builtins.str = ..., - tenant_id: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `azdls` service. - - Parameters - ---------- - account_key : builtins.str, optional - Account key of this backend. - - required for shared_key authentication - account_name : builtins.str, optional - Account name of this backend. - authority_host : builtins.str, optional - authority_host The authority host of the service - principal. - - required for client_credentials authentication - - default value: `https://login.microsoftonline.com` - client_id : builtins.str, optional - client_id The client id of the service principal. - - required for client_credentials authentication - client_secret : builtins.str, optional - client_secret The client secret of the service - principal. - - required for client_credentials authentication - endpoint : builtins.str, optional - Endpoint of this backend. - filesystem : builtins.str - Filesystem name of this backend. - root : builtins.str, optional - Root of this backend. - sas_token : builtins.str, optional - sas_token The shared access signature token. - - required for sas authentication - tenant_id : builtins.str, optional - tenant_id The tenant id of the service principal. - - required for client_credentials authentication - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `azdls` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Azfile, typing.Literal["azfile"]], - /, - *, - account_key: builtins.str = ..., - account_name: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - sas_token: builtins.str = ..., - share_name: builtins.str, - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `azfile` service. - - Parameters - ---------- - account_key : builtins.str, optional - The account key for azfile. - account_name : builtins.str, optional - The account name for azfile. - endpoint : builtins.str, optional - The endpoint for azfile. - root : builtins.str, optional - The root path for azfile. - sas_token : builtins.str, optional - The sas token for azfile. - share_name : builtins.str - The share name for azfile. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `azfile` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.B2, typing.Literal["b2"]], - /, - *, - application_key: builtins.str = ..., - application_key_id: builtins.str = ..., - bucket: builtins.str, - bucket_id: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `b2` service. - - Parameters - ---------- - application_key : builtins.str, optional - applicationKey of this backend. - - If application_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - application_key_id : builtins.str, optional - keyID of this backend. - - If application_key_id is set, we will take user's - input first. - - If not, we will try to load it from environment. - bucket : builtins.str - bucket of this backend. - required. - bucket_id : builtins.str - bucket id of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `b2` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Cacache, typing.Literal["cacache"]], - /, - *, - datadir: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `cacache` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the cacache data directory. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `cacache` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Cos, typing.Literal["cos"]], - /, - *, - bucket: builtins.str = ..., - disable_config_load: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_id: builtins.str = ..., - secret_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `cos` service. - - Parameters - ---------- - bucket : builtins.str, optional - Bucket of this backend. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint of this backend. - root : builtins.str, optional - Root of this backend. - secret_id : builtins.str, optional - Secret ID of this backend. - secret_key : builtins.str, optional - Secret key of this backend. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `cos` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Dashmap, typing.Literal["dashmap"]], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `dashmap` service. - - Parameters - ---------- - root : builtins.str, optional - root path of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `dashmap` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Dropbox, typing.Literal["dropbox"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `dropbox` service. - - Parameters - ---------- - access_token : builtins.str, optional - access token for dropbox. - client_id : builtins.str, optional - client_id for dropbox. - client_secret : builtins.str, optional - client_secret for dropbox. - refresh_token : builtins.str, optional - refresh_token for dropbox. - root : builtins.str, optional - root path for dropbox. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `dropbox` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Fs, typing.Literal["fs"]], - /, - *, - atomic_write_dir: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `fs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - tmp dir for atomic write - root : builtins.str, optional - root dir for backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `fs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ftp, typing.Literal["ftp"]], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ftp` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ftp` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Gcs, typing.Literal["gcs"]], - /, - *, - allow_anonymous: builtins.bool = ..., - bucket: builtins.str, - credential: builtins.str = ..., - credential_path: builtins.str = ..., - default_storage_class: builtins.str = ..., - disable_config_load: builtins.bool = ..., - disable_vm_metadata: builtins.bool = ..., - endpoint: builtins.str = ..., - predefined_acl: builtins.str = ..., - root: builtins.str = ..., - scope: builtins.str = ..., - service_account: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `gcs` service. - - Parameters - ---------- - allow_anonymous : builtins.bool, optional - Allow opendal to send requests without signing when - credentials are not loaded. - bucket : builtins.str - bucket name - credential : builtins.str, optional - Credentials string for GCS service OAuth2 - authentication. - credential_path : builtins.str, optional - Local path to credentials file for GCS service - OAuth2 authentication. - default_storage_class : builtins.str, optional - The default storage class used by gcs. - disable_config_load : builtins.bool, optional - Disable loading configuration from the environment. - disable_vm_metadata : builtins.bool, optional - Disable attempting to load credentials from the GCE - metadata server when running within Google Cloud. - endpoint : builtins.str, optional - endpoint URI of GCS service, default is - `https://storage.googleapis.com` - predefined_acl : builtins.str, optional - The predefined acl for GCS. - root : builtins.str, optional - root URI, all operations happens under `root` - scope : builtins.str, optional - Scope for gcs. - service_account : builtins.str, optional - Service Account for gcs. - token : builtins.str, optional - A Google Cloud OAuth2 token. - Takes precedence over `credential` and - `credential_path`. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `gcs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Gdrive, typing.Literal["gdrive"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `gdrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Access token for gdrive. - client_id : builtins.str, optional - Client id for gdrive. - client_secret : builtins.str, optional - Client secret for gdrive. - refresh_token : builtins.str, optional - Refresh token for gdrive. - root : builtins.str, optional - The root for gdrive - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `gdrive` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ghac, typing.Literal["ghac"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - runtime_token: builtins.str = ..., - version: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ghac` service. - - Parameters - ---------- - endpoint : builtins.str, optional - The endpoint for ghac service. - root : builtins.str, optional - The root path for ghac. - runtime_token : builtins.str, optional - The runtime token for ghac service. - version : builtins.str, optional - The version that used by cache. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ghac` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Gridfs, typing.Literal["gridfs"]], - /, - *, - bucket: builtins.str = ..., - chunk_size: builtins.int = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `gridfs` service. - - Parameters - ---------- - bucket : builtins.str, optional - The bucket name of the MongoDB GridFs service to - read/write. - chunk_size : builtins.int, optional - The chunk size of the MongoDB GridFs service used to - break the user file into chunks. - connection_string : builtins.str, optional - The connection string of the MongoDB service. - database : builtins.str, optional - The database name of the MongoDB GridFs service to - read/write. - root : builtins.str, optional - The working directory, all operations will be - performed under it. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `gridfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.HdfsNative, typing.Literal["hdfs-native"]], - /, - *, - enable_append: builtins.bool = ..., - name_node: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `hdfs-native` service. - - Parameters - ---------- - enable_append : builtins.bool, optional - enable the append capacity - name_node : builtins.str, optional - name_node of this backend - root : builtins.str, optional - work dir of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `hdfs-native` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Http, typing.Literal["http"]], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `http` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `http` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Huggingface, typing.Literal["huggingface"]], - /, - *, - endpoint: builtins.str = ..., - repo_id: builtins.str = ..., - repo_type: builtins.str = ..., - revision: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `huggingface` service. - - Parameters - ---------- - endpoint : builtins.str, optional - Endpoint of the Huggingface Hub. - Default is "https://huggingface.co". - repo_id : builtins.str, optional - Repo id of this backend. - This is required. - repo_type : builtins.str, optional - Repo type of this backend. - Default is model. - Available values: - model - dataset - datasets - (alias for dataset) - revision : builtins.str, optional - Revision of this backend. - Default is main. - root : builtins.str, optional - Root of this backend. - Can be "/path/to/dir". - Default is "/". - token : builtins.str, optional - Token of this backend. - This is optional. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `huggingface` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ipfs, typing.Literal["ipfs"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ipfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - IPFS gateway endpoint. - root : builtins.str, optional - IPFS root. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ipfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Ipmfs, typing.Literal["ipmfs"]], - /, - *, - endpoint: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `ipmfs` service. - - Parameters - ---------- - endpoint : builtins.str, optional - Endpoint for ipfs. - root : builtins.str, optional - Root for ipfs. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `ipmfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Koofr, typing.Literal["koofr"]], - /, - *, - email: builtins.str, - endpoint: builtins.str, - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `koofr` service. - - Parameters - ---------- - email : builtins.str - Koofr email. - endpoint : builtins.str - Koofr endpoint. - password : builtins.str, optional - password of this backend. - (Must be the application password) - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `koofr` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Memcached, typing.Literal["memcached"]], - /, - *, - connection_pool_max_size: builtins.int = ..., - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `memcached` service. - - Parameters - ---------- - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the memcached service. - For example: "tcp://localhost:11211" - password : builtins.str, optional - Memcached password, optional. - root : builtins.str, optional - the working directory of the service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - Memcached username, optional. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `memcached` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Memory, typing.Literal["memory"]], - /, - *, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `memory` service. - - Parameters - ---------- - root : builtins.str, optional - root of the backend. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `memory` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.MiniMoka, typing.Literal["mini-moka"]], - /, - *, - max_capacity: builtins.int = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `mini-moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::max_capacity`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.max_capacity) - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_idle`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`mini-moka::sync::CacheBuilder::time_to_live`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_live) - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `mini-moka` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Moka, typing.Literal["moka"]], - /, - *, - max_capacity: builtins.int = ..., - name: builtins.str = ..., - root: builtins.str = ..., - time_to_idle: builtins.str = ..., - time_to_live: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `moka` service. - - Parameters - ---------- - max_capacity : builtins.int, optional - Sets the max capacity of the cache. - Refer to - [`moka::future::CacheBuilder::max_capacity`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.max_capacity) - name : builtins.str, optional - Name for this cache instance. - root : builtins.str, optional - root path of this backend - time_to_idle : builtins.str, optional - Sets the time to idle of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_idle`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_idle) - time_to_live : builtins.str, optional - Sets the time to live of the cache. - Refer to - [`moka::future::CacheBuilder::time_to_live`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_live) - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `moka` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Mongodb, typing.Literal["mongodb"]], - /, - *, - collection: builtins.str = ..., - connection_string: builtins.str = ..., - database: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `mongodb` service. - - Parameters - ---------- - collection : builtins.str, optional - collection of this backend - connection_string : builtins.str, optional - connection string of this backend - database : builtins.str, optional - database of this backend - key_field : builtins.str, optional - key field of this backend - root : builtins.str, optional - root of this backend - value_field : builtins.str, optional - value field of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `mongodb` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Mysql, typing.Literal["mysql"]], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `mysql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - This connection string is used to connect to the - mysql service. - There are url based formats. - The format of connect string resembles the url - format of the mysql client. - The format is: - `[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...` - - `mysql://user@localhost` - - `mysql://user:password@localhost` - - `mysql://user:password@localhost:3306` - - `mysql://user:password@localhost:3306/db` For more - information, please refer to - . - key_field : builtins.str, optional - The key field name for mysql. - root : builtins.str, optional - The root for mysql. - table : builtins.str, optional - The table name for mysql. - value_field : builtins.str, optional - The value field name for mysql. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `mysql` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Obs, typing.Literal["obs"]], - /, - *, - access_key_id: builtins.str = ..., - bucket: builtins.str = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `obs` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for obs. - bucket : builtins.str, optional - Bucket for obs. - enable_versioning : builtins.bool, optional - Is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for obs. - root : builtins.str, optional - Root for obs. - secret_access_key : builtins.str, optional - Secret access key for obs. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `obs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Onedrive, typing.Literal["onedrive"]], - /, - *, - access_token: builtins.str = ..., - client_id: builtins.str = ..., - client_secret: builtins.str = ..., - enable_versioning: builtins.bool = ..., - refresh_token: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `onedrive` service. - - Parameters - ---------- - access_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) access token - client_id : builtins.str, optional - Microsoft Graph API Application (client) ID that is - in the Azure's app registration portal - client_secret : builtins.str, optional - Microsoft Graph API Application client secret that - is in the Azure's app registration portal - enable_versioning : builtins.bool, optional - Enabling version support - refresh_token : builtins.str, optional - Microsoft Graph API (also OneDrive API) refresh - token - root : builtins.str, optional - The root path for the OneDrive service for the file - access - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `onedrive` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Oss, typing.Literal["oss"]], - /, - *, - access_key_id: builtins.str = ..., - access_key_secret: builtins.str = ..., - addressing_style: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - delete_max_size: builtins.int = ..., - enable_versioning: builtins.bool = ..., - endpoint: builtins.str = ..., - oidc_provider_arn: builtins.str = ..., - oidc_token_file: builtins.str = ..., - presign_addressing_style: builtins.str = ..., - presign_endpoint: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - security_token: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_key_id: builtins.str = ..., - sts_endpoint: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `oss` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - Access key id for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_ID`] - access_key_secret : builtins.str, optional - Access key secret for oss. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ACCESS_KEY_SECRET`] - addressing_style : builtins.str, optional - Addressing style for oss. - allow_anonymous : builtins.bool, optional - Allow anonymous for oss. - batch_max_operations : builtins.int, optional - The size of max batch operations. - bucket : builtins.str - Bucket for oss. - delete_max_size : builtins.int, optional - The size of max delete operations. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - endpoint : builtins.str, optional - Endpoint for oss. - oidc_provider_arn : builtins.str, optional - `oidc_provider_arn` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_PROVIDER_ARN`] - oidc_token_file : builtins.str, optional - `oidc_token_file` will be loaded from - this field - if it's `is_some` - env value: - [`ALIBABA_CLOUD_OIDC_TOKEN_FILE`] - presign_addressing_style : builtins.str, optional - Pre sign addressing style for oss. - presign_endpoint : builtins.str, optional - Presign endpoint for oss. - role_arn : builtins.str, optional - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - - this field if it's `is_some` - env value: - [`ALIBABA_CLOUD_ROLE_ARN`] - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - Root for oss. - security_token : builtins.str, optional - `security_token` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_SECURITY_TOKEN`] - server_side_encryption : builtins.str, optional - Server side encryption for oss. - server_side_encryption_key_id : builtins.str, optional - Server side encryption key id for oss. - sts_endpoint : builtins.str, optional - `sts_endpoint` will be loaded from - this field if - it's `is_some` - env value: - [`ALIBABA_CLOUD_STS_ENDPOINT`] - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `oss` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Persy, typing.Literal["persy"]], - /, - *, - datafile: builtins.str = ..., - index: builtins.str = ..., - segment: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `persy` service. - - Parameters - ---------- - datafile : builtins.str, optional - That path to the persy data file. - The directory in the path must already exist. - index : builtins.str, optional - That name of the persy index. - segment : builtins.str, optional - That name of the persy segment. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `persy` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Postgresql, typing.Literal["postgresql"]], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `postgresql` service. - - Parameters - ---------- - connection_string : builtins.str, optional - The URL should be with a scheme of either - `postgres://` or `postgresql://`. - - `postgresql://user@localhost` - - `postgresql://user:password@%2Fvar%2Flib%2Fpostgresql/mydb?connect_timeout=10` - - - `postgresql://user@host1:1234,host2,host3:5678?target_session_attrs=read-write` - - - `postgresql:///mydb?user=user&host=/var/lib/postgresql` - For more information, please visit - . - key_field : builtins.str, optional - the key field of postgresql - root : builtins.str, optional - Root of this backend. - All operations will happen under this root. - Default to `/` if not set. - table : builtins.str, optional - the table of postgresql - value_field : builtins.str, optional - the value field of postgresql - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `postgresql` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Redb, typing.Literal["redb"]], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `redb` service. - - Parameters - ---------- - datadir : builtins.str, optional - path to the redb data directory. - root : builtins.str, optional - The root for redb. - table : builtins.str, optional - The table name for redb. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `redb` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Redis, typing.Literal["redis"]], - /, - *, - cluster_endpoints: builtins.str = ..., - connection_pool_max_size: builtins.int = ..., - db: builtins.int, - default_ttl: typing.Any = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `redis` service. - - Parameters - ---------- - cluster_endpoints : builtins.str, optional - network address of the Redis cluster service. - Can be - "tcp://127.0.0.1:6379,tcp://127.0.0.1:6380,tcp://127.0.0.1:6381", - e.g. - default is None - connection_pool_max_size : builtins.int, optional - The maximum number of connections allowed. - default is 10 - db : builtins.int - the number of DBs redis can take is unlimited - default is db 0 - default_ttl : typing.Any, optional - The default ttl for put operations.. - a human readable duration string see - https://docs.rs/humantime/latest/humantime/fn.parse_duration.html - for more details - endpoint : builtins.str, optional - network address of the Redis service. - Can be "tcp://127.0.0.1:6379", e.g. - default is "tcp://127.0.0.1:6379" - password : builtins.str, optional - the password for authentication default is None - root : builtins.str, optional - the working directory of the Redis service. - Can be "/path/to/dir" default is "/" - username : builtins.str, optional - the username to connect redis service. - default is None - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `redis` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.S3, typing.Literal["s3"]], - /, - *, - access_key_id: builtins.str = ..., - allow_anonymous: builtins.bool = ..., - batch_max_operations: builtins.int = ..., - bucket: builtins.str, - checksum_algorithm: builtins.str = ..., - default_storage_class: builtins.str = ..., - delete_max_size: builtins.int = ..., - disable_config_load: builtins.bool = ..., - disable_ec2_metadata: builtins.bool = ..., - disable_list_objects_v2: builtins.bool = ..., - disable_stat_with_override: builtins.bool = ..., - disable_write_with_if_match: builtins.bool = ..., - enable_request_payer: builtins.bool = ..., - enable_versioning: builtins.bool = ..., - enable_virtual_host_style: builtins.bool = ..., - enable_write_with_append: builtins.bool = ..., - endpoint: builtins.str = ..., - external_id: builtins.str = ..., - region: builtins.str = ..., - role_arn: builtins.str = ..., - role_session_name: builtins.str = ..., - root: builtins.str = ..., - secret_access_key: builtins.str = ..., - server_side_encryption: builtins.str = ..., - server_side_encryption_aws_kms_key_id: builtins.str = ..., - server_side_encryption_customer_algorithm: builtins.str = ..., - server_side_encryption_customer_key: builtins.str = ..., - server_side_encryption_customer_key_md5: builtins.str = ..., - session_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `s3` service. - - Parameters - ---------- - access_key_id : builtins.str, optional - access_key_id of this backend. - - If access_key_id is set, we will take user's input - first. - - If not, we will try to load it from environment. - allow_anonymous : builtins.bool, optional - Allow anonymous will allow opendal to send request - without signing when credential is not loaded. - batch_max_operations : builtins.int, optional - Set maximum batch operations of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - bucket : builtins.str - bucket name of this backend. - required. - checksum_algorithm : builtins.str, optional - Checksum Algorithm to use when sending checksums in - HTTP headers. - This is necessary when writing to AWS S3 Buckets - with Object Lock enabled for example. - Available options: - "crc32c" - "md5" - default_storage_class : builtins.str, optional - default storage_class for this backend. - Available values: - `DEEP_ARCHIVE` - `GLACIER` - - `GLACIER_IR` - `INTELLIGENT_TIERING` - `ONEZONE_IA` - - `EXPRESS_ONEZONE` - `OUTPOSTS` - - `REDUCED_REDUNDANCY` - `STANDARD` - `STANDARD_IA` S3 - compatible services don't support all of them - delete_max_size : builtins.int, optional - Set the maximum delete size of this backend. - Some compatible services have a limit on the number - of operations in a batch request. - For example, R2 could return `Internal Error` while - batch delete 1000 files. - Please tune this value based on services' document. - disable_config_load : builtins.bool, optional - Disable config load so that opendal will not load - config from environment. - For examples: - envs like `AWS_ACCESS_KEY_ID` - - files like `~/.aws/config` - disable_ec2_metadata : builtins.bool, optional - Disable load credential from ec2 metadata. - This option is used to disable the default behavior - of opendal to load credential from ec2 metadata, - a.k.a., IMDSv2 - disable_list_objects_v2 : builtins.bool, optional - OpenDAL uses List Objects V2 by default to list - objects. - However, some legacy services do not yet support V2. - This option allows users to switch back to the older - List Objects V1. - disable_stat_with_override : builtins.bool, optional - Disable stat with override so that opendal will not - send stat request with override queries. - For example, R2 doesn't support stat with - `response_content_type` query. - disable_write_with_if_match : builtins.bool, optional - Disable write with if match so that opendal will not - send write request with if match headers. - For example, Ceph RADOS S3 doesn't support write - with if matched. - enable_request_payer : builtins.bool, optional - Indicates whether the client agrees to pay for the - requests made to the S3 bucket. - enable_versioning : builtins.bool, optional - is bucket versioning enabled for this bucket - enable_virtual_host_style : builtins.bool, optional - Enable virtual host style so that opendal will send - API requests in virtual host style instead of path - style. - - By default, opendal will send API to - `https://s3.us-east-1.amazonaws.com/bucket_name` - - Enabled, opendal will send API to - `https://bucket_name.s3.us-east-1.amazonaws.com` - enable_write_with_append : builtins.bool, optional - Enable write with append so that opendal will send - write request with append headers. - endpoint : builtins.str, optional - endpoint of this backend. - Endpoint must be full uri, e.g. - - AWS S3: `https://s3.amazonaws.com` or - `https://s3.{region}.amazonaws.com` - Cloudflare R2: - `https://.r2.cloudflarestorage.com` - - Aliyun OSS: `https://{region}.aliyuncs.com` - - Tencent COS: `https://cos.{region}.myqcloud.com` - - Minio: `http://127.0.0.1:9000` If user inputs - endpoint without scheme like "s3.amazonaws.com", we - will prepend "https://" before it. - - If endpoint is set, we will take user's input - first. - - If not, we will try to load it from environment. - - If still not set, default to - `https://s3.amazonaws.com`. - external_id : builtins.str, optional - external_id for this backend. - region : builtins.str, optional - Region represent the signing region of this - endpoint. - This is required if you are using the default AWS S3 - endpoint. - If using a custom endpoint, - If region is set, we - will take user's input first. - - If not, we will try to load it from environment. - role_arn : builtins.str, optional - role_arn for this backend. - If `role_arn` is set, we will use already known - config as source credential to assume role with - `role_arn`. - role_session_name : builtins.str, optional - role_session_name for this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - default to `/` if not set. - secret_access_key : builtins.str, optional - secret_access_key of this backend. - - If secret_access_key is set, we will take user's - input first. - - If not, we will try to load it from environment. - server_side_encryption : builtins.str, optional - server_side_encryption for this backend. - Available values: `AES256`, `aws:kms`. - server_side_encryption_aws_kms_key_id : builtins.str, optional - server_side_encryption_aws_kms_key_id for this - backend - If `server_side_encryption` set to - `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is not set, - S3 will use aws managed kms key to encrypt data. - - If `server_side_encryption` set to `aws:kms`, and - `server_side_encryption_aws_kms_key_id` is a valid - kms key id, S3 will use the provided kms key to - encrypt data. - - If the `server_side_encryption_aws_kms_key_id` is - invalid or not found, an error will be returned. - - If `server_side_encryption` is not `aws:kms`, - setting `server_side_encryption_aws_kms_key_id` is a - noop. - server_side_encryption_customer_algorithm : builtins.str, optional - server_side_encryption_customer_algorithm for this - backend. - Available values: `AES256`. - server_side_encryption_customer_key : builtins.str, optional - server_side_encryption_customer_key for this - backend. - Value: BASE64-encoded key that matches algorithm - specified in - `server_side_encryption_customer_algorithm`. - server_side_encryption_customer_key_md5 : builtins.str, optional - Set server_side_encryption_customer_key_md5 for this - backend. - Value: MD5 digest of key specified in - `server_side_encryption_customer_key`. - session_token : builtins.str, optional - session_token (aka, security token) of this backend. - This token will expire after sometime, it's - recommended to set session_token by hand. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `s3` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Seafile, typing.Literal["seafile"]], - /, - *, - endpoint: builtins.str = ..., - password: builtins.str = ..., - repo_name: builtins.str, - root: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `seafile` service. - - Parameters - ---------- - endpoint : builtins.str, optional - endpoint address of this backend. - password : builtins.str, optional - password of this backend. - repo_name : builtins.str - repo_name of this backend. - required. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - username : builtins.str, optional - username of this backend. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `seafile` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Sftp, typing.Literal["sftp"]], - /, - *, - enable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - key: builtins.str = ..., - known_hosts_strategy: builtins.str = ..., - root: builtins.str = ..., - user: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `sftp` service. - - Parameters - ---------- - enable_copy : builtins.bool, optional - enable_copy of this backend - endpoint : builtins.str, optional - endpoint of this backend - key : builtins.str, optional - key of this backend - known_hosts_strategy : builtins.str, optional - known_hosts_strategy of this backend - root : builtins.str, optional - root of this backend - user : builtins.str, optional - user of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `sftp` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Sled, typing.Literal["sled"]], - /, - *, - datadir: builtins.str = ..., - root: builtins.str = ..., - tree: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `sled` service. - - Parameters - ---------- - datadir : builtins.str, optional - That path to the sled data directory. - root : builtins.str, optional - The root for sled. - tree : builtins.str, optional - The tree for sled. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `sled` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Sqlite, typing.Literal["sqlite"]], - /, - *, - connection_string: builtins.str = ..., - key_field: builtins.str = ..., - root: builtins.str = ..., - table: builtins.str = ..., - value_field: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `sqlite` service. - - Parameters - ---------- - connection_string : builtins.str, optional - Set the connection_string of the sqlite service. - This connection string is used to connect to the - sqlite service. - The format of connect string resembles the url - format of the sqlite client: - `sqlite::memory:` - - `sqlite:data.db` - `sqlite://data.db` For more - information, please visit - . - key_field : builtins.str, optional - Set the key field name of the sqlite service to - read/write. - Default to `key` if not specified. - root : builtins.str, optional - set the working directory, all operations will be - performed under it. - default: "/" - table : builtins.str, optional - Set the table name of the sqlite service to - read/write. - value_field : builtins.str, optional - Set the value field name of the sqlite service to - read/write. - Default to `value` if not specified. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `sqlite` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Swift, typing.Literal["swift"]], - /, - *, - container: builtins.str = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `swift` service. - - Parameters - ---------- - container : builtins.str, optional - The container for Swift. - endpoint : builtins.str, optional - The endpoint for Swift. - root : builtins.str, optional - The root for Swift. - token : builtins.str, optional - The token for Swift. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `swift` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Upyun, typing.Literal["upyun"]], - /, - *, - bucket: builtins.str, - operator: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `upyun` service. - - Parameters - ---------- - bucket : builtins.str - bucket address of this backend. - operator : builtins.str, optional - username of this backend. - password : builtins.str, optional - password of this backend. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `upyun` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.VercelArtifacts, typing.Literal["vercel-artifacts"]], - /, - *, - access_token: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `vercel-artifacts` service. - - Parameters - ---------- - access_token : builtins.str, optional - The access token for Vercel. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `vercel-artifacts` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Webdav, typing.Literal["webdav"]], - /, - *, - disable_copy: builtins.bool = ..., - endpoint: builtins.str = ..., - password: builtins.str = ..., - root: builtins.str = ..., - token: builtins.str = ..., - username: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `webdav` service. - - Parameters - ---------- - disable_copy : builtins.bool, optional - WebDAV Service doesn't support copy. - endpoint : builtins.str, optional - endpoint of this backend - password : builtins.str, optional - password of this backend - root : builtins.str, optional - root of this backend - token : builtins.str, optional - token of this backend - username : builtins.str, optional - username of this backend - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `webdav` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.Webhdfs, typing.Literal["webhdfs"]], - /, - *, - atomic_write_dir: builtins.str = ..., - delegation: builtins.str = ..., - disable_list_batch: builtins.bool = ..., - endpoint: builtins.str = ..., - root: builtins.str = ..., - user_name: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `webhdfs` service. - - Parameters - ---------- - atomic_write_dir : builtins.str, optional - atomic_write_dir of this backend - delegation : builtins.str, optional - Delegation token for webhdfs. - disable_list_batch : builtins.bool, optional - Disable batch listing - endpoint : builtins.str, optional - Endpoint for webhdfs. - root : builtins.str, optional - Root for webhdfs. - user_name : builtins.str, optional - Name of the user for webhdfs. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `webhdfs` service - """ - "# - } -} - -submit! { - gen_methods_from_python! { - r#" - import builtins - import typing - import typing_extensions - import opendal.services - class AsyncOperator: - @overload - def __new__(cls, - scheme: typing.Union[opendal.services.Scheme.YandexDisk, typing.Literal["yandex-disk"]], - /, - *, - access_token: builtins.str, - root: builtins.str = ..., - ) -> typing_extensions.Self: - r""" - Create a new `AsyncOperator` for `yandex-disk` service. - - Parameters - ---------- - access_token : builtins.str - yandex disk oauth access_token. - root : builtins.str, optional - root of this backend. - All operations will happen under this root. - Returns - ------- - AsyncOperator - The new `AsyncOperator` for `yandex-disk` service - """ - "# - } -} - -macro_rules! impl_enum_to_str { - ($src:ty { $( - $(#[$cfg:meta])? - $variant:ident => $value:literal - ),* $(,)? }) => { - impl From<$src> for &'static str { - fn from(value: $src) -> Self { - match value { - $( - $(#[$cfg])? - <$src>::$variant => $value, - )* - } - } - } - - impl From<$src> for String { - fn from(value: $src) -> Self { - let v: &'static str = value.into(); - v.to_string() - } - } - }; -} - -impl_enum_to_str!( - PyScheme { - #[cfg(feature = "services-aliyun-drive")] - AliyunDrive => "aliyun-drive", - #[cfg(feature = "services-alluxio")] - Alluxio => "alluxio", - #[cfg(feature = "services-azblob")] - Azblob => "azblob", - #[cfg(feature = "services-azdls")] - Azdls => "azdls", - #[cfg(feature = "services-azfile")] - Azfile => "azfile", - #[cfg(feature = "services-b2")] - B2 => "b2", - #[cfg(feature = "services-cacache")] - Cacache => "cacache", - #[cfg(feature = "services-cos")] - Cos => "cos", - #[cfg(feature = "services-dashmap")] - Dashmap => "dashmap", - #[cfg(feature = "services-dropbox")] - Dropbox => "dropbox", - #[cfg(feature = "services-fs")] - Fs => "fs", - #[cfg(feature = "services-ftp")] - Ftp => "ftp", - #[cfg(feature = "services-gcs")] - Gcs => "gcs", - #[cfg(feature = "services-gdrive")] - Gdrive => "gdrive", - #[cfg(feature = "services-ghac")] - Ghac => "ghac", - #[cfg(feature = "services-gridfs")] - Gridfs => "gridfs", - #[cfg(feature = "services-hdfs-native")] - HdfsNative => "hdfs-native", - #[cfg(feature = "services-http")] - Http => "http", - #[cfg(feature = "services-huggingface")] - Huggingface => "huggingface", - #[cfg(feature = "services-ipfs")] - Ipfs => "ipfs", - #[cfg(feature = "services-ipmfs")] - Ipmfs => "ipmfs", - #[cfg(feature = "services-koofr")] - Koofr => "koofr", - #[cfg(feature = "services-memcached")] - Memcached => "memcached", - #[cfg(feature = "services-memory")] - Memory => "memory", - #[cfg(feature = "services-mini-moka")] - MiniMoka => "mini-moka", - #[cfg(feature = "services-moka")] - Moka => "moka", - #[cfg(feature = "services-mongodb")] - Mongodb => "mongodb", - #[cfg(feature = "services-mysql")] - Mysql => "mysql", - #[cfg(feature = "services-obs")] - Obs => "obs", - #[cfg(feature = "services-onedrive")] - Onedrive => "onedrive", - #[cfg(feature = "services-oss")] - Oss => "oss", - #[cfg(feature = "services-persy")] - Persy => "persy", - #[cfg(feature = "services-postgresql")] - Postgresql => "postgresql", - #[cfg(feature = "services-redb")] - Redb => "redb", - #[cfg(feature = "services-redis")] - Redis => "redis", - #[cfg(feature = "services-s3")] - S3 => "s3", - #[cfg(feature = "services-seafile")] - Seafile => "seafile", - #[cfg(feature = "services-sftp")] - Sftp => "sftp", - #[cfg(feature = "services-sled")] - Sled => "sled", - #[cfg(feature = "services-sqlite")] - Sqlite => "sqlite", - #[cfg(feature = "services-swift")] - Swift => "swift", - #[cfg(feature = "services-upyun")] - Upyun => "upyun", - #[cfg(feature = "services-vercel-artifacts")] - VercelArtifacts => "vercel-artifacts", - #[cfg(feature = "services-webdav")] - Webdav => "webdav", - #[cfg(feature = "services-webhdfs")] - Webhdfs => "webhdfs", - #[cfg(feature = "services-yandex-disk")] - YandexDisk => "yandex-disk", - } -); diff --git a/bindings/python/uv.lock b/bindings/python/uv.lock index b83d57bea473..64af112a01c0 100644 --- a/bindings/python/uv.lock +++ b/bindings/python/uv.lock @@ -26,11 +26,11 @@ wheels = [ [[package]] name = "asttokens" -version = "3.0.0" +version = "3.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7", size = 62308, upload-time = "2025-11-15T16:43:48.578Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, + { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047, upload-time = "2025-11-15T16:43:16.109Z" }, ] [[package]] @@ -44,11 +44,11 @@ wheels = [ [[package]] name = "babel" -version = "2.17.0" +version = "2.18.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, ] [[package]] @@ -62,41 +62,41 @@ wheels = [ [[package]] name = "backrefs" -version = "5.9" +version = "6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" } +sdist = { url = "https://files.pythonhosted.org/packages/86/e3/bb3a439d5cb255c4774724810ad8073830fac9c9dee123555820c1bcc806/backrefs-6.1.tar.gz", hash = "sha256:3bba1749aafe1db9b915f00e0dd166cba613b6f788ffd63060ac3485dc9be231", size = 7011962, upload-time = "2025-11-15T14:52:08.323Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" }, - { url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" }, - { url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" }, - { url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" }, - { url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" }, - { url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ee/c216d52f58ea75b5e1841022bbae24438b19834a29b163cb32aa3a2a7c6e/backrefs-6.1-py310-none-any.whl", hash = "sha256:2a2ccb96302337ce61ee4717ceacfbf26ba4efb1d55af86564b8bbaeda39cac1", size = 381059, upload-time = "2025-11-15T14:51:59.758Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9a/8da246d988ded941da96c7ed945d63e94a445637eaad985a0ed88787cb89/backrefs-6.1-py311-none-any.whl", hash = "sha256:e82bba3875ee4430f4de4b6db19429a27275d95a5f3773c57e9e18abc23fd2b7", size = 392854, upload-time = "2025-11-15T14:52:01.194Z" }, + { url = "https://files.pythonhosted.org/packages/37/c9/fd117a6f9300c62bbc33bc337fd2b3c6bfe28b6e9701de336b52d7a797ad/backrefs-6.1-py312-none-any.whl", hash = "sha256:c64698c8d2269343d88947c0735cb4b78745bd3ba590e10313fbf3f78c34da5a", size = 398770, upload-time = "2025-11-15T14:52:02.584Z" }, + { url = "https://files.pythonhosted.org/packages/eb/95/7118e935b0b0bd3f94dfec2d852fd4e4f4f9757bdb49850519acd245cd3a/backrefs-6.1-py313-none-any.whl", hash = "sha256:4c9d3dc1e2e558965202c012304f33d4e0e477e1c103663fd2c3cc9bb18b0d05", size = 400726, upload-time = "2025-11-15T14:52:04.093Z" }, + { url = "https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl", hash = "sha256:13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853", size = 412584, upload-time = "2025-11-15T14:52:05.233Z" }, + { url = "https://files.pythonhosted.org/packages/02/e3/a4fa1946722c4c7b063cc25043a12d9ce9b4323777f89643be74cef2993c/backrefs-6.1-py39-none-any.whl", hash = "sha256:a9e99b8a4867852cad177a6430e31b0f6e495d65f8c6c134b68c14c3c95bf4b0", size = 381058, upload-time = "2025-11-15T14:52:06.698Z" }, ] [[package]] name = "beautifulsoup4" -version = "4.14.2" +version = "4.14.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz", hash = "sha256:2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e", size = 625822, upload-time = "2025-09-29T10:05:42.613Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86", size = 627737, upload-time = "2025-11-30T15:08:26.084Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/fe/3aed5d0be4d404d12d36ab97e2f1791424d9ca39c2f754a6285d59a3b01d/beautifulsoup4-4.14.2-py3-none-any.whl", hash = "sha256:5ef6fa3a8cbece8488d66985560f97ed091e22bbc4e9c2338508a9d5de6d4515", size = 106392, upload-time = "2025-09-29T10:05:43.771Z" }, + { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" }, ] [[package]] name = "bleach" -version = "6.2.0" +version = "6.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22", size = 203533, upload-time = "2025-10-27T17:57:39.211Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, + { url = "https://files.pythonhosted.org/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl", hash = "sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6", size = 164437, upload-time = "2025-10-27T17:57:37.538Z" }, ] [package.optional-dependencies] @@ -106,30 +106,30 @@ css = [ [[package]] name = "boto3" -version = "1.40.53" +version = "1.42.42" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, { name = "jmespath" }, { name = "s3transfer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d2/4c/9c4d855d05d1c2c42a889feee3aa91fa4bee7d5c4a6d67a0c38194dc4ae4/boto3-1.40.53.tar.gz", hash = "sha256:3f8cf56034cfde20dd0abca01349f64ab65734d90c3fbf7357e8a84cb64a62ee", size = 111549, upload-time = "2025-10-15T19:28:56.691Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c8/ac/9ef2cc431e00ecbf1ac197938ddea120e75b516b4c57028a1fd517d3e882/boto3-1.42.42.tar.gz", hash = "sha256:8c2537156f5ccd72bbbfe4fc27a8a80bf3e4f80523f306417f3fb6023d13edda", size = 112831, upload-time = "2026-02-04T20:28:45.494Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/17/8e330f506b9be7954c167d34ea36d7330ba4892f3c405c0ca5f438c1aff9/boto3-1.40.53-py3-none-any.whl", hash = "sha256:65ded2738de259bd9030feb4772ec7b53d5b661befa88ce836117c3df8265309", size = 139320, upload-time = "2025-10-15T19:28:54.862Z" }, + { url = "https://files.pythonhosted.org/packages/5e/0a/3966f239e1d9da93cb755dc0213835ce4e9ed93645192878d0a055ecdc31/boto3-1.42.42-py3-none-any.whl", hash = "sha256:8c78169ef47dc29863ebb11ba99134b1b418d3dfdd836419830f22552f8afe43", size = 140599, upload-time = "2026-02-04T20:28:43.056Z" }, ] [[package]] name = "boto3-stubs" -version = "1.40.53" +version = "1.42.42" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore-stubs" }, { name = "types-s3transfer" }, { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cb/12/f8233045332ecdbaa483fb70e0990836903b281f31034b4a216254c13bbf/boto3_stubs-1.40.53.tar.gz", hash = "sha256:2dbb49642124a0815d271dde96b9d24cd4a908c96bb7be3cdc631b53169a2d92", size = 100898, upload-time = "2025-10-15T19:47:48.502Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/24/4c67ca08aa3810983779aa98a73c77be557955abb99d87f78f650ed36de5/boto3_stubs-1.42.42.tar.gz", hash = "sha256:4d05ccb0b6d03c2c5e90272c1c58e4e875651b088e0ee1be618bb41e082b8530", size = 100865, upload-time = "2026-02-04T20:53:34.664Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e3/1c/5d4e0f66d3b743b7c42ae0db4db586e02f13eb55271e3ea588ffdf973390/boto3_stubs-1.40.53-py3-none-any.whl", hash = "sha256:2239af9c47940f05f6e03f6d392f5044ae77c75d05895bae770737d0ad4e2afe", size = 69708, upload-time = "2025-10-15T19:47:36.66Z" }, + { url = "https://files.pythonhosted.org/packages/6b/90/e49f31d4edfc76b4e07e59cb53104bbdfc2c66dbb6e3fd78206b62a296a0/boto3_stubs-1.42.42-py3-none-any.whl", hash = "sha256:0745a33fc1d2e21182ccb944b0f3e91eb029e3867ea778c27a1931a94213023c", size = 69782, upload-time = "2026-02-04T20:53:21.374Z" }, ] [package.optional-dependencies] @@ -145,37 +145,37 @@ essential = [ [[package]] name = "botocore" -version = "1.40.53" +version = "1.42.42" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/bd/c569fc1705188f6302775bff551fbb68dd23b41bfd068933feee3ad4867d/botocore-1.40.53.tar.gz", hash = "sha256:4ebb9e6648c4896d3f0cdda5ff30b5de9a83aeb591be89a16f98cc5ee3cd371c", size = 14442260, upload-time = "2025-10-15T19:28:45.402Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/96/4eca9755ca444402c46c73cc8ff252c8eb73ab0ccf35ca76d89e7b7820ac/botocore-1.42.42.tar.gz", hash = "sha256:cb75639f5ba7bf73b83ac18bcd87f07b7f484f302748da974dad2801a83a1d60", size = 14926585, upload-time = "2026-02-04T20:28:33.66Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/9f/8015bf28231429e55fdab62903c38bff428cc357601b4749c7b30f72a477/botocore-1.40.53-py3-none-any.whl", hash = "sha256:840322b0af4be7a6e2effddb4eb388053c25af0618f627f37d8b03cc1edbc928", size = 14113269, upload-time = "2025-10-15T19:28:41.86Z" }, + { url = "https://files.pythonhosted.org/packages/e6/51/aac7e419521d5519e13087a7198623655648c939822bd7f4bdc9ccbe07f9/botocore-1.42.42-py3-none-any.whl", hash = "sha256:1c9df5fc31e9073a9aa956271c4007d72f5d342cafca5f4154ea099bc6f83085", size = 14600186, upload-time = "2026-02-04T20:28:29.268Z" }, ] [[package]] name = "botocore-stubs" -version = "1.40.53" +version = "1.42.41" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "types-awscrt" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/e9/eb177f3e2fd2f133a98db76709ff79884446f7a6fa89fe924d686eca5449/botocore_stubs-1.40.53.tar.gz", hash = "sha256:c5cba2e1f1fb4b41945a73cdf999a5444481e4ad009ca54d2c0d96b0f473522f", size = 42223, upload-time = "2025-10-15T20:27:56.546Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0c/a8/a26608ff39e3a5866c6c79eda10133490205cbddd45074190becece3ff2a/botocore_stubs-1.42.41.tar.gz", hash = "sha256:dbeac2f744df6b814ce83ec3f3777b299a015cbea57a2efc41c33b8c38265825", size = 42411, upload-time = "2026-02-03T20:46:14.479Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/d8/6c0ee2b997cd8dcffb89871b086516ae79471b8f0ae68b46216114415de0/botocore_stubs-1.40.53-py3-none-any.whl", hash = "sha256:f076c4e34877a445be05a68de77298750292564dae8e19706576394921772f5f", size = 66541, upload-time = "2025-10-15T20:27:54.175Z" }, + { url = "https://files.pythonhosted.org/packages/32/76/cab7af7f16c0b09347f2ebe7ffda7101132f786acb767666dce43055faab/botocore_stubs-1.42.41-py3-none-any.whl", hash = "sha256:9423110fb0e391834bd2ed44ae5f879d8cb370a444703d966d30842ce2bcb5f0", size = 66759, upload-time = "2026-02-03T20:46:13.02Z" }, ] [[package]] name = "certifi" -version = "2025.10.5" +version = "2026.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, ] [[package]] @@ -351,14 +351,14 @@ wheels = [ [[package]] name = "click" -version = "8.3.0" +version = "8.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, ] [[package]] @@ -381,31 +381,31 @@ wheels = [ [[package]] name = "debugpy" -version = "1.8.17" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/ad/71e708ff4ca377c4230530d6a7aa7992592648c122a2cd2b321cf8b35a76/debugpy-1.8.17.tar.gz", hash = "sha256:fd723b47a8c08892b1a16b2c6239a8b96637c62a59b94bb5dab4bac592a58a8e", size = 1644129, upload-time = "2025-09-17T16:33:20.633Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/38/36/b57c6e818d909f6e59c0182252921cf435e0951126a97e11de37e72ab5e1/debugpy-1.8.17-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:c41d2ce8bbaddcc0009cc73f65318eedfa3dbc88a8298081deb05389f1ab5542", size = 2098021, upload-time = "2025-09-17T16:33:22.556Z" }, - { url = "https://files.pythonhosted.org/packages/be/01/0363c7efdd1e9febd090bb13cee4fb1057215b157b2979a4ca5ccb678217/debugpy-1.8.17-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:1440fd514e1b815edd5861ca394786f90eb24960eb26d6f7200994333b1d79e3", size = 3087399, upload-time = "2025-09-17T16:33:24.292Z" }, - { url = "https://files.pythonhosted.org/packages/79/bc/4a984729674aa9a84856650438b9665f9a1d5a748804ac6f37932ce0d4aa/debugpy-1.8.17-cp310-cp310-win32.whl", hash = "sha256:3a32c0af575749083d7492dc79f6ab69f21b2d2ad4cd977a958a07d5865316e4", size = 5230292, upload-time = "2025-09-17T16:33:26.137Z" }, - { url = "https://files.pythonhosted.org/packages/5d/19/2b9b3092d0cf81a5aa10c86271999453030af354d1a5a7d6e34c574515d7/debugpy-1.8.17-cp310-cp310-win_amd64.whl", hash = "sha256:a3aad0537cf4d9c1996434be68c6c9a6d233ac6f76c2a482c7803295b4e4f99a", size = 5261885, upload-time = "2025-09-17T16:33:27.592Z" }, - { url = "https://files.pythonhosted.org/packages/d8/53/3af72b5c159278c4a0cf4cffa518675a0e73bdb7d1cac0239b815502d2ce/debugpy-1.8.17-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:d3fce3f0e3de262a3b67e69916d001f3e767661c6e1ee42553009d445d1cd840", size = 2207154, upload-time = "2025-09-17T16:33:29.457Z" }, - { url = "https://files.pythonhosted.org/packages/8f/6d/204f407df45600e2245b4a39860ed4ba32552330a0b3f5f160ae4cc30072/debugpy-1.8.17-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:c6bdf134457ae0cac6fb68205776be635d31174eeac9541e1d0c062165c6461f", size = 3170322, upload-time = "2025-09-17T16:33:30.837Z" }, - { url = "https://files.pythonhosted.org/packages/f2/13/1b8f87d39cf83c6b713de2620c31205299e6065622e7dd37aff4808dd410/debugpy-1.8.17-cp311-cp311-win32.whl", hash = "sha256:e79a195f9e059edfe5d8bf6f3749b2599452d3e9380484cd261f6b7cd2c7c4da", size = 5155078, upload-time = "2025-09-17T16:33:33.331Z" }, - { url = "https://files.pythonhosted.org/packages/c2/c5/c012c60a2922cc91caa9675d0ddfbb14ba59e1e36228355f41cab6483469/debugpy-1.8.17-cp311-cp311-win_amd64.whl", hash = "sha256:b532282ad4eca958b1b2d7dbcb2b7218e02cb934165859b918e3b6ba7772d3f4", size = 5179011, upload-time = "2025-09-17T16:33:35.711Z" }, - { url = "https://files.pythonhosted.org/packages/08/2b/9d8e65beb2751876c82e1aceb32f328c43ec872711fa80257c7674f45650/debugpy-1.8.17-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:f14467edef672195c6f6b8e27ce5005313cb5d03c9239059bc7182b60c176e2d", size = 2549522, upload-time = "2025-09-17T16:33:38.466Z" }, - { url = "https://files.pythonhosted.org/packages/b4/78/eb0d77f02971c05fca0eb7465b18058ba84bd957062f5eec82f941ac792a/debugpy-1.8.17-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:24693179ef9dfa20dca8605905a42b392be56d410c333af82f1c5dff807a64cc", size = 4309417, upload-time = "2025-09-17T16:33:41.299Z" }, - { url = "https://files.pythonhosted.org/packages/37/42/c40f1d8cc1fed1e75ea54298a382395b8b937d923fcf41ab0797a554f555/debugpy-1.8.17-cp312-cp312-win32.whl", hash = "sha256:6a4e9dacf2cbb60d2514ff7b04b4534b0139facbf2abdffe0639ddb6088e59cf", size = 5277130, upload-time = "2025-09-17T16:33:43.554Z" }, - { url = "https://files.pythonhosted.org/packages/72/22/84263b205baad32b81b36eac076de0cdbe09fe2d0637f5b32243dc7c925b/debugpy-1.8.17-cp312-cp312-win_amd64.whl", hash = "sha256:e8f8f61c518952fb15f74a302e068b48d9c4691768ade433e4adeea961993464", size = 5319053, upload-time = "2025-09-17T16:33:53.033Z" }, - { url = "https://files.pythonhosted.org/packages/50/76/597e5cb97d026274ba297af8d89138dfd9e695767ba0e0895edb20963f40/debugpy-1.8.17-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:857c1dd5d70042502aef1c6d1c2801211f3ea7e56f75e9c335f434afb403e464", size = 2538386, upload-time = "2025-09-17T16:33:54.594Z" }, - { url = "https://files.pythonhosted.org/packages/5f/60/ce5c34fcdfec493701f9d1532dba95b21b2f6394147234dce21160bd923f/debugpy-1.8.17-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:3bea3b0b12f3946e098cce9b43c3c46e317b567f79570c3f43f0b96d00788088", size = 4292100, upload-time = "2025-09-17T16:33:56.353Z" }, - { url = "https://files.pythonhosted.org/packages/e8/95/7873cf2146577ef71d2a20bf553f12df865922a6f87b9e8ee1df04f01785/debugpy-1.8.17-cp313-cp313-win32.whl", hash = "sha256:e34ee844c2f17b18556b5bbe59e1e2ff4e86a00282d2a46edab73fd7f18f4a83", size = 5277002, upload-time = "2025-09-17T16:33:58.231Z" }, - { url = "https://files.pythonhosted.org/packages/46/11/18c79a1cee5ff539a94ec4aa290c1c069a5580fd5cfd2fb2e282f8e905da/debugpy-1.8.17-cp313-cp313-win_amd64.whl", hash = "sha256:6c5cd6f009ad4fca8e33e5238210dc1e5f42db07d4b6ab21ac7ffa904a196420", size = 5319047, upload-time = "2025-09-17T16:34:00.586Z" }, - { url = "https://files.pythonhosted.org/packages/de/45/115d55b2a9da6de812696064ceb505c31e952c5d89c4ed1d9bb983deec34/debugpy-1.8.17-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:045290c010bcd2d82bc97aa2daf6837443cd52f6328592698809b4549babcee1", size = 2536899, upload-time = "2025-09-17T16:34:02.657Z" }, - { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" }, - { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" }, - { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" }, - { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" }, +version = "1.8.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/b7/cd8080344452e4874aae67c40d8940e2b4d47b01601a8fd9f44786c757c7/debugpy-1.8.20.tar.gz", hash = "sha256:55bc8701714969f1ab89a6d5f2f3d40c36f91b2cbe2f65d98bf8196f6a6a2c33", size = 1645207, upload-time = "2026-01-29T23:03:28.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/be/8bd693a0b9d53d48c8978fa5d889e06f3b5b03e45fd1ea1e78267b4887cb/debugpy-1.8.20-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:157e96ffb7f80b3ad36d808646198c90acb46fdcfd8bb1999838f0b6f2b59c64", size = 2099192, upload-time = "2026-01-29T23:03:29.707Z" }, + { url = "https://files.pythonhosted.org/packages/77/1b/85326d07432086a06361d493d2743edd0c4fc2ef62162be7f8618441ac37/debugpy-1.8.20-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:c1178ae571aff42e61801a38b007af504ec8e05fde1c5c12e5a7efef21009642", size = 3088568, upload-time = "2026-01-29T23:03:31.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/60/3e08462ee3eccd10998853eb35947c416e446bfe2bc37dbb886b9044586c/debugpy-1.8.20-cp310-cp310-win32.whl", hash = "sha256:c29dd9d656c0fbd77906a6e6a82ae4881514aa3294b94c903ff99303e789b4a2", size = 5284399, upload-time = "2026-01-29T23:03:33.678Z" }, + { url = "https://files.pythonhosted.org/packages/72/43/09d49106e770fe558ced5e80df2e3c2ebee10e576eda155dcc5670473663/debugpy-1.8.20-cp310-cp310-win_amd64.whl", hash = "sha256:3ca85463f63b5dd0aa7aaa933d97cbc47c174896dcae8431695872969f981893", size = 5316388, upload-time = "2026-01-29T23:03:35.095Z" }, + { url = "https://files.pythonhosted.org/packages/51/56/c3baf5cbe4dd77427fd9aef99fcdade259ad128feeb8a786c246adb838e5/debugpy-1.8.20-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:eada6042ad88fa1571b74bd5402ee8b86eded7a8f7b827849761700aff171f1b", size = 2208318, upload-time = "2026-01-29T23:03:36.481Z" }, + { url = "https://files.pythonhosted.org/packages/9a/7d/4fa79a57a8e69fe0d9763e98d1110320f9ecd7f1f362572e3aafd7417c9d/debugpy-1.8.20-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:7de0b7dfeedc504421032afba845ae2a7bcc32ddfb07dae2c3ca5442f821c344", size = 3171493, upload-time = "2026-01-29T23:03:37.775Z" }, + { url = "https://files.pythonhosted.org/packages/7d/f2/1e8f8affe51e12a26f3a8a8a4277d6e60aa89d0a66512f63b1e799d424a4/debugpy-1.8.20-cp311-cp311-win32.whl", hash = "sha256:773e839380cf459caf73cc533ea45ec2737a5cc184cf1b3b796cd4fd98504fec", size = 5209240, upload-time = "2026-01-29T23:03:39.109Z" }, + { url = "https://files.pythonhosted.org/packages/d5/92/1cb532e88560cbee973396254b21bece8c5d7c2ece958a67afa08c9f10dc/debugpy-1.8.20-cp311-cp311-win_amd64.whl", hash = "sha256:1f7650546e0eded1902d0f6af28f787fa1f1dbdbc97ddabaf1cd963a405930cb", size = 5233481, upload-time = "2026-01-29T23:03:40.659Z" }, + { url = "https://files.pythonhosted.org/packages/14/57/7f34f4736bfb6e00f2e4c96351b07805d83c9a7b33d28580ae01374430f7/debugpy-1.8.20-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:4ae3135e2089905a916909ef31922b2d733d756f66d87345b3e5e52b7a55f13d", size = 2550686, upload-time = "2026-01-29T23:03:42.023Z" }, + { url = "https://files.pythonhosted.org/packages/ab/78/b193a3975ca34458f6f0e24aaf5c3e3da72f5401f6054c0dfd004b41726f/debugpy-1.8.20-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:88f47850a4284b88bd2bfee1f26132147d5d504e4e86c22485dfa44b97e19b4b", size = 4310588, upload-time = "2026-01-29T23:03:43.314Z" }, + { url = "https://files.pythonhosted.org/packages/c1/55/f14deb95eaf4f30f07ef4b90a8590fc05d9e04df85ee379712f6fb6736d7/debugpy-1.8.20-cp312-cp312-win32.whl", hash = "sha256:4057ac68f892064e5f98209ab582abfee3b543fb55d2e87610ddc133a954d390", size = 5331372, upload-time = "2026-01-29T23:03:45.526Z" }, + { url = "https://files.pythonhosted.org/packages/a1/39/2bef246368bd42f9bd7cba99844542b74b84dacbdbea0833e610f384fee8/debugpy-1.8.20-cp312-cp312-win_amd64.whl", hash = "sha256:a1a8f851e7cf171330679ef6997e9c579ef6dd33c9098458bd9986a0f4ca52e3", size = 5372835, upload-time = "2026-01-29T23:03:47.245Z" }, + { url = "https://files.pythonhosted.org/packages/15/e2/fc500524cc6f104a9d049abc85a0a8b3f0d14c0a39b9c140511c61e5b40b/debugpy-1.8.20-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:5dff4bb27027821fdfcc9e8f87309a28988231165147c31730128b1c983e282a", size = 2539560, upload-time = "2026-01-29T23:03:48.738Z" }, + { url = "https://files.pythonhosted.org/packages/90/83/fb33dcea789ed6018f8da20c5a9bc9d82adc65c0c990faed43f7c955da46/debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:84562982dd7cf5ebebfdea667ca20a064e096099997b175fe204e86817f64eaf", size = 4293272, upload-time = "2026-01-29T23:03:50.169Z" }, + { url = "https://files.pythonhosted.org/packages/a6/25/b1e4a01bfb824d79a6af24b99ef291e24189080c93576dfd9b1a2815cd0f/debugpy-1.8.20-cp313-cp313-win32.whl", hash = "sha256:da11dea6447b2cadbf8ce2bec59ecea87cc18d2c574980f643f2d2dfe4862393", size = 5331208, upload-time = "2026-01-29T23:03:51.547Z" }, + { url = "https://files.pythonhosted.org/packages/13/f7/a0b368ce54ffff9e9028c098bd2d28cfc5b54f9f6c186929083d4c60ba58/debugpy-1.8.20-cp313-cp313-win_amd64.whl", hash = "sha256:eb506e45943cab2efb7c6eafdd65b842f3ae779f020c82221f55aca9de135ed7", size = 5372930, upload-time = "2026-01-29T23:03:53.585Z" }, + { url = "https://files.pythonhosted.org/packages/33/2e/f6cb9a8a13f5058f0a20fe09711a7b726232cd5a78c6a7c05b2ec726cff9/debugpy-1.8.20-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9c74df62fc064cd5e5eaca1353a3ef5a5d50da5eb8058fcef63106f7bebe6173", size = 2538066, upload-time = "2026-01-29T23:03:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/c5/56/6ddca50b53624e1ca3ce1d1e49ff22db46c47ea5fb4c0cc5c9b90a616364/debugpy-1.8.20-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:077a7447589ee9bc1ff0cdf443566d0ecf540ac8aa7333b775ebcb8ce9f4ecad", size = 4269425, upload-time = "2026-01-29T23:03:56.518Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d9/d64199c14a0d4c476df46c82470a3ce45c8d183a6796cfb5e66533b3663c/debugpy-1.8.20-cp314-cp314-win32.whl", hash = "sha256:352036a99dd35053b37b7803f748efc456076f929c6a895556932eaf2d23b07f", size = 5331407, upload-time = "2026-01-29T23:03:58.481Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d9/1f07395b54413432624d61524dfd98c1a7c7827d2abfdb8829ac92638205/debugpy-1.8.20-cp314-cp314-win_amd64.whl", hash = "sha256:a98eec61135465b062846112e5ecf2eebb855305acc1dfbae43b72903b8ab5be", size = 5372521, upload-time = "2026-01-29T23:03:59.864Z" }, + { url = "https://files.pythonhosted.org/packages/e0/c3/7f67dea8ccf8fdcb9c99033bbe3e90b9e7395415843accb81428c441be2d/debugpy-1.8.20-py2.py3-none-any.whl", hash = "sha256:5be9bed9ae3be00665a06acaa48f8329d2b9632f15fd09f6a9a8c8d9907e54d7", size = 5337658, upload-time = "2026-01-29T23:04:17.404Z" }, ] [[package]] @@ -428,14 +428,14 @@ wheels = [ [[package]] name = "exceptiongroup" -version = "1.3.0" +version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, ] [[package]] @@ -522,81 +522,86 @@ wheels = [ [[package]] name = "greenify" -version = "0.4.4" +version = "0.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gevent" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/04/39/add7c4b33828acb343857c7ff6798c6f2d296ef7350c44d64aca22ac71cb/greenify-0.4.4.tar.gz", hash = "sha256:a7ed74cd88c37dd4fecfad37e5cbe23c2ca8f4bb4f694b374e213630c8615d87", size = 9934, upload-time = "2025-10-10T04:05:55.405Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/a0/4b9ac3becaa52b1b8c1be4abef4f5f4b4c3cc702669adb94b41d08ce5287/greenify-0.5.0.tar.gz", hash = "sha256:c0c407839e6d9d1974dca3ba91d4b21e4cdda08ac35caebc58a349b646274568", size = 10099, upload-time = "2025-12-09T08:39:24.642Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9c/68/17ec09c311a6f3189f3512c942f022831b0cfdd9ce7fce50fe8bb5c88b89/greenify-0.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f80e8c6d883db4496d9b9010f967b29be4b1f84a9717ba8084639fac2d8561ad", size = 172389, upload-time = "2025-10-10T04:05:47.775Z" }, - { url = "https://files.pythonhosted.org/packages/c6/e2/2523145fac09b35df2fd7bf527c97c4dfc8b16d4d5f46ef1d07543c52549/greenify-0.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc0e3273f065dc5ddbe5b7b03d3eecc39153af7ac0f1a245e23eb699c7aefbbb", size = 183068, upload-time = "2025-10-10T04:05:49.685Z" }, - { url = "https://files.pythonhosted.org/packages/06/ac/07037116edb74b131f4057144d51ca2ab9411af95e46b2580e296e406323/greenify-0.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:111653d4cb5ed2154f5faf3a2e07173661551120d932538afe6235ecfbcc3039", size = 195409, upload-time = "2025-10-10T04:05:50.997Z" }, - { url = "https://files.pythonhosted.org/packages/d3/90/b1e3ac5d73300d191a9b8c709889dead20ddfb1b262209a04b397b23943a/greenify-0.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b5d3330f3eb94a70f4203747e56fbd95a5d35b08b1278f48843882c61b7c3e4c", size = 194398, upload-time = "2025-10-10T04:05:51.935Z" }, - { url = "https://files.pythonhosted.org/packages/bf/6c/ef4686a20592f6f47187f51397c49b54f48fcc059efdcd5a74518820c69c/greenify-0.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:041f960e0224c12ca6f82a0a19d4456cf65700bf03772ebb40595a0df7e3cc88", size = 191869, upload-time = "2025-10-10T04:05:52.857Z" }, + { url = "https://files.pythonhosted.org/packages/74/2f/5159daec5e839630698c53a762b9a0e5dd347a7c5189545e620d8d188dde/greenify-0.5.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:087711c1b24b47ab86bd7ceeaf9a93f4896b4da072bc9a1875c7f206bdf31e55", size = 153741, upload-time = "2025-12-09T08:39:23.567Z" }, ] [[package]] name = "greenlet" -version = "3.2.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/03/b8/704d753a5a45507a7aab61f18db9509302ed3d0a27ac7e0359ec2905b1a6/greenlet-3.2.4.tar.gz", hash = "sha256:0dca0d95ff849f9a364385f36ab49f50065d76964944638be9691e1832e9f86d", size = 188260, upload-time = "2025-08-07T13:24:33.51Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/ed/6bfa4109fcb23a58819600392564fea69cdc6551ffd5e69ccf1d52a40cbc/greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c68325b0d0acf8d91dde4e6f930967dd52a5302cd4062932a6b2e7c2969f47c", size = 271061, upload-time = "2025-08-07T13:17:15.373Z" }, - { url = "https://files.pythonhosted.org/packages/2a/fc/102ec1a2fc015b3a7652abab7acf3541d58c04d3d17a8d3d6a44adae1eb1/greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:94385f101946790ae13da500603491f04a76b6e4c059dab271b3ce2e283b2590", size = 629475, upload-time = "2025-08-07T13:42:54.009Z" }, - { url = "https://files.pythonhosted.org/packages/c5/26/80383131d55a4ac0fb08d71660fd77e7660b9db6bdb4e8884f46d9f2cc04/greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f10fd42b5ee276335863712fa3da6608e93f70629c631bf77145021600abc23c", size = 640802, upload-time = "2025-08-07T13:45:25.52Z" }, - { url = "https://files.pythonhosted.org/packages/9f/7c/e7833dbcd8f376f3326bd728c845d31dcde4c84268d3921afcae77d90d08/greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c8c9e331e58180d0d83c5b7999255721b725913ff6bc6cf39fa2a45841a4fd4b", size = 636703, upload-time = "2025-08-07T13:53:12.622Z" }, - { url = "https://files.pythonhosted.org/packages/e9/49/547b93b7c0428ede7b3f309bc965986874759f7d89e4e04aeddbc9699acb/greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58b97143c9cc7b86fc458f215bd0932f1757ce649e05b640fea2e79b54cedb31", size = 635417, upload-time = "2025-08-07T13:18:25.189Z" }, - { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, - { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, - { url = "https://files.pythonhosted.org/packages/a1/8d/88f3ebd2bc96bf7747093696f4335a0a8a4c5acfcf1b757717c0d2474ba3/greenlet-3.2.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8854167e06950ca75b898b104b63cc646573aa5fef1353d4508ecdd1ee76254f", size = 1137126, upload-time = "2025-08-07T13:18:20.239Z" }, - { url = "https://files.pythonhosted.org/packages/d6/6f/b60b0291d9623c496638c582297ead61f43c4b72eef5e9c926ef4565ec13/greenlet-3.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:73f49b5368b5359d04e18d15828eecc1806033db5233397748f4ca813ff1056c", size = 298654, upload-time = "2025-08-07T13:50:00.469Z" }, - { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, - { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, - { url = "https://files.pythonhosted.org/packages/ae/8f/95d48d7e3d433e6dae5b1682e4292242a53f22df82e6d3dda81b1701a960/greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:94abf90142c2a18151632371140b3dba4dee031633fe614cb592dbb6c9e17bc3", size = 644646, upload-time = "2025-08-07T13:45:26.523Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5e/405965351aef8c76b8ef7ad370e5da58d57ef6068df197548b015464001a/greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:4d1378601b85e2e5171b99be8d2dc85f594c79967599328f95c1dc1a40f1c633", size = 640519, upload-time = "2025-08-07T13:53:13.928Z" }, - { url = "https://files.pythonhosted.org/packages/25/5d/382753b52006ce0218297ec1b628e048c4e64b155379331f25a7316eb749/greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0db5594dce18db94f7d1650d7489909b57afde4c580806b8d9203b6e79cdc079", size = 639707, upload-time = "2025-08-07T13:18:27.146Z" }, - { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, - { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, - { url = "https://files.pythonhosted.org/packages/3f/cc/b07000438a29ac5cfb2194bfc128151d52f333cee74dd7dfe3fb733fc16c/greenlet-3.2.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:55e9c5affaa6775e2c6b67659f3a71684de4c549b3dd9afca3bc773533d284fa", size = 1142073, upload-time = "2025-08-07T13:18:21.737Z" }, - { url = "https://files.pythonhosted.org/packages/d8/0f/30aef242fcab550b0b3520b8e3561156857c94288f0332a79928c31a52cf/greenlet-3.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:9c40adce87eaa9ddb593ccb0fa6a07caf34015a29bf8d344811665b573138db9", size = 299100, upload-time = "2025-08-07T13:44:12.287Z" }, - { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, - { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, - { url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" }, - { url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" }, - { url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" }, - { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, - { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, - { url = "https://files.pythonhosted.org/packages/3f/c7/12381b18e21aef2c6bd3a636da1088b888b97b7a0362fac2e4de92405f97/greenlet-3.2.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:20fb936b4652b6e307b8f347665e2c615540d4b42b3b4c8a321d8286da7e520f", size = 1151142, upload-time = "2025-08-07T13:18:22.981Z" }, - { url = "https://files.pythonhosted.org/packages/e9/08/b0814846b79399e585f974bbeebf5580fbe59e258ea7be64d9dfb253c84f/greenlet-3.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:a7d4e128405eea3814a12cc2605e0e6aedb4035bf32697f72deca74de4105e02", size = 299899, upload-time = "2025-08-07T13:38:53.448Z" }, - { url = "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", size = 272814, upload-time = "2025-08-07T13:15:50.011Z" }, - { url = "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", size = 641073, upload-time = "2025-08-07T13:42:57.23Z" }, - { url = "https://files.pythonhosted.org/packages/f7/0b/bc13f787394920b23073ca3b6c4a7a21396301ed75a655bcb47196b50e6e/greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:710638eb93b1fa52823aa91bf75326f9ecdfd5e0466f00789246a5280f4ba0fc", size = 655191, upload-time = "2025-08-07T13:45:29.752Z" }, - { url = "https://files.pythonhosted.org/packages/f2/d6/6adde57d1345a8d0f14d31e4ab9c23cfe8e2cd39c3baf7674b4b0338d266/greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c5111ccdc9c88f423426df3fd1811bfc40ed66264d35aa373420a34377efc98a", size = 649516, upload-time = "2025-08-07T13:53:16.314Z" }, - { url = "https://files.pythonhosted.org/packages/7f/3b/3a3328a788d4a473889a2d403199932be55b1b0060f4ddd96ee7cdfcad10/greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76383238584e9711e20ebe14db6c88ddcedc1829a9ad31a584389463b5aa504", size = 652169, upload-time = "2025-08-07T13:18:32.861Z" }, - { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, - { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, - { url = "https://files.pythonhosted.org/packages/a2/15/0d5e4e1a66fab130d98168fe984c509249c833c1a3c16806b90f253ce7b9/greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d25c5091190f2dc0eaa3f950252122edbbadbb682aa7b1ef2f8af0f8c0afefae", size = 1149210, upload-time = "2025-08-07T13:18:24.072Z" }, - { url = "https://files.pythonhosted.org/packages/0b/55/2321e43595e6801e105fcfdee02b34c0f996eb71e6ddffca6b10b7e1d771/greenlet-3.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:554b03b6e73aaabec3745364d6239e9e012d64c68ccd0b8430c64ccc14939a8b", size = 299685, upload-time = "2025-08-07T13:24:38.824Z" }, - { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, - { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, - { url = "https://files.pythonhosted.org/packages/c0/aa/687d6b12ffb505a4447567d1f3abea23bd20e73a5bed63871178e0831b7a/greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c17b6b34111ea72fc5a4e4beec9711d2226285f0386ea83477cbb97c30a3f3a5", size = 699218, upload-time = "2025-08-07T13:45:30.969Z" }, - { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, - { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, - { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, - { url = "https://files.pythonhosted.org/packages/e3/a5/6ddab2b4c112be95601c13428db1d8b6608a8b6039816f2ba09c346c08fc/greenlet-3.2.4-cp314-cp314-win_amd64.whl", hash = "sha256:e37ab26028f12dbb0ff65f29a8d3d44a765c61e729647bf2ddfbbed621726f01", size = 303425, upload-time = "2025-08-07T13:32:27.59Z" }, +version = "3.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/99/1cd3411c56a410994669062bd73dd58270c00cc074cac15f385a1fd91f8a/greenlet-3.3.1.tar.gz", hash = "sha256:41848f3230b58c08bb43dee542e74a2a2e34d3c59dc3076cec9151aeeedcae98", size = 184690, upload-time = "2026-01-23T15:31:02.076Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/65/5b235b40581ad75ab97dcd8b4218022ae8e3ab77c13c919f1a1dfe9171fd/greenlet-3.3.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:04bee4775f40ecefcdaa9d115ab44736cd4b9c5fba733575bfe9379419582e13", size = 273723, upload-time = "2026-01-23T15:30:37.521Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ad/eb4729b85cba2d29499e0a04ca6fbdd8f540afd7be142fd571eea43d712f/greenlet-3.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50e1457f4fed12a50e427988a07f0f9df53cf0ee8da23fab16e6732c2ec909d4", size = 574874, upload-time = "2026-01-23T16:00:54.551Z" }, + { url = "https://files.pythonhosted.org/packages/87/32/57cad7fe4c8b82fdaa098c89498ef85ad92dfbb09d5eb713adedfc2ae1f5/greenlet-3.3.1-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:070472cd156f0656f86f92e954591644e158fd65aa415ffbe2d44ca77656a8f5", size = 586309, upload-time = "2026-01-23T16:05:25.18Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/f041005cb87055e62b0d68680e88ec1a57f4688523d5e2fb305841bc8307/greenlet-3.3.1-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1108b61b06b5224656121c3c8ee8876161c491cbe74e5c519e0634c837cf93d5", size = 597461, upload-time = "2026-01-23T16:15:51.943Z" }, + { url = "https://files.pythonhosted.org/packages/87/eb/8a1ec2da4d55824f160594a75a9d8354a5fe0a300fb1c48e7944265217e1/greenlet-3.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a300354f27dd86bae5fbf7002e6dd2b3255cd372e9242c933faf5e859b703fe", size = 586985, upload-time = "2026-01-23T15:32:47.968Z" }, + { url = "https://files.pythonhosted.org/packages/15/1c/0621dd4321dd8c351372ee8f9308136acb628600658a49be1b7504208738/greenlet-3.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e84b51cbebf9ae573b5fbd15df88887815e3253fc000a7d0ff95170e8f7e9729", size = 1547271, upload-time = "2026-01-23T16:04:18.977Z" }, + { url = "https://files.pythonhosted.org/packages/9d/53/24047f8924c83bea7a59c8678d9571209c6bfe5f4c17c94a78c06024e9f2/greenlet-3.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e0093bd1a06d899892427217f0ff2a3c8f306182b8c754336d32e2d587c131b4", size = 1613427, upload-time = "2026-01-23T15:33:44.428Z" }, + { url = "https://files.pythonhosted.org/packages/ff/07/ac9bf1ec008916d1a3373cae212884c1dcff4a4ba0d41127ce81a8deb4e9/greenlet-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:7932f5f57609b6a3b82cc11877709aa7a98e3308983ed93552a1c377069b20c8", size = 226100, upload-time = "2026-01-23T15:30:56.957Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e8/2e1462c8fdbe0f210feb5ac7ad2d9029af8be3bf45bd9fa39765f821642f/greenlet-3.3.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:5fd23b9bc6d37b563211c6abbb1b3cab27db385a4449af5c32e932f93017080c", size = 274974, upload-time = "2026-01-23T15:31:02.891Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a8/530a401419a6b302af59f67aaf0b9ba1015855ea7e56c036b5928793c5bd/greenlet-3.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09f51496a0bfbaa9d74d36a52d2580d1ef5ed4fdfcff0a73730abfbbbe1403dd", size = 577175, upload-time = "2026-01-23T16:00:56.213Z" }, + { url = "https://files.pythonhosted.org/packages/8e/89/7e812bb9c05e1aaef9b597ac1d0962b9021d2c6269354966451e885c4e6b/greenlet-3.3.1-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb0feb07fe6e6a74615ee62a880007d976cf739b6669cce95daa7373d4fc69c5", size = 590401, upload-time = "2026-01-23T16:05:26.365Z" }, + { url = "https://files.pythonhosted.org/packages/70/ae/e2d5f0e59b94a2269b68a629173263fa40b63da32f5c231307c349315871/greenlet-3.3.1-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:67ea3fc73c8cd92f42467a72b75e8f05ed51a0e9b1d15398c913416f2dafd49f", size = 601161, upload-time = "2026-01-23T16:15:53.456Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ae/8d472e1f5ac5efe55c563f3eabb38c98a44b832602e12910750a7c025802/greenlet-3.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:39eda9ba259cc9801da05351eaa8576e9aa83eb9411e8f0c299e05d712a210f2", size = 590272, upload-time = "2026-01-23T15:32:49.411Z" }, + { url = "https://files.pythonhosted.org/packages/a8/51/0fde34bebfcadc833550717eade64e35ec8738e6b097d5d248274a01258b/greenlet-3.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e2e7e882f83149f0a71ac822ebf156d902e7a5d22c9045e3e0d1daf59cee2cc9", size = 1550729, upload-time = "2026-01-23T16:04:20.867Z" }, + { url = "https://files.pythonhosted.org/packages/16/c9/2fb47bee83b25b119d5a35d580807bb8b92480a54b68fef009a02945629f/greenlet-3.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:80aa4d79eb5564f2e0a6144fcc744b5a37c56c4a92d60920720e99210d88db0f", size = 1615552, upload-time = "2026-01-23T15:33:45.743Z" }, + { url = "https://files.pythonhosted.org/packages/1f/54/dcf9f737b96606f82f8dd05becfb8d238db0633dd7397d542a296fe9cad3/greenlet-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:32e4ca9777c5addcbf42ff3915d99030d8e00173a56f80001fb3875998fe410b", size = 226462, upload-time = "2026-01-23T15:36:50.422Z" }, + { url = "https://files.pythonhosted.org/packages/91/37/61e1015cf944ddd2337447d8e97fb423ac9bc21f9963fb5f206b53d65649/greenlet-3.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:da19609432f353fed186cc1b85e9440db93d489f198b4bdf42ae19cc9d9ac9b4", size = 225715, upload-time = "2026-01-23T15:33:17.298Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c8/9d76a66421d1ae24340dfae7e79c313957f6e3195c144d2c73333b5bfe34/greenlet-3.3.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:7e806ca53acf6d15a888405880766ec84721aa4181261cd11a457dfe9a7a4975", size = 276443, upload-time = "2026-01-23T15:30:10.066Z" }, + { url = "https://files.pythonhosted.org/packages/81/99/401ff34bb3c032d1f10477d199724f5e5f6fbfb59816ad1455c79c1eb8e7/greenlet-3.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d842c94b9155f1c9b3058036c24ffb8ff78b428414a19792b2380be9cecf4f36", size = 597359, upload-time = "2026-01-23T16:00:57.394Z" }, + { url = "https://files.pythonhosted.org/packages/2b/bc/4dcc0871ed557792d304f50be0f7487a14e017952ec689effe2180a6ff35/greenlet-3.3.1-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:20fedaadd422fa02695f82093f9a98bad3dab5fcda793c658b945fcde2ab27ba", size = 607805, upload-time = "2026-01-23T16:05:28.068Z" }, + { url = "https://files.pythonhosted.org/packages/3b/cd/7a7ca57588dac3389e97f7c9521cb6641fd8b6602faf1eaa4188384757df/greenlet-3.3.1-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c620051669fd04ac6b60ebc70478210119c56e2d5d5df848baec4312e260e4ca", size = 622363, upload-time = "2026-01-23T16:15:54.754Z" }, + { url = "https://files.pythonhosted.org/packages/cf/05/821587cf19e2ce1f2b24945d890b164401e5085f9d09cbd969b0c193cd20/greenlet-3.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14194f5f4305800ff329cbf02c5fcc88f01886cadd29941b807668a45f0d2336", size = 609947, upload-time = "2026-01-23T15:32:51.004Z" }, + { url = "https://files.pythonhosted.org/packages/a4/52/ee8c46ed9f8babaa93a19e577f26e3d28a519feac6350ed6f25f1afee7e9/greenlet-3.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7b2fe4150a0cf59f847a67db8c155ac36aed89080a6a639e9f16df5d6c6096f1", size = 1567487, upload-time = "2026-01-23T16:04:22.125Z" }, + { url = "https://files.pythonhosted.org/packages/8f/7c/456a74f07029597626f3a6db71b273a3632aecb9afafeeca452cfa633197/greenlet-3.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:49f4ad195d45f4a66a0eb9c1ba4832bb380570d361912fa3554746830d332149", size = 1636087, upload-time = "2026-01-23T15:33:47.486Z" }, + { url = "https://files.pythonhosted.org/packages/34/2f/5e0e41f33c69655300a5e54aeb637cf8ff57f1786a3aba374eacc0228c1d/greenlet-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cc98b9c4e4870fa983436afa999d4eb16b12872fab7071423d5262fa7120d57a", size = 227156, upload-time = "2026-01-23T15:34:34.808Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ab/717c58343cf02c5265b531384b248787e04d8160b8afe53d9eec053d7b44/greenlet-3.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:bfb2d1763d777de5ee495c85309460f6fd8146e50ec9d0ae0183dbf6f0a829d1", size = 226403, upload-time = "2026-01-23T15:31:39.372Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ab/d26750f2b7242c2b90ea2ad71de70cfcd73a948a49513188a0fc0d6fc15a/greenlet-3.3.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:7ab327905cabb0622adca5971e488064e35115430cec2c35a50fd36e72a315b3", size = 275205, upload-time = "2026-01-23T15:30:24.556Z" }, + { url = "https://files.pythonhosted.org/packages/10/d3/be7d19e8fad7c5a78eeefb2d896a08cd4643e1e90c605c4be3b46264998f/greenlet-3.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65be2f026ca6a176f88fb935ee23c18333ccea97048076aef4db1ef5bc0713ac", size = 599284, upload-time = "2026-01-23T16:00:58.584Z" }, + { url = "https://files.pythonhosted.org/packages/ae/21/fe703aaa056fdb0f17e5afd4b5c80195bbdab701208918938bd15b00d39b/greenlet-3.3.1-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7a3ae05b3d225b4155bda56b072ceb09d05e974bc74be6c3fc15463cf69f33fd", size = 610274, upload-time = "2026-01-23T16:05:29.312Z" }, + { url = "https://files.pythonhosted.org/packages/06/00/95df0b6a935103c0452dad2203f5be8377e551b8466a29650c4c5a5af6cc/greenlet-3.3.1-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:12184c61e5d64268a160226fb4818af4df02cfead8379d7f8b99a56c3a54ff3e", size = 624375, upload-time = "2026-01-23T16:15:55.915Z" }, + { url = "https://files.pythonhosted.org/packages/cb/86/5c6ab23bb3c28c21ed6bebad006515cfe08b04613eb105ca0041fecca852/greenlet-3.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6423481193bbbe871313de5fd06a082f2649e7ce6e08015d2a76c1e9186ca5b3", size = 612904, upload-time = "2026-01-23T15:32:52.317Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/7949994264e22639e40718c2daf6f6df5169bf48fb038c008a489ec53a50/greenlet-3.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:33a956fe78bbbda82bfc95e128d61129b32d66bcf0a20a1f0c08aa4839ffa951", size = 1567316, upload-time = "2026-01-23T16:04:23.316Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6e/d73c94d13b6465e9f7cd6231c68abde838bb22408596c05d9059830b7872/greenlet-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b065d3284be43728dd280f6f9a13990b56470b81be20375a207cdc814a983f2", size = 1636549, upload-time = "2026-01-23T15:33:48.643Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b3/c9c23a6478b3bcc91f979ce4ca50879e4d0b2bd7b9a53d8ecded719b92e2/greenlet-3.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:27289986f4e5b0edec7b5a91063c109f0276abb09a7e9bdab08437525977c946", size = 227042, upload-time = "2026-01-23T15:33:58.216Z" }, + { url = "https://files.pythonhosted.org/packages/90/e7/824beda656097edee36ab15809fd063447b200cc03a7f6a24c34d520bc88/greenlet-3.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:2f080e028001c5273e0b42690eaf359aeef9cb1389da0f171ea51a5dc3c7608d", size = 226294, upload-time = "2026-01-23T15:30:52.73Z" }, + { url = "https://files.pythonhosted.org/packages/ae/fb/011c7c717213182caf78084a9bea51c8590b0afda98001f69d9f853a495b/greenlet-3.3.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:bd59acd8529b372775cd0fcbc5f420ae20681c5b045ce25bd453ed8455ab99b5", size = 275737, upload-time = "2026-01-23T15:32:16.889Z" }, + { url = "https://files.pythonhosted.org/packages/41/2e/a3a417d620363fdbb08a48b1dd582956a46a61bf8fd27ee8164f9dfe87c2/greenlet-3.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b31c05dd84ef6871dd47120386aed35323c944d86c3d91a17c4b8d23df62f15b", size = 646422, upload-time = "2026-01-23T16:01:00.354Z" }, + { url = "https://files.pythonhosted.org/packages/b4/09/c6c4a0db47defafd2d6bab8ddfe47ad19963b4e30f5bed84d75328059f8c/greenlet-3.3.1-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02925a0bfffc41e542c70aa14c7eda3593e4d7e274bfcccca1827e6c0875902e", size = 658219, upload-time = "2026-01-23T16:05:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/e2/89/b95f2ddcc5f3c2bc09c8ee8d77be312df7f9e7175703ab780f2014a0e781/greenlet-3.3.1-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3e0f3878ca3a3ff63ab4ea478585942b53df66ddde327b59ecb191b19dbbd62d", size = 671455, upload-time = "2026-01-23T16:15:57.232Z" }, + { url = "https://files.pythonhosted.org/packages/80/38/9d42d60dffb04b45f03dbab9430898352dba277758640751dc5cc316c521/greenlet-3.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34a729e2e4e4ffe9ae2408d5ecaf12f944853f40ad724929b7585bca808a9d6f", size = 660237, upload-time = "2026-01-23T15:32:53.967Z" }, + { url = "https://files.pythonhosted.org/packages/96/61/373c30b7197f9e756e4c81ae90a8d55dc3598c17673f91f4d31c3c689c3f/greenlet-3.3.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:aec9ab04e82918e623415947921dea15851b152b822661cce3f8e4393c3df683", size = 1615261, upload-time = "2026-01-23T16:04:25.066Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d3/ca534310343f5945316f9451e953dcd89b36fe7a19de652a1dc5a0eeef3f/greenlet-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:71c767cf281a80d02b6c1bdc41c9468e1f5a494fb11bc8688c360524e273d7b1", size = 1683719, upload-time = "2026-01-23T15:33:50.61Z" }, + { url = "https://files.pythonhosted.org/packages/52/cb/c21a3fd5d2c9c8b622e7bede6d6d00e00551a5ee474ea6d831b5f567a8b4/greenlet-3.3.1-cp314-cp314-win_amd64.whl", hash = "sha256:96aff77af063b607f2489473484e39a0bbae730f2ea90c9e5606c9b73c44174a", size = 228125, upload-time = "2026-01-23T15:32:45.265Z" }, + { url = "https://files.pythonhosted.org/packages/6a/8e/8a2db6d11491837af1de64b8aff23707c6e85241be13c60ed399a72e2ef8/greenlet-3.3.1-cp314-cp314-win_arm64.whl", hash = "sha256:b066e8b50e28b503f604fa538adc764a638b38cf8e81e025011d26e8a627fa79", size = 227519, upload-time = "2026-01-23T15:31:47.284Z" }, + { url = "https://files.pythonhosted.org/packages/28/24/cbbec49bacdcc9ec652a81d3efef7b59f326697e7edf6ed775a5e08e54c2/greenlet-3.3.1-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:3e63252943c921b90abb035ebe9de832c436401d9c45f262d80e2d06cc659242", size = 282706, upload-time = "2026-01-23T15:33:05.525Z" }, + { url = "https://files.pythonhosted.org/packages/86/2e/4f2b9323c144c4fe8842a4e0d92121465485c3c2c5b9e9b30a52e80f523f/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76e39058e68eb125de10c92524573924e827927df5d3891fbc97bd55764a8774", size = 651209, upload-time = "2026-01-23T16:01:01.517Z" }, + { url = "https://files.pythonhosted.org/packages/d9/87/50ca60e515f5bb55a2fbc5f0c9b5b156de7d2fc51a0a69abc9d23914a237/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9f9d5e7a9310b7a2f416dd13d2e3fd8b42d803968ea580b7c0f322ccb389b97", size = 654300, upload-time = "2026-01-23T16:05:32.199Z" }, + { url = "https://files.pythonhosted.org/packages/7c/25/c51a63f3f463171e09cb586eb64db0861eb06667ab01a7968371a24c4f3b/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4b9721549a95db96689458a1e0ae32412ca18776ed004463df3a9299c1b257ab", size = 662574, upload-time = "2026-01-23T16:15:58.364Z" }, + { url = "https://files.pythonhosted.org/packages/1d/94/74310866dfa2b73dd08659a3d18762f83985ad3281901ba0ee9a815194fb/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92497c78adf3ac703b57f1e3813c2d874f27f71a178f9ea5887855da413cd6d2", size = 653842, upload-time = "2026-01-23T15:32:55.671Z" }, + { url = "https://files.pythonhosted.org/packages/97/43/8bf0ffa3d498eeee4c58c212a3905dd6146c01c8dc0b0a046481ca29b18c/greenlet-3.3.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ed6b402bc74d6557a705e197d47f9063733091ed6357b3de33619d8a8d93ac53", size = 1614917, upload-time = "2026-01-23T16:04:26.276Z" }, + { url = "https://files.pythonhosted.org/packages/89/90/a3be7a5f378fc6e84abe4dcfb2ba32b07786861172e502388b4c90000d1b/greenlet-3.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:59913f1e5ada20fde795ba906916aea25d442abcc0593fba7e26c92b7ad76249", size = 1676092, upload-time = "2026-01-23T15:33:52.176Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2b/98c7f93e6db9977aaee07eb1e51ca63bd5f779b900d362791d3252e60558/greenlet-3.3.1-cp314-cp314t-win_amd64.whl", hash = "sha256:301860987846c24cb8964bdec0e31a96ad4a2a801b41b4ef40963c1b44f33451", size = 233181, upload-time = "2026-01-23T15:33:00.29Z" }, ] [[package]] name = "griffe" -version = "1.14.0" +version = "1.15.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/d7/6c09dd7ce4c7837e4cdb11dce980cb45ae3cd87677298dc3b781b6bce7d3/griffe-1.14.0.tar.gz", hash = "sha256:9d2a15c1eca966d68e00517de5d69dd1bc5c9f2335ef6c1775362ba5b8651a13", size = 424684, upload-time = "2025-09-05T15:02:29.167Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/0c/3a471b6e31951dce2360477420d0a8d1e00dea6cf33b70f3e8c3ab6e28e1/griffe-1.15.0.tar.gz", hash = "sha256:7726e3afd6f298fbc3696e67958803e7ac843c1cfe59734b6251a40cdbfb5eea", size = 424112, upload-time = "2025-11-10T15:03:15.52Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl", hash = "sha256:0e9d52832cccf0f7188cfe585ba962d2674b241c01916d780925df34873bceb0", size = 144439, upload-time = "2025-09-05T15:02:27.511Z" }, + { url = "https://files.pythonhosted.org/packages/9c/83/3b1d03d36f224edded98e9affd0467630fc09d766c0e56fb1498cbb04a9b/griffe-1.15.0-py3-none-any.whl", hash = "sha256:6f6762661949411031f5fcda9593f586e6ce8340f0ba88921a0f2ef7a81eb9a3", size = 150705, upload-time = "2025-11-10T15:03:13.549Z" }, ] [[package]] @@ -610,23 +615,23 @@ wheels = [ [[package]] name = "iniconfig" -version = "2.1.0" +version = "2.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] [[package]] name = "ipykernel" -version = "6.30.1" +version = "6.31.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "appnope", marker = "sys_platform == 'darwin'" }, { name = "comm" }, { name = "debugpy" }, - { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "ipython", version = "9.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "ipython", version = "8.38.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "jupyter-client" }, { name = "jupyter-core" }, { name = "matplotlib-inline" }, @@ -637,14 +642,14 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/76/11082e338e0daadc89c8ff866185de11daf67d181901038f9e139d109761/ipykernel-6.30.1.tar.gz", hash = "sha256:6abb270161896402e76b91394fcdce5d1be5d45f456671e5080572f8505be39b", size = 166260, upload-time = "2025-08-04T15:47:35.018Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/1d/d5ba6edbfe6fae4c3105bca3a9c889563cc752c7f2de45e333164c7f4846/ipykernel-6.31.0.tar.gz", hash = "sha256:2372ce8bc1ff4f34e58cafed3a0feb2194b91fc7cad0fc72e79e47b45ee9e8f6", size = 167493, upload-time = "2025-10-20T11:42:39.948Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/c7/b445faca8deb954fe536abebff4ece5b097b923de482b26e78448c89d1dd/ipykernel-6.30.1-py3-none-any.whl", hash = "sha256:aa6b9fb93dca949069d8b85b6c79b2518e32ac583ae9c7d37c51d119e18b3fb4", size = 117484, upload-time = "2025-08-04T15:47:32.622Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d8/502954a4ec0efcf264f99b65b41c3c54e65a647d9f0d6f62cd02227d242c/ipykernel-6.31.0-py3-none-any.whl", hash = "sha256:abe5386f6ced727a70e0eb0cf1da801fa7c5fa6ff82147747d5a0406cd8c94af", size = 117003, upload-time = "2025-10-20T11:42:37.502Z" }, ] [[package]] name = "ipython" -version = "8.37.0" +version = "8.38.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version < '3.11'", @@ -662,14 +667,14 @@ dependencies = [ { name = "traitlets", marker = "python_full_version < '3.11'" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/85/31/10ac88f3357fc276dc8a64e8880c82e80e7459326ae1d0a211b40abf6665/ipython-8.37.0.tar.gz", hash = "sha256:ca815841e1a41a1e6b73a0b08f3038af9b2252564d01fc405356d34033012216", size = 5606088, upload-time = "2025-05-31T16:39:09.613Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/61/1810830e8b93c72dcd3c0f150c80a00c3deb229562d9423807ec92c3a539/ipython-8.38.0.tar.gz", hash = "sha256:9cfea8c903ce0867cc2f23199ed8545eb741f3a69420bfcf3743ad1cec856d39", size = 5513996, upload-time = "2026-01-05T10:59:06.901Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/d0/274fbf7b0b12643cbbc001ce13e6a5b1607ac4929d1b11c72460152c9fc3/ipython-8.37.0-py3-none-any.whl", hash = "sha256:ed87326596b878932dbcb171e3e698845434d8c61b8d8cd474bf663041a9dcf2", size = 831864, upload-time = "2025-05-31T16:39:06.38Z" }, + { url = "https://files.pythonhosted.org/packages/9f/df/db59624f4c71b39717c423409950ac3f2c8b2ce4b0aac843112c7fb3f721/ipython-8.38.0-py3-none-any.whl", hash = "sha256:750162629d800ac65bb3b543a14e7a74b0e88063eac9b92124d4b2aa3f6d8e86", size = 831813, upload-time = "2026-01-05T10:59:04.239Z" }, ] [[package]] name = "ipython" -version = "9.6.0" +version = "9.10.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.11'", @@ -687,9 +692,9 @@ dependencies = [ { name = "traitlets", marker = "python_full_version >= '3.11'" }, { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2a/34/29b18c62e39ee2f7a6a3bba7efd952729d8aadd45ca17efc34453b717665/ipython-9.6.0.tar.gz", hash = "sha256:5603d6d5d356378be5043e69441a072b50a5b33b4503428c77b04cb8ce7bc731", size = 4396932, upload-time = "2025-09-29T10:55:53.948Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/60/2111715ea11f39b1535bed6024b7dec7918b71e5e5d30855a5b503056b50/ipython-9.10.0.tar.gz", hash = "sha256:cd9e656be97618a0676d058134cd44e6dc7012c0e5cb36a9ce96a8c904adaf77", size = 4426526, upload-time = "2026-02-02T10:00:33.594Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl", hash = "sha256:5f77efafc886d2f023442479b8149e7d86547ad0a979e9da9f045d252f648196", size = 616170, upload-time = "2025-09-29T10:55:47.676Z" }, + { url = "https://files.pythonhosted.org/packages/3d/aa/898dec789a05731cd5a9f50605b7b44a72bd198fd0d4528e11fc610177cc/ipython-9.10.0-py3-none-any.whl", hash = "sha256:c6ab68cc23bba8c7e18e9b932797014cc61ea7fd6f19de180ab9ba73e65ee58d", size = 622774, upload-time = "2026-02-02T10:00:31.503Z" }, ] [[package]] @@ -730,16 +735,16 @@ wheels = [ [[package]] name = "jmespath" -version = "1.0.1" +version = "1.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz", hash = "sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d", size = 27377, upload-time = "2026-01-22T16:35:26.279Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, + { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" }, ] [[package]] name = "jsonschema" -version = "4.25.1" +version = "4.26.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, @@ -747,9 +752,9 @@ dependencies = [ { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, + { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" }, ] [[package]] @@ -766,7 +771,7 @@ wheels = [ [[package]] name = "jupyter-client" -version = "8.6.3" +version = "8.8.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-core" }, @@ -775,22 +780,22 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } +sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020, upload-time = "2026-01-08T13:55:47.938Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, + { url = "https://files.pythonhosted.org/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a", size = 107371, upload-time = "2026-01-08T13:55:45.562Z" }, ] [[package]] name = "jupyter-core" -version = "5.9.0" +version = "5.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "platformdirs" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6f/0c/7b01e93e054555cbadf614f2ff10ea77aecbc8867831914d8a2c5868481a/jupyter_core-5.9.0.tar.gz", hash = "sha256:5f8fba10cfc946fe1b4037e986458fc89430397207b21d741dc399d3d42951d4", size = 89804, upload-time = "2025-10-16T12:12:23.851Z" } +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/f2/5efda2a70d98288f4d94baba8489cd782d53772233c77351864bc754a146/jupyter_core-5.9.0-py3-none-any.whl", hash = "sha256:bf13431d292ce34a25568586729a3b9deb07d112289b77350dc4c2340c2f34c1", size = 29024, upload-time = "2025-10-16T12:12:22.19Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, ] [[package]] @@ -804,7 +809,7 @@ wheels = [ [[package]] name = "jupytext" -version = "1.17.3" +version = "1.19.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, @@ -814,18 +819,18 @@ dependencies = [ { name = "pyyaml" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/15/14/41faf71e168fcc6c48268f0fc67ba0d6acf6ee4e2c5c785c2bccb967c29d/jupytext-1.17.3.tar.gz", hash = "sha256:8b6dae76d63c95cad47b493c38f0d9c74491fb621dcd0980abfcac4c8f168679", size = 3753151, upload-time = "2025-08-28T18:30:51.117Z" } +sdist = { url = "https://files.pythonhosted.org/packages/13/a5/80c02f307c8ce863cb33e27daf049315e9d96979e14eead700923b5ec9cc/jupytext-1.19.1.tar.gz", hash = "sha256:82587c07e299173c70ed5e8ec7e75183edf1be289ed518bab49ad0d4e3d5f433", size = 4307829, upload-time = "2026-01-25T21:35:13.276Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/36/86/751ec86adb66104d15e650b704f89dddd64ba29283178b9651b9bc84b624/jupytext-1.17.3-py3-none-any.whl", hash = "sha256:09b0a94cd904416e823a5ba9f41bd181031215b6fc682d2b5c18e68354feb17c", size = 166548, upload-time = "2025-08-28T18:30:47.733Z" }, + { url = "https://files.pythonhosted.org/packages/16/5a/736dd2f4535dbf3bf26523f9158c011389ef88dd06ec2eef67fd744f1c7b/jupytext-1.19.1-py3-none-any.whl", hash = "sha256:d8975035155d034bdfde5c0c37891425314b7ea8d3a6c4b5d18c294348714cd9", size = 170478, upload-time = "2026-01-25T21:35:11.17Z" }, ] [[package]] name = "markdown" -version = "3.9" +version = "3.10.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8d/37/02347f6d6d8279247a5837082ebc26fc0d5aaeaf75aa013fcbb433c777ab/markdown-3.9.tar.gz", hash = "sha256:d2900fe1782bd33bdbbd56859defef70c2e78fc46668f8eb9df3128138f2cb6a", size = 364585, upload-time = "2025-09-04T20:25:22.885Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/b1/af95bcae8549f1f3fd70faacb29075826a0d689a27f232e8cee315efa053/markdown-3.10.1.tar.gz", hash = "sha256:1c19c10bd5c14ac948c53d0d762a04e2fa35a6d58a6b7b1e6bfcbe6fefc0001a", size = 365402, upload-time = "2026-01-21T18:09:28.206Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl", hash = "sha256:9f4d91ed810864ea88a6f32c07ba8bee1346c0cc1f6b1f9f6c822f2a9667d280", size = 107441, upload-time = "2025-09-04T20:25:21.784Z" }, + { url = "https://files.pythonhosted.org/packages/59/1b/6ef961f543593969d25b2afe57a3564200280528caa9bd1082eecdd7b3bc/markdown-3.10.1-py3-none-any.whl", hash = "sha256:867d788939fe33e4b736426f5b9f651ad0c0ae0ecf89df0ca5d1176c70812fe3", size = 107684, upload-time = "2026-01-21T18:09:27.203Z" }, ] [[package]] @@ -927,38 +932,38 @@ wheels = [ [[package]] name = "matplotlib-inline" -version = "0.1.7" +version = "0.2.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110, upload-time = "2025-10-23T09:00:22.126Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, + { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" }, ] [[package]] name = "maturin" -version = "1.9.6" +version = "1.11.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9a/35/c3370188492f4c139c7a318f438d01b8185c216303c49c4bc885c98b6afb/maturin-1.9.6.tar.gz", hash = "sha256:2c2ae37144811d365509889ed7220b0598487f1278c2441829c3abf56cc6324a", size = 214846, upload-time = "2025-10-07T12:45:08.408Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a4/84/bfed8cc10e2d8b6656cf0f0ca6609218e6fcb45a62929f5094e1063570f7/maturin-1.11.5.tar.gz", hash = "sha256:7579cf47640fb9595a19fe83a742cbf63203f0343055c349c1cab39045a30c29", size = 226885, upload-time = "2026-01-09T11:06:13.801Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/55/5c/b435418ba4ba2647a1f7a95d53314991b1e556e656ae276dea993c3bce1d/maturin-1.9.6-py3-none-linux_armv6l.whl", hash = "sha256:26e3ab1a42a7145824210e9d763f6958f2c46afb1245ddd0bab7d78b1f59bb3f", size = 8134483, upload-time = "2025-10-07T12:44:44.274Z" }, - { url = "https://files.pythonhosted.org/packages/4d/1c/8e58eda6601f328b412cdeeaa88a9b6a10e591e2a73f313e8c0154d68385/maturin-1.9.6-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:5263dda3f71feef2e4122baf5c4620e4b3710dbb7f2121f85a337182de214369", size = 15776470, upload-time = "2025-10-07T12:44:47.476Z" }, - { url = "https://files.pythonhosted.org/packages/6c/33/8c967cce6848cdd87a2e442c86120ac644b80c5ed4c32e3291bde6a17df8/maturin-1.9.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:fe78262c2800c92f67d1ce3c0f6463f958a692cc67bfb572e5dbf5b4b696a8ba", size = 8226557, upload-time = "2025-10-07T12:44:49.844Z" }, - { url = "https://files.pythonhosted.org/packages/58/bd/3e2675cdc8b7270700ba30c663c852a35694441732a107ac30ebd6878bd8/maturin-1.9.6-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:7ab827c6e8c022eb2e1e7fb6deede54549c8460b20ccc2e9268cc6e8cde957a8", size = 8166544, upload-time = "2025-10-07T12:44:51.396Z" }, - { url = "https://files.pythonhosted.org/packages/58/1f/a2047ddf2230e700d5f8a13dd4b9af5ce806ad380c32e58105888205926e/maturin-1.9.6-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:0246202377c49449315305209f45c8ecef6e2d6bd27a04b5b6f1ab3e4ea47238", size = 8641010, upload-time = "2025-10-07T12:44:53.658Z" }, - { url = "https://files.pythonhosted.org/packages/be/1f/265d63c7aa6faf363d4a3f23396f51bc6b4d5c7680a4190ae68dba25dea2/maturin-1.9.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:f5bac167700fbb6f8c8ed1a97b494522554b4432d7578e11403b894b6a91d99f", size = 7965945, upload-time = "2025-10-07T12:44:55.248Z" }, - { url = "https://files.pythonhosted.org/packages/4c/ca/a8e61979ccfe080948bcc1bddd79356157aee687134df7fb013050cec783/maturin-1.9.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:7f53d3b1d8396d3fea3e1ee5fd37558bca5719090f3d194ba1c02b0b56327ae3", size = 7978820, upload-time = "2025-10-07T12:44:56.919Z" }, - { url = "https://files.pythonhosted.org/packages/bf/4a/81b412f8ad02a99801ef19ec059fba0822d1d28fb44cb6a92e722f05f278/maturin-1.9.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:7f506eb358386d94d6ec3208c003130cf4b69cab26034fc0cbbf8bf83afa4c2e", size = 10452064, upload-time = "2025-10-07T12:44:58.232Z" }, - { url = "https://files.pythonhosted.org/packages/5b/12/cc96c7a8cb51d8dcc9badd886c361caa1526fba7fa69d1e7892e613b71d4/maturin-1.9.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2d6984ab690af509f525dbd2b130714207c06ebb14a5814edbe1e42b17ae0de", size = 8852401, upload-time = "2025-10-07T12:44:59.8Z" }, - { url = "https://files.pythonhosted.org/packages/51/8e/653ac3c9f2c25cdd81aefb0a2d17ff140ca5a14504f5e3c7f94dcfe4dbb7/maturin-1.9.6-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5c2252b0956bb331460ac750c805ddf0d9b44442449fc1f16e3b66941689d0bc", size = 8425057, upload-time = "2025-10-07T12:45:01.711Z" }, - { url = "https://files.pythonhosted.org/packages/db/29/f13490328764ae9bfc1da55afc5b707cebe4fa75ad7a1573bfa82cfae0c6/maturin-1.9.6-py3-none-win32.whl", hash = "sha256:f2c58d29ebdd4346fd004e6be213d071fdd94a77a16aa91474a21a4f9dbf6309", size = 7165956, upload-time = "2025-10-07T12:45:03.766Z" }, - { url = "https://files.pythonhosted.org/packages/db/9f/dd51e5ac1fce47581b8efa03d77a03f928c0ef85b6e48a61dfa37b6b85a2/maturin-1.9.6-py3-none-win_amd64.whl", hash = "sha256:1b39a5d82572c240d20d9e8be024d722dfb311d330c5e28ddeb615211755941a", size = 8145722, upload-time = "2025-10-07T12:45:05.487Z" }, - { url = "https://files.pythonhosted.org/packages/65/f2/e97aaba6d0d78c5871771bf9dd71d4eb8dac15df9109cf452748d2207412/maturin-1.9.6-py3-none-win_arm64.whl", hash = "sha256:ac02a30083553d2a781c10cd6f5480119bf6692fd177e743267406cad2ad198c", size = 6857006, upload-time = "2025-10-07T12:45:06.813Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6c/3443d2f8c6d4eae5fc7479cd4053542aff4c1a8566d0019d0612d241b15a/maturin-1.11.5-py3-none-linux_armv6l.whl", hash = "sha256:edd1d4d35050ea2b9ef42aa01e87fe019a1e822940346b35ccb973e0aa8f6d82", size = 8845897, upload-time = "2026-01-09T11:06:17.327Z" }, + { url = "https://files.pythonhosted.org/packages/c5/03/abf1826d8aebc0d47ef6d21bdd752d98d63ac4372ad2b115db9cd5176229/maturin-1.11.5-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:2a596eab137cb3e169b97e89a739515abfa7a8755e2e5f0fc91432ef446f74f4", size = 17233855, upload-time = "2026-01-09T11:06:04.272Z" }, + { url = "https://files.pythonhosted.org/packages/90/a1/5ad62913271724035a7e4bcf796d7c95b4119317ae5f8cb034844aa99bc4/maturin-1.11.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1c27a2eb47821edf26c75d100b3150b52dca2c1a5f074d7514af06f7a7acb9d5", size = 8881776, upload-time = "2026-01-09T11:06:10.24Z" }, + { url = "https://files.pythonhosted.org/packages/c6/66/997974b44f8d3de641281ec04fbf5b6ca821bdc8291a2fa73305978db74d/maturin-1.11.5-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:f1320dacddcd3aa84a4bdfc77ee6fdb60e4c3835c853d7eb79c09473628b0498", size = 8870347, upload-time = "2026-01-09T11:06:12.178Z" }, + { url = "https://files.pythonhosted.org/packages/58/e0/c8fa042daf0608cc2e9a59b6df3a9e287bfc7f229136f17727f4118bac2d/maturin-1.11.5-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:ffe7418834ff3b4a6c987187b7abb85ba033f4733e089d77d84e2de87057b4e7", size = 9291396, upload-time = "2026-01-09T11:06:02.05Z" }, + { url = "https://files.pythonhosted.org/packages/99/af/9d3edc8375efc8d435d5f24794bc4de234d4e743447592da970d53b31361/maturin-1.11.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:c739b243d012386902f112ea63a54a94848932b70ae3565fa5e121fd1c0200e0", size = 8827831, upload-time = "2026-01-09T11:06:19.523Z" }, + { url = "https://files.pythonhosted.org/packages/8a/12/cc341f6abbf9005f90935a4ee5dc7b30e2df7d1bb90b96d48b756b2c0ee7/maturin-1.11.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:8127d2cd25950bacbcdc8a2ec6daab1d4d27200f7d73964392680ad64d27f7f0", size = 8718895, upload-time = "2026-01-09T11:06:21.617Z" }, + { url = "https://files.pythonhosted.org/packages/76/17/654a59c66287e287373f2a0086e4fc8a23f0545a81c2bd6e324db26a5801/maturin-1.11.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:2a4e872fb78e77748217084ffeb59de565d08a86ccefdace054520aaa7b66db4", size = 11384741, upload-time = "2026-01-09T11:06:15.261Z" }, + { url = "https://files.pythonhosted.org/packages/2e/da/7118de648182971d723ea99d79c55007f96cdafc95f5322cc1ad15f6683e/maturin-1.11.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2079447967819b5cf615e5b5b99a406d662effdc8d6afd493dcd253c6afc3707", size = 9423814, upload-time = "2026-01-09T11:05:57.242Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/be14395c6e23b19ddaa0c171e68915bdcd1ef61ad1f411739c6721196903/maturin-1.11.5-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:50f6c668c1d5d4d4dc1c3ffec7b4270dab493e5b2368f8e4213f4bcde6a50eea", size = 9104378, upload-time = "2026-01-09T11:05:59.835Z" }, + { url = "https://files.pythonhosted.org/packages/77/83/53ea82a2f42a03930ea5545673d11a4ef49bb886827353a701f41a5f11c4/maturin-1.11.5-py3-none-win32.whl", hash = "sha256:49f85ce6cbe478e9743ecddd6da2964afc0ded57013aa4d054256be702d23d40", size = 7738696, upload-time = "2026-01-09T11:06:06.651Z" }, + { url = "https://files.pythonhosted.org/packages/3c/41/353a26d49aa80081c514a6354d429efbecedb90d0153ec598cece3baa607/maturin-1.11.5-py3-none-win_amd64.whl", hash = "sha256:70d3e5beffb9ef9dfae5f3c1a7eeb572091505eb8cb076e9434518df1c42a73b", size = 9029838, upload-time = "2026-01-09T11:05:54.543Z" }, + { url = "https://files.pythonhosted.org/packages/15/67/c94f8f5440bc42d54113a2d99de0d6107f06b5a33f31823e52b2715d856f/maturin-1.11.5-py3-none-win_arm64.whl", hash = "sha256:9348f7f0a346108e0c96e6719be91da4470bd43c15802435e9f4157f5cca43d4", size = 7624029, upload-time = "2026-01-09T11:06:08.728Z" }, ] [[package]] @@ -993,14 +998,14 @@ wheels = [ [[package]] name = "mistune" -version = "3.1.4" +version = "3.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d7/02/a7fb8b21d4d55ac93cdcde9d3638da5dd0ebdd3a4fed76c7725e10b81cbe/mistune-3.1.4.tar.gz", hash = "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164", size = 94588, upload-time = "2025-08-29T07:20:43.594Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/55/d01f0c4b45ade6536c51170b9043db8b2ec6ddf4a35c7ea3f5f559ac935b/mistune-3.2.0.tar.gz", hash = "sha256:708487c8a8cdd99c9d90eb3ed4c3ed961246ff78ac82f03418f5183ab70e398a", size = 95467, upload-time = "2025-12-23T11:36:34.994Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" }, + { url = "https://files.pythonhosted.org/packages/9b/f7/4a5e785ec9fbd65146a27b6b70b6cdc161a66f2024e4b04ac06a67f5578b/mistune-3.2.0-py3-none-any.whl", hash = "sha256:febdc629a3c78616b94393c6580551e0e34cc289987ec6c35ed3f4be42d0eee1", size = 53598, upload-time = "2025-12-23T11:36:33.211Z" }, ] [[package]] @@ -1074,7 +1079,7 @@ wheels = [ [[package]] name = "mkdocs-material" -version = "9.6.22" +version = "9.7.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, @@ -1089,9 +1094,9 @@ dependencies = [ { name = "pymdown-extensions" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/5d/317e37b6c43325cb376a1d6439df9cc743b8ee41c84603c2faf7286afc82/mkdocs_material-9.6.22.tar.gz", hash = "sha256:87c158b0642e1ada6da0cbd798a3389b0bc5516b90e5ece4a0fb939f00bacd1c", size = 4044968, upload-time = "2025-10-15T09:21:15.409Z" } +sdist = { url = "https://files.pythonhosted.org/packages/27/e2/2ffc356cd72f1473d07c7719d82a8f2cbd261666828614ecb95b12169f41/mkdocs_material-9.7.1.tar.gz", hash = "sha256:89601b8f2c3e6c6ee0a918cc3566cb201d40bf37c3cd3c2067e26fadb8cce2b8", size = 4094392, upload-time = "2025-12-18T09:49:00.308Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/82/6fdb9a7a04fb222f4849ffec1006f891a0280825a20314d11f3ccdee14eb/mkdocs_material-9.6.22-py3-none-any.whl", hash = "sha256:14ac5f72d38898b2f98ac75a5531aaca9366eaa427b0f49fc2ecf04d99b7ad84", size = 9206252, upload-time = "2025-10-15T09:21:12.175Z" }, + { url = "https://files.pythonhosted.org/packages/3e/32/ed071cb721aca8c227718cffcf7bd539620e9799bbf2619e90c757bfd030/mkdocs_material-9.7.1-py3-none-any.whl", hash = "sha256:3f6100937d7d731f87f1e3e3b021c97f7239666b9ba1151ab476cabb96c60d5c", size = 9297166, upload-time = "2025-12-18T09:48:56.664Z" }, ] [[package]] @@ -1105,7 +1110,7 @@ wheels = [ [[package]] name = "mkdocstrings" -version = "0.30.1" +version = "1.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jinja2" }, @@ -1115,9 +1120,9 @@ dependencies = [ { name = "mkdocs-autorefs" }, { name = "pymdown-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c5/33/2fa3243439f794e685d3e694590d28469a9b8ea733af4b48c250a3ffc9a0/mkdocstrings-0.30.1.tar.gz", hash = "sha256:84a007aae9b707fb0aebfc9da23db4b26fc9ab562eb56e335e9ec480cb19744f", size = 106350, upload-time = "2025-09-19T10:49:26.446Z" } +sdist = { url = "https://files.pythonhosted.org/packages/63/4d/1ca8a9432579184599714aaeb36591414cc3d3bfd9d494f6db540c995ae4/mkdocstrings-1.0.2.tar.gz", hash = "sha256:48edd0ccbcb9e30a3121684e165261a9d6af4d63385fc4f39a54a49ac3b32ea8", size = 101048, upload-time = "2026-01-24T15:57:25.735Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/2c/f0dc4e1ee7f618f5bff7e05898d20bf8b6e7fa612038f768bfa295f136a4/mkdocstrings-0.30.1-py3-none-any.whl", hash = "sha256:41bd71f284ca4d44a668816193e4025c950b002252081e387433656ae9a70a82", size = 36704, upload-time = "2025-09-19T10:49:24.805Z" }, + { url = "https://files.pythonhosted.org/packages/57/32/407a9a5fdd7d8ecb4af8d830b9bcdf47ea68f916869b3f44bac31f081250/mkdocstrings-1.0.2-py3-none-any.whl", hash = "sha256:41897815a8026c3634fe5d51472c3a569f92ded0ad8c7a640550873eea3b6817", size = 35443, upload-time = "2026-01-24T15:57:23.933Z" }, ] [package.optional-dependencies] @@ -1127,7 +1132,7 @@ python = [ [[package]] name = "mkdocstrings-python" -version = "1.18.2" +version = "2.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "griffe" }, @@ -1135,98 +1140,98 @@ dependencies = [ { name = "mkdocstrings" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/ae/58ab2bfbee2792e92a98b97e872f7c003deb903071f75d8d83aa55db28fa/mkdocstrings_python-1.18.2.tar.gz", hash = "sha256:4ad536920a07b6336f50d4c6d5603316fafb1172c5c882370cbbc954770ad323", size = 207972, upload-time = "2025-08-28T16:11:19.847Z" } +sdist = { url = "https://files.pythonhosted.org/packages/24/75/d30af27a2906f00eb90143470272376d728521997800f5dce5b340ba35bc/mkdocstrings_python-2.0.1.tar.gz", hash = "sha256:843a562221e6a471fefdd4b45cc6c22d2607ccbad632879234fa9692e9cf7732", size = 199345, upload-time = "2025-12-03T14:26:11.755Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl", hash = "sha256:944fe6deb8f08f33fa936d538233c4036e9f53e840994f6146e8e94eb71b600d", size = 138215, upload-time = "2025-08-28T16:11:18.176Z" }, + { url = "https://files.pythonhosted.org/packages/81/06/c5f8deba7d2cbdfa7967a716ae801aa9ca5f734b8f54fd473ef77a088dbe/mkdocstrings_python-2.0.1-py3-none-any.whl", hash = "sha256:66ecff45c5f8b71bf174e11d49afc845c2dfc7fc0ab17a86b6b337e0f24d8d90", size = 105055, upload-time = "2025-12-03T14:26:10.184Z" }, ] [[package]] name = "mypy-boto3-cloudformation" -version = "1.40.44" +version = "1.42.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8c/2c/140b6b0d74afa4854edb3b3e640ff96c711270f27711ad1325cecc5661c1/mypy_boto3_cloudformation-1.40.44.tar.gz", hash = "sha256:3d82f5504382c86ad195a1b80a2a82f73587c37e1b636864ebb85dd43bd79a5b", size = 57870, upload-time = "2025-10-02T20:32:01.1Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/6a/5a56081f693680fae9a0cf5d04358a9c69b7c06fc36605192acfcc70da75/mypy_boto3_cloudformation-1.42.3.tar.gz", hash = "sha256:3bd3849bc89a371d4c368691535b320244ba00579cddd63bb58b73f28d70e510", size = 61118, upload-time = "2025-12-04T20:57:30.382Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/38/12301080cc5004593b8593c0cc7404c13d702ac1c15d4e0ccfacd1f4f416/mypy_boto3_cloudformation-1.40.44-py3-none-any.whl", hash = "sha256:64c8fe58ab7661fbb0bdea07c7375d3ebc3875760140feb6ad8f591a08a22647", size = 69896, upload-time = "2025-10-02T20:31:56.896Z" }, + { url = "https://files.pythonhosted.org/packages/76/4b/97b5a89b5c5ca057180901859a7cea1f163e1bef1e1ccff61a731b0db6a0/mypy_boto3_cloudformation-1.42.3-py3-none-any.whl", hash = "sha256:d4c802dd78844f10e944143b9f40c2c1199ed5f57f3540ab7bfc2281ac5bcaf0", size = 72126, upload-time = "2025-12-04T20:57:27.664Z" }, ] [[package]] name = "mypy-boto3-dynamodb" -version = "1.40.44" +version = "1.42.41" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0a/63/31bc3e1d890541284df0d5569e61398d563c1982724ec4f19c08142e7048/mypy_boto3_dynamodb-1.40.44.tar.gz", hash = "sha256:58fa3a638b1caef5644b60f5894e1182a2951feb30a3dc6dedb34e1b0c9ded99", size = 47947, upload-time = "2025-10-02T20:37:27.963Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/3f/34530be07d07e4187304c8e02d6dba487abc6d2e1dc4c10301c6258282e1/mypy_boto3_dynamodb-1.42.41.tar.gz", hash = "sha256:6102c5ecf25b1ef485274ca9c6af79eb76f66200cd075515edd2b96565f9892d", size = 48617, upload-time = "2026-02-03T21:05:37.67Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/52/1e6230eab337062f19fcfe1bd39cff0cc841b9a48c37318fd2b4d66b07a3/mypy_boto3_dynamodb-1.40.44-py3-none-any.whl", hash = "sha256:ab978a9d24997d513c5e35bf4aae9b3dfe4f8482a13799180ecefbb1dc93d271", size = 56994, upload-time = "2025-10-02T20:31:56.823Z" }, + { url = "https://files.pythonhosted.org/packages/e8/99/83a4cd943648eaf37d87f910afd43a09d6bd028f4d5108eefed858d8e69d/mypy_boto3_dynamodb-1.42.41-py3-none-any.whl", hash = "sha256:0e0f33d9babb17e7b1308e0dba3dcf1145115a0ceb354b5426e44cc68c44a5a1", size = 58701, upload-time = "2026-02-03T21:05:33.772Z" }, ] [[package]] name = "mypy-boto3-ec2" -version = "1.40.53" +version = "1.42.38" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/46/d7/749e3ec6bf7d57ee6b1822c8bfab87f0bb624ac1b4cf2fe1db5137a79753/mypy_boto3_ec2-1.40.53.tar.gz", hash = "sha256:4828d7a572018e0df5ff43a49c38097c106f5427fc8144838ae0f820611319e0", size = 415454, upload-time = "2025-10-15T19:47:34.622Z" } +sdist = { url = "https://files.pythonhosted.org/packages/59/b8/7319c77b2712aa11dc2a2bfe1a107b77dd174fdb967f75cbbab5528dac9c/mypy_boto3_ec2-1.42.38.tar.gz", hash = "sha256:9e2fe3678c539e754b9cf628ed0e32a431661960724838e30a02d42d6d2d32bd", size = 434200, upload-time = "2026-01-29T20:49:20.953Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/71/6294c720e9e3e160e67bc3d50fa2edcd568620fa0ce978824f536c93601f/mypy_boto3_ec2-1.40.53-py3-none-any.whl", hash = "sha256:ab1de46f938f03fc2517208f1b435a600bd747e1e8b5a6ff4537615cc44876fd", size = 404880, upload-time = "2025-10-15T19:42:39.711Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e1/6b101af79817aa1627f046f3e433cb5d178cff48361fb8e6f74eea0af73e/mypy_boto3_ec2-1.42.38-py3-none-any.whl", hash = "sha256:b7271acf07eac5dfd31ffa1488cdbf1b57a3027f169471c96ec0c4836a90ef8c", size = 424315, upload-time = "2026-01-29T20:49:16.844Z" }, ] [[package]] name = "mypy-boto3-lambda" -version = "1.40.50" +version = "1.42.37" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/27/af/0bce015eb183a5bd43a90774ef995e183c44a150c105361cd8ed629d2d18/mypy_boto3_lambda-1.40.50.tar.gz", hash = "sha256:a709e0ac6940783aad08ff5cf98c789a215840bab17e468ca5e22305ad0aea05", size = 42491, upload-time = "2025-10-10T20:32:10.202Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/a8/caec8f9a196143f991c603b9364b0a1300b5c54d0c833c6c1dc792b3050c/mypy_boto3_lambda-1.42.37.tar.gz", hash = "sha256:94f7f0708f9b5ffa5b8b3eb6d564be1ef402ebb8b8cd96045332b7a3bc1ea0e0", size = 51821, upload-time = "2026-01-28T20:51:44.74Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/a9/32047c5a3234f909ea873a469e8d6bce8f303fe07e1ab3039eb056e795f6/mypy_boto3_lambda-1.40.50-py3-none-any.whl", hash = "sha256:a9cf2da625e8b15b31525c16e8278e3efad31002be6c6fc0a82b191042adfb09", size = 49109, upload-time = "2025-10-10T20:32:05.881Z" }, + { url = "https://files.pythonhosted.org/packages/b8/4c/d172fac61aa689c96fe286e7adb9774e5094f5c0a52fa1a6888699b47d7f/mypy_boto3_lambda-1.42.37-py3-none-any.whl", hash = "sha256:9614518cbe3c300d3d1e2d9c3d857c3829c44a8544c4cd4ca393d35181b22619", size = 60175, upload-time = "2026-01-28T20:51:39.865Z" }, ] [[package]] name = "mypy-boto3-rds" -version = "1.40.50" +version = "1.42.28" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/f3/6a3f8cc77cf07f44975076d9eaaf0281cc9b2b6ff9472244bd8d8b9d9900/mypy_boto3_rds-1.40.50.tar.gz", hash = "sha256:7d5506bf7eab2b59266f93261049c2ac25c460f7e09f583abb86980699c3bed5", size = 85565, upload-time = "2025-10-10T20:32:20.09Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/4c/d67412654a92a3d2ce4ec88a232340e4c57a0c37ffe40c782865362498ac/mypy_boto3_rds-1.42.28.tar.gz", hash = "sha256:7195e8b6bb85c50f075d3e582580adbc87b982abcb9e7ab04b9b22d91356730e", size = 86136, upload-time = "2026-01-14T20:50:34.754Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/35/4935f6657a24bd604fd601f60a7d0e5a25befd58b8989073fa792be06254/mypy_boto3_rds-1.40.50-py3-none-any.whl", hash = "sha256:455f6636ac63c4c94aaeaa9376529cc39c0532fb9bcd511c646a0ef4b001d788", size = 92006, upload-time = "2025-10-10T20:32:14.185Z" }, + { url = "https://files.pythonhosted.org/packages/27/46/34425ec59563d917e8118b70b0c3307c5b8b8c32b1f9fade28e9ebfbe8db/mypy_boto3_rds-1.42.28-py3-none-any.whl", hash = "sha256:c1c96bf90360a30d5f19869d20fda28be559a2a30c008c2da2d0ac0b06675655", size = 92847, upload-time = "2026-01-14T20:50:29.063Z" }, ] [[package]] name = "mypy-boto3-s3" -version = "1.40.26" +version = "1.42.37" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/b8/55d21ed9ca479df66d9892212ba7d7977850ef17aa80a83e3f11f31190fd/mypy_boto3_s3-1.40.26.tar.gz", hash = "sha256:8d2bfd1052894d0e84c9fb9358d838ba0eed0265076c7dd7f45622c770275c99", size = 75948, upload-time = "2025-09-08T20:12:21.405Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/41/44066f4cd3421bacb6aad4ec7b1da8d0f8858560e526166db64d95fa7ad7/mypy_boto3_s3-1.42.37.tar.gz", hash = "sha256:628a4652f727870a07e1c3854d6f30dc545a7dd5a4b719a2c59c32a95d92e4c1", size = 76317, upload-time = "2026-01-28T20:51:52.971Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/a5/dba3384423834009bdd41c7021de5c663468a0e7bc4071cb301721e52a99/mypy_boto3_s3-1.40.26-py3-none-any.whl", hash = "sha256:6d055d16ef89a0133ade92f6b4f09603e4acc31a0f5e8f846edf4eb48f17b5a7", size = 82762, upload-time = "2025-09-08T20:12:19.338Z" }, + { url = "https://files.pythonhosted.org/packages/94/06/cb6050ecd72f5fa449bac80ad1a4711719367c4f545201317f36e3999784/mypy_boto3_s3-1.42.37-py3-none-any.whl", hash = "sha256:7c118665f3f583dbfde1013ce47908749f9d2a760f28f59ec65732306ee9cec9", size = 83439, upload-time = "2026-01-28T20:51:49.99Z" }, ] [[package]] name = "mypy-boto3-sqs" -version = "1.40.35" +version = "1.42.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/be/27ead4078dc1faa9c6c1916e0f7cfdb102925591eaab153a496640250541/mypy_boto3_sqs-1.40.35.tar.gz", hash = "sha256:c11f95ee72bddb84f7fecf3000372e01547f36737064b785f1cf34191b87e03f", size = 23583, upload-time = "2025-09-19T19:42:27.814Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/e4/e326b1072218996c5cb4c3969eb4bbf1fb67a89937974febdebe7bf9d98a/mypy_boto3_sqs-1.42.3.tar.gz", hash = "sha256:699995b9a6f69a97c6d3e9126a76f06751e3b405640174fe7c20fe71d9ddc82a", size = 23267, upload-time = "2025-12-04T21:13:27.326Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/12/383dbfd97656f0271e4b7f047be211b49ee3daa2d5d78869b8c2993c906b/mypy_boto3_sqs-1.40.35-py3-none-any.whl", hash = "sha256:719967d5973ab99a1298381023add28da45ee0dca2b5bf4969b7b5e4fc1a5db8", size = 33779, upload-time = "2025-09-19T19:42:23.975Z" }, + { url = "https://files.pythonhosted.org/packages/00/fb/216fe53352b7f4abfafe25bb38a1cdba224b0280d552c789da592aa21bd2/mypy_boto3_sqs-1.42.3-py3-none-any.whl", hash = "sha256:a1f4ddf8f84112931a4814f0b5ff63e3ec026a07fbbc68e60bf15fa697dc214e", size = 33507, upload-time = "2025-12-04T21:13:23.725Z" }, ] [[package]] name = "nbclient" -version = "0.10.2" +version = "0.10.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jupyter-client" }, @@ -1234,14 +1239,14 @@ dependencies = [ { name = "nbformat" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } +sdist = { url = "https://files.pythonhosted.org/packages/56/91/1c1d5a4b9a9ebba2b4e32b8c852c2975c872aec1fe42ab5e516b2cecd193/nbclient-0.10.4.tar.gz", hash = "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9", size = 62554, upload-time = "2025-12-23T07:45:46.369Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, + { url = "https://files.pythonhosted.org/packages/83/a0/5b0c2f11142ed1dddec842457d3f65eaf71a0080894eb6f018755b319c3a/nbclient-0.10.4-py3-none-any.whl", hash = "sha256:9162df5a7373d70d606527300a95a975a47c137776cd942e52d9c7e29ff83440", size = 25465, upload-time = "2025-12-23T07:45:44.51Z" }, ] [[package]] name = "nbconvert" -version = "7.16.6" +version = "7.17.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, @@ -1259,9 +1264,9 @@ dependencies = [ { name = "pygments" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } +sdist = { url = "https://files.pythonhosted.org/packages/38/47/81f886b699450d0569f7bc551df2b1673d18df7ff25cc0c21ca36ed8a5ff/nbconvert-7.17.0.tar.gz", hash = "sha256:1b2696f1b5be12309f6c7d707c24af604b87dfaf6d950794c7b07acab96dda78", size = 862855, upload-time = "2026-01-29T16:37:48.478Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, + { url = "https://files.pythonhosted.org/packages/0d/4b/8d5f796a792f8a25f6925a96032f098789f448571eb92011df1ae59e8ea8/nbconvert-7.17.0-py3-none-any.whl", hash = "sha256:4f99a63b337b9a23504347afdab24a11faa7d86b405e5c8f9881cd313336d518", size = 261510, upload-time = "2026-01-29T16:37:46.322Z" }, ] [[package]] @@ -1303,6 +1308,8 @@ benchmark = [ ] dev = [ { name = "maturin" }, + { name = "ruff" }, + { name = "ty" }, ] docs = [ { name = "mkdocs" }, @@ -1310,9 +1317,6 @@ docs = [ { name = "mkdocs-material" }, { name = "mkdocstrings", extra = ["python"] }, ] -lint = [ - { name = "ruff" }, -] test = [ { name = "pydantic-settings" }, { name = "pytest" }, @@ -1331,14 +1335,17 @@ benchmark = [ { name = "greenlet", specifier = ">=3.1.1" }, { name = "pydantic", specifier = ">=2.10.6" }, ] -dev = [{ name = "maturin", specifier = ">=1.8.2" }] +dev = [ + { name = "maturin", specifier = ">=1.9.4,<2.0" }, + { name = "ruff", specifier = ">=0.9.10" }, + { name = "ty", specifier = ">=0.0.15" }, +] docs = [ { name = "mkdocs" }, { name = "mkdocs-jupyter" }, { name = "mkdocs-material" }, { name = "mkdocstrings", extras = ["python"] }, ] -lint = [{ name = "ruff", specifier = ">=0.9.10" }] test = [ { name = "pydantic-settings", specifier = ">=2.8.1" }, { name = "pytest", specifier = ">=8.3.5" }, @@ -1348,11 +1355,11 @@ test = [ [[package]] name = "packaging" -version = "25.0" +version = "26.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, ] [[package]] @@ -1384,11 +1391,11 @@ wheels = [ [[package]] name = "pathspec" -version = "0.12.1" +version = "1.0.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", size = 131200, upload-time = "2026-01-27T03:59:46.938Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, + { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, ] [[package]] @@ -1405,11 +1412,11 @@ wheels = [ [[package]] name = "platformdirs" -version = "4.5.0" +version = "4.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", size = 21632, upload-time = "2025-10-08T17:44:48.791Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" }, + { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" }, ] [[package]] @@ -1435,18 +1442,30 @@ wheels = [ [[package]] name = "psutil" -version = "7.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b3/31/4723d756b59344b643542936e37a31d1d3204bcdc42a7daa8ee9eb06fb50/psutil-7.1.0.tar.gz", hash = "sha256:655708b3c069387c8b77b072fc429a57d0e214221d01c0a772df7dfedcb3bcd2", size = 497660, upload-time = "2025-09-17T20:14:52.902Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/62/ce4051019ee20ce0ed74432dd73a5bb087a6704284a470bb8adff69a0932/psutil-7.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76168cef4397494250e9f4e73eb3752b146de1dd950040b29186d0cce1d5ca13", size = 245242, upload-time = "2025-09-17T20:14:56.126Z" }, - { url = "https://files.pythonhosted.org/packages/38/61/f76959fba841bf5b61123fbf4b650886dc4094c6858008b5bf73d9057216/psutil-7.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:5d007560c8c372efdff9e4579c2846d71de737e4605f611437255e81efcca2c5", size = 246682, upload-time = "2025-09-17T20:14:58.25Z" }, - { url = "https://files.pythonhosted.org/packages/88/7a/37c99d2e77ec30d63398ffa6a660450b8a62517cabe44b3e9bae97696e8d/psutil-7.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e4454970b32472ce7deaa45d045b34d3648ce478e26a04c7e858a0a6e75ff3", size = 287994, upload-time = "2025-09-17T20:14:59.901Z" }, - { url = "https://files.pythonhosted.org/packages/9d/de/04c8c61232f7244aa0a4b9a9fbd63a89d5aeaf94b2fc9d1d16e2faa5cbb0/psutil-7.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70e113920d51e89f212dd7be06219a9b88014e63a4cec69b684c327bc474e3", size = 291163, upload-time = "2025-09-17T20:15:01.481Z" }, - { url = "https://files.pythonhosted.org/packages/f4/58/c4f976234bf6d4737bc8c02a81192f045c307b72cf39c9e5c5a2d78927f6/psutil-7.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d4a113425c037300de3ac8b331637293da9be9713855c4fc9d2d97436d7259d", size = 293625, upload-time = "2025-09-17T20:15:04.492Z" }, - { url = "https://files.pythonhosted.org/packages/79/87/157c8e7959ec39ced1b11cc93c730c4fb7f9d408569a6c59dbd92ceb35db/psutil-7.1.0-cp37-abi3-win32.whl", hash = "sha256:09ad740870c8d219ed8daae0ad3b726d3bf9a028a198e7f3080f6a1888b99bca", size = 244812, upload-time = "2025-09-17T20:15:07.462Z" }, - { url = "https://files.pythonhosted.org/packages/bf/e9/b44c4f697276a7a95b8e94d0e320a7bf7f3318521b23de69035540b39838/psutil-7.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:57f5e987c36d3146c0dd2528cd42151cf96cd359b9d67cfff836995cc5df9a3d", size = 247965, upload-time = "2025-09-17T20:15:09.673Z" }, - { url = "https://files.pythonhosted.org/packages/26/65/1070a6e3c036f39142c2820c4b52e9243246fcfc3f96239ac84472ba361e/psutil-7.1.0-cp37-abi3-win_arm64.whl", hash = "sha256:6937cb68133e7c97b6cc9649a570c9a18ba0efebed46d8c5dae4c07fa1b67a07", size = 244971, upload-time = "2025-09-17T20:15:12.262Z" }, +version = "7.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595, upload-time = "2026-01-28T18:14:57.293Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082, upload-time = "2026-01-28T18:14:59.732Z" }, + { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476, upload-time = "2026-01-28T18:15:01.884Z" }, + { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062, upload-time = "2026-01-28T18:15:04.436Z" }, + { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893, upload-time = "2026-01-28T18:15:06.378Z" }, + { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589, upload-time = "2026-01-28T18:15:08.03Z" }, + { url = "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", size = 130664, upload-time = "2026-01-28T18:15:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", size = 131087, upload-time = "2026-01-28T18:15:11.724Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", size = 182383, upload-time = "2026-01-28T18:15:13.445Z" }, + { url = "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", size = 185210, upload-time = "2026-01-28T18:15:16.002Z" }, + { url = "https://files.pythonhosted.org/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1", size = 141228, upload-time = "2026-01-28T18:15:18.385Z" }, + { url = "https://files.pythonhosted.org/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841", size = 136284, upload-time = "2026-01-28T18:15:19.912Z" }, + { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" }, + { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" }, + { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" }, + { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" }, + { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" }, + { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, ] [[package]] @@ -1469,16 +1488,16 @@ wheels = [ [[package]] name = "pycparser" -version = "2.23" +version = "3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, ] [[package]] name = "pydantic" -version = "2.12.2" +version = "2.12.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-types" }, @@ -1486,137 +1505,141 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8d/35/d319ed522433215526689bad428a94058b6dd12190ce7ddd78618ac14b28/pydantic-2.12.2.tar.gz", hash = "sha256:7b8fa15b831a4bbde9d5b84028641ac3080a4ca2cbd4a621a661687e741624fd", size = 816358, upload-time = "2025-10-14T15:02:21.842Z" } +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/98/468cb649f208a6f1279448e6e5247b37ae79cf5e4041186f1e2ef3d16345/pydantic-2.12.2-py3-none-any.whl", hash = "sha256:25ff718ee909acd82f1ff9b1a4acfd781bb23ab3739adaa7144f19a6a4e231ae", size = 460628, upload-time = "2025-10-14T15:02:19.623Z" }, + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, ] [[package]] name = "pydantic-core" -version = "2.41.4" +version = "2.41.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/18/d0944e8eaaa3efd0a91b0f1fc537d3be55ad35091b6a87638211ba691964/pydantic_core-2.41.4.tar.gz", hash = "sha256:70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5", size = 457557, upload-time = "2025-10-14T10:23:47.909Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/3d/9b8ca77b0f76fcdbf8bc6b72474e264283f461284ca84ac3fde570c6c49a/pydantic_core-2.41.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2442d9a4d38f3411f22eb9dd0912b7cbf4b7d5b6c92c4173b75d3e1ccd84e36e", size = 2111197, upload-time = "2025-10-14T10:19:43.303Z" }, - { url = "https://files.pythonhosted.org/packages/59/92/b7b0fe6ed4781642232755cb7e56a86e2041e1292f16d9ae410a0ccee5ac/pydantic_core-2.41.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:30a9876226dda131a741afeab2702e2d127209bde3c65a2b8133f428bc5d006b", size = 1917909, upload-time = "2025-10-14T10:19:45.194Z" }, - { url = "https://files.pythonhosted.org/packages/52/8c/3eb872009274ffa4fb6a9585114e161aa1a0915af2896e2d441642929fe4/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d55bbac04711e2980645af68b97d445cdbcce70e5216de444a6c4b6943ebcccd", size = 1969905, upload-time = "2025-10-14T10:19:46.567Z" }, - { url = "https://files.pythonhosted.org/packages/f4/21/35adf4a753bcfaea22d925214a0c5b880792e3244731b3f3e6fec0d124f7/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e1d778fb7849a42d0ee5927ab0f7453bf9f85eef8887a546ec87db5ddb178945", size = 2051938, upload-time = "2025-10-14T10:19:48.237Z" }, - { url = "https://files.pythonhosted.org/packages/7d/d0/cdf7d126825e36d6e3f1eccf257da8954452934ede275a8f390eac775e89/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b65077a4693a98b90ec5ad8f203ad65802a1b9b6d4a7e48066925a7e1606706", size = 2250710, upload-time = "2025-10-14T10:19:49.619Z" }, - { url = "https://files.pythonhosted.org/packages/2e/1c/af1e6fd5ea596327308f9c8d1654e1285cc3d8de0d584a3c9d7705bf8a7c/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62637c769dee16eddb7686bf421be48dfc2fae93832c25e25bc7242e698361ba", size = 2367445, upload-time = "2025-10-14T10:19:51.269Z" }, - { url = "https://files.pythonhosted.org/packages/d3/81/8cece29a6ef1b3a92f956ea6da6250d5b2d2e7e4d513dd3b4f0c7a83dfea/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfe3aa529c8f501babf6e502936b9e8d4698502b2cfab41e17a028d91b1ac7b", size = 2072875, upload-time = "2025-10-14T10:19:52.671Z" }, - { url = "https://files.pythonhosted.org/packages/e3/37/a6a579f5fc2cd4d5521284a0ab6a426cc6463a7b3897aeb95b12f1ba607b/pydantic_core-2.41.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca2322da745bf2eeb581fc9ea3bbb31147702163ccbcbf12a3bb630e4bf05e1d", size = 2191329, upload-time = "2025-10-14T10:19:54.214Z" }, - { url = "https://files.pythonhosted.org/packages/ae/03/505020dc5c54ec75ecba9f41119fd1e48f9e41e4629942494c4a8734ded1/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e8cd3577c796be7231dcf80badcf2e0835a46665eaafd8ace124d886bab4d700", size = 2151658, upload-time = "2025-10-14T10:19:55.843Z" }, - { url = "https://files.pythonhosted.org/packages/cb/5d/2c0d09fb53aa03bbd2a214d89ebfa6304be7df9ed86ee3dc7770257f41ee/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:1cae8851e174c83633f0833e90636832857297900133705ee158cf79d40f03e6", size = 2316777, upload-time = "2025-10-14T10:19:57.607Z" }, - { url = "https://files.pythonhosted.org/packages/ea/4b/c2c9c8f5e1f9c864b57d08539d9d3db160e00491c9f5ee90e1bfd905e644/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a26d950449aae348afe1ac8be5525a00ae4235309b729ad4d3399623125b43c9", size = 2320705, upload-time = "2025-10-14T10:19:59.016Z" }, - { url = "https://files.pythonhosted.org/packages/28/c3/a74c1c37f49c0a02c89c7340fafc0ba816b29bd495d1a31ce1bdeacc6085/pydantic_core-2.41.4-cp310-cp310-win32.whl", hash = "sha256:0cf2a1f599efe57fa0051312774280ee0f650e11152325e41dfd3018ef2c1b57", size = 1975464, upload-time = "2025-10-14T10:20:00.581Z" }, - { url = "https://files.pythonhosted.org/packages/d6/23/5dd5c1324ba80303368f7569e2e2e1a721c7d9eb16acb7eb7b7f85cb1be2/pydantic_core-2.41.4-cp310-cp310-win_amd64.whl", hash = "sha256:a8c2e340d7e454dc3340d3d2e8f23558ebe78c98aa8f68851b04dcb7bc37abdc", size = 2024497, upload-time = "2025-10-14T10:20:03.018Z" }, - { url = "https://files.pythonhosted.org/packages/62/4c/f6cbfa1e8efacd00b846764e8484fe173d25b8dab881e277a619177f3384/pydantic_core-2.41.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:28ff11666443a1a8cf2a044d6a545ebffa8382b5f7973f22c36109205e65dc80", size = 2109062, upload-time = "2025-10-14T10:20:04.486Z" }, - { url = "https://files.pythonhosted.org/packages/21/f8/40b72d3868896bfcd410e1bd7e516e762d326201c48e5b4a06446f6cf9e8/pydantic_core-2.41.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:61760c3925d4633290292bad462e0f737b840508b4f722247d8729684f6539ae", size = 1916301, upload-time = "2025-10-14T10:20:06.857Z" }, - { url = "https://files.pythonhosted.org/packages/94/4d/d203dce8bee7faeca791671c88519969d98d3b4e8f225da5b96dad226fc8/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eae547b7315d055b0de2ec3965643b0ab82ad0106a7ffd29615ee9f266a02827", size = 1968728, upload-time = "2025-10-14T10:20:08.353Z" }, - { url = "https://files.pythonhosted.org/packages/65/f5/6a66187775df87c24d526985b3a5d78d861580ca466fbd9d4d0e792fcf6c/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ef9ee5471edd58d1fcce1c80ffc8783a650e3e3a193fe90d52e43bb4d87bff1f", size = 2050238, upload-time = "2025-10-14T10:20:09.766Z" }, - { url = "https://files.pythonhosted.org/packages/5e/b9/78336345de97298cf53236b2f271912ce11f32c1e59de25a374ce12f9cce/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:15dd504af121caaf2c95cb90c0ebf71603c53de98305621b94da0f967e572def", size = 2249424, upload-time = "2025-10-14T10:20:11.732Z" }, - { url = "https://files.pythonhosted.org/packages/99/bb/a4584888b70ee594c3d374a71af5075a68654d6c780369df269118af7402/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a926768ea49a8af4d36abd6a8968b8790f7f76dd7cbd5a4c180db2b4ac9a3a2", size = 2366047, upload-time = "2025-10-14T10:20:13.647Z" }, - { url = "https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6916b9b7d134bff5440098a4deb80e4cb623e68974a87883299de9124126c2a8", size = 2071163, upload-time = "2025-10-14T10:20:15.307Z" }, - { url = "https://files.pythonhosted.org/packages/54/e7/03d2c5c0b8ed37a4617430db68ec5e7dbba66358b629cd69e11b4d564367/pydantic_core-2.41.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5cf90535979089df02e6f17ffd076f07237efa55b7343d98760bde8743c4b265", size = 2190585, upload-time = "2025-10-14T10:20:17.3Z" }, - { url = "https://files.pythonhosted.org/packages/be/fc/15d1c9fe5ad9266a5897d9b932b7f53d7e5cfc800573917a2c5d6eea56ec/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7533c76fa647fade2d7ec75ac5cc079ab3f34879626dae5689b27790a6cf5a5c", size = 2150109, upload-time = "2025-10-14T10:20:19.143Z" }, - { url = "https://files.pythonhosted.org/packages/26/ef/e735dd008808226c83ba56972566138665b71477ad580fa5a21f0851df48/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:37e516bca9264cbf29612539801ca3cd5d1be465f940417b002905e6ed79d38a", size = 2315078, upload-time = "2025-10-14T10:20:20.742Z" }, - { url = "https://files.pythonhosted.org/packages/90/00/806efdcf35ff2ac0f938362350cd9827b8afb116cc814b6b75cf23738c7c/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0c19cb355224037c83642429b8ce261ae108e1c5fbf5c028bac63c77b0f8646e", size = 2318737, upload-time = "2025-10-14T10:20:22.306Z" }, - { url = "https://files.pythonhosted.org/packages/41/7e/6ac90673fe6cb36621a2283552897838c020db343fa86e513d3f563b196f/pydantic_core-2.41.4-cp311-cp311-win32.whl", hash = "sha256:09c2a60e55b357284b5f31f5ab275ba9f7f70b7525e18a132ec1f9160b4f1f03", size = 1974160, upload-time = "2025-10-14T10:20:23.817Z" }, - { url = "https://files.pythonhosted.org/packages/e0/9d/7c5e24ee585c1f8b6356e1d11d40ab807ffde44d2db3b7dfd6d20b09720e/pydantic_core-2.41.4-cp311-cp311-win_amd64.whl", hash = "sha256:711156b6afb5cb1cb7c14a2cc2c4a8b4c717b69046f13c6b332d8a0a8f41ca3e", size = 2021883, upload-time = "2025-10-14T10:20:25.48Z" }, - { url = "https://files.pythonhosted.org/packages/33/90/5c172357460fc28b2871eb4a0fb3843b136b429c6fa827e4b588877bf115/pydantic_core-2.41.4-cp311-cp311-win_arm64.whl", hash = "sha256:6cb9cf7e761f4f8a8589a45e49ed3c0d92d1d696a45a6feaee8c904b26efc2db", size = 1968026, upload-time = "2025-10-14T10:20:27.039Z" }, - { url = "https://files.pythonhosted.org/packages/e9/81/d3b3e95929c4369d30b2a66a91db63c8ed0a98381ae55a45da2cd1cc1288/pydantic_core-2.41.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ab06d77e053d660a6faaf04894446df7b0a7e7aba70c2797465a0a1af00fc887", size = 2099043, upload-time = "2025-10-14T10:20:28.561Z" }, - { url = "https://files.pythonhosted.org/packages/58/da/46fdac49e6717e3a94fc9201403e08d9d61aa7a770fab6190b8740749047/pydantic_core-2.41.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c53ff33e603a9c1179a9364b0a24694f183717b2e0da2b5ad43c316c956901b2", size = 1910699, upload-time = "2025-10-14T10:20:30.217Z" }, - { url = "https://files.pythonhosted.org/packages/1e/63/4d948f1b9dd8e991a5a98b77dd66c74641f5f2e5225fee37994b2e07d391/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:304c54176af2c143bd181d82e77c15c41cbacea8872a2225dd37e6544dce9999", size = 1952121, upload-time = "2025-10-14T10:20:32.246Z" }, - { url = "https://files.pythonhosted.org/packages/b2/a7/e5fc60a6f781fc634ecaa9ecc3c20171d238794cef69ae0af79ac11b89d7/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025ba34a4cf4fb32f917d5d188ab5e702223d3ba603be4d8aca2f82bede432a4", size = 2041590, upload-time = "2025-10-14T10:20:34.332Z" }, - { url = "https://files.pythonhosted.org/packages/70/69/dce747b1d21d59e85af433428978a1893c6f8a7068fa2bb4a927fba7a5ff/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9f5f30c402ed58f90c70e12eff65547d3ab74685ffe8283c719e6bead8ef53f", size = 2219869, upload-time = "2025-10-14T10:20:35.965Z" }, - { url = "https://files.pythonhosted.org/packages/83/6a/c070e30e295403bf29c4df1cb781317b6a9bac7cd07b8d3acc94d501a63c/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd96e5d15385d301733113bcaa324c8bcf111275b7675a9c6e88bfb19fc05e3b", size = 2345169, upload-time = "2025-10-14T10:20:37.627Z" }, - { url = "https://files.pythonhosted.org/packages/f0/83/06d001f8043c336baea7fd202a9ac7ad71f87e1c55d8112c50b745c40324/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f348cbb44fae6e9653c1055db7e29de67ea6a9ca03a5fa2c2e11a47cff0e47", size = 2070165, upload-time = "2025-10-14T10:20:39.246Z" }, - { url = "https://files.pythonhosted.org/packages/14/0a/e567c2883588dd12bcbc110232d892cf385356f7c8a9910311ac997ab715/pydantic_core-2.41.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec22626a2d14620a83ca583c6f5a4080fa3155282718b6055c2ea48d3ef35970", size = 2189067, upload-time = "2025-10-14T10:20:41.015Z" }, - { url = "https://files.pythonhosted.org/packages/f4/1d/3d9fca34273ba03c9b1c5289f7618bc4bd09c3ad2289b5420481aa051a99/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a95d4590b1f1a43bf33ca6d647b990a88f4a3824a8c4572c708f0b45a5290ed", size = 2132997, upload-time = "2025-10-14T10:20:43.106Z" }, - { url = "https://files.pythonhosted.org/packages/52/70/d702ef7a6cd41a8afc61f3554922b3ed8d19dd54c3bd4bdbfe332e610827/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:f9672ab4d398e1b602feadcffcdd3af44d5f5e6ddc15bc7d15d376d47e8e19f8", size = 2307187, upload-time = "2025-10-14T10:20:44.849Z" }, - { url = "https://files.pythonhosted.org/packages/68/4c/c06be6e27545d08b802127914156f38d10ca287a9e8489342793de8aae3c/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:84d8854db5f55fead3b579f04bda9a36461dab0730c5d570e1526483e7bb8431", size = 2305204, upload-time = "2025-10-14T10:20:46.781Z" }, - { url = "https://files.pythonhosted.org/packages/b0/e5/35ae4919bcd9f18603419e23c5eaf32750224a89d41a8df1a3704b69f77e/pydantic_core-2.41.4-cp312-cp312-win32.whl", hash = "sha256:9be1c01adb2ecc4e464392c36d17f97e9110fbbc906bcbe1c943b5b87a74aabd", size = 1972536, upload-time = "2025-10-14T10:20:48.39Z" }, - { url = "https://files.pythonhosted.org/packages/1e/c2/49c5bb6d2a49eb2ee3647a93e3dae7080c6409a8a7558b075027644e879c/pydantic_core-2.41.4-cp312-cp312-win_amd64.whl", hash = "sha256:d682cf1d22bab22a5be08539dca3d1593488a99998f9f412137bc323179067ff", size = 2031132, upload-time = "2025-10-14T10:20:50.421Z" }, - { url = "https://files.pythonhosted.org/packages/06/23/936343dbcba6eec93f73e95eb346810fc732f71ba27967b287b66f7b7097/pydantic_core-2.41.4-cp312-cp312-win_arm64.whl", hash = "sha256:833eebfd75a26d17470b58768c1834dfc90141b7afc6eb0429c21fc5a21dcfb8", size = 1969483, upload-time = "2025-10-14T10:20:52.35Z" }, - { url = "https://files.pythonhosted.org/packages/13/d0/c20adabd181a029a970738dfe23710b52a31f1258f591874fcdec7359845/pydantic_core-2.41.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:85e050ad9e5f6fe1004eec65c914332e52f429bc0ae12d6fa2092407a462c746", size = 2105688, upload-time = "2025-10-14T10:20:54.448Z" }, - { url = "https://files.pythonhosted.org/packages/00/b6/0ce5c03cec5ae94cca220dfecddc453c077d71363b98a4bbdb3c0b22c783/pydantic_core-2.41.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7393f1d64792763a48924ba31d1e44c2cfbc05e3b1c2c9abb4ceeadd912cced", size = 1910807, upload-time = "2025-10-14T10:20:56.115Z" }, - { url = "https://files.pythonhosted.org/packages/68/3e/800d3d02c8beb0b5c069c870cbb83799d085debf43499c897bb4b4aaff0d/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94dab0940b0d1fb28bcab847adf887c66a27a40291eedf0b473be58761c9799a", size = 1956669, upload-time = "2025-10-14T10:20:57.874Z" }, - { url = "https://files.pythonhosted.org/packages/60/a4/24271cc71a17f64589be49ab8bd0751f6a0a03046c690df60989f2f95c2c/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de7c42f897e689ee6f9e93c4bec72b99ae3b32a2ade1c7e4798e690ff5246e02", size = 2051629, upload-time = "2025-10-14T10:21:00.006Z" }, - { url = "https://files.pythonhosted.org/packages/68/de/45af3ca2f175d91b96bfb62e1f2d2f1f9f3b14a734afe0bfeff079f78181/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:664b3199193262277b8b3cd1e754fb07f2c6023289c815a1e1e8fb415cb247b1", size = 2224049, upload-time = "2025-10-14T10:21:01.801Z" }, - { url = "https://files.pythonhosted.org/packages/af/8f/ae4e1ff84672bf869d0a77af24fd78387850e9497753c432875066b5d622/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95b253b88f7d308b1c0b417c4624f44553ba4762816f94e6986819b9c273fb2", size = 2342409, upload-time = "2025-10-14T10:21:03.556Z" }, - { url = "https://files.pythonhosted.org/packages/18/62/273dd70b0026a085c7b74b000394e1ef95719ea579c76ea2f0cc8893736d/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1351f5bbdbbabc689727cb91649a00cb9ee7203e0a6e54e9f5ba9e22e384b84", size = 2069635, upload-time = "2025-10-14T10:21:05.385Z" }, - { url = "https://files.pythonhosted.org/packages/30/03/cf485fff699b4cdaea469bc481719d3e49f023241b4abb656f8d422189fc/pydantic_core-2.41.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1affa4798520b148d7182da0615d648e752de4ab1a9566b7471bc803d88a062d", size = 2194284, upload-time = "2025-10-14T10:21:07.122Z" }, - { url = "https://files.pythonhosted.org/packages/f9/7e/c8e713db32405dfd97211f2fc0a15d6bf8adb7640f3d18544c1f39526619/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7b74e18052fea4aa8dea2fb7dbc23d15439695da6cbe6cfc1b694af1115df09d", size = 2137566, upload-time = "2025-10-14T10:21:08.981Z" }, - { url = "https://files.pythonhosted.org/packages/04/f7/db71fd4cdccc8b75990f79ccafbbd66757e19f6d5ee724a6252414483fb4/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:285b643d75c0e30abda9dc1077395624f314a37e3c09ca402d4015ef5979f1a2", size = 2316809, upload-time = "2025-10-14T10:21:10.805Z" }, - { url = "https://files.pythonhosted.org/packages/76/63/a54973ddb945f1bca56742b48b144d85c9fc22f819ddeb9f861c249d5464/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f52679ff4218d713b3b33f88c89ccbf3a5c2c12ba665fb80ccc4192b4608dbab", size = 2311119, upload-time = "2025-10-14T10:21:12.583Z" }, - { url = "https://files.pythonhosted.org/packages/f8/03/5d12891e93c19218af74843a27e32b94922195ded2386f7b55382f904d2f/pydantic_core-2.41.4-cp313-cp313-win32.whl", hash = "sha256:ecde6dedd6fff127c273c76821bb754d793be1024bc33314a120f83a3c69460c", size = 1981398, upload-time = "2025-10-14T10:21:14.584Z" }, - { url = "https://files.pythonhosted.org/packages/be/d8/fd0de71f39db91135b7a26996160de71c073d8635edfce8b3c3681be0d6d/pydantic_core-2.41.4-cp313-cp313-win_amd64.whl", hash = "sha256:d081a1f3800f05409ed868ebb2d74ac39dd0c1ff6c035b5162356d76030736d4", size = 2030735, upload-time = "2025-10-14T10:21:16.432Z" }, - { url = "https://files.pythonhosted.org/packages/72/86/c99921c1cf6650023c08bfab6fe2d7057a5142628ef7ccfa9921f2dda1d5/pydantic_core-2.41.4-cp313-cp313-win_arm64.whl", hash = "sha256:f8e49c9c364a7edcbe2a310f12733aad95b022495ef2a8d653f645e5d20c1564", size = 1973209, upload-time = "2025-10-14T10:21:18.213Z" }, - { url = "https://files.pythonhosted.org/packages/36/0d/b5706cacb70a8414396efdda3d72ae0542e050b591119e458e2490baf035/pydantic_core-2.41.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ed97fd56a561f5eb5706cebe94f1ad7c13b84d98312a05546f2ad036bafe87f4", size = 1877324, upload-time = "2025-10-14T10:21:20.363Z" }, - { url = "https://files.pythonhosted.org/packages/de/2d/cba1fa02cfdea72dfb3a9babb067c83b9dff0bbcb198368e000a6b756ea7/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a870c307bf1ee91fc58a9a61338ff780d01bfae45922624816878dce784095d2", size = 1884515, upload-time = "2025-10-14T10:21:22.339Z" }, - { url = "https://files.pythonhosted.org/packages/07/ea/3df927c4384ed9b503c9cc2d076cf983b4f2adb0c754578dfb1245c51e46/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25e97bc1f5f8f7985bdc2335ef9e73843bb561eb1fa6831fdfc295c1c2061cf", size = 2042819, upload-time = "2025-10-14T10:21:26.683Z" }, - { url = "https://files.pythonhosted.org/packages/6a/ee/df8e871f07074250270a3b1b82aad4cd0026b588acd5d7d3eb2fcb1471a3/pydantic_core-2.41.4-cp313-cp313t-win_amd64.whl", hash = "sha256:d405d14bea042f166512add3091c1af40437c2e7f86988f3915fabd27b1e9cd2", size = 1995866, upload-time = "2025-10-14T10:21:28.951Z" }, - { url = "https://files.pythonhosted.org/packages/fc/de/b20f4ab954d6d399499c33ec4fafc46d9551e11dc1858fb7f5dca0748ceb/pydantic_core-2.41.4-cp313-cp313t-win_arm64.whl", hash = "sha256:19f3684868309db5263a11bace3c45d93f6f24afa2ffe75a647583df22a2ff89", size = 1970034, upload-time = "2025-10-14T10:21:30.869Z" }, - { url = "https://files.pythonhosted.org/packages/54/28/d3325da57d413b9819365546eb9a6e8b7cbd9373d9380efd5f74326143e6/pydantic_core-2.41.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e9205d97ed08a82ebb9a307e92914bb30e18cdf6f6b12ca4bedadb1588a0bfe1", size = 2102022, upload-time = "2025-10-14T10:21:32.809Z" }, - { url = "https://files.pythonhosted.org/packages/9e/24/b58a1bc0d834bf1acc4361e61233ee217169a42efbdc15a60296e13ce438/pydantic_core-2.41.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:82df1f432b37d832709fbcc0e24394bba04a01b6ecf1ee87578145c19cde12ac", size = 1905495, upload-time = "2025-10-14T10:21:34.812Z" }, - { url = "https://files.pythonhosted.org/packages/fb/a4/71f759cc41b7043e8ecdaab81b985a9b6cad7cec077e0b92cff8b71ecf6b/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3b4cc4539e055cfa39a3763c939f9d409eb40e85813257dcd761985a108554", size = 1956131, upload-time = "2025-10-14T10:21:36.924Z" }, - { url = "https://files.pythonhosted.org/packages/b0/64/1e79ac7aa51f1eec7c4cda8cbe456d5d09f05fdd68b32776d72168d54275/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b1eb1754fce47c63d2ff57fdb88c351a6c0150995890088b33767a10218eaa4e", size = 2052236, upload-time = "2025-10-14T10:21:38.927Z" }, - { url = "https://files.pythonhosted.org/packages/e9/e3/a3ffc363bd4287b80f1d43dc1c28ba64831f8dfc237d6fec8f2661138d48/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6ab5ab30ef325b443f379ddb575a34969c333004fca5a1daa0133a6ffaad616", size = 2223573, upload-time = "2025-10-14T10:21:41.574Z" }, - { url = "https://files.pythonhosted.org/packages/28/27/78814089b4d2e684a9088ede3790763c64693c3d1408ddc0a248bc789126/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31a41030b1d9ca497634092b46481b937ff9397a86f9f51bd41c4767b6fc04af", size = 2342467, upload-time = "2025-10-14T10:21:44.018Z" }, - { url = "https://files.pythonhosted.org/packages/92/97/4de0e2a1159cb85ad737e03306717637842c88c7fd6d97973172fb183149/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a44ac1738591472c3d020f61c6df1e4015180d6262ebd39bf2aeb52571b60f12", size = 2063754, upload-time = "2025-10-14T10:21:46.466Z" }, - { url = "https://files.pythonhosted.org/packages/0f/50/8cb90ce4b9efcf7ae78130afeb99fd1c86125ccdf9906ef64b9d42f37c25/pydantic_core-2.41.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d72f2b5e6e82ab8f94ea7d0d42f83c487dc159c5240d8f83beae684472864e2d", size = 2196754, upload-time = "2025-10-14T10:21:48.486Z" }, - { url = "https://files.pythonhosted.org/packages/34/3b/ccdc77af9cd5082723574a1cc1bcae7a6acacc829d7c0a06201f7886a109/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:c4d1e854aaf044487d31143f541f7aafe7b482ae72a022c664b2de2e466ed0ad", size = 2137115, upload-time = "2025-10-14T10:21:50.63Z" }, - { url = "https://files.pythonhosted.org/packages/ca/ba/e7c7a02651a8f7c52dc2cff2b64a30c313e3b57c7d93703cecea76c09b71/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b568af94267729d76e6ee5ececda4e283d07bbb28e8148bb17adad93d025d25a", size = 2317400, upload-time = "2025-10-14T10:21:52.959Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ba/6c533a4ee8aec6b812c643c49bb3bd88d3f01e3cebe451bb85512d37f00f/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6d55fb8b1e8929b341cc313a81a26e0d48aa3b519c1dbaadec3a6a2b4fcad025", size = 2312070, upload-time = "2025-10-14T10:21:55.419Z" }, - { url = "https://files.pythonhosted.org/packages/22/ae/f10524fcc0ab8d7f96cf9a74c880243576fd3e72bd8ce4f81e43d22bcab7/pydantic_core-2.41.4-cp314-cp314-win32.whl", hash = "sha256:5b66584e549e2e32a1398df11da2e0a7eff45d5c2d9db9d5667c5e6ac764d77e", size = 1982277, upload-time = "2025-10-14T10:21:57.474Z" }, - { url = "https://files.pythonhosted.org/packages/b4/dc/e5aa27aea1ad4638f0c3fb41132f7eb583bd7420ee63204e2d4333a3bbf9/pydantic_core-2.41.4-cp314-cp314-win_amd64.whl", hash = "sha256:557a0aab88664cc552285316809cab897716a372afaf8efdbef756f8b890e894", size = 2024608, upload-time = "2025-10-14T10:21:59.557Z" }, - { url = "https://files.pythonhosted.org/packages/3e/61/51d89cc2612bd147198e120a13f150afbf0bcb4615cddb049ab10b81b79e/pydantic_core-2.41.4-cp314-cp314-win_arm64.whl", hash = "sha256:3f1ea6f48a045745d0d9f325989d8abd3f1eaf47dd00485912d1a3a63c623a8d", size = 1967614, upload-time = "2025-10-14T10:22:01.847Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c2/472f2e31b95eff099961fa050c376ab7156a81da194f9edb9f710f68787b/pydantic_core-2.41.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6c1fe4c5404c448b13188dd8bd2ebc2bdd7e6727fa61ff481bcc2cca894018da", size = 1876904, upload-time = "2025-10-14T10:22:04.062Z" }, - { url = "https://files.pythonhosted.org/packages/4a/07/ea8eeb91173807ecdae4f4a5f4b150a520085b35454350fc219ba79e66a3/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:523e7da4d43b113bf8e7b49fa4ec0c35bf4fe66b2230bfc5c13cc498f12c6c3e", size = 1882538, upload-time = "2025-10-14T10:22:06.39Z" }, - { url = "https://files.pythonhosted.org/packages/1e/29/b53a9ca6cd366bfc928823679c6a76c7a4c69f8201c0ba7903ad18ebae2f/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5729225de81fb65b70fdb1907fcf08c75d498f4a6f15af005aabb1fdadc19dfa", size = 2041183, upload-time = "2025-10-14T10:22:08.812Z" }, - { url = "https://files.pythonhosted.org/packages/c7/3d/f8c1a371ceebcaf94d6dd2d77c6cf4b1c078e13a5837aee83f760b4f7cfd/pydantic_core-2.41.4-cp314-cp314t-win_amd64.whl", hash = "sha256:de2cfbb09e88f0f795fd90cf955858fc2c691df65b1f21f0aa00b99f3fbc661d", size = 1993542, upload-time = "2025-10-14T10:22:11.332Z" }, - { url = "https://files.pythonhosted.org/packages/8a/ac/9fc61b4f9d079482a290afe8d206b8f490e9fd32d4fc03ed4fc698214e01/pydantic_core-2.41.4-cp314-cp314t-win_arm64.whl", hash = "sha256:d34f950ae05a83e0ede899c595f312ca976023ea1db100cd5aa188f7005e3ab0", size = 1973897, upload-time = "2025-10-14T10:22:13.444Z" }, - { url = "https://files.pythonhosted.org/packages/b0/12/5ba58daa7f453454464f92b3ca7b9d7c657d8641c48e370c3ebc9a82dd78/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:a1b2cfec3879afb742a7b0bcfa53e4f22ba96571c9e54d6a3afe1052d17d843b", size = 2122139, upload-time = "2025-10-14T10:22:47.288Z" }, - { url = "https://files.pythonhosted.org/packages/21/fb/6860126a77725c3108baecd10fd3d75fec25191d6381b6eb2ac660228eac/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:d175600d975b7c244af6eb9c9041f10059f20b8bbffec9e33fdd5ee3f67cdc42", size = 1936674, upload-time = "2025-10-14T10:22:49.555Z" }, - { url = "https://files.pythonhosted.org/packages/de/be/57dcaa3ed595d81f8757e2b44a38240ac5d37628bce25fb20d02c7018776/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f184d657fa4947ae5ec9c47bd7e917730fa1cbb78195037e32dcbab50aca5ee", size = 1956398, upload-time = "2025-10-14T10:22:52.19Z" }, - { url = "https://files.pythonhosted.org/packages/2f/1d/679a344fadb9695f1a6a294d739fbd21d71fa023286daeea8c0ed49e7c2b/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed810568aeffed3edc78910af32af911c835cc39ebbfacd1f0ab5dd53028e5c", size = 2138674, upload-time = "2025-10-14T10:22:54.499Z" }, - { url = "https://files.pythonhosted.org/packages/c4/48/ae937e5a831b7c0dc646b2ef788c27cd003894882415300ed21927c21efa/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:4f5d640aeebb438517150fdeec097739614421900e4a08db4a3ef38898798537", size = 2112087, upload-time = "2025-10-14T10:22:56.818Z" }, - { url = "https://files.pythonhosted.org/packages/5e/db/6db8073e3d32dae017da7e0d16a9ecb897d0a4d92e00634916e486097961/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:4a9ab037b71927babc6d9e7fc01aea9e66dc2a4a34dff06ef0724a4049629f94", size = 1920387, upload-time = "2025-10-14T10:22:59.342Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c1/dd3542d072fcc336030d66834872f0328727e3b8de289c662faa04aa270e/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4dab9484ec605c3016df9ad4fd4f9a390bc5d816a3b10c6550f8424bb80b18c", size = 1951495, upload-time = "2025-10-14T10:23:02.089Z" }, - { url = "https://files.pythonhosted.org/packages/2b/c6/db8d13a1f8ab3f1eb08c88bd00fd62d44311e3456d1e85c0e59e0a0376e7/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8a5028425820731d8c6c098ab642d7b8b999758e24acae03ed38a66eca8335", size = 2139008, upload-time = "2025-10-14T10:23:04.539Z" }, - { url = "https://files.pythonhosted.org/packages/5d/d4/912e976a2dd0b49f31c98a060ca90b353f3b73ee3ea2fd0030412f6ac5ec/pydantic_core-2.41.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e5ab4fc177dd41536b3c32b2ea11380dd3d4619a385860621478ac2d25ceb00", size = 2106739, upload-time = "2025-10-14T10:23:06.934Z" }, - { url = "https://files.pythonhosted.org/packages/71/f0/66ec5a626c81eba326072d6ee2b127f8c139543f1bf609b4842978d37833/pydantic_core-2.41.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3d88d0054d3fa11ce936184896bed3c1c5441d6fa483b498fac6a5d0dd6f64a9", size = 1932549, upload-time = "2025-10-14T10:23:09.24Z" }, - { url = "https://files.pythonhosted.org/packages/c4/af/625626278ca801ea0a658c2dcf290dc9f21bb383098e99e7c6a029fccfc0/pydantic_core-2.41.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b2a054a8725f05b4b6503357e0ac1c4e8234ad3b0c2ac130d6ffc66f0e170e2", size = 2135093, upload-time = "2025-10-14T10:23:11.626Z" }, - { url = "https://files.pythonhosted.org/packages/20/f6/2fba049f54e0f4975fef66be654c597a1d005320fa141863699180c7697d/pydantic_core-2.41.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0d9db5a161c99375a0c68c058e227bee1d89303300802601d76a3d01f74e258", size = 2187971, upload-time = "2025-10-14T10:23:14.437Z" }, - { url = "https://files.pythonhosted.org/packages/0e/80/65ab839a2dfcd3b949202f9d920c34f9de5a537c3646662bdf2f7d999680/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:6273ea2c8ffdac7b7fda2653c49682db815aebf4a89243a6feccf5e36c18c347", size = 2147939, upload-time = "2025-10-14T10:23:16.831Z" }, - { url = "https://files.pythonhosted.org/packages/44/58/627565d3d182ce6dfda18b8e1c841eede3629d59c9d7cbc1e12a03aeb328/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:4c973add636efc61de22530b2ef83a65f39b6d6f656df97f678720e20de26caa", size = 2311400, upload-time = "2025-10-14T10:23:19.234Z" }, - { url = "https://files.pythonhosted.org/packages/24/06/8a84711162ad5a5f19a88cead37cca81b4b1f294f46260ef7334ae4f24d3/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b69d1973354758007f46cf2d44a4f3d0933f10b6dc9bf15cf1356e037f6f731a", size = 2316840, upload-time = "2025-10-14T10:23:21.738Z" }, - { url = "https://files.pythonhosted.org/packages/aa/8b/b7bb512a4682a2f7fbfae152a755d37351743900226d29bd953aaf870eaa/pydantic_core-2.41.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3619320641fd212aaf5997b6ca505e97540b7e16418f4a241f44cdf108ffb50d", size = 2149135, upload-time = "2025-10-14T10:23:24.379Z" }, - { url = "https://files.pythonhosted.org/packages/7e/7d/138e902ed6399b866f7cfe4435d22445e16fff888a1c00560d9dc79a780f/pydantic_core-2.41.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:491535d45cd7ad7e4a2af4a5169b0d07bebf1adfd164b0368da8aa41e19907a5", size = 2104721, upload-time = "2025-10-14T10:23:26.906Z" }, - { url = "https://files.pythonhosted.org/packages/47/13/0525623cf94627f7b53b4c2034c81edc8491cbfc7c28d5447fa318791479/pydantic_core-2.41.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:54d86c0cada6aba4ec4c047d0e348cbad7063b87ae0f005d9f8c9ad04d4a92a2", size = 1931608, upload-time = "2025-10-14T10:23:29.306Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f9/744bc98137d6ef0a233f808bfc9b18cf94624bf30836a18d3b05d08bf418/pydantic_core-2.41.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca1124aced216b2500dc2609eade086d718e8249cb9696660ab447d50a758bd", size = 2132986, upload-time = "2025-10-14T10:23:32.057Z" }, - { url = "https://files.pythonhosted.org/packages/17/c8/629e88920171173f6049386cc71f893dff03209a9ef32b4d2f7e7c264bcf/pydantic_core-2.41.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c9024169becccf0cb470ada03ee578d7348c119a0d42af3dcf9eda96e3a247c", size = 2187516, upload-time = "2025-10-14T10:23:34.871Z" }, - { url = "https://files.pythonhosted.org/packages/2e/0f/4f2734688d98488782218ca61bcc118329bf5de05bb7fe3adc7dd79b0b86/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:26895a4268ae5a2849269f4991cdc97236e4b9c010e51137becf25182daac405", size = 2146146, upload-time = "2025-10-14T10:23:37.342Z" }, - { url = "https://files.pythonhosted.org/packages/ed/f2/ab385dbd94a052c62224b99cf99002eee99dbec40e10006c78575aead256/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:ca4df25762cf71308c446e33c9b1fdca2923a3f13de616e2a949f38bf21ff5a8", size = 2311296, upload-time = "2025-10-14T10:23:40.145Z" }, - { url = "https://files.pythonhosted.org/packages/fc/8e/e4f12afe1beeb9823bba5375f8f258df0cc61b056b0195fb1cf9f62a1a58/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5a28fcedd762349519276c36634e71853b4541079cab4acaaac60c4421827308", size = 2315386, upload-time = "2025-10-14T10:23:42.624Z" }, - { url = "https://files.pythonhosted.org/packages/48/f7/925f65d930802e3ea2eb4d5afa4cb8730c8dc0d2cb89a59dc4ed2fcb2d74/pydantic_core-2.41.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c173ddcd86afd2535e2b695217e82191580663a1d1928239f877f5a1649ef39f", size = 2147775, upload-time = "2025-10-14T10:23:45.406Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/90/32c9941e728d564b411d574d8ee0cf09b12ec978cb22b294995bae5549a5/pydantic_core-2.41.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146", size = 2107298, upload-time = "2025-11-04T13:39:04.116Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a8/61c96a77fe28993d9a6fb0f4127e05430a267b235a124545d79fea46dd65/pydantic_core-2.41.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2", size = 1901475, upload-time = "2025-11-04T13:39:06.055Z" }, + { url = "https://files.pythonhosted.org/packages/5d/b6/338abf60225acc18cdc08b4faef592d0310923d19a87fba1faf05af5346e/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97", size = 1918815, upload-time = "2025-11-04T13:39:10.41Z" }, + { url = "https://files.pythonhosted.org/packages/d1/1c/2ed0433e682983d8e8cba9c8d8ef274d4791ec6a6f24c58935b90e780e0a/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9", size = 2065567, upload-time = "2025-11-04T13:39:12.244Z" }, + { url = "https://files.pythonhosted.org/packages/b3/24/cf84974ee7d6eae06b9e63289b7b8f6549d416b5c199ca2d7ce13bbcf619/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52", size = 2230442, upload-time = "2025-11-04T13:39:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/fd/21/4e287865504b3edc0136c89c9c09431be326168b1eb7841911cbc877a995/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941", size = 2350956, upload-time = "2025-11-04T13:39:15.889Z" }, + { url = "https://files.pythonhosted.org/packages/a8/76/7727ef2ffa4b62fcab916686a68a0426b9b790139720e1934e8ba797e238/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a", size = 2068253, upload-time = "2025-11-04T13:39:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/d5/8c/a4abfc79604bcb4c748e18975c44f94f756f08fb04218d5cb87eb0d3a63e/pydantic_core-2.41.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c", size = 2177050, upload-time = "2025-11-04T13:39:19.351Z" }, + { url = "https://files.pythonhosted.org/packages/67/b1/de2e9a9a79b480f9cb0b6e8b6ba4c50b18d4e89852426364c66aa82bb7b3/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2", size = 2147178, upload-time = "2025-11-04T13:39:21Z" }, + { url = "https://files.pythonhosted.org/packages/16/c1/dfb33f837a47b20417500efaa0378adc6635b3c79e8369ff7a03c494b4ac/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556", size = 2341833, upload-time = "2025-11-04T13:39:22.606Z" }, + { url = "https://files.pythonhosted.org/packages/47/36/00f398642a0f4b815a9a558c4f1dca1b4020a7d49562807d7bc9ff279a6c/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49", size = 2321156, upload-time = "2025-11-04T13:39:25.843Z" }, + { url = "https://files.pythonhosted.org/packages/7e/70/cad3acd89fde2010807354d978725ae111ddf6d0ea46d1ea1775b5c1bd0c/pydantic_core-2.41.5-cp310-cp310-win32.whl", hash = "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba", size = 1989378, upload-time = "2025-11-04T13:39:27.92Z" }, + { url = "https://files.pythonhosted.org/packages/76/92/d338652464c6c367e5608e4488201702cd1cbb0f33f7b6a85a60fe5f3720/pydantic_core-2.41.5-cp310-cp310-win_amd64.whl", hash = "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9", size = 2013622, upload-time = "2025-11-04T13:39:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/e8/72/74a989dd9f2084b3d9530b0915fdda64ac48831c30dbf7c72a41a5232db8/pydantic_core-2.41.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6", size = 2105873, upload-time = "2025-11-04T13:39:31.373Z" }, + { url = "https://files.pythonhosted.org/packages/12/44/37e403fd9455708b3b942949e1d7febc02167662bf1a7da5b78ee1ea2842/pydantic_core-2.41.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b", size = 1899826, upload-time = "2025-11-04T13:39:32.897Z" }, + { url = "https://files.pythonhosted.org/packages/33/7f/1d5cab3ccf44c1935a359d51a8a2a9e1a654b744b5e7f80d41b88d501eec/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a", size = 1917869, upload-time = "2025-11-04T13:39:34.469Z" }, + { url = "https://files.pythonhosted.org/packages/6e/6a/30d94a9674a7fe4f4744052ed6c5e083424510be1e93da5bc47569d11810/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8", size = 2063890, upload-time = "2025-11-04T13:39:36.053Z" }, + { url = "https://files.pythonhosted.org/packages/50/be/76e5d46203fcb2750e542f32e6c371ffa9b8ad17364cf94bb0818dbfb50c/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e", size = 2229740, upload-time = "2025-11-04T13:39:37.753Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ee/fed784df0144793489f87db310a6bbf8118d7b630ed07aa180d6067e653a/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1", size = 2350021, upload-time = "2025-11-04T13:39:40.94Z" }, + { url = "https://files.pythonhosted.org/packages/c8/be/8fed28dd0a180dca19e72c233cbf58efa36df055e5b9d90d64fd1740b828/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b", size = 2066378, upload-time = "2025-11-04T13:39:42.523Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3b/698cf8ae1d536a010e05121b4958b1257f0b5522085e335360e53a6b1c8b/pydantic_core-2.41.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b", size = 2175761, upload-time = "2025-11-04T13:39:44.553Z" }, + { url = "https://files.pythonhosted.org/packages/b8/ba/15d537423939553116dea94ce02f9c31be0fa9d0b806d427e0308ec17145/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284", size = 2146303, upload-time = "2025-11-04T13:39:46.238Z" }, + { url = "https://files.pythonhosted.org/packages/58/7f/0de669bf37d206723795f9c90c82966726a2ab06c336deba4735b55af431/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594", size = 2340355, upload-time = "2025-11-04T13:39:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/e5/de/e7482c435b83d7e3c3ee5ee4451f6e8973cff0eb6007d2872ce6383f6398/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e", size = 2319875, upload-time = "2025-11-04T13:39:49.705Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e6/8c9e81bb6dd7560e33b9053351c29f30c8194b72f2d6932888581f503482/pydantic_core-2.41.5-cp311-cp311-win32.whl", hash = "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b", size = 1987549, upload-time = "2025-11-04T13:39:51.842Z" }, + { url = "https://files.pythonhosted.org/packages/11/66/f14d1d978ea94d1bc21fc98fcf570f9542fe55bfcc40269d4e1a21c19bf7/pydantic_core-2.41.5-cp311-cp311-win_amd64.whl", hash = "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe", size = 2011305, upload-time = "2025-11-04T13:39:53.485Z" }, + { url = "https://files.pythonhosted.org/packages/56/d8/0e271434e8efd03186c5386671328154ee349ff0354d83c74f5caaf096ed/pydantic_core-2.41.5-cp311-cp311-win_arm64.whl", hash = "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f", size = 1972902, upload-time = "2025-11-04T13:39:56.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5d/5f6c63eebb5afee93bcaae4ce9a898f3373ca23df3ccaef086d0233a35a7/pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7", size = 2110990, upload-time = "2025-11-04T13:39:58.079Z" }, + { url = "https://files.pythonhosted.org/packages/aa/32/9c2e8ccb57c01111e0fd091f236c7b371c1bccea0fa85247ac55b1e2b6b6/pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0", size = 1896003, upload-time = "2025-11-04T13:39:59.956Z" }, + { url = "https://files.pythonhosted.org/packages/68/b8/a01b53cb0e59139fbc9e4fda3e9724ede8de279097179be4ff31f1abb65a/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69", size = 1919200, upload-time = "2025-11-04T13:40:02.241Z" }, + { url = "https://files.pythonhosted.org/packages/38/de/8c36b5198a29bdaade07b5985e80a233a5ac27137846f3bc2d3b40a47360/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75", size = 2052578, upload-time = "2025-11-04T13:40:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/00/b5/0e8e4b5b081eac6cb3dbb7e60a65907549a1ce035a724368c330112adfdd/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05", size = 2208504, upload-time = "2025-11-04T13:40:06.072Z" }, + { url = "https://files.pythonhosted.org/packages/77/56/87a61aad59c7c5b9dc8caad5a41a5545cba3810c3e828708b3d7404f6cef/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc", size = 2335816, upload-time = "2025-11-04T13:40:07.835Z" }, + { url = "https://files.pythonhosted.org/packages/0d/76/941cc9f73529988688a665a5c0ecff1112b3d95ab48f81db5f7606f522d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c", size = 2075366, upload-time = "2025-11-04T13:40:09.804Z" }, + { url = "https://files.pythonhosted.org/packages/d3/43/ebef01f69baa07a482844faaa0a591bad1ef129253ffd0cdaa9d8a7f72d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5", size = 2171698, upload-time = "2025-11-04T13:40:12.004Z" }, + { url = "https://files.pythonhosted.org/packages/b1/87/41f3202e4193e3bacfc2c065fab7706ebe81af46a83d3e27605029c1f5a6/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c", size = 2132603, upload-time = "2025-11-04T13:40:13.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7d/4c00df99cb12070b6bccdef4a195255e6020a550d572768d92cc54dba91a/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294", size = 2329591, upload-time = "2025-11-04T13:40:15.672Z" }, + { url = "https://files.pythonhosted.org/packages/cc/6a/ebf4b1d65d458f3cda6a7335d141305dfa19bdc61140a884d165a8a1bbc7/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1", size = 2319068, upload-time = "2025-11-04T13:40:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/49/3b/774f2b5cd4192d5ab75870ce4381fd89cf218af999515baf07e7206753f0/pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d", size = 1985908, upload-time = "2025-11-04T13:40:19.309Z" }, + { url = "https://files.pythonhosted.org/packages/86/45/00173a033c801cacf67c190fef088789394feaf88a98a7035b0e40d53dc9/pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815", size = 2020145, upload-time = "2025-11-04T13:40:21.548Z" }, + { url = "https://files.pythonhosted.org/packages/f9/22/91fbc821fa6d261b376a3f73809f907cec5ca6025642c463d3488aad22fb/pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3", size = 1976179, upload-time = "2025-11-04T13:40:23.393Z" }, + { url = "https://files.pythonhosted.org/packages/87/06/8806241ff1f70d9939f9af039c6c35f2360cf16e93c2ca76f184e76b1564/pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9", size = 2120403, upload-time = "2025-11-04T13:40:25.248Z" }, + { url = "https://files.pythonhosted.org/packages/94/02/abfa0e0bda67faa65fef1c84971c7e45928e108fe24333c81f3bfe35d5f5/pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34", size = 1896206, upload-time = "2025-11-04T13:40:27.099Z" }, + { url = "https://files.pythonhosted.org/packages/15/df/a4c740c0943e93e6500f9eb23f4ca7ec9bf71b19e608ae5b579678c8d02f/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0", size = 1919307, upload-time = "2025-11-04T13:40:29.806Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e3/6324802931ae1d123528988e0e86587c2072ac2e5394b4bc2bc34b61ff6e/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33", size = 2063258, upload-time = "2025-11-04T13:40:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d4/2230d7151d4957dd79c3044ea26346c148c98fbf0ee6ebd41056f2d62ab5/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e", size = 2214917, upload-time = "2025-11-04T13:40:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9f/eaac5df17a3672fef0081b6c1bb0b82b33ee89aa5cec0d7b05f52fd4a1fa/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2", size = 2332186, upload-time = "2025-11-04T13:40:37.436Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4e/35a80cae583a37cf15604b44240e45c05e04e86f9cfd766623149297e971/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586", size = 2073164, upload-time = "2025-11-04T13:40:40.289Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e3/f6e262673c6140dd3305d144d032f7bd5f7497d3871c1428521f19f9efa2/pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d", size = 2179146, upload-time = "2025-11-04T13:40:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/20bd7fc05f0c6ea2056a4565c6f36f8968c0924f19b7d97bbfea55780e73/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740", size = 2137788, upload-time = "2025-11-04T13:40:44.752Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8d/34318ef985c45196e004bc46c6eab2eda437e744c124ef0dbe1ff2c9d06b/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e", size = 2340133, upload-time = "2025-11-04T13:40:46.66Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/013626bf8c78a5a5d9350d12e7697d3d4de951a75565496abd40ccd46bee/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858", size = 2324852, upload-time = "2025-11-04T13:40:48.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d9/c248c103856f807ef70c18a4f986693a46a8ffe1602e5d361485da502d20/pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36", size = 1994679, upload-time = "2025-11-04T13:40:50.619Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/341991b158ddab181cff136acd2552c9f35bd30380422a639c0671e99a91/pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11", size = 2019766, upload-time = "2025-11-04T13:40:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/73/7d/f2f9db34af103bea3e09735bb40b021788a5e834c81eedb541991badf8f5/pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd", size = 1981005, upload-time = "2025-11-04T13:40:54.734Z" }, + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, + { url = "https://files.pythonhosted.org/packages/11/72/90fda5ee3b97e51c494938a4a44c3a35a9c96c19bba12372fb9c634d6f57/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034", size = 2115441, upload-time = "2025-11-04T13:42:39.557Z" }, + { url = "https://files.pythonhosted.org/packages/1f/53/8942f884fa33f50794f119012dc6a1a02ac43a56407adaac20463df8e98f/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c", size = 1930291, upload-time = "2025-11-04T13:42:42.169Z" }, + { url = "https://files.pythonhosted.org/packages/79/c8/ecb9ed9cd942bce09fc888ee960b52654fbdbede4ba6c2d6e0d3b1d8b49c/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2", size = 1948632, upload-time = "2025-11-04T13:42:44.564Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1b/687711069de7efa6af934e74f601e2a4307365e8fdc404703afc453eab26/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad", size = 2138905, upload-time = "2025-11-04T13:42:47.156Z" }, + { url = "https://files.pythonhosted.org/packages/09/32/59b0c7e63e277fa7911c2fc70ccfb45ce4b98991e7ef37110663437005af/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd", size = 2110495, upload-time = "2025-11-04T13:42:49.689Z" }, + { url = "https://files.pythonhosted.org/packages/aa/81/05e400037eaf55ad400bcd318c05bb345b57e708887f07ddb2d20e3f0e98/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc", size = 1915388, upload-time = "2025-11-04T13:42:52.215Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0d/e3549b2399f71d56476b77dbf3cf8937cec5cd70536bdc0e374a421d0599/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56", size = 1942879, upload-time = "2025-11-04T13:42:56.483Z" }, + { url = "https://files.pythonhosted.org/packages/f7/07/34573da085946b6a313d7c42f82f16e8920bfd730665de2d11c0c37a74b5/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b", size = 2139017, upload-time = "2025-11-04T13:42:59.471Z" }, + { url = "https://files.pythonhosted.org/packages/e6/b0/1a2aa41e3b5a4ba11420aba2d091b2d17959c8d1519ece3627c371951e73/pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8", size = 2103351, upload-time = "2025-11-04T13:43:02.058Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ee/31b1f0020baaf6d091c87900ae05c6aeae101fa4e188e1613c80e4f1ea31/pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a", size = 1925363, upload-time = "2025-11-04T13:43:05.159Z" }, + { url = "https://files.pythonhosted.org/packages/e1/89/ab8e86208467e467a80deaca4e434adac37b10a9d134cd2f99b28a01e483/pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b", size = 2135615, upload-time = "2025-11-04T13:43:08.116Z" }, + { url = "https://files.pythonhosted.org/packages/99/0a/99a53d06dd0348b2008f2f30884b34719c323f16c3be4e6cc1203b74a91d/pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2", size = 2175369, upload-time = "2025-11-04T13:43:12.49Z" }, + { url = "https://files.pythonhosted.org/packages/6d/94/30ca3b73c6d485b9bb0bc66e611cff4a7138ff9736b7e66bcf0852151636/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093", size = 2144218, upload-time = "2025-11-04T13:43:15.431Z" }, + { url = "https://files.pythonhosted.org/packages/87/57/31b4f8e12680b739a91f472b5671294236b82586889ef764b5fbc6669238/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a", size = 2329951, upload-time = "2025-11-04T13:43:18.062Z" }, + { url = "https://files.pythonhosted.org/packages/7d/73/3c2c8edef77b8f7310e6fb012dbc4b8551386ed575b9eb6fb2506e28a7eb/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963", size = 2318428, upload-time = "2025-11-04T13:43:20.679Z" }, + { url = "https://files.pythonhosted.org/packages/2f/02/8559b1f26ee0d502c74f9cca5c0d2fd97e967e083e006bbbb4e97f3a043a/pydantic_core-2.41.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a", size = 2147009, upload-time = "2025-11-04T13:43:23.286Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9b/1b3f0e9f9305839d7e84912f9e8bfbd191ed1b1ef48083609f0dabde978c/pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26", size = 2101980, upload-time = "2025-11-04T13:43:25.97Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ed/d71fefcb4263df0da6a85b5d8a7508360f2f2e9b3bf5814be9c8bccdccc1/pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808", size = 1923865, upload-time = "2025-11-04T13:43:28.763Z" }, + { url = "https://files.pythonhosted.org/packages/ce/3a/626b38db460d675f873e4444b4bb030453bbe7b4ba55df821d026a0493c4/pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc", size = 2134256, upload-time = "2025-11-04T13:43:31.71Z" }, + { url = "https://files.pythonhosted.org/packages/83/d9/8412d7f06f616bbc053d30cb4e5f76786af3221462ad5eee1f202021eb4e/pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1", size = 2174762, upload-time = "2025-11-04T13:43:34.744Z" }, + { url = "https://files.pythonhosted.org/packages/55/4c/162d906b8e3ba3a99354e20faa1b49a85206c47de97a639510a0e673f5da/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84", size = 2143141, upload-time = "2025-11-04T13:43:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f2/f11dd73284122713f5f89fc940f370d035fa8e1e078d446b3313955157fe/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770", size = 2330317, upload-time = "2025-11-04T13:43:40.406Z" }, + { url = "https://files.pythonhosted.org/packages/88/9d/b06ca6acfe4abb296110fb1273a4d848a0bfb2ff65f3ee92127b3244e16b/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f", size = 2316992, upload-time = "2025-11-04T13:43:43.602Z" }, + { url = "https://files.pythonhosted.org/packages/36/c7/cfc8e811f061c841d7990b0201912c3556bfeb99cdcb7ed24adc8d6f8704/pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51", size = 2145302, upload-time = "2025-11-04T13:43:46.64Z" }, ] [[package]] name = "pydantic-settings" -version = "2.11.0" +version = "2.12.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pydantic" }, { name = "python-dotenv" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/4b/ac7e0aae12027748076d72a8764ff1c9d82ca75a7a52622e67ed3f765c54/pydantic_settings-2.12.0.tar.gz", hash = "sha256:005538ef951e3c2a68e1c08b292b5f2e71490def8589d4221b95dab00dafcfd0", size = 194184, upload-time = "2025-11-10T14:25:47.013Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" }, + { url = "https://files.pythonhosted.org/packages/c1/60/5d4751ba3f4a40a6891f24eec885f51afd78d208498268c734e256fb13c4/pydantic_settings-2.12.0-py3-none-any.whl", hash = "sha256:fddb9fd99a5b18da837b29710391e945b1e30c135477f484084ee513adb93809", size = 51880, upload-time = "2025-11-10T14:25:45.546Z" }, ] [[package]] @@ -1630,20 +1653,20 @@ wheels = [ [[package]] name = "pymdown-extensions" -version = "10.16.1" +version = "10.20.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/55/b3/6d2b3f149bc5413b0a29761c2c5832d8ce904a1d7f621e86616d96f505cc/pymdown_extensions-10.16.1.tar.gz", hash = "sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91", size = 853277, upload-time = "2025-07-28T16:19:34.167Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/6c/9e370934bfa30e889d12e61d0dae009991294f40055c238980066a7fbd83/pymdown_extensions-10.20.1.tar.gz", hash = "sha256:e7e39c865727338d434b55f1dd8da51febcffcaebd6e1a0b9c836243f660740a", size = 852860, upload-time = "2026-01-24T05:56:56.758Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl", hash = "sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d", size = 266178, upload-time = "2025-07-28T16:19:31.401Z" }, + { url = "https://files.pythonhosted.org/packages/40/6d/b6ee155462a0156b94312bdd82d2b92ea56e909740045a87ccb98bf52405/pymdown_extensions-10.20.1-py3-none-any.whl", hash = "sha256:24af7feacbca56504b313b7b418c4f5e1317bb5fea60f03d57be7fcc40912aa0", size = 268768, upload-time = "2026-01-24T05:56:54.537Z" }, ] [[package]] name = "pytest" -version = "8.4.2" +version = "9.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -1654,23 +1677,23 @@ dependencies = [ { name = "pygments" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, ] [[package]] name = "pytest-asyncio" -version = "1.2.0" +version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" }, { name = "pytest" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/86/9e3c5f48f7b7b638b216e4b9e645f54d199d7abbbab7a64a13b4e12ba10f/pytest_asyncio-1.2.0.tar.gz", hash = "sha256:c609a64a2a8768462d0c99811ddb8bd2583c33fd33cf7f21af1c142e824ffb57", size = 50119, upload-time = "2025-09-12T07:33:53.816Z" } +sdist = { url = "https://files.pythonhosted.org/packages/90/2c/8af215c0f776415f3590cac4f9086ccefd6fd463befeae41cd4d3f193e5a/pytest_asyncio-1.3.0.tar.gz", hash = "sha256:d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5", size = 50087, upload-time = "2025-11-10T16:07:47.256Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl", hash = "sha256:8e17ae5e46d8e7efe51ab6494dd2010f4ca8dae51652aa3c8d55acf50bfb2e99", size = 15095, upload-time = "2025-09-12T07:33:52.639Z" }, + { url = "https://files.pythonhosted.org/packages/e5/35/f8b19922b6a25bc0880171a2f1a003eaeb93657475193ab516fd87cac9da/pytest_asyncio-1.3.0-py3-none-any.whl", hash = "sha256:611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5", size = 15075, upload-time = "2025-11-10T16:07:45.537Z" }, ] [[package]] @@ -1687,11 +1710,11 @@ wheels = [ [[package]] name = "python-dotenv" -version = "1.1.1" +version = "1.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, + { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, ] [[package]] @@ -1874,184 +1897,161 @@ wheels = [ [[package]] name = "rpds-py" -version = "0.27.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606, upload-time = "2025-08-27T12:12:25.189Z" }, - { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452, upload-time = "2025-08-27T12:12:27.433Z" }, - { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519, upload-time = "2025-08-27T12:12:28.719Z" }, - { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424, upload-time = "2025-08-27T12:12:30.207Z" }, - { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467, upload-time = "2025-08-27T12:12:31.808Z" }, - { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660, upload-time = "2025-08-27T12:12:33.444Z" }, - { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062, upload-time = "2025-08-27T12:12:34.857Z" }, - { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289, upload-time = "2025-08-27T12:12:36.085Z" }, - { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718, upload-time = "2025-08-27T12:12:37.401Z" }, - { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333, upload-time = "2025-08-27T12:12:38.672Z" }, - { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127, upload-time = "2025-08-27T12:12:41.48Z" }, - { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899, upload-time = "2025-08-27T12:12:42.925Z" }, - { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450, upload-time = "2025-08-27T12:12:44.813Z" }, - { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447, upload-time = "2025-08-27T12:12:46.204Z" }, - { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063, upload-time = "2025-08-27T12:12:47.856Z" }, - { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210, upload-time = "2025-08-27T12:12:49.187Z" }, - { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636, upload-time = "2025-08-27T12:12:50.492Z" }, - { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341, upload-time = "2025-08-27T12:12:52.024Z" }, - { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428, upload-time = "2025-08-27T12:12:53.779Z" }, - { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923, upload-time = "2025-08-27T12:12:55.15Z" }, - { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094, upload-time = "2025-08-27T12:12:57.194Z" }, - { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093, upload-time = "2025-08-27T12:12:58.985Z" }, - { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969, upload-time = "2025-08-27T12:13:00.367Z" }, - { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302, upload-time = "2025-08-27T12:13:01.737Z" }, - { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259, upload-time = "2025-08-27T12:13:03.127Z" }, - { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983, upload-time = "2025-08-27T12:13:04.516Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154, upload-time = "2025-08-27T12:13:06.278Z" }, - { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627, upload-time = "2025-08-27T12:13:07.625Z" }, - { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998, upload-time = "2025-08-27T12:13:08.972Z" }, - { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, - { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, - { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, - { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, - { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, - { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, - { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, - { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, - { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, - { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, - { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, - { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, - { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, - { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, - { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, - { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, - { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, - { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, - { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, - { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, - { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, - { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, - { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, - { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, - { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, - { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, - { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, - { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, - { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, - { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, - { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, - { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, - { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, - { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, - { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, - { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, - { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, - { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, - { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, - { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, - { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, - { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, - { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, - { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, - { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, - { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, - { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, - { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, - { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, - { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, - { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, - { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, - { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, - { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, - { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, - { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, - { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, - { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, - { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, - { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, - { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, - { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, - { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, - { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, - { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, - { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, - { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, - { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, - { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, - { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, - { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, - { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, - { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, - { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, - { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, - { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, - { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412, upload-time = "2025-08-27T12:15:33.839Z" }, - { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972, upload-time = "2025-08-27T12:15:35.377Z" }, - { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273, upload-time = "2025-08-27T12:15:37.051Z" }, - { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278, upload-time = "2025-08-27T12:15:38.571Z" }, - { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084, upload-time = "2025-08-27T12:15:40.529Z" }, - { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041, upload-time = "2025-08-27T12:15:42.191Z" }, - { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084, upload-time = "2025-08-27T12:15:43.839Z" }, - { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115, upload-time = "2025-08-27T12:15:46.647Z" }, - { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561, upload-time = "2025-08-27T12:15:48.219Z" }, - { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125, upload-time = "2025-08-27T12:15:49.956Z" }, - { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402, upload-time = "2025-08-27T12:15:51.561Z" }, - { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084, upload-time = "2025-08-27T12:15:53.219Z" }, - { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090, upload-time = "2025-08-27T12:15:55.158Z" }, - { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519, upload-time = "2025-08-27T12:15:57.238Z" }, - { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817, upload-time = "2025-08-27T12:15:59.237Z" }, - { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240, upload-time = "2025-08-27T12:16:00.923Z" }, - { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194, upload-time = "2025-08-27T12:16:02.802Z" }, - { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086, upload-time = "2025-08-27T12:16:04.806Z" }, - { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272, upload-time = "2025-08-27T12:16:06.471Z" }, - { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, - { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, - { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469, upload-time = "2025-11-30T20:24:38.837Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288", size = 370490, upload-time = "2025-11-30T20:21:33.256Z" }, + { url = "https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00", size = 359751, upload-time = "2025-11-30T20:21:34.591Z" }, + { url = "https://files.pythonhosted.org/packages/cd/7c/e4933565ef7f7a0818985d87c15d9d273f1a649afa6a52ea35ad011195ea/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6", size = 389696, upload-time = "2025-11-30T20:21:36.122Z" }, + { url = "https://files.pythonhosted.org/packages/5e/01/6271a2511ad0815f00f7ed4390cf2567bec1d4b1da39e2c27a41e6e3b4de/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7", size = 403136, upload-time = "2025-11-30T20:21:37.728Z" }, + { url = "https://files.pythonhosted.org/packages/55/64/c857eb7cd7541e9b4eee9d49c196e833128a55b89a9850a9c9ac33ccf897/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324", size = 524699, upload-time = "2025-11-30T20:21:38.92Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ed/94816543404078af9ab26159c44f9e98e20fe47e2126d5d32c9d9948d10a/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df", size = 412022, upload-time = "2025-11-30T20:21:40.407Z" }, + { url = "https://files.pythonhosted.org/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3", size = 390522, upload-time = "2025-11-30T20:21:42.17Z" }, + { url = "https://files.pythonhosted.org/packages/13/4e/57a85fda37a229ff4226f8cbcf09f2a455d1ed20e802ce5b2b4a7f5ed053/rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221", size = 404579, upload-time = "2025-11-30T20:21:43.769Z" }, + { url = "https://files.pythonhosted.org/packages/f9/da/c9339293513ec680a721e0e16bf2bac3db6e5d7e922488de471308349bba/rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7", size = 421305, upload-time = "2025-11-30T20:21:44.994Z" }, + { url = "https://files.pythonhosted.org/packages/f9/be/522cb84751114f4ad9d822ff5a1aa3c98006341895d5f084779b99596e5c/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff", size = 572503, upload-time = "2025-11-30T20:21:46.91Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9b/de879f7e7ceddc973ea6e4629e9b380213a6938a249e94b0cdbcc325bb66/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7", size = 598322, upload-time = "2025-11-30T20:21:48.709Z" }, + { url = "https://files.pythonhosted.org/packages/48/ac/f01fc22efec3f37d8a914fc1b2fb9bcafd56a299edbe96406f3053edea5a/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139", size = 560792, upload-time = "2025-11-30T20:21:50.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/da/4e2b19d0f131f35b6146425f846563d0ce036763e38913d917187307a671/rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464", size = 221901, upload-time = "2025-11-30T20:21:51.32Z" }, + { url = "https://files.pythonhosted.org/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169", size = 235823, upload-time = "2025-11-30T20:21:52.505Z" }, + { url = "https://files.pythonhosted.org/packages/4d/6e/f964e88b3d2abee2a82c1ac8366da848fce1c6d834dc2132c3fda3970290/rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425", size = 370157, upload-time = "2025-11-30T20:21:53.789Z" }, + { url = "https://files.pythonhosted.org/packages/94/ba/24e5ebb7c1c82e74c4e4f33b2112a5573ddc703915b13a073737b59b86e0/rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d", size = 359676, upload-time = "2025-11-30T20:21:55.475Z" }, + { url = "https://files.pythonhosted.org/packages/84/86/04dbba1b087227747d64d80c3b74df946b986c57af0a9f0c98726d4d7a3b/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4", size = 389938, upload-time = "2025-11-30T20:21:57.079Z" }, + { url = "https://files.pythonhosted.org/packages/42/bb/1463f0b1722b7f45431bdd468301991d1328b16cffe0b1c2918eba2c4eee/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f", size = 402932, upload-time = "2025-11-30T20:21:58.47Z" }, + { url = "https://files.pythonhosted.org/packages/99/ee/2520700a5c1f2d76631f948b0736cdf9b0acb25abd0ca8e889b5c62ac2e3/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4", size = 525830, upload-time = "2025-11-30T20:21:59.699Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ad/bd0331f740f5705cc555a5e17fdf334671262160270962e69a2bdef3bf76/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97", size = 412033, upload-time = "2025-11-30T20:22:00.991Z" }, + { url = "https://files.pythonhosted.org/packages/f8/1e/372195d326549bb51f0ba0f2ecb9874579906b97e08880e7a65c3bef1a99/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89", size = 390828, upload-time = "2025-11-30T20:22:02.723Z" }, + { url = "https://files.pythonhosted.org/packages/ab/2b/d88bb33294e3e0c76bc8f351a3721212713629ffca1700fa94979cb3eae8/rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d", size = 404683, upload-time = "2025-11-30T20:22:04.367Z" }, + { url = "https://files.pythonhosted.org/packages/50/32/c759a8d42bcb5289c1fac697cd92f6fe01a018dd937e62ae77e0e7f15702/rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038", size = 421583, upload-time = "2025-11-30T20:22:05.814Z" }, + { url = "https://files.pythonhosted.org/packages/2b/81/e729761dbd55ddf5d84ec4ff1f47857f4374b0f19bdabfcf929164da3e24/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7", size = 572496, upload-time = "2025-11-30T20:22:07.713Z" }, + { url = "https://files.pythonhosted.org/packages/14/f6/69066a924c3557c9c30baa6ec3a0aa07526305684c6f86c696b08860726c/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed", size = 598669, upload-time = "2025-11-30T20:22:09.312Z" }, + { url = "https://files.pythonhosted.org/packages/5f/48/905896b1eb8a05630d20333d1d8ffd162394127b74ce0b0784ae04498d32/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85", size = 561011, upload-time = "2025-11-30T20:22:11.309Z" }, + { url = "https://files.pythonhosted.org/packages/22/16/cd3027c7e279d22e5eb431dd3c0fbc677bed58797fe7581e148f3f68818b/rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c", size = 221406, upload-time = "2025-11-30T20:22:13.101Z" }, + { url = "https://files.pythonhosted.org/packages/fa/5b/e7b7aa136f28462b344e652ee010d4de26ee9fd16f1bfd5811f5153ccf89/rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825", size = 236024, upload-time = "2025-11-30T20:22:14.853Z" }, + { url = "https://files.pythonhosted.org/packages/14/a6/364bba985e4c13658edb156640608f2c9e1d3ea3c81b27aa9d889fff0e31/rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229", size = 229069, upload-time = "2025-11-30T20:22:16.577Z" }, + { url = "https://files.pythonhosted.org/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad", size = 375086, upload-time = "2025-11-30T20:22:17.93Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05", size = 359053, upload-time = "2025-11-30T20:22:19.297Z" }, + { url = "https://files.pythonhosted.org/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28", size = 390763, upload-time = "2025-11-30T20:22:21.661Z" }, + { url = "https://files.pythonhosted.org/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd", size = 408951, upload-time = "2025-11-30T20:22:23.408Z" }, + { url = "https://files.pythonhosted.org/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f", size = 514622, upload-time = "2025-11-30T20:22:25.16Z" }, + { url = "https://files.pythonhosted.org/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1", size = 414492, upload-time = "2025-11-30T20:22:26.505Z" }, + { url = "https://files.pythonhosted.org/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23", size = 394080, upload-time = "2025-11-30T20:22:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6", size = 408680, upload-time = "2025-11-30T20:22:29.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51", size = 423589, upload-time = "2025-11-30T20:22:31.469Z" }, + { url = "https://files.pythonhosted.org/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5", size = 573289, upload-time = "2025-11-30T20:22:32.997Z" }, + { url = "https://files.pythonhosted.org/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e", size = 599737, upload-time = "2025-11-30T20:22:34.419Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394", size = 563120, upload-time = "2025-11-30T20:22:35.903Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf", size = 223782, upload-time = "2025-11-30T20:22:37.271Z" }, + { url = "https://files.pythonhosted.org/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b", size = 240463, upload-time = "2025-11-30T20:22:39.021Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e", size = 230868, upload-time = "2025-11-30T20:22:40.493Z" }, + { url = "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", size = 374887, upload-time = "2025-11-30T20:22:41.812Z" }, + { url = "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", size = 358904, upload-time = "2025-11-30T20:22:43.479Z" }, + { url = "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", size = 389945, upload-time = "2025-11-30T20:22:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", size = 407783, upload-time = "2025-11-30T20:22:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", size = 515021, upload-time = "2025-11-30T20:22:47.458Z" }, + { url = "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", size = 414589, upload-time = "2025-11-30T20:22:48.872Z" }, + { url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", size = 394025, upload-time = "2025-11-30T20:22:50.196Z" }, + { url = "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", size = 408895, upload-time = "2025-11-30T20:22:51.87Z" }, + { url = "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", size = 422799, upload-time = "2025-11-30T20:22:53.341Z" }, + { url = "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", size = 572731, upload-time = "2025-11-30T20:22:54.778Z" }, + { url = "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", size = 599027, upload-time = "2025-11-30T20:22:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", size = 563020, upload-time = "2025-11-30T20:22:58.2Z" }, + { url = "https://files.pythonhosted.org/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d", size = 223139, upload-time = "2025-11-30T20:23:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15", size = 240224, upload-time = "2025-11-30T20:23:02.008Z" }, + { url = "https://files.pythonhosted.org/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1", size = 230645, upload-time = "2025-11-30T20:23:03.43Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", size = 364443, upload-time = "2025-11-30T20:23:04.878Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", size = 353375, upload-time = "2025-11-30T20:23:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", size = 383850, upload-time = "2025-11-30T20:23:07.825Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", size = 392812, upload-time = "2025-11-30T20:23:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", size = 517841, upload-time = "2025-11-30T20:23:11.186Z" }, + { url = "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", size = 408149, upload-time = "2025-11-30T20:23:12.864Z" }, + { url = "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", size = 383843, upload-time = "2025-11-30T20:23:14.638Z" }, + { url = "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", size = 396507, upload-time = "2025-11-30T20:23:16.105Z" }, + { url = "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", size = 414949, upload-time = "2025-11-30T20:23:17.539Z" }, + { url = "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", size = 565790, upload-time = "2025-11-30T20:23:19.029Z" }, + { url = "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", size = 590217, upload-time = "2025-11-30T20:23:20.885Z" }, + { url = "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", size = 555806, upload-time = "2025-11-30T20:23:22.488Z" }, + { url = "https://files.pythonhosted.org/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6", size = 211341, upload-time = "2025-11-30T20:23:24.449Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d", size = 225768, upload-time = "2025-11-30T20:23:25.908Z" }, + { url = "https://files.pythonhosted.org/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0", size = 362099, upload-time = "2025-11-30T20:23:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be", size = 353192, upload-time = "2025-11-30T20:23:29.151Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f", size = 384080, upload-time = "2025-11-30T20:23:30.785Z" }, + { url = "https://files.pythonhosted.org/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f", size = 394841, upload-time = "2025-11-30T20:23:32.209Z" }, + { url = "https://files.pythonhosted.org/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87", size = 516670, upload-time = "2025-11-30T20:23:33.742Z" }, + { url = "https://files.pythonhosted.org/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18", size = 408005, upload-time = "2025-11-30T20:23:35.253Z" }, + { url = "https://files.pythonhosted.org/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad", size = 382112, upload-time = "2025-11-30T20:23:36.842Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07", size = 399049, upload-time = "2025-11-30T20:23:38.343Z" }, + { url = "https://files.pythonhosted.org/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f", size = 415661, upload-time = "2025-11-30T20:23:40.263Z" }, + { url = "https://files.pythonhosted.org/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65", size = 565606, upload-time = "2025-11-30T20:23:42.186Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f", size = 591126, upload-time = "2025-11-30T20:23:44.086Z" }, + { url = "https://files.pythonhosted.org/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53", size = 553371, upload-time = "2025-11-30T20:23:46.004Z" }, + { url = "https://files.pythonhosted.org/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed", size = 215298, upload-time = "2025-11-30T20:23:47.696Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950", size = 228604, upload-time = "2025-11-30T20:23:49.501Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6", size = 222391, upload-time = "2025-11-30T20:23:50.96Z" }, + { url = "https://files.pythonhosted.org/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb", size = 364868, upload-time = "2025-11-30T20:23:52.494Z" }, + { url = "https://files.pythonhosted.org/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8", size = 353747, upload-time = "2025-11-30T20:23:54.036Z" }, + { url = "https://files.pythonhosted.org/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7", size = 383795, upload-time = "2025-11-30T20:23:55.556Z" }, + { url = "https://files.pythonhosted.org/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898", size = 393330, upload-time = "2025-11-30T20:23:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e", size = 518194, upload-time = "2025-11-30T20:23:58.637Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419", size = 408340, upload-time = "2025-11-30T20:24:00.2Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551", size = 383765, upload-time = "2025-11-30T20:24:01.759Z" }, + { url = "https://files.pythonhosted.org/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8", size = 396834, upload-time = "2025-11-30T20:24:03.687Z" }, + { url = "https://files.pythonhosted.org/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5", size = 415470, upload-time = "2025-11-30T20:24:05.232Z" }, + { url = "https://files.pythonhosted.org/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404", size = 565630, upload-time = "2025-11-30T20:24:06.878Z" }, + { url = "https://files.pythonhosted.org/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856", size = 591148, upload-time = "2025-11-30T20:24:08.445Z" }, + { url = "https://files.pythonhosted.org/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40", size = 556030, upload-time = "2025-11-30T20:24:10.956Z" }, + { url = "https://files.pythonhosted.org/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0", size = 211570, upload-time = "2025-11-30T20:24:12.735Z" }, + { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532, upload-time = "2025-11-30T20:24:14.634Z" }, + { url = "https://files.pythonhosted.org/packages/69/71/3f34339ee70521864411f8b6992e7ab13ac30d8e4e3309e07c7361767d91/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58", size = 372292, upload-time = "2025-11-30T20:24:16.537Z" }, + { url = "https://files.pythonhosted.org/packages/57/09/f183df9b8f2d66720d2ef71075c59f7e1b336bec7ee4c48f0a2b06857653/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a", size = 362128, upload-time = "2025-11-30T20:24:18.086Z" }, + { url = "https://files.pythonhosted.org/packages/7a/68/5c2594e937253457342e078f0cc1ded3dd7b2ad59afdbf2d354869110a02/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb", size = 391542, upload-time = "2025-11-30T20:24:20.092Z" }, + { url = "https://files.pythonhosted.org/packages/49/5c/31ef1afd70b4b4fbdb2800249f34c57c64beb687495b10aec0365f53dfc4/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c", size = 404004, upload-time = "2025-11-30T20:24:22.231Z" }, + { url = "https://files.pythonhosted.org/packages/e3/63/0cfbea38d05756f3440ce6534d51a491d26176ac045e2707adc99bb6e60a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3", size = 527063, upload-time = "2025-11-30T20:24:24.302Z" }, + { url = "https://files.pythonhosted.org/packages/42/e6/01e1f72a2456678b0f618fc9a1a13f882061690893c192fcad9f2926553a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5", size = 413099, upload-time = "2025-11-30T20:24:25.916Z" }, + { url = "https://files.pythonhosted.org/packages/b8/25/8df56677f209003dcbb180765520c544525e3ef21ea72279c98b9aa7c7fb/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738", size = 392177, upload-time = "2025-11-30T20:24:27.834Z" }, + { url = "https://files.pythonhosted.org/packages/4a/b4/0a771378c5f16f8115f796d1f437950158679bcd2a7c68cf251cfb00ed5b/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f", size = 406015, upload-time = "2025-11-30T20:24:29.457Z" }, + { url = "https://files.pythonhosted.org/packages/36/d8/456dbba0af75049dc6f63ff295a2f92766b9d521fa00de67a2bd6427d57a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877", size = 423736, upload-time = "2025-11-30T20:24:31.22Z" }, + { url = "https://files.pythonhosted.org/packages/13/64/b4d76f227d5c45a7e0b796c674fd81b0a6c4fbd48dc29271857d8219571c/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a", size = 573981, upload-time = "2025-11-30T20:24:32.934Z" }, + { url = "https://files.pythonhosted.org/packages/20/91/092bacadeda3edf92bf743cc96a7be133e13a39cdbfd7b5082e7ab638406/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4", size = 599782, upload-time = "2025-11-30T20:24:35.169Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e", size = 562191, upload-time = "2025-11-30T20:24:36.853Z" }, ] [[package]] name = "ruff" -version = "0.14.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/41/b9/9bd84453ed6dd04688de9b3f3a4146a1698e8faae2ceeccce4e14c67ae17/ruff-0.14.0.tar.gz", hash = "sha256:62ec8969b7510f77945df916de15da55311fade8d6050995ff7f680afe582c57", size = 5452071, upload-time = "2025-10-07T18:21:55.763Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/4e/79d463a5f80654e93fa653ebfb98e0becc3f0e7cf6219c9ddedf1e197072/ruff-0.14.0-py3-none-linux_armv6l.whl", hash = "sha256:58e15bffa7054299becf4bab8a1187062c6f8cafbe9f6e39e0d5aface455d6b3", size = 12494532, upload-time = "2025-10-07T18:21:00.373Z" }, - { url = "https://files.pythonhosted.org/packages/ee/40/e2392f445ed8e02aa6105d49db4bfff01957379064c30f4811c3bf38aece/ruff-0.14.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:838d1b065f4df676b7c9957992f2304e41ead7a50a568185efd404297d5701e8", size = 13160768, upload-time = "2025-10-07T18:21:04.73Z" }, - { url = "https://files.pythonhosted.org/packages/75/da/2a656ea7c6b9bd14c7209918268dd40e1e6cea65f4bb9880eaaa43b055cd/ruff-0.14.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:703799d059ba50f745605b04638fa7e9682cc3da084b2092feee63500ff3d9b8", size = 12363376, upload-time = "2025-10-07T18:21:07.833Z" }, - { url = "https://files.pythonhosted.org/packages/42/e2/1ffef5a1875add82416ff388fcb7ea8b22a53be67a638487937aea81af27/ruff-0.14.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ba9a8925e90f861502f7d974cc60e18ca29c72bb0ee8bfeabb6ade35a3abde7", size = 12608055, upload-time = "2025-10-07T18:21:10.72Z" }, - { url = "https://files.pythonhosted.org/packages/4a/32/986725199d7cee510d9f1dfdf95bf1efc5fa9dd714d0d85c1fb1f6be3bc3/ruff-0.14.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e41f785498bd200ffc276eb9e1570c019c1d907b07cfb081092c8ad51975bbe7", size = 12318544, upload-time = "2025-10-07T18:21:13.741Z" }, - { url = "https://files.pythonhosted.org/packages/9a/ed/4969cefd53315164c94eaf4da7cfba1f267dc275b0abdd593d11c90829a3/ruff-0.14.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30a58c087aef4584c193aebf2700f0fbcfc1e77b89c7385e3139956fa90434e2", size = 14001280, upload-time = "2025-10-07T18:21:16.411Z" }, - { url = "https://files.pythonhosted.org/packages/ab/ad/96c1fc9f8854c37681c9613d825925c7f24ca1acfc62a4eb3896b50bacd2/ruff-0.14.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f8d07350bc7af0a5ce8812b7d5c1a7293cf02476752f23fdfc500d24b79b783c", size = 15027286, upload-time = "2025-10-07T18:21:19.577Z" }, - { url = "https://files.pythonhosted.org/packages/b3/00/1426978f97df4fe331074baf69615f579dc4e7c37bb4c6f57c2aad80c87f/ruff-0.14.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eec3bbbf3a7d5482b5c1f42d5fc972774d71d107d447919fca620b0be3e3b75e", size = 14451506, upload-time = "2025-10-07T18:21:22.779Z" }, - { url = "https://files.pythonhosted.org/packages/58/d5/9c1cea6e493c0cf0647674cca26b579ea9d2a213b74b5c195fbeb9678e15/ruff-0.14.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16b68e183a0e28e5c176d51004aaa40559e8f90065a10a559176713fcf435206", size = 13437384, upload-time = "2025-10-07T18:21:25.758Z" }, - { url = "https://files.pythonhosted.org/packages/29/b4/4cd6a4331e999fc05d9d77729c95503f99eae3ba1160469f2b64866964e3/ruff-0.14.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb732d17db2e945cfcbbc52af0143eda1da36ca8ae25083dd4f66f1542fdf82e", size = 13447976, upload-time = "2025-10-07T18:21:28.83Z" }, - { url = "https://files.pythonhosted.org/packages/3b/c0/ac42f546d07e4f49f62332576cb845d45c67cf5610d1851254e341d563b6/ruff-0.14.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:c958f66ab884b7873e72df38dcabee03d556a8f2ee1b8538ee1c2bbd619883dd", size = 13682850, upload-time = "2025-10-07T18:21:31.842Z" }, - { url = "https://files.pythonhosted.org/packages/5f/c4/4b0c9bcadd45b4c29fe1af9c5d1dc0ca87b4021665dfbe1c4688d407aa20/ruff-0.14.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:7eb0499a2e01f6e0c285afc5bac43ab380cbfc17cd43a2e1dd10ec97d6f2c42d", size = 12449825, upload-time = "2025-10-07T18:21:35.074Z" }, - { url = "https://files.pythonhosted.org/packages/4b/a8/e2e76288e6c16540fa820d148d83e55f15e994d852485f221b9524514730/ruff-0.14.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4c63b2d99fafa05efca0ab198fd48fa6030d57e4423df3f18e03aa62518c565f", size = 12272599, upload-time = "2025-10-07T18:21:38.08Z" }, - { url = "https://files.pythonhosted.org/packages/18/14/e2815d8eff847391af632b22422b8207704222ff575dec8d044f9ab779b2/ruff-0.14.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:668fce701b7a222f3f5327f86909db2bbe99c30877c8001ff934c5413812ac02", size = 13193828, upload-time = "2025-10-07T18:21:41.216Z" }, - { url = "https://files.pythonhosted.org/packages/44/c6/61ccc2987cf0aecc588ff8f3212dea64840770e60d78f5606cd7dc34de32/ruff-0.14.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a86bf575e05cb68dcb34e4c7dfe1064d44d3f0c04bbc0491949092192b515296", size = 13628617, upload-time = "2025-10-07T18:21:44.04Z" }, - { url = "https://files.pythonhosted.org/packages/73/e6/03b882225a1b0627e75339b420883dc3c90707a8917d2284abef7a58d317/ruff-0.14.0-py3-none-win32.whl", hash = "sha256:7450a243d7125d1c032cb4b93d9625dea46c8c42b4f06c6b709baac168e10543", size = 12367872, upload-time = "2025-10-07T18:21:46.67Z" }, - { url = "https://files.pythonhosted.org/packages/41/77/56cf9cf01ea0bfcc662de72540812e5ba8e9563f33ef3d37ab2174892c47/ruff-0.14.0-py3-none-win_amd64.whl", hash = "sha256:ea95da28cd874c4d9c922b39381cbd69cb7e7b49c21b8152b014bd4f52acddc2", size = 13464628, upload-time = "2025-10-07T18:21:50.318Z" }, - { url = "https://files.pythonhosted.org/packages/c6/2a/65880dfd0e13f7f13a775998f34703674a4554906167dce02daf7865b954/ruff-0.14.0-py3-none-win_arm64.whl", hash = "sha256:f42c9495f5c13ff841b1da4cb3c2a42075409592825dada7c5885c2c844ac730", size = 12565142, upload-time = "2025-10-07T18:21:53.577Z" }, +version = "0.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c8/39/5cee96809fbca590abea6b46c6d1c586b49663d1d2830a751cc8fc42c666/ruff-0.15.0.tar.gz", hash = "sha256:6bdea47cdbea30d40f8f8d7d69c0854ba7c15420ec75a26f463290949d7f7e9a", size = 4524893, upload-time = "2026-02-03T17:53:35.357Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/88/3fd1b0aa4b6330d6aaa63a285bc96c9f71970351579152d231ed90914586/ruff-0.15.0-py3-none-linux_armv6l.whl", hash = "sha256:aac4ebaa612a82b23d45964586f24ae9bc23ca101919f5590bdb368d74ad5455", size = 10354332, upload-time = "2026-02-03T17:52:54.892Z" }, + { url = "https://files.pythonhosted.org/packages/72/f6/62e173fbb7eb75cc29fe2576a1e20f0a46f671a2587b5f604bfb0eaf5f6f/ruff-0.15.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:dcd4be7cc75cfbbca24a98d04d0b9b36a270d0833241f776b788d59f4142b14d", size = 10767189, upload-time = "2026-02-03T17:53:19.778Z" }, + { url = "https://files.pythonhosted.org/packages/99/e4/968ae17b676d1d2ff101d56dc69cf333e3a4c985e1ec23803df84fc7bf9e/ruff-0.15.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d747e3319b2bce179c7c1eaad3d884dc0a199b5f4d5187620530adf9105268ce", size = 10075384, upload-time = "2026-02-03T17:53:29.241Z" }, + { url = "https://files.pythonhosted.org/packages/a2/bf/9843c6044ab9e20af879c751487e61333ca79a2c8c3058b15722386b8cae/ruff-0.15.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:650bd9c56ae03102c51a5e4b554d74d825ff3abe4db22b90fd32d816c2e90621", size = 10481363, upload-time = "2026-02-03T17:52:43.332Z" }, + { url = "https://files.pythonhosted.org/packages/55/d9/4ada5ccf4cd1f532db1c8d44b6f664f2208d3d93acbeec18f82315e15193/ruff-0.15.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6664b7eac559e3048223a2da77769c2f92b43a6dfd4720cef42654299a599c9", size = 10187736, upload-time = "2026-02-03T17:53:00.522Z" }, + { url = "https://files.pythonhosted.org/packages/86/e2/f25eaecd446af7bb132af0a1d5b135a62971a41f5366ff41d06d25e77a91/ruff-0.15.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f811f97b0f092b35320d1556f3353bf238763420ade5d9e62ebd2b73f2ff179", size = 10968415, upload-time = "2026-02-03T17:53:15.705Z" }, + { url = "https://files.pythonhosted.org/packages/e7/dc/f06a8558d06333bf79b497d29a50c3a673d9251214e0d7ec78f90b30aa79/ruff-0.15.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:761ec0a66680fab6454236635a39abaf14198818c8cdf691e036f4bc0f406b2d", size = 11809643, upload-time = "2026-02-03T17:53:23.031Z" }, + { url = "https://files.pythonhosted.org/packages/dd/45/0ece8db2c474ad7df13af3a6d50f76e22a09d078af63078f005057ca59eb/ruff-0.15.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:940f11c2604d317e797b289f4f9f3fa5555ffe4fb574b55ed006c3d9b6f0eb78", size = 11234787, upload-time = "2026-02-03T17:52:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/8a/d9/0e3a81467a120fd265658d127db648e4d3acfe3e4f6f5d4ea79fac47e587/ruff-0.15.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcbca3d40558789126da91d7ef9a7c87772ee107033db7191edefa34e2c7f1b4", size = 11112797, upload-time = "2026-02-03T17:52:49.274Z" }, + { url = "https://files.pythonhosted.org/packages/b2/cb/8c0b3b0c692683f8ff31351dfb6241047fa873a4481a76df4335a8bff716/ruff-0.15.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:9a121a96db1d75fa3eb39c4539e607f628920dd72ff1f7c5ee4f1b768ac62d6e", size = 11033133, upload-time = "2026-02-03T17:53:33.105Z" }, + { url = "https://files.pythonhosted.org/packages/f8/5e/23b87370cf0f9081a8c89a753e69a4e8778805b8802ccfe175cc410e50b9/ruff-0.15.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5298d518e493061f2eabd4abd067c7e4fb89e2f63291c94332e35631c07c3662", size = 10442646, upload-time = "2026-02-03T17:53:06.278Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9a/3c94de5ce642830167e6d00b5c75aacd73e6347b4c7fc6828699b150a5ee/ruff-0.15.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:afb6e603d6375ff0d6b0cee563fa21ab570fd15e65c852cb24922cef25050cf1", size = 10195750, upload-time = "2026-02-03T17:53:26.084Z" }, + { url = "https://files.pythonhosted.org/packages/30/15/e396325080d600b436acc970848d69df9c13977942fb62bb8722d729bee8/ruff-0.15.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:77e515f6b15f828b94dc17d2b4ace334c9ddb7d9468c54b2f9ed2b9c1593ef16", size = 10676120, upload-time = "2026-02-03T17:53:09.363Z" }, + { url = "https://files.pythonhosted.org/packages/8d/c9/229a23d52a2983de1ad0fb0ee37d36e0257e6f28bfd6b498ee2c76361874/ruff-0.15.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6f6e80850a01eb13b3e42ee0ebdf6e4497151b48c35051aab51c101266d187a3", size = 11201636, upload-time = "2026-02-03T17:52:57.281Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b0/69adf22f4e24f3677208adb715c578266842e6e6a3cc77483f48dd999ede/ruff-0.15.0-py3-none-win32.whl", hash = "sha256:238a717ef803e501b6d51e0bdd0d2c6e8513fe9eec14002445134d3907cd46c3", size = 10465945, upload-time = "2026-02-03T17:53:12.591Z" }, + { url = "https://files.pythonhosted.org/packages/51/ad/f813b6e2c97e9b4598be25e94a9147b9af7e60523b0cb5d94d307c15229d/ruff-0.15.0-py3-none-win_amd64.whl", hash = "sha256:dd5e4d3301dc01de614da3cdffc33d4b1b96fb89e45721f1598e5532ccf78b18", size = 11564657, upload-time = "2026-02-03T17:52:51.893Z" }, + { url = "https://files.pythonhosted.org/packages/f6/b0/2d823f6e77ebe560f4e397d078487e8d52c1516b331e3521bc75db4272ca/ruff-0.15.0-py3-none-win_arm64.whl", hash = "sha256:c480d632cc0ca3f0727acac8b7d053542d9e114a462a145d0b00e7cd658c515a", size = 10865753, upload-time = "2026-02-03T17:53:03.014Z" }, ] [[package]] name = "s3transfer" -version = "0.14.0" +version = "0.16.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" } +sdist = { url = "https://files.pythonhosted.org/packages/05/04/74127fc843314818edfa81b5540e26dd537353b123a4edc563109d8f17dd/s3transfer-0.16.0.tar.gz", hash = "sha256:8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920", size = 153827, upload-time = "2025-12-01T02:30:59.114Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" }, -] - -[[package]] -name = "setuptools" -version = "80.9.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, + { url = "https://files.pythonhosted.org/packages/fc/51/727abb13f44c1fcf6d145979e1535a35794db0f6e450a0cb46aa24732fe2/s3transfer-0.16.0-py3-none-any.whl", hash = "sha256:18e25d66fed509e3868dc1572b3f427ff947dd2c56f844a5bf09481ad3f3b2fe", size = 86830, upload-time = "2025-12-01T02:30:57.729Z" }, ] [[package]] @@ -2065,11 +2065,11 @@ wheels = [ [[package]] name = "soupsieve" -version = "2.8" +version = "2.8.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, + { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, ] [[package]] @@ -2100,70 +2100,75 @@ wheels = [ [[package]] name = "tomli" -version = "2.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", size = 17392, upload-time = "2025-10-08T22:01:47.119Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/2e/299f62b401438d5fe1624119c723f5d877acc86a4c2492da405626665f12/tomli-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45", size = 153236, upload-time = "2025-10-08T22:01:00.137Z" }, - { url = "https://files.pythonhosted.org/packages/86/7f/d8fffe6a7aefdb61bced88fcb5e280cfd71e08939da5894161bd71bea022/tomli-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba", size = 148084, upload-time = "2025-10-08T22:01:01.63Z" }, - { url = "https://files.pythonhosted.org/packages/47/5c/24935fb6a2ee63e86d80e4d3b58b222dafaf438c416752c8b58537c8b89a/tomli-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf", size = 234832, upload-time = "2025-10-08T22:01:02.543Z" }, - { url = "https://files.pythonhosted.org/packages/89/da/75dfd804fc11e6612846758a23f13271b76d577e299592b4371a4ca4cd09/tomli-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441", size = 242052, upload-time = "2025-10-08T22:01:03.836Z" }, - { url = "https://files.pythonhosted.org/packages/70/8c/f48ac899f7b3ca7eb13af73bacbc93aec37f9c954df3c08ad96991c8c373/tomli-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845", size = 239555, upload-time = "2025-10-08T22:01:04.834Z" }, - { url = "https://files.pythonhosted.org/packages/ba/28/72f8afd73f1d0e7829bfc093f4cb98ce0a40ffc0cc997009ee1ed94ba705/tomli-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c", size = 245128, upload-time = "2025-10-08T22:01:05.84Z" }, - { url = "https://files.pythonhosted.org/packages/b6/eb/a7679c8ac85208706d27436e8d421dfa39d4c914dcf5fa8083a9305f58d9/tomli-2.3.0-cp311-cp311-win32.whl", hash = "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456", size = 96445, upload-time = "2025-10-08T22:01:06.896Z" }, - { url = "https://files.pythonhosted.org/packages/0a/fe/3d3420c4cb1ad9cb462fb52967080575f15898da97e21cb6f1361d505383/tomli-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be", size = 107165, upload-time = "2025-10-08T22:01:08.107Z" }, - { url = "https://files.pythonhosted.org/packages/ff/b7/40f36368fcabc518bb11c8f06379a0fd631985046c038aca08c6d6a43c6e/tomli-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac", size = 154891, upload-time = "2025-10-08T22:01:09.082Z" }, - { url = "https://files.pythonhosted.org/packages/f9/3f/d9dd692199e3b3aab2e4e4dd948abd0f790d9ded8cd10cbaae276a898434/tomli-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22", size = 148796, upload-time = "2025-10-08T22:01:10.266Z" }, - { url = "https://files.pythonhosted.org/packages/60/83/59bff4996c2cf9f9387a0f5a3394629c7efa5ef16142076a23a90f1955fa/tomli-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f", size = 242121, upload-time = "2025-10-08T22:01:11.332Z" }, - { url = "https://files.pythonhosted.org/packages/45/e5/7c5119ff39de8693d6baab6c0b6dcb556d192c165596e9fc231ea1052041/tomli-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52", size = 250070, upload-time = "2025-10-08T22:01:12.498Z" }, - { url = "https://files.pythonhosted.org/packages/45/12/ad5126d3a278f27e6701abde51d342aa78d06e27ce2bb596a01f7709a5a2/tomli-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8", size = 245859, upload-time = "2025-10-08T22:01:13.551Z" }, - { url = "https://files.pythonhosted.org/packages/fb/a1/4d6865da6a71c603cfe6ad0e6556c73c76548557a8d658f9e3b142df245f/tomli-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6", size = 250296, upload-time = "2025-10-08T22:01:14.614Z" }, - { url = "https://files.pythonhosted.org/packages/a0/b7/a7a7042715d55c9ba6e8b196d65d2cb662578b4d8cd17d882d45322b0d78/tomli-2.3.0-cp312-cp312-win32.whl", hash = "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876", size = 97124, upload-time = "2025-10-08T22:01:15.629Z" }, - { url = "https://files.pythonhosted.org/packages/06/1e/f22f100db15a68b520664eb3328fb0ae4e90530887928558112c8d1f4515/tomli-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878", size = 107698, upload-time = "2025-10-08T22:01:16.51Z" }, - { url = "https://files.pythonhosted.org/packages/89/48/06ee6eabe4fdd9ecd48bf488f4ac783844fd777f547b8d1b61c11939974e/tomli-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b", size = 154819, upload-time = "2025-10-08T22:01:17.964Z" }, - { url = "https://files.pythonhosted.org/packages/f1/01/88793757d54d8937015c75dcdfb673c65471945f6be98e6a0410fba167ed/tomli-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae", size = 148766, upload-time = "2025-10-08T22:01:18.959Z" }, - { url = "https://files.pythonhosted.org/packages/42/17/5e2c956f0144b812e7e107f94f1cc54af734eb17b5191c0bbfb72de5e93e/tomli-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b", size = 240771, upload-time = "2025-10-08T22:01:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/d5/f4/0fbd014909748706c01d16824eadb0307115f9562a15cbb012cd9b3512c5/tomli-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf", size = 248586, upload-time = "2025-10-08T22:01:21.164Z" }, - { url = "https://files.pythonhosted.org/packages/30/77/fed85e114bde5e81ecf9bc5da0cc69f2914b38f4708c80ae67d0c10180c5/tomli-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f", size = 244792, upload-time = "2025-10-08T22:01:22.417Z" }, - { url = "https://files.pythonhosted.org/packages/55/92/afed3d497f7c186dc71e6ee6d4fcb0acfa5f7d0a1a2878f8beae379ae0cc/tomli-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05", size = 248909, upload-time = "2025-10-08T22:01:23.859Z" }, - { url = "https://files.pythonhosted.org/packages/f8/84/ef50c51b5a9472e7265ce1ffc7f24cd4023d289e109f669bdb1553f6a7c2/tomli-2.3.0-cp313-cp313-win32.whl", hash = "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606", size = 96946, upload-time = "2025-10-08T22:01:24.893Z" }, - { url = "https://files.pythonhosted.org/packages/b2/b7/718cd1da0884f281f95ccfa3a6cc572d30053cba64603f79d431d3c9b61b/tomli-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999", size = 107705, upload-time = "2025-10-08T22:01:26.153Z" }, - { url = "https://files.pythonhosted.org/packages/19/94/aeafa14a52e16163008060506fcb6aa1949d13548d13752171a755c65611/tomli-2.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e", size = 154244, upload-time = "2025-10-08T22:01:27.06Z" }, - { url = "https://files.pythonhosted.org/packages/db/e4/1e58409aa78eefa47ccd19779fc6f36787edbe7d4cd330eeeedb33a4515b/tomli-2.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3", size = 148637, upload-time = "2025-10-08T22:01:28.059Z" }, - { url = "https://files.pythonhosted.org/packages/26/b6/d1eccb62f665e44359226811064596dd6a366ea1f985839c566cd61525ae/tomli-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc", size = 241925, upload-time = "2025-10-08T22:01:29.066Z" }, - { url = "https://files.pythonhosted.org/packages/70/91/7cdab9a03e6d3d2bb11beae108da5bdc1c34bdeb06e21163482544ddcc90/tomli-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0", size = 249045, upload-time = "2025-10-08T22:01:31.98Z" }, - { url = "https://files.pythonhosted.org/packages/15/1b/8c26874ed1f6e4f1fcfeb868db8a794cbe9f227299402db58cfcc858766c/tomli-2.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879", size = 245835, upload-time = "2025-10-08T22:01:32.989Z" }, - { url = "https://files.pythonhosted.org/packages/fd/42/8e3c6a9a4b1a1360c1a2a39f0b972cef2cc9ebd56025168c4137192a9321/tomli-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005", size = 253109, upload-time = "2025-10-08T22:01:34.052Z" }, - { url = "https://files.pythonhosted.org/packages/22/0c/b4da635000a71b5f80130937eeac12e686eefb376b8dee113b4a582bba42/tomli-2.3.0-cp314-cp314-win32.whl", hash = "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463", size = 97930, upload-time = "2025-10-08T22:01:35.082Z" }, - { url = "https://files.pythonhosted.org/packages/b9/74/cb1abc870a418ae99cd5c9547d6bce30701a954e0e721821df483ef7223c/tomli-2.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8", size = 107964, upload-time = "2025-10-08T22:01:36.057Z" }, - { url = "https://files.pythonhosted.org/packages/54/78/5c46fff6432a712af9f792944f4fcd7067d8823157949f4e40c56b8b3c83/tomli-2.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77", size = 163065, upload-time = "2025-10-08T22:01:37.27Z" }, - { url = "https://files.pythonhosted.org/packages/39/67/f85d9bd23182f45eca8939cd2bc7050e1f90c41f4a2ecbbd5963a1d1c486/tomli-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf", size = 159088, upload-time = "2025-10-08T22:01:38.235Z" }, - { url = "https://files.pythonhosted.org/packages/26/5a/4b546a0405b9cc0659b399f12b6adb750757baf04250b148d3c5059fc4eb/tomli-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530", size = 268193, upload-time = "2025-10-08T22:01:39.712Z" }, - { url = "https://files.pythonhosted.org/packages/42/4f/2c12a72ae22cf7b59a7fe75b3465b7aba40ea9145d026ba41cb382075b0e/tomli-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b", size = 275488, upload-time = "2025-10-08T22:01:40.773Z" }, - { url = "https://files.pythonhosted.org/packages/92/04/a038d65dbe160c3aa5a624e93ad98111090f6804027d474ba9c37c8ae186/tomli-2.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67", size = 272669, upload-time = "2025-10-08T22:01:41.824Z" }, - { url = "https://files.pythonhosted.org/packages/be/2f/8b7c60a9d1612a7cbc39ffcca4f21a73bf368a80fc25bccf8253e2563267/tomli-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f", size = 279709, upload-time = "2025-10-08T22:01:43.177Z" }, - { url = "https://files.pythonhosted.org/packages/7e/46/cc36c679f09f27ded940281c38607716c86cf8ba4a518d524e349c8b4874/tomli-2.3.0-cp314-cp314t-win32.whl", hash = "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0", size = 107563, upload-time = "2025-10-08T22:01:44.233Z" }, - { url = "https://files.pythonhosted.org/packages/84/ff/426ca8683cf7b753614480484f6437f568fd2fda2edbdf57a2d3d8b27a0b/tomli-2.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba", size = 119756, upload-time = "2025-10-08T22:01:45.234Z" }, - { url = "https://files.pythonhosted.org/packages/77/b8/0135fadc89e73be292b473cb820b4f5a08197779206b33191e801feeae40/tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", size = 14408, upload-time = "2025-10-08T22:01:46.04Z" }, +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477, upload-time = "2026-01-11T11:22:38.165Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663, upload-time = "2026-01-11T11:21:45.27Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469, upload-time = "2026-01-11T11:21:46.873Z" }, + { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039, upload-time = "2026-01-11T11:21:48.503Z" }, + { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007, upload-time = "2026-01-11T11:21:49.456Z" }, + { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875, upload-time = "2026-01-11T11:21:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271, upload-time = "2026-01-11T11:21:51.81Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770, upload-time = "2026-01-11T11:21:52.647Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626, upload-time = "2026-01-11T11:21:53.459Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842, upload-time = "2026-01-11T11:21:54.831Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894, upload-time = "2026-01-11T11:21:56.07Z" }, + { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053, upload-time = "2026-01-11T11:21:57.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481, upload-time = "2026-01-11T11:21:58.661Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720, upload-time = "2026-01-11T11:22:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014, upload-time = "2026-01-11T11:22:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820, upload-time = "2026-01-11T11:22:02.727Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712, upload-time = "2026-01-11T11:22:03.777Z" }, + { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296, upload-time = "2026-01-11T11:22:04.86Z" }, + { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553, upload-time = "2026-01-11T11:22:05.854Z" }, + { url = "https://files.pythonhosted.org/packages/34/91/7f65f9809f2936e1f4ce6268ae1903074563603b2a2bd969ebbda802744f/tomli-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", size = 154915, upload-time = "2026-01-11T11:22:06.703Z" }, + { url = "https://files.pythonhosted.org/packages/20/aa/64dd73a5a849c2e8f216b755599c511badde80e91e9bc2271baa7b2cdbb1/tomli-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", size = 149038, upload-time = "2026-01-11T11:22:07.56Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8a/6d38870bd3d52c8d1505ce054469a73f73a0fe62c0eaf5dddf61447e32fa/tomli-2.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", size = 242245, upload-time = "2026-01-11T11:22:08.344Z" }, + { url = "https://files.pythonhosted.org/packages/59/bb/8002fadefb64ab2669e5b977df3f5e444febea60e717e755b38bb7c41029/tomli-2.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", size = 250335, upload-time = "2026-01-11T11:22:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/4cdb6f791682b2ea916af2de96121b3cb1284d7c203d97d92d6003e91c8d/tomli-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", size = 245962, upload-time = "2026-01-11T11:22:11.27Z" }, + { url = "https://files.pythonhosted.org/packages/f2/4a/5f25789f9a460bd858ba9756ff52d0830d825b458e13f754952dd15fb7bb/tomli-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", size = 250396, upload-time = "2026-01-11T11:22:12.325Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2f/b73a36fea58dfa08e8b3a268750e6853a6aac2a349241a905ebd86f3047a/tomli-2.4.0-cp313-cp313-win32.whl", hash = "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", size = 97530, upload-time = "2026-01-11T11:22:13.865Z" }, + { url = "https://files.pythonhosted.org/packages/3b/af/ca18c134b5d75de7e8dc551c5234eaba2e8e951f6b30139599b53de9c187/tomli-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", size = 108227, upload-time = "2026-01-11T11:22:15.224Z" }, + { url = "https://files.pythonhosted.org/packages/22/c3/b386b832f209fee8073c8138ec50f27b4460db2fdae9ffe022df89a57f9b/tomli-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", size = 94748, upload-time = "2026-01-11T11:22:16.009Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c4/84047a97eb1004418bc10bdbcfebda209fca6338002eba2dc27cc6d13563/tomli-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6", size = 154725, upload-time = "2026-01-11T11:22:17.269Z" }, + { url = "https://files.pythonhosted.org/packages/a8/5d/d39038e646060b9d76274078cddf146ced86dc2b9e8bbf737ad5983609a0/tomli-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc", size = 148901, upload-time = "2026-01-11T11:22:18.287Z" }, + { url = "https://files.pythonhosted.org/packages/73/e5/383be1724cb30f4ce44983d249645684a48c435e1cd4f8b5cded8a816d3c/tomli-2.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66", size = 243375, upload-time = "2026-01-11T11:22:19.154Z" }, + { url = "https://files.pythonhosted.org/packages/31/f0/bea80c17971c8d16d3cc109dc3585b0f2ce1036b5f4a8a183789023574f2/tomli-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d", size = 250639, upload-time = "2026-01-11T11:22:20.168Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8f/2853c36abbb7608e3f945d8a74e32ed3a74ee3a1f468f1ffc7d1cb3abba6/tomli-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702", size = 246897, upload-time = "2026-01-11T11:22:21.544Z" }, + { url = "https://files.pythonhosted.org/packages/49/f0/6c05e3196ed5337b9fe7ea003e95fd3819a840b7a0f2bf5a408ef1dad8ed/tomli-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8", size = 254697, upload-time = "2026-01-11T11:22:23.058Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f5/2922ef29c9f2951883525def7429967fc4d8208494e5ab524234f06b688b/tomli-2.4.0-cp314-cp314-win32.whl", hash = "sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776", size = 98567, upload-time = "2026-01-11T11:22:24.033Z" }, + { url = "https://files.pythonhosted.org/packages/7b/31/22b52e2e06dd2a5fdbc3ee73226d763b184ff21fc24e20316a44ccc4d96b/tomli-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475", size = 108556, upload-time = "2026-01-11T11:22:25.378Z" }, + { url = "https://files.pythonhosted.org/packages/48/3d/5058dff3255a3d01b705413f64f4306a141a8fd7a251e5a495e3f192a998/tomli-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2", size = 96014, upload-time = "2026-01-11T11:22:26.138Z" }, + { url = "https://files.pythonhosted.org/packages/b8/4e/75dab8586e268424202d3a1997ef6014919c941b50642a1682df43204c22/tomli-2.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9", size = 163339, upload-time = "2026-01-11T11:22:27.143Z" }, + { url = "https://files.pythonhosted.org/packages/06/e3/b904d9ab1016829a776d97f163f183a48be6a4deb87304d1e0116a349519/tomli-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0", size = 159490, upload-time = "2026-01-11T11:22:28.399Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5a/fc3622c8b1ad823e8ea98a35e3c632ee316d48f66f80f9708ceb4f2a0322/tomli-2.4.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df", size = 269398, upload-time = "2026-01-11T11:22:29.345Z" }, + { url = "https://files.pythonhosted.org/packages/fd/33/62bd6152c8bdd4c305ad9faca48f51d3acb2df1f8791b1477d46ff86e7f8/tomli-2.4.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d", size = 276515, upload-time = "2026-01-11T11:22:30.327Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ff/ae53619499f5235ee4211e62a8d7982ba9e439a0fb4f2f351a93d67c1dd2/tomli-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f", size = 273806, upload-time = "2026-01-11T11:22:32.56Z" }, + { url = "https://files.pythonhosted.org/packages/47/71/cbca7787fa68d4d0a9f7072821980b39fbb1b6faeb5f5cf02f4a5559fa28/tomli-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b", size = 281340, upload-time = "2026-01-11T11:22:33.505Z" }, + { url = "https://files.pythonhosted.org/packages/f5/00/d595c120963ad42474cf6ee7771ad0d0e8a49d0f01e29576ee9195d9ecdf/tomli-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087", size = 108106, upload-time = "2026-01-11T11:22:34.451Z" }, + { url = "https://files.pythonhosted.org/packages/de/69/9aa0c6a505c2f80e519b43764f8b4ba93b5a0bbd2d9a9de6e2b24271b9a5/tomli-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd", size = 120504, upload-time = "2026-01-11T11:22:35.764Z" }, + { url = "https://files.pythonhosted.org/packages/b3/9f/f1668c281c58cfae01482f7114a4b88d345e4c140386241a1a24dcc9e7bc/tomli-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4", size = 99561, upload-time = "2026-01-11T11:22:36.624Z" }, + { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" }, ] [[package]] name = "tornado" -version = "6.5.2" +version = "6.5.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +sdist = { url = "https://files.pythonhosted.org/packages/37/1d/0a336abf618272d53f62ebe274f712e213f5a03c0b2339575430b8362ef2/tornado-6.5.4.tar.gz", hash = "sha256:a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7", size = 513632, upload-time = "2025-12-15T19:21:03.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, - { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, - { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, - { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, - { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, - { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, - { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, - { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, - { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, - { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a9/e94a9d5224107d7ce3cc1fab8d5dc97f5ea351ccc6322ee4fb661da94e35/tornado-6.5.4-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9", size = 443909, upload-time = "2025-12-15T19:20:48.382Z" }, + { url = "https://files.pythonhosted.org/packages/db/7e/f7b8d8c4453f305a51f80dbb49014257bb7d28ccb4bbb8dd328ea995ecad/tornado-6.5.4-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843", size = 442163, upload-time = "2025-12-15T19:20:49.791Z" }, + { url = "https://files.pythonhosted.org/packages/ba/b5/206f82d51e1bfa940ba366a8d2f83904b15942c45a78dd978b599870ab44/tornado-6.5.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17", size = 445746, upload-time = "2025-12-15T19:20:51.491Z" }, + { url = "https://files.pythonhosted.org/packages/8e/9d/1a3338e0bd30ada6ad4356c13a0a6c35fbc859063fa7eddb309183364ac1/tornado-6.5.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335", size = 445083, upload-time = "2025-12-15T19:20:52.778Z" }, + { url = "https://files.pythonhosted.org/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f", size = 445315, upload-time = "2025-12-15T19:20:53.996Z" }, + { url = "https://files.pythonhosted.org/packages/27/07/2273972f69ca63dbc139694a3fc4684edec3ea3f9efabf77ed32483b875c/tornado-6.5.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84", size = 446003, upload-time = "2025-12-15T19:20:56.101Z" }, + { url = "https://files.pythonhosted.org/packages/d1/83/41c52e47502bf7260044413b6770d1a48dda2f0246f95ee1384a3cd9c44a/tornado-6.5.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f", size = 445412, upload-time = "2025-12-15T19:20:57.398Z" }, + { url = "https://files.pythonhosted.org/packages/10/c7/bc96917f06cbee182d44735d4ecde9c432e25b84f4c2086143013e7b9e52/tornado-6.5.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8", size = 445392, upload-time = "2025-12-15T19:20:58.692Z" }, + { url = "https://files.pythonhosted.org/packages/0c/1a/d7592328d037d36f2d2462f4bc1fbb383eec9278bc786c1b111cbbd44cfa/tornado-6.5.4-cp39-abi3-win32.whl", hash = "sha256:1768110f2411d5cd281bac0a090f707223ce77fd110424361092859e089b38d1", size = 446481, upload-time = "2025-12-15T19:21:00.008Z" }, + { url = "https://files.pythonhosted.org/packages/d6/6d/c69be695a0a64fd37a97db12355a035a6d90f79067a3cf936ec2b1dc38cd/tornado-6.5.4-cp39-abi3-win_amd64.whl", hash = "sha256:fa07d31e0cd85c60713f2b995da613588aa03e1303d75705dca6af8babc18ddc", size = 446886, upload-time = "2025-12-15T19:21:01.287Z" }, + { url = "https://files.pythonhosted.org/packages/50/49/8dc3fd90902f70084bd2cd059d576ddb4f8bb44c2c7c0e33a11422acb17e/tornado-6.5.4-cp39-abi3-win_arm64.whl", hash = "sha256:053e6e16701eb6cbe641f308f4c1a9541f91b6261991160391bfc342e8a551a1", size = 445910, upload-time = "2025-12-15T19:21:02.571Z" }, ] [[package]] @@ -2175,22 +2180,46 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, ] +[[package]] +name = "ty" +version = "0.0.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/25/257602d316b9333089b688a7a11b33ebc660b74e8dacf400dc3dfdea1594/ty-0.0.15.tar.gz", hash = "sha256:4f9a5b8df208c62dba56e91b93bed8b5bb714839691b8cff16d12c983bfa1174", size = 5101936, upload-time = "2026-02-05T01:06:34.922Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/c5/35626e732b79bf0e6213de9f79aff59b5f247c0a1e3ce0d93e675ab9b728/ty-0.0.15-py3-none-linux_armv6l.whl", hash = "sha256:68e092458516c61512dac541cde0a5e4e5842df00b4e81881ead8f745ddec794", size = 10138374, upload-time = "2026-02-05T01:07:03.804Z" }, + { url = "https://files.pythonhosted.org/packages/d5/8a/48fd81664604848f79d03879b3ca3633762d457a069b07e09fb1b87edd6e/ty-0.0.15-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:79f2e75289eae3cece94c51118b730211af4ba5762906f52a878041b67e54959", size = 9947858, upload-time = "2026-02-05T01:06:47.453Z" }, + { url = "https://files.pythonhosted.org/packages/b6/85/c1ac8e97bcd930946f4c94db85b675561d590b4e72703bf3733419fc3973/ty-0.0.15-py3-none-macosx_11_0_arm64.whl", hash = "sha256:112a7b26e63e48cc72c8c5b03227d1db280cfa57a45f2df0e264c3a016aa8c3c", size = 9443220, upload-time = "2026-02-05T01:06:44.98Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d9/244bc02599d950f7a4298fbc0c1b25cc808646b9577bdf7a83470b2d1cec/ty-0.0.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71f62a2644972975a657d9dc867bf901235cde51e8d24c20311067e7afd44a56", size = 9949976, upload-time = "2026-02-05T01:07:01.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/ab/3a0daad66798c91a33867a3ececf17d314ac65d4ae2bbbd28cbfde94da63/ty-0.0.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e48b42be2d257317c85b78559233273b655dd636fc61e7e1d69abd90fd3cba4", size = 9965918, upload-time = "2026-02-05T01:06:54.283Z" }, + { url = "https://files.pythonhosted.org/packages/39/4e/e62b01338f653059a7c0cd09d1a326e9a9eedc351a0f0de9db0601658c3d/ty-0.0.15-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27dd5b52a421e6871c5bfe9841160331b60866ed2040250cb161886478ab3e4f", size = 10424943, upload-time = "2026-02-05T01:07:08.777Z" }, + { url = "https://files.pythonhosted.org/packages/65/b5/7aa06655ce69c0d4f3e845d2d85e79c12994b6d84c71699cfb437e0bc8cf/ty-0.0.15-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76b85c9ec2219e11c358a7db8e21b7e5c6674a1fb9b6f633836949de98d12286", size = 10964692, upload-time = "2026-02-05T01:06:37.103Z" }, + { url = "https://files.pythonhosted.org/packages/13/04/36fdfe1f3c908b471e246e37ce3d011175584c26d3853e6c5d9a0364564c/ty-0.0.15-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9e8204c61d8ede4f21f2975dce74efdb80fafb2fae1915c666cceb33ea3c90b", size = 10692225, upload-time = "2026-02-05T01:06:49.714Z" }, + { url = "https://files.pythonhosted.org/packages/13/41/5bf882649bd8b64ded5fbce7fb8d77fb3b868de1a3b1a6c4796402b47308/ty-0.0.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af87c3be7c944bb4d6609d6c63e4594944b0028c7bd490a525a82b88fe010d6d", size = 10516776, upload-time = "2026-02-05T01:06:52.047Z" }, + { url = "https://files.pythonhosted.org/packages/56/75/66852d7e004f859839c17ffe1d16513c1e7cc04bcc810edb80ca022a9124/ty-0.0.15-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:50dccf7398505e5966847d366c9e4c650b8c225411c2a68c32040a63b9521eea", size = 9928828, upload-time = "2026-02-05T01:06:56.647Z" }, + { url = "https://files.pythonhosted.org/packages/65/72/96bc16c7b337a3ef358fd227b3c8ef0c77405f3bfbbfb59ee5915f0d9d71/ty-0.0.15-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:bd797b8f231a4f4715110259ad1ad5340a87b802307f3e06d92bfb37b858a8f3", size = 9978960, upload-time = "2026-02-05T01:06:29.567Z" }, + { url = "https://files.pythonhosted.org/packages/a0/18/d2e316a35b626de2227f832cd36d21205e4f5d96fd036a8af84c72ecec1b/ty-0.0.15-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9deb7f20e18b25440a9aa4884f934ba5628ef456dbde91819d5af1a73da48af3", size = 10135903, upload-time = "2026-02-05T01:06:59.256Z" }, + { url = "https://files.pythonhosted.org/packages/02/d3/b617a79c9dad10c888d7c15cd78859e0160b8772273637b9c4241a049491/ty-0.0.15-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7b31b3de031255b90a5f4d9cb3d050feae246067c87130e5a6861a8061c71754", size = 10615879, upload-time = "2026-02-05T01:07:06.661Z" }, + { url = "https://files.pythonhosted.org/packages/fb/b0/2652a73c71c77296a6343217063f05745da60c67b7e8a8e25f2064167fce/ty-0.0.15-py3-none-win32.whl", hash = "sha256:9362c528ceb62c89d65c216336d28d500bc9f4c10418413f63ebc16886e16cc1", size = 9578058, upload-time = "2026-02-05T01:06:42.928Z" }, + { url = "https://files.pythonhosted.org/packages/84/6e/08a4aedebd2a6ce2784b5bc3760e43d1861f1a184734a78215c2d397c1df/ty-0.0.15-py3-none-win_amd64.whl", hash = "sha256:4db040695ae67c5524f59cb8179a8fa277112e69042d7dfdac862caa7e3b0d9c", size = 10457112, upload-time = "2026-02-05T01:06:39.885Z" }, + { url = "https://files.pythonhosted.org/packages/b3/be/1991f2bc12847ae2d4f1e3ac5dcff8bb7bc1261390645c0755bb55616355/ty-0.0.15-py3-none-win_arm64.whl", hash = "sha256:e5a98d4119e77d6136461e16ae505f8f8069002874ab073de03fbcb1a5e8bf25", size = 9937490, upload-time = "2026-02-05T01:06:32.388Z" }, +] + [[package]] name = "types-awscrt" -version = "0.28.1" +version = "0.31.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/60/19/a3a6377c9e2e389c1421c033a1830c29cac08f2e1e05a082ea84eb22c75f/types_awscrt-0.28.1.tar.gz", hash = "sha256:66d77ec283e1dc907526a44511a12624118723a396c36d3f3dd9855cb614ce14", size = 17410, upload-time = "2025-10-11T21:55:07.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/97/be/589b7bba42b5681a72bac4d714287afef4e1bb84d07c859610ff631d449e/types_awscrt-0.31.1.tar.gz", hash = "sha256:08b13494f93f45c1a92eb264755fce50ed0d1dc75059abb5e31670feb9a09724", size = 17839, upload-time = "2026-01-16T02:01:23.394Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/c7/0266b797d19b82aebe0e177efe35de7aabdc192bc1605ce3309331f0a505/types_awscrt-0.28.1-py3-none-any.whl", hash = "sha256:d88f43ef779f90b841ba99badb72fe153077225a4e426ae79e943184827b4443", size = 41851, upload-time = "2025-10-11T21:55:06.235Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fd/ddca80617f230bd833f99b4fb959abebffd8651f520493cae2e96276b1bd/types_awscrt-0.31.1-py3-none-any.whl", hash = "sha256:7e4364ac635f72bd57f52b093883640b1448a6eded0ecbac6e900bf4b1e4777b", size = 42516, upload-time = "2026-01-16T02:01:21.637Z" }, ] [[package]] name = "types-s3transfer" -version = "0.14.0" +version = "0.16.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/9b/8913198b7fc700acc1dcb84827137bb2922052e43dde0f4fb0ed2dc6f118/types_s3transfer-0.14.0.tar.gz", hash = "sha256:17f800a87c7eafab0434e9d87452c809c290ae906c2024c24261c564479e9c95", size = 14218, upload-time = "2025-10-11T21:11:27.892Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/64/42689150509eb3e6e82b33ee3d89045de1592488842ddf23c56957786d05/types_s3transfer-0.16.0.tar.gz", hash = "sha256:b4636472024c5e2b62278c5b759661efeb52a81851cde5f092f24100b1ecb443", size = 13557, upload-time = "2025-12-08T08:13:09.928Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/92/c3/4dfb2e87c15ca582b7d956dfb7e549de1d005c758eb9a305e934e1b83fda/types_s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:108134854069a38b048e9b710b9b35904d22a9d0f37e4e1889c2e6b58e5b3253", size = 19697, upload-time = "2025-10-11T21:11:26.749Z" }, + { url = "https://files.pythonhosted.org/packages/98/27/e88220fe6274eccd3bdf95d9382918716d312f6f6cef6a46332d1ee2feff/types_s3transfer-0.16.0-py3-none-any.whl", hash = "sha256:1c0cd111ecf6e21437cb410f5cddb631bfb2263b77ad973e79b9c6d0cb24e0ef", size = 19247, upload-time = "2025-12-08T08:13:08.426Z" }, ] [[package]] @@ -2216,11 +2245,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.5.0" +version = "2.6.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, ] [[package]] @@ -2257,11 +2286,11 @@ wheels = [ [[package]] name = "wcwidth" -version = "0.2.14" +version = "0.5.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/62/a7c072fbfefb2980a00f99ca994279cb9ecf310cb2e6b2a4d2a28fe192b3/wcwidth-0.5.3.tar.gz", hash = "sha256:53123b7af053c74e9fe2e92ac810301f6139e64379031f7124574212fb3b4091", size = 157587, upload-time = "2026-01-31T03:52:10.92Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, + { url = "https://files.pythonhosted.org/packages/3c/c1/d73f12f8cdb1891334a2ccf7389eed244d3941e74d80dd220badb937f3fb/wcwidth-0.5.3-py3-none-any.whl", hash = "sha256:d584eff31cd4753e1e5ff6c12e1edfdb324c995713f75d26c29807bb84bf649e", size = 92981, upload-time = "2026-01-31T03:52:09.14Z" }, ] [[package]] @@ -2275,44 +2304,47 @@ wheels = [ [[package]] name = "zope-event" -version = "6.0" +version = "6.1" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "setuptools" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c2/d8/9c8b0c6bb1db09725395618f68d3b8a08089fca0aed28437500caaf713ee/zope_event-6.0.tar.gz", hash = "sha256:0ebac894fa7c5f8b7a89141c272133d8c1de6ddc75ea4b1f327f00d1f890df92", size = 18731, upload-time = "2025-09-12T07:10:13.551Z" } +sdist = { url = "https://files.pythonhosted.org/packages/46/33/d3eeac228fc14de76615612ee208be2d8a5b5b0fada36bf9b62d6b40600c/zope_event-6.1.tar.gz", hash = "sha256:6052a3e0cb8565d3d4ef1a3a7809336ac519bc4fe38398cb8d466db09adef4f0", size = 18739, upload-time = "2025-11-07T08:05:49.934Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/b5/1abb5a8b443314c978617bf46d5d9ad648bdf21058074e817d7efbb257db/zope_event-6.0-py3-none-any.whl", hash = "sha256:6f0922593407cc673e7d8766b492c519f91bdc99f3080fe43dcec0a800d682a3", size = 6409, upload-time = "2025-09-12T07:10:12.316Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b0/956902e5e1302f8c5d124e219c6bf214e2649f92ad5fce85b05c039a04c9/zope_event-6.1-py3-none-any.whl", hash = "sha256:0ca78b6391b694272b23ec1335c0294cc471065ed10f7f606858fc54566c25a0", size = 6414, upload-time = "2025-11-07T08:05:48.874Z" }, ] [[package]] name = "zope-interface" -version = "8.0.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/88/3a/7fcf02178b8fad0a51e67e32765cd039ae505d054d744d76b8c2bbcba5ba/zope_interface-8.0.1.tar.gz", hash = "sha256:eba5610d042c3704a48222f7f7c6ab5b243ed26f917e2bc69379456b115e02d1", size = 253746, upload-time = "2025-09-25T05:55:51.285Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/75/e5/ffef169d17b92c6236b3b18b890c0ce73502f3cbd5b6532ff20d412d94a3/zope_interface-8.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fd7195081b8637eeed8d73e4d183b07199a1dc738fb28b3de6666b1b55662570", size = 207364, upload-time = "2025-09-25T05:58:50.262Z" }, - { url = "https://files.pythonhosted.org/packages/35/b6/87aca626c09af829d3a32011599d6e18864bc8daa0ad3a7e258f3d7f8bcf/zope_interface-8.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f7c4bc4021108847bce763673ce70d0716b08dfc2ba9889e7bad46ac2b3bb924", size = 207901, upload-time = "2025-09-25T05:58:51.74Z" }, - { url = "https://files.pythonhosted.org/packages/d8/c1/eec33cc9f847ebeb0bc6234d7d45fe3fc0a6fe8fc5b5e6be0442bd2c684d/zope_interface-8.0.1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:758803806b962f32c87b31bb18c298b022965ba34fe532163831cc39118c24ab", size = 249358, upload-time = "2025-09-25T05:58:16.979Z" }, - { url = "https://files.pythonhosted.org/packages/58/7d/1e3476a1ef0175559bd8492dc7bb921ad0df5b73861d764b1f824ad5484a/zope_interface-8.0.1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f8e88f35f86bbe8243cad4b2972deef0fdfca0a0723455abbebdc83bbab96b69", size = 254475, upload-time = "2025-09-25T05:58:10.032Z" }, - { url = "https://files.pythonhosted.org/packages/bc/67/ba5ea98ff23f723c5cbe7db7409f2e43c9fe2df1ced67881443c01e64478/zope_interface-8.0.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7844765695937d9b0d83211220b72e2cf6ac81a08608ad2b58f2c094af498d83", size = 254913, upload-time = "2025-09-25T06:26:22.263Z" }, - { url = "https://files.pythonhosted.org/packages/2b/a7/b1b8b6c13fba955c043cdee409953ee85f652b106493e2e931a84f95c1aa/zope_interface-8.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:64fa7b206dd9669f29d5c1241a768bebe8ab1e8a4b63ee16491f041e058c09d0", size = 211753, upload-time = "2025-09-25T05:59:00.561Z" }, - { url = "https://files.pythonhosted.org/packages/f2/2f/c10c739bcb9b072090c97c2e08533777497190daa19d190d72b4cce9c7cb/zope_interface-8.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4bd01022d2e1bce4a4a4ed9549edb25393c92e607d7daa6deff843f1f68b479d", size = 207903, upload-time = "2025-09-25T05:58:21.671Z" }, - { url = "https://files.pythonhosted.org/packages/b5/e1/9845ac3697f108d9a1af6912170c59a23732090bbfb35955fe77e5544955/zope_interface-8.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:29be8db8b712d94f1c05e24ea230a879271d787205ba1c9a6100d1d81f06c69a", size = 208345, upload-time = "2025-09-25T05:58:24.217Z" }, - { url = "https://files.pythonhosted.org/packages/f2/49/6573bc8b841cfab18e80c8e8259f1abdbbf716140011370de30231be79ad/zope_interface-8.0.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:51ae1b856565b30455b7879fdf0a56a88763b401d3f814fa9f9542d7410dbd7e", size = 255027, upload-time = "2025-09-25T05:58:19.975Z" }, - { url = "https://files.pythonhosted.org/packages/e2/fd/908b0fd4b1ab6e412dfac9bd2b606f2893ef9ba3dd36d643f5e5b94c57b3/zope_interface-8.0.1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d2e7596149cb1acd1d4d41b9f8fe2ffc0e9e29e2e91d026311814181d0d9efaf", size = 259800, upload-time = "2025-09-25T05:58:11.487Z" }, - { url = "https://files.pythonhosted.org/packages/dc/78/8419a2b4e88410520ed4b7f93bbd25a6d4ae66c4e2b131320f2b90f43077/zope_interface-8.0.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b2737c11c34fb9128816759864752d007ec4f987b571c934c30723ed881a7a4f", size = 260978, upload-time = "2025-09-25T06:26:24.483Z" }, - { url = "https://files.pythonhosted.org/packages/e5/90/caf68152c292f1810e2bd3acd2177badf08a740aa8a348714617d6c9ad0b/zope_interface-8.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:cf66e4bf731aa7e0ced855bb3670e8cda772f6515a475c6a107bad5cb6604103", size = 212155, upload-time = "2025-09-25T05:59:40.318Z" }, - { url = "https://files.pythonhosted.org/packages/dc/a6/0f08713ddda834c428ebf97b2a7fd8dea50c0100065a8955924dbd94dae8/zope_interface-8.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:115f27c1cc95ce7a517d960ef381beedb0a7ce9489645e80b9ab3cbf8a78799c", size = 208609, upload-time = "2025-09-25T05:58:53.698Z" }, - { url = "https://files.pythonhosted.org/packages/e9/5e/d423045f54dc81e0991ec655041e7a0eccf6b2642535839dd364b35f4d7f/zope_interface-8.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:af655c573b84e3cb6a4f6fd3fbe04e4dc91c63c6b6f99019b3713ef964e589bc", size = 208797, upload-time = "2025-09-25T05:58:56.258Z" }, - { url = "https://files.pythonhosted.org/packages/c6/43/39d4bb3f7a80ebd261446792493cfa4e198badd47107224f5b6fe1997ad9/zope_interface-8.0.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:23f82ef9b2d5370750cc1bf883c3b94c33d098ce08557922a3fbc7ff3b63dfe1", size = 259242, upload-time = "2025-09-25T05:58:21.602Z" }, - { url = "https://files.pythonhosted.org/packages/da/29/49effcff64ef30731e35520a152a9dfcafec86cf114b4c2aff942e8264ba/zope_interface-8.0.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35a1565d5244997f2e629c5c68715b3d9d9036e8df23c4068b08d9316dcb2822", size = 264696, upload-time = "2025-09-25T05:58:13.351Z" }, - { url = "https://files.pythonhosted.org/packages/c7/39/b947673ec9a258eeaa20208dd2f6127d9fbb3e5071272a674ebe02063a78/zope_interface-8.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:029ea1db7e855a475bf88d9910baab4e94d007a054810e9007ac037a91c67c6f", size = 264229, upload-time = "2025-09-25T06:26:26.226Z" }, - { url = "https://files.pythonhosted.org/packages/8f/ee/eed6efd1fc3788d1bef7a814e0592d8173b7fe601c699b935009df035fc2/zope_interface-8.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0beb3e7f7dc153944076fcaf717a935f68d39efa9fce96ec97bafcc0c2ea6cab", size = 212270, upload-time = "2025-09-25T05:58:53.584Z" }, - { url = "https://files.pythonhosted.org/packages/5f/dc/3c12fca01c910c793d636ffe9c0984e0646abaf804e44552070228ed0ede/zope_interface-8.0.1-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:c7cc027fc5c61c5d69e5080c30b66382f454f43dc379c463a38e78a9c6bab71a", size = 208992, upload-time = "2025-09-25T05:58:40.712Z" }, - { url = "https://files.pythonhosted.org/packages/46/71/6127b7282a3e380ca927ab2b40778a9c97935a4a57a2656dadc312db5f30/zope_interface-8.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fcf9097ff3003b7662299f1c25145e15260ec2a27f9a9e69461a585d79ca8552", size = 209051, upload-time = "2025-09-25T05:58:42.182Z" }, - { url = "https://files.pythonhosted.org/packages/56/86/4387a9f951ee18b0e41fda77da77d59c33e59f04660578e2bad688703e64/zope_interface-8.0.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6d965347dd1fb9e9a53aa852d4ded46b41ca670d517fd54e733a6b6a4d0561c2", size = 259223, upload-time = "2025-09-25T05:58:23.191Z" }, - { url = "https://files.pythonhosted.org/packages/61/08/ce60a114466abc067c68ed41e2550c655f551468ae17b4b17ea360090146/zope_interface-8.0.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9a3b8bb77a4b89427a87d1e9eb969ab05e38e6b4a338a9de10f6df23c33ec3c2", size = 264690, upload-time = "2025-09-25T05:58:15.052Z" }, - { url = "https://files.pythonhosted.org/packages/36/9a/62a9ba3a919594605a07c34eee3068659bbd648e2fa0c4a86d876810b674/zope_interface-8.0.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:87e6b089002c43231fb9afec89268391bcc7a3b66e76e269ffde19a8112fb8d5", size = 264201, upload-time = "2025-09-25T06:26:27.797Z" }, - { url = "https://files.pythonhosted.org/packages/da/06/8fe88bd7edef60566d21ef5caca1034e10f6b87441ea85de4bbf9ea74768/zope_interface-8.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:64a43f5280aa770cbafd0307cb3d1ff430e2a1001774e8ceb40787abe4bb6658", size = 212273, upload-time = "2025-09-25T06:00:25.398Z" }, +version = "8.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/86/a4/77daa5ba398996d16bb43fc721599d27d03eae68fe3c799de1963c72e228/zope_interface-8.2.tar.gz", hash = "sha256:afb20c371a601d261b4f6edb53c3c418c249db1a9717b0baafc9a9bb39ba1224", size = 254019, upload-time = "2026-01-09T07:51:07.253Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/fa/6d9eb3a33998a3019d7eb4fa1802d01d6602fad90e0aea443e6e0fe8e49a/zope_interface-8.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:788c293f3165964ec6527b2d861072c68eef53425213f36d3893ebee89a89623", size = 207541, upload-time = "2026-01-09T08:04:55.378Z" }, + { url = "https://files.pythonhosted.org/packages/19/8c/ad23c96fdee84cb1f768f6695dac187cc26e9038e01c69713ba0f7dc46ab/zope_interface-8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9a4e785097e741a1c953b3970ce28f2823bd63c00adc5d276f2981dd66c96c15", size = 208075, upload-time = "2026-01-09T08:04:57.118Z" }, + { url = "https://files.pythonhosted.org/packages/dd/35/1bfd5fec31a307f0cf4065ee74ade63858ded3e2a71e248f1508118fcc95/zope_interface-8.2-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:16c69da19a06566664ddd4785f37cad5693a51d48df1515d264c20d005d322e2", size = 249528, upload-time = "2026-01-09T08:04:59.074Z" }, + { url = "https://files.pythonhosted.org/packages/c6/3a/5d50b5fdb0f8226a2edff6adb7efdd3762ec95dff827dbab1761cb9a9e85/zope_interface-8.2-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c31acfa3d7cde48bec45701b0e1f4698daffc378f559bfb296837d8c834732f6", size = 254646, upload-time = "2026-01-09T08:05:00.964Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2a/ee7d675e151578eaf77828b8faac2b7ed9a69fead350bf5cf0e4afe7c73d/zope_interface-8.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0723507127f8269b8f3f22663168f717e9c9742107d1b6c9f419df561b71aa6d", size = 255083, upload-time = "2026-01-09T08:05:02.857Z" }, + { url = "https://files.pythonhosted.org/packages/5d/07/99e2342f976c3700e142eddc01524e375a9e9078869a6885d9c72f3a3659/zope_interface-8.2-cp310-cp310-win_amd64.whl", hash = "sha256:3bf73a910bb27344def2d301a03329c559a79b308e1e584686b74171d736be4e", size = 211924, upload-time = "2026-01-09T08:05:04.702Z" }, + { url = "https://files.pythonhosted.org/packages/98/97/9c2aa8caae79915ed64eb114e18816f178984c917aa9adf2a18345e4f2e5/zope_interface-8.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c65ade7ea85516e428651048489f5e689e695c79188761de8c622594d1e13322", size = 208081, upload-time = "2026-01-09T08:05:06.623Z" }, + { url = "https://files.pythonhosted.org/packages/34/86/4e2fcb01a8f6780ac84923748e450af0805531f47c0956b83065c99ab543/zope_interface-8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1ef4b43659e1348f35f38e7d1a6bbc1682efde239761f335ffc7e31e798b65b", size = 208522, upload-time = "2026-01-09T08:05:07.986Z" }, + { url = "https://files.pythonhosted.org/packages/f6/eb/08e277da32ddcd4014922854096cf6dcb7081fad415892c2da1bedefbf02/zope_interface-8.2-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:dfc4f44e8de2ff4eba20af4f0a3ca42d3c43ab24a08e49ccd8558b7a4185b466", size = 255198, upload-time = "2026-01-09T08:05:09.532Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a1/b32484f3281a5dc83bc713ad61eca52c543735cdf204543172087a074a74/zope_interface-8.2-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8f094bfb49179ec5dc9981cb769af1275702bd64720ef94874d9e34da1390d4c", size = 259970, upload-time = "2026-01-09T08:05:11.477Z" }, + { url = "https://files.pythonhosted.org/packages/f6/81/bca0e8ae1e487d4093a8a7cfed2118aa2d4758c8cfd66e59d2af09d71f1c/zope_interface-8.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d2bb8e7364e18f083bf6744ccf30433b2a5f236c39c95df8514e3c13007098ce", size = 261153, upload-time = "2026-01-09T08:05:13.402Z" }, + { url = "https://files.pythonhosted.org/packages/40/1e/e3ff2a708011e56b10b271b038d4cb650a8ad5b7d24352fe2edf6d6b187a/zope_interface-8.2-cp311-cp311-win_amd64.whl", hash = "sha256:6f4b4dfcfdfaa9177a600bb31cebf711fdb8c8e9ed84f14c61c420c6aa398489", size = 212330, upload-time = "2026-01-09T08:05:15.267Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a0/1e1fabbd2e9c53ef92b69df6d14f4adc94ec25583b1380336905dc37e9a0/zope_interface-8.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:624b6787fc7c3e45fa401984f6add2c736b70a7506518c3b537ffaacc4b29d4c", size = 208785, upload-time = "2026-01-09T08:05:17.348Z" }, + { url = "https://files.pythonhosted.org/packages/c3/2a/88d098a06975c722a192ef1fb7d623d1b57c6a6997cf01a7aabb45ab1970/zope_interface-8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bc9ded9e97a0ed17731d479596ed1071e53b18e6fdb2fc33af1e43f5fd2d3aaa", size = 208976, upload-time = "2026-01-09T08:05:18.792Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e8/757398549fdfd2f8c89f32c82ae4d2f0537ae2a5d2f21f4a2f711f5a059f/zope_interface-8.2-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:532367553e4420c80c0fc0cabcc2c74080d495573706f66723edee6eae53361d", size = 259411, upload-time = "2026-01-09T08:05:20.567Z" }, + { url = "https://files.pythonhosted.org/packages/91/af/502601f0395ce84dff622f63cab47488657a04d0065547df42bee3a680ff/zope_interface-8.2-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2bf9cf275468bafa3c72688aad8cfcbe3d28ee792baf0b228a1b2d93bd1d541a", size = 264859, upload-time = "2026-01-09T08:05:22.234Z" }, + { url = "https://files.pythonhosted.org/packages/89/0c/d2f765b9b4814a368a7c1b0ac23b68823c6789a732112668072fe596945d/zope_interface-8.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0009d2d3c02ea783045d7804da4fd016245e5c5de31a86cebba66dd6914d59a2", size = 264398, upload-time = "2026-01-09T08:05:23.853Z" }, + { url = "https://files.pythonhosted.org/packages/4a/81/2f171fbc4222066957e6b9220c4fb9146792540102c37e6d94e5d14aad97/zope_interface-8.2-cp312-cp312-win_amd64.whl", hash = "sha256:845d14e580220ae4544bd4d7eb800f0b6034fe5585fc2536806e0a26c2ee6640", size = 212444, upload-time = "2026-01-09T08:05:25.148Z" }, + { url = "https://files.pythonhosted.org/packages/66/47/45188fb101fa060b20e6090e500682398ab415e516a0c228fbb22bc7def2/zope_interface-8.2-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:6068322004a0158c80dfd4708dfb103a899635408c67c3b10e9acec4dbacefec", size = 209170, upload-time = "2026-01-09T08:05:26.616Z" }, + { url = "https://files.pythonhosted.org/packages/09/03/f6b9336c03c2b48403c4eb73a1ec961d94dc2fb5354c583dfb5fa05fd41f/zope_interface-8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2499de92e8275d0dd68f84425b3e19e9268cd1fa8507997900fa4175f157733c", size = 209229, upload-time = "2026-01-09T08:05:28.521Z" }, + { url = "https://files.pythonhosted.org/packages/07/b1/65fe1dca708569f302ade02e6cdca309eab6752bc9f80105514f5b708651/zope_interface-8.2-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:f777e68c76208503609c83ca021a6864902b646530a1a39abb9ed310d1100664", size = 259393, upload-time = "2026-01-09T08:05:29.897Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a5/97b49cfceb6ed53d3dcfb3f3ebf24d83b5553194f0337fbbb3a9fec6cf78/zope_interface-8.2-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9b05a919fdb0ed6ea942e5a7800e09a8b6cdae6f98fee1bef1c9d1a3fc43aaa0", size = 264863, upload-time = "2026-01-09T08:05:31.501Z" }, + { url = "https://files.pythonhosted.org/packages/cb/02/0b7a77292810efe3a0586a505b077ebafd5114e10c6e6e659f0c8e387e1f/zope_interface-8.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ccc62b5712dd7bd64cfba3ee63089fb11e840f5914b990033beeae3b2180b6cb", size = 264369, upload-time = "2026-01-09T08:05:32.941Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1d/0d1ff3846302ed1b5bbf659316d8084b30106770a5f346b7ff4e9f540f80/zope_interface-8.2-cp313-cp313-win_amd64.whl", hash = "sha256:34f877d1d3bb7565c494ed93828fa6417641ca26faf6e8f044e0d0d500807028", size = 212447, upload-time = "2026-01-09T08:05:35.064Z" }, + { url = "https://files.pythonhosted.org/packages/1a/da/3c89de3917751446728b8898b4d53318bc2f8f6bf8196e150a063c59905e/zope_interface-8.2-cp314-cp314-macosx_10_9_x86_64.whl", hash = "sha256:46c7e4e8cbc698398a67e56ca985d19cb92365b4aafbeb6a712e8c101090f4cb", size = 209223, upload-time = "2026-01-09T08:05:36.449Z" }, + { url = "https://files.pythonhosted.org/packages/00/7f/62d00ec53f0a6e5df0c984781e6f3999ed265129c4c3413df8128d1e0207/zope_interface-8.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a87fc7517f825a97ff4a4ca4c8a950593c59e0f8e7bfe1b6f898a38d5ba9f9cf", size = 209366, upload-time = "2026-01-09T08:05:38.197Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a2/f241986315174be8e00aabecfc2153cf8029c1327cab8ed53a9d979d7e08/zope_interface-8.2-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:ccf52f7d44d669203c2096c1a0c2c15d52e36b2e7a9413df50f48392c7d4d080", size = 261037, upload-time = "2026-01-09T08:05:39.568Z" }, + { url = "https://files.pythonhosted.org/packages/02/cc/b321c51d6936ede296a1b8860cf173bee2928357fe1fff7f97234899173f/zope_interface-8.2-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:aae807efc7bd26302eb2fea05cd6de7d59269ed6ae23a6de1ee47add6de99b8c", size = 264219, upload-time = "2026-01-09T08:05:41.624Z" }, + { url = "https://files.pythonhosted.org/packages/ab/fb/5f5e7b40a2f4efd873fe173624795ca47eaa22e29051270c981361b45209/zope_interface-8.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:05a0e42d6d830f547e114de2e7cd15750dc6c0c78f8138e6c5035e51ddfff37c", size = 264390, upload-time = "2026-01-09T08:05:42.936Z" }, + { url = "https://files.pythonhosted.org/packages/f9/82/3f2bc594370bc3abd58e5f9085d263bf682a222f059ed46275cde0570810/zope_interface-8.2-cp314-cp314-win_amd64.whl", hash = "sha256:561ce42390bee90bae51cf1c012902a8033b2aaefbd0deed81e877562a116d48", size = 212585, upload-time = "2026-01-09T08:05:44.419Z" }, ]