Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/python-3/.devcontainer/base.Dockerfile

# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster
# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.13, 3.12, 3.11, 3.10, 3-bullseye, 3.13-bullseye, 3.12-bullseye, 3.11-bullseye, 3.10-bullseye, 3-buster, 3.13-buster, 3.12-buster, 3.11-buster, 3.10-buster
ARG VARIANT="3.10-bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"dockerfile": "Dockerfile",
"context": "..",
"args": {
// Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6
// Update 'VARIANT' to pick a Python version: 3, 3.13, 3.12, 3.11, 3.10
// Append -bullseye or -buster to pin to an OS version.
// Use -bullseye variants on local on arm64/Apple Silicon.
"VARIANT": "3.10-bullseye",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/full-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
strategy:
matrix:
os: [Windows, macOS] # exclude Ubuntu as it is available in pr-tests
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
include:
- os: Windows
image: windows-2022
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/latest-deps-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
os: [Ubuntu]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
include:
- os: Ubuntu
image: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [Ubuntu]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
include:
- os: Ubuntu
image: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-and-build-wheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Set up Python
uses: actions/setup-python@v5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-published-dist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Set up Python
uses: actions/setup-python@v5
Expand Down
4 changes: 0 additions & 4 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@ cache:

# Tests jobs

python3.9:
<<: *test
image: python:3.9

python3.10:
<<: *test
image: python:3.10
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ repos:
# rev: v2.17.0
# hooks:
# - id: pylint
# language_version: python3.9
# language_version: python3.10
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ If you would like to take on an issue, feel free to comment on the issue. We are

To get started quickly, follow the steps below.

1. Ensure you have Python 3.9+ and [Git](https://git-scm.com/) installed on your system. You can check your Python version by running:
1. Ensure you have Python 3.10+ and [Git](https://git-scm.com/) installed on your system. You can check your Python version by running:

```bash
python --version
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ NeMo Guardrails is an open-source toolkit for easily adding *programmable guardr

## Requirements

Python 3.9, 3.10, 3.11 or 3.12.
Python 3.10, 3.11, 3.12 or 3.13.

NeMo Guardrails uses [annoy](https://github.com/spotify/annoy) which is a C++ library with Python bindings. To install NeMo Guardrails you will need to have the C++ compiler and dev tools installed. Check out the [Installation Guide](https://docs.nvidia.com/nemo/guardrails/getting-started/installation-guide.html#prerequisites) for platform-specific instructions.

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/installation-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The NeMo Guardrails SDK runs on CPUs. This SDK adds a layer to manage processes

### Software Requirements

- Python 3.9, 3.10, or 3.11
- Python 3.10, 3.11, 3.12 or 3.13

### Additional Dependencies

Expand Down
106 changes: 2 additions & 104 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 9 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ classifiers = [
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
Expand All @@ -46,11 +45,11 @@ repository = "https://github.com/NVIDIA/NeMo-Guardrails"
nemoguardrails = "nemoguardrails.__main__:app"

[tool.poetry.dependencies]
python = ">=3.9,!=3.9.7,<3.14"
python = ">=3.10,<3.14"
aiohttp = ">=3.10.11"
annoy = ">=1.17.3"
fastapi = ">=0.103.0,"
fastembed = [{ version = ">=0.2.2, <=0.6.0", python = ">=3.9,<3.14" }]
fastembed = [{ version = ">=0.2.2, <=0.6.0", python = ">=3.10,<3.14" }]
httpx = ">=0.24.1"
jinja2 = ">=3.1.6"
langchain = ">=0.2.14,<0.4.0"
Expand Down Expand Up @@ -82,8 +81,8 @@ langchain-openai = { version = ">=0.1.0", optional = true }

# eval
tqdm = { version = ">=4.65,<5.0", optional = true }
streamlit = { version = "^1.37.0", optional = true, python = ">=3.9,!=3.9.7,<3.14" }
tornado = { version = ">=6.5.0", optional = true, python = ">=3.9,!=3.9.7,<3.14" }
streamlit = { version = "^1.37.0", optional = true, python = ">=3.10,<3.14" }
tornado = { version = ">=6.5.0", optional = true, python = ">=3.10,<3.14" }
pandas = { version = ">=1.4.0,<3", optional = true }
numpy = [
{ version = ">=1.21", python = ">=3.10,<3.12" },
Expand Down Expand Up @@ -155,9 +154,11 @@ pyright = "^1.1.405"

# Directories in which to run Pyright type-checking
[tool.pyright]
include = ["nemoguardrails/rails/**",
"nemoguardrails/actions/**",
"tests/test_callbacks.py"]
include = [
"nemoguardrails/rails/**",
"nemoguardrails/actions/**",
"tests/test_callbacks.py",
]

[tool.poetry.group.docs]
optional = true
Expand Down
6 changes: 3 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
# This is the recommended way to run tests with Poetry (https://python-poetry.org/docs/faq/#is-tox-supported)
# How to use:
# do
# > pyenv install 3.9 3.10 3.11
# > pyenv local 3.9 3.10 3.11
# > pyenv install 3.10 3.11 3.12
# > pyenv local 3.10 3.11 3.12

[tox]
envlist = py39, py310, py311, py312
envlist = py310, py311, py312, py313

[testenv]
description = Run tests with pytest under different Python versions using Poetry
Expand Down