-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathpyproject.toml
117 lines (108 loc) · 3.55 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[project]
name = "cbrkit"
version = "0.21.1"
description = "Customizable Case-Based Reasoning (CBR) toolkit for Python with a built-in API and CLI"
authors = [{ name = "Mirko Lenz", email = "[email protected]" }]
readme = "README.md"
keywords = [
"cbr",
"case-based reasoning",
"api",
"similarity",
"nlp",
"retrieval",
"cli",
"tool",
"library",
]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Framework :: Pytest",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities",
"Typing :: Typed",
]
requires-python = ">=3.12"
dependencies = [
"frozendict>=2,<3",
"numpy>=1,<2; sys_platform == 'darwin' and platform_machine == 'x86_64'",
"numpy>=2,<3; (sys_platform == 'darwin' and platform_machine == 'arm64') or sys_platform == 'linux'",
"orjson>=3,<4",
"pandas>=2,<3",
"polars>=1,<2",
"pydantic>=2,<3",
"pyyaml>=6,<7",
"rich>=13,<14",
"rtoml>=0.12,<1",
"scipy>=1,<2",
"xmltodict>=0.13,<1",
]
[project.optional-dependencies]
all = ["cbrkit[api,cli,eval,graphs,llm,nlp,timeseries,transformers]"]
api = [
"cbrkit[cli]",
"fastapi>=0.100,<1",
"pydantic-settings>=2,<3",
"python-multipart>=0.0.15,<1",
"uvicorn[standard]>=0.30,<1",
]
cli = ["typer>=0.9,<1"]
eval = ["ranx>=0.3,<1"]
graphs = ["networkx>=3,<4", "rustworkx>=0.15,<1"]
llm = [
"cohere>=5,<6",
"voyageai>=0.3,<1",
"ollama>=0.3,<1",
"openai>=1,<2",
"tiktoken>=0.8,<1",
"anthropic>=0.40,<1",
"google-genai>=1,<2",
]
nlp = [
"levenshtein>=0.23,<0.26; sys_platform == 'darwin' and platform_machine == 'x86_64'",
"levenshtein>=0.26,<1; (sys_platform == 'darwin' and platform_machine == 'arm64') or sys_platform == 'linux'",
"nltk>=3,<4",
"spacy>=3.7,<3.8; sys_platform == 'darwin' and platform_machine == 'x86_64'",
"spacy>=3.8,<4; (sys_platform == 'darwin' and platform_machine == 'arm64') or sys_platform == 'linux'",
]
timeseries = ["minineedle>=3,<4"]
transformers = [
"sentence-transformers>=3,<4",
"torch>=2.2,<2.3; sys_platform == 'darwin' and platform_machine == 'x86_64'",
"torch>=2.5,<3; (sys_platform == 'darwin' and platform_machine == 'arm64') or sys_platform == 'linux'",
"transformers>=4,<5",
]
[project.urls]
Repository = "https://github.com/wi2trier/cbrkit"
Documentation = "https://wi2trier.github.io/cbrkit/"
Issues = "https://github.com/wi2trier/cbrkit/issues"
Changelog = "https://github.com/wi2trier/cbrkit/releases"
[project.scripts]
cbrkit = "cbrkit.cli:app"
[dependency-groups]
dev = ["pandas-stubs>=2,<3"]
test = ["pytest>=8,<9", "pytest-cov>=6,<7"]
docs = ["pdoc>=15,<16"]
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
[tool.pytest.ini_options]
addopts = "--cov cbrkit --cov-report term-missing --doctest-modules --ignore data --ignore examples --ignore result"
doctest_optionflags = "NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL ELLIPSIS"
[tool.uv]
default-groups = ["dev", "test", "docs"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.basedpyright]
typeCheckingMode = "strict"