pyproject.toml
1 # SPDX-FileCopyrightText: 2023 LakeSoul Contributors 2 # 3 # SPDX-License-Identifier: Apache-2.0 4 5 [project] 6 name = "lakesoul" 7 version = "1.1.0" 8 authors = [ 9 { name = "LakeSoul Team", email = "lakesoul-technical-discuss@lists.lfaidata.foundation" }, 10 ] 11 description = "Python APIs for using LakeSoul" 12 readme = "README.md" 13 license = { text = "Apache-2.0" } 14 requires-python = ">=3.9" 15 keywords = ["lakesoul", "bigdata", "ai"] 16 classifiers = [ 17 "Development Status :: 5 - Production/Stable", 18 "Intended Audience :: Developers", 19 "License :: OSI Approved :: Apache Software License", 20 "Operating System :: OS Independent", 21 "Topic :: Software Development :: Libraries :: Python Modules", 22 "Programming Language :: Python :: 3", 23 ] 24 dependencies = [ 25 "pyarrow>=16,<21", 26 "numpy", 27 "protobuf>=5.0", 28 "typing-extensions>=4.8", 29 "colorlog>=6", 30 ] 31 32 [tool.uv.workspace] 33 exclude = ["script/lakesoul-e2e"] 34 35 [project.optional-dependencies] 36 torch = ["torch>=1.11.0,<2.5"] 37 pandas = ["pandas>=1.4"] 38 datasets = ["datasets>=2.20"] 39 ray = ["ray>=2.7,<2.11.0"] 40 pyspark = ["pyspark==3.3.1"] 41 duckdb = ["duckdb>=1.4.0"] 42 all = [ 43 "torch>=1.11,<2.5", 44 "pandas>=1.4", 45 "datasets>=2.20", 46 "ray>=2.7,<2.11.0", 47 "pyspark==3.3.1", 48 "duckdb>=1.4.0", 49 ] 50 51 [tool.uv.sources] 52 torch = [{ index = "pytorch-cpu" }] 53 torchvision = [{ index = "pytorch-cpu" }] 54 55 [[tool.uv.index]] 56 name = "pytorch-cpu" 57 url = "https://download.pytorch.org/whl/cpu" 58 explicit = true 59 60 [dependency-groups] 61 all = [ 62 "torch>=1.11,<2.5", 63 "pandas>=1.4", 64 "datasets>=2.14", 65 "ray>=2.7,<2.11.0", 66 "pyspark==3.3.1", 67 "grpcio-tools == 1.70", 68 "duckdb", 69 ] 70 dev = ["pytest>=8", { include-group = "all" }] 71 72 [project.urls] 73 "Homepage" = "https://github.com/lakesoul-io/LakeSoul" 74 "Bug Tracker" = "https://github.com/lakesoul-io/LakeSoul/issues" 75 76 [build-system] 77 requires = ["maturin>=1,<2", "grpcio-tools == 1.70"] 78 build-backend = "maturin" 79 80 [tool.maturin] 81 python-source = "src" 82 module-name = "lakesoul._lib" 83 features = ["pyo3/extension-module"] 84 85 [tool.pytest.ini_options] 86 addopts = ["--import-mode=importlib"] 87 88 [[tool.uv.index]] 89 url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" 90 default = true 91 92 [tool.ruff] 93 line-length = 88 94 95 96 [tool.basedpyright] 97 typeCheckingMode = "standard"