bindings/python/pyproject.toml (69 lines of code) (raw):

# 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. [build-system] build-backend = "maturin" requires = ["maturin>=1.0,<2.0"] [project] classifiers = [ "Programming Language :: Rust", "Programming Language :: Python :: Implementation :: CPython", ] description = "Apache OpenDAL™ Python Binding" license = { text = "Apache-2.0" } name = "opendal" readme = "README.md" requires-python = ">=3.10" dynamic = ['version'] [project.urls] Documentation = "https://opendal.apache.org/docs/python/index.html" Homepage = "https://opendal.apache.org/" Repository = "https://github.com/apache/opendal" [dependency-groups] benchmark = [ "boto3>=1.37.9", "boto3-stubs[essential]>=1.37.9", "gevent>=24.11.1", "greenify>=0.4.3", "greenlet>=3.1.1", "pydantic>=2.10.6", ] dev = ["maturin>=1.8.2"] docs = ["mkdocs", "mkdocs-material", "mkdocstrings[python]", "mkdocs-jupyter"] lint = ["ruff>=0.9.10"] test = [ "pytest>=8.3.5", "pytest-asyncio>=0.25.3", "python-dotenv>=1.0.1", "pydantic-settings>=2.8.1", ] [tool.maturin] features = ["pyo3/extension-module"] module-name = "opendal._opendal" python-source = "python" strip = true [tool.uv] cache-keys = [ { file = "pyproject.toml" }, { file = "Cargo.toml" }, { file = "src/**/*.rs" }, { file = "../../core/**/*.rs" }, ] [tool.ruff.lint] ignore = ["E402", "F403", "F405"] select = ["E", "F", "I"] [tool.ruff.lint.isort] known-first-party = ["opendal"]