@@ -4,7 +4,7 @@ description = "NeMo Guardrails is an open-source toolkit for easily adding progr
44authors = [" NVIDIA <nemoguardrails@nvidia.com>" ]
55license = " LICENSE.md"
66readme = " README.md"
7- version = " 0.21 .0"
7+ version = " 0.18 .0"
88packages = [{ include = " nemoguardrails" }]
99
1010
@@ -34,11 +34,11 @@ classifiers = [
3434]
3535
3636[tool .poetry .urls ]
37- homepage = " https://github.com/NVIDIA-NeMo/Guardrails "
38- issues = " https://github.com/NVIDIA-NeMo/Guardrails /issues"
39- changelog = " https://github.com/NVIDIA-NeMo/ Guardrails/blob/develop/CHANGELOG.md"
37+ homepage = " https://github.com/NVIDIA/nemo-guardrails "
38+ issues = " https://github.com/NVIDIA/nemo-guardrails /issues"
39+ changelog = " https://github.com/NVIDIA/NeMo- Guardrails/blob/develop/CHANGELOG.md"
4040documentation = " https://docs.nvidia.com/nemo/guardrails/"
41- repository = " https://github.com/NVIDIA-NeMo/ Guardrails"
41+ repository = " https://github.com/NVIDIA/NeMo- Guardrails"
4242
4343
4444[tool .poetry .scripts ]
@@ -47,15 +47,9 @@ nemoguardrails = "nemoguardrails.__main__:app"
4747[tool .poetry .dependencies ]
4848python = " >=3.10,<3.14"
4949aiohttp = " >=3.10.11"
50- aiohttp-retry = " >=2.9.0"
5150annoy = " >=1.17.3"
5251fastapi = " >=0.103.0,"
53- fastembed = [{ version = " >=0.2.2" , python = " >=3.10,<3.14" }]
54- # onnxruntime 1.24+ dropped Python 3.10 wheels; cap it for that version
55- onnxruntime = [
56- { version = " >=1.17.0,<1.24" , python = " >=3.10,<3.11" },
57- { version = " >=1.17.0" , python = " >=3.11" },
58- ]
52+ fastembed = [{ version = " >=0.8.0" , python = " >=3.10,<3.14" }]
5953httpx = " >=0.24.1"
6054jinja2 = " >=3.1.6"
6155langchain = " >=0.2.14,<2.0.0"
@@ -77,25 +71,26 @@ starlette = ">=0.49.1"
7771typer = " >=0.8"
7872uvicorn = " >=0.23"
7973watchdog = " >=3.0.0,"
80- openai = { version = " >=1.0.0,<3.0.0" , optional = true }
8174
8275# tracing
8376opentelemetry-api = { version = " >=1.27.0,<2.0.0" , optional = true }
8477aiofiles = { version = " >=24.1.0" , optional = true }
8578
86- # otel auto-instrumentation (fork-specific )
87- opentelemetry-distro = { version = " >=0.48b0 " , optional = true }
79+ # otel (server observability entrypoint )
80+ opentelemetry-sdk = { version = " >=1.27.0,<2.0.0 " , optional = true }
8881opentelemetry-exporter-otlp = { version = " >=1.27.0,<2.0.0" , optional = true }
8982opentelemetry-instrumentation-fastapi = { version = " >=0.48b0" , optional = true }
90- opentelemetry-instrumentation-httpx = { version = " >=0.48b0" , optional = true }
83+ opentelemetry-exporter-prometheus = { version = " >=0.48b0" , optional = true }
84+ prometheus-fastapi-instrumentator = { version = " >=0.9.0" , optional = true }
85+ pydantic-settings = { version = " >=2.0.0" , optional = true }
9186
9287# openai
9388langchain-openai = { version = " >=0.1.0" , optional = true }
9489
9590# eval
9691tqdm = { version = " >=4.65,<5.0" , optional = true }
9792streamlit = { version = " ^1.37.0" , optional = true , python = " >=3.10,<3.14" }
98- tornado = { version = " >= 6.5.0 " , optional = true , python = " >=3.10,<3.14" }
93+ tornado = { version = " 6.5.5 " , optional = true , python = " >=3.10,<3.14" }
9994pandas = { version = " >=1.4.0,<3" , optional = true }
10095numpy = [
10196 { version = " >=1.21" , python = " >=3.10,<3.12" },
@@ -121,25 +116,30 @@ yara-python = { version = "^4.5.1", optional = true }
121116# models - optional dependencies for various embedding and NLP models
122117torch = { version = " >=2.0.0" , optional = true , source = " pytorch-cpu" }
123118spacy = { version = " >=3.4.4,<4.0.0,!=3.7.0" , python = " <3.14" , optional = true }
124- nltk = { version = " >=3.8 " , optional = true }
119+ nltk = { version = " >=3.9.4 " , optional = true }
125120sentence-transformers = { version = " >=2.2.0" , optional = true }
126121einops = { version = " >=0.6.0" , optional = true }
127-
128- # multilingual content safety - language detection
129- fast-langdetect = { version = " >=1.0.0" , optional = true }
122+ python-dotenv = " ^1.2.2"
123+ pillow = " ^12.2.0"
130124
131125[tool .poetry .extras ]
132126sdd = [" presidio-analyzer" , " presidio-anonymizer" ]
133127eval = [" tqdm" , " numpy" , " streamlit" , " tornado" ]
134128openai = [" langchain-openai" ]
135129gcp = [" google-cloud-language" ]
136130tracing = [" opentelemetry-api" , " aiofiles" ]
131+ otel = [
132+ " opentelemetry-api" ,
133+ " opentelemetry-sdk" ,
134+ " opentelemetry-exporter-otlp" ,
135+ " opentelemetry-instrumentation-fastapi" ,
136+ " opentelemetry-exporter-prometheus" ,
137+ " prometheus-fastapi-instrumentator" ,
138+ " pydantic-settings" ,
139+ ]
137140nvidia = [" langchain-nvidia-ai-endpoints" ]
138141jailbreak = [" yara-python" ]
139142models = [" torch" , " spacy" , " nltk" , " sentence-transformers" , " einops" ]
140- multilingual = [" fast-langdetect" ]
141- server = [" aiofiles" , " openai" ]
142- otel = [" opentelemetry-distro" , " opentelemetry-exporter-otlp" , " opentelemetry-instrumentation-fastapi" , " opentelemetry-instrumentation-httpx" ]
143143# Poetry does not support recursive dependencies, so we need to add all the dependencies here.
144144# I also support their decision. There is no PEP for recursive dependencies, but it has been supported in pip since version 21.2.
145145# It is here for backward compatibility.
@@ -150,7 +150,6 @@ all = [
150150 " numpy" ,
151151 " streamlit" ,
152152 " langchain-openai" ,
153- " openai" ,
154153 " google-cloud-language" ,
155154 " opentelemetry-api" ,
156155 " aiofiles" ,
@@ -161,7 +160,6 @@ all = [
161160 " nltk" ,
162161 " sentence-transformers" ,
163162 " einops" ,
164- " fast-langdetect" ,
165163]
166164
167165[tool .poetry .group .dev ]
@@ -171,7 +169,7 @@ optional = true
171169[tool .poetry .group .dev .dependencies ]
172170aioresponses = " >=0.7.6"
173171pre-commit = " >=3.1.1"
174- pytest = " >=7.2.2,<9.0.0 "
172+ pytest = " >=7.2.2"
175173pytest-asyncio = " >=0.21.0, <1.0.0"
176174pytest-cov = " >=4.1.0"
177175pytest-httpx = " >=0.22.0"
@@ -181,8 +179,6 @@ pytest-profiling = "^1.7.0"
181179yara-python = " ^4.5.1"
182180opentelemetry-api = " ^1.34.1"
183181opentelemetry-sdk = " ^1.34.1"
184- fast-langdetect = " >=1.0.0"
185- openai = " >=1.0.0,<3.0.0"
186182pyright = " ^1.1.405"
187183ruff = " 0.14.6"
188184
@@ -199,11 +195,11 @@ include = [
199195 " nemoguardrails/tracing/**" ,
200196 " nemoguardrails/server/**" ,
201197 " tests/test_callbacks.py" ,
202- " nemoguardrails/benchmark/**" ,
203- " nemoguardrails/guardrails/**"
198+ " nemoguardrails/benchmark/**"
204199]
205200exclude = [
206201 " nemoguardrails/llm/providers/trtllm/**" ,
202+ " nemoguardrails/llm/providers/_langchain_nvidia_ai_endpoints_patch.py" ,
207203]
208204
209205[tool .poetry .group .docs ]
@@ -215,12 +211,7 @@ sphinx-reredirects = "<0.2"
215211sphinx = " <=7.5"
216212myst-parser = " <=5"
217213sphinx-copybutton = " <=0.6"
218- sphinx-design = " *"
219- sphinx-autobuild = " *"
220- sphinx-autodoc-typehints = " *"
221- sphinxcontrib-mermaid = " *"
222214nvidia-sphinx-theme = { version = " >=0.0.8" , python = " >=3.10" }
223- watchdog = " ^6.0.0"
224215
225216
226217[tool .pytest .ini_options ]
0 commit comments