-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
124 lines (117 loc) · 3.65 KB
/
Copy pathpyproject.toml
File metadata and controls
124 lines (117 loc) · 3.65 KB
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
118
119
120
121
122
123
124
[build-system]
requires = ["setuptools>=65.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "buffdata"
version = "0.3.0"
description = "Provider-neutral adaptive AI training-data optimizer"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [
{ name = "BuffData Team" }
]
keywords = [
"llm", "ai", "dataset", "training-data", "data-quality", "data-cleaning",
"deduplication", "pii-redaction", "fine-tuning", "gemini", "openai", "anthropic",
]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Linguistic",
]
dependencies = [
"google-genai>=1.0.0",
"openai>=3.6.0",
"anthropic>=1.2.0",
"pydantic>=2.5.0",
"typer>=0.12.0",
"rich>=13.7.0",
"orjson>=3.9.0",
"xxhash>=3.4.0",
"pyarrow>=14.0.0",
"pandas>=2.1.0",
"polars>=1.0.0",
"pyyaml>=6.0.1",
"tenacity>=8.2.3",
"numpy>=1.24.0",
"python-dotenv>=1.0.0",
"huggingface_hub>=0.20.0",
"datasets>=2.16.0",
"PyMuPDF>=1.23.0",
"beautifulsoup4>=4.12.0",
"aiohttp>=3.9.0",
"presidio-analyzer>=2.2.35",
"torch>=2.0.0",
"transformers>=4.35.0",
"sentence-transformers>=2.2.2",
"keyring>=25.0.0",
"sqlalchemy>=2.0,<3",
]
[project.optional-dependencies]
server = [
"fastapi>=0.115,<1", "uvicorn>=0.30,<1", "jinja2>=3.1.6,<4",
"authlib>=1.3,<2", "psycopg[binary]>=3.2,<4", "python-multipart>=0.0.20",
"pyjwt[crypto]>=2.9,<3", "httpx>=0.28,<1",
]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-mock>=3.12.0",
]
productivity = [
"graphifyy[mcp]>=0.9.53",
]
enterprise = [
"boto3>=1.34.0",
"hvac>=2.1.0",
"google-cloud-secret-manager>=2.20.0",
"azure-identity>=1.16.0",
"azure-keyvault-secrets>=4.8.0",
"fsspec>=2024.6.0",
"s3fs>=2024.6.0",
"gcsfs>=2024.6.0",
"adlfs>=2024.7.0",
"pyjwt[crypto]>=2.9.0",
"ray[default]>=2.9.0",
]
observability = [
"opentelemetry-sdk>=1.24.0",
"opentelemetry-exporter-otlp>=1.24.0",
"prometheus-client>=0.20.0",
]
# Intentionally never installed alongside the base package: presidio-anonymizer pulls in an
# older-pinned cryptography (see docs/dependency-release-blocker.md), so it belongs only in
# the isolated venv buffdata/security/anonymizer_worker.py runs under -- see
# docs/dependency-release-blocker.md and SecurityPolicy.presidio_anonymizer_python /
# BUFFDATA_PRESIDIO_ANONYMIZER_PYTHON. presidio-analyzer (detection) has no such conflict and
# stays a base dependency.
presidio-anonymizer = [
"presidio-anonymizer>=2.2.35",
]
[project.urls]
Homepage = "https://github.com/voidstackloop/buffdata"
Repository = "https://github.com/voidstackloop/buffdata"
Issues = "https://github.com/voidstackloop/buffdata/issues"
Documentation = "https://github.com/voidstackloop/buffdata/tree/master/docs"
[project.scripts]
buffdata = "buffdata.cli.main:app"
[tool.setuptools.packages.find]
where = ["."]
include = ["buffdata*"]
[tool.setuptools.package-data]
"buffdata.server" = ["templates/*.html", "static/*.js", "static/*.css"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]