-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
108 lines (98 loc) · 3.18 KB
/
Copy pathpyproject.toml
File metadata and controls
108 lines (98 loc) · 3.18 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
[project]
name = "privaite"
version = "0.4.1"
description = "Drop-in self-hosted LLM proxy that reversibly redacts PII before LLM calls, including tool-call arguments and multimodal content"
readme = "README.md"
requires-python = ">=3.11"
license = "BSD-3-Clause"
keywords = [
"privacy", "pii", "pii-redaction", "redaction", "anonymization",
"de-identification", "data-masking", "llm", "llm-security", "proxy",
"openai", "chatgpt", "gdpr", "presidio", "guardrails", "self-hosted",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Framework :: FastAPI",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Security",
"Topic :: Internet :: Proxy Servers",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Natural Language :: English",
"Natural Language :: French",
"Natural Language :: German",
"Natural Language :: Spanish",
"Natural Language :: Italian",
]
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.30.0",
"sse-starlette>=2.0.0",
# Floors below known-CVE fixes (SkillSpector/OSV audit 2026-07):
# litellm 1.84 (CVE-2026-49468), pydantic 2.4 (CVE-2024-3772),
# transformers 5.3 (CVE-2026-4372), torch 2.6 (CVE-2025-32434).
"litellm>=1.84.0",
"pydantic>=2.4",
"pyyaml>=6.0",
"python-dotenv>=1.0",
"httpx>=0.27.0",
"presidio-analyzer>=2.2",
"presidio-anonymizer>=2.2",
"spacy>=3.7",
"onnxruntime>=1.17",
"transformers>=5.3",
"huggingface_hub>=0.23",
"faker>=25.0",
"click>=8.0",
]
[project.optional-dependencies]
# BERT NER detector (the `standard`/`full` presets). This is the only path that
# needs torch; the default `onnx` preset runs on onnxruntime (a core dependency).
ml = [
"torch>=2.6",
]
# GLiNER detector (the `max` preset): an independent, non-AI4Privacy PII model that
# raises out-of-distribution recall. Needs torch + the gliner package; not part of
# the onnxruntime floor.
gliner = [
"gliner>=0.2.13",
"torch>=2.6",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.24",
"pytest-httpx>=0.30",
"respx>=0.21",
"coverage>=7.0",
# Pin the formatter too: a floating Ruff release can legitimately rewrite
# already-formatted files, making the documented pre-release gate unstable.
"ruff==0.16.0",
"mypy>=1.10",
]
[project.scripts]
privaite = "privaite.cli:main"
[project.urls]
Homepage = "https://github.com/crp4222/PrivAiTe"
Repository = "https://github.com/crp4222/PrivAiTe"
Documentation = "https://crp4222.github.io/PrivAiTe/"
Issues = "https://github.com/crp4222/PrivAiTe/issues"
Changelog = "https://github.com/crp4222/PrivAiTe/blob/main/CHANGELOG.md"
[tool.setuptools.packages.find]
include = ["privaite*"]
[build-system]
requires = ["setuptools>=78.1.1"]
build-backend = "setuptools.build_meta"
[tool.ruff]
target-version = "py311"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP"]
[tool.mypy]
python_version = "3.12"
ignore_missing_imports = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]