/ python / pyproject.toml
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"