Set up a PyRIT development environment on your local machine.
Option 1: uv (Recommended)¶
uv is a fast Python package installer and resolver. We recommend it for PyRIT development.
Why uv?
Much faster than pip (10-100x faster dependency resolution)
Simpler than conda/mamba for pure Python projects
Native Windows support — no WSL required, although if using a devcontainer, WSL is recommended
Automatic virtual environment management
Compatible with existing pyproject.toml
Prerequisites¶
Install uv: Download from https://
github .com /astral -sh /uv or use: for windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"for macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | shor
wget -qO- https://astral.sh/uv/install.sh | shPython 3.12: uv will automatically download and use the correct Python version based on
.python-versionGit. Git is required to clone the repo locally. It is available to download here.
git clone https://github.com/microsoft/PyRITNode.js and npm. Required for building the TypeScript/React frontend. Download Node.js (which includes npm). Version 18 or higher is recommended.
Installation¶
Navigate to the directory where you cloned the PyRIT repo.
The repository includes a
.python-versionfile that pins Python 3.12. Run:
uv sync --extra devThis command will:
Create a
.venvdirectory with a virtual environmentInstall Python 3.12 if not already available
Install PyRIT in editable mode;
uv syncby default installs in editable mode so no extra flag is necessaryInstall all dependencies including dev tools (pytest, black, ruff, etc.)
Create a
uv.lockfile for reproducible builds
If you are having problems getting pip to install, try this link for details here: this post for more details.
Verify Installation
uv pip show pyritYou should see output showing the most recent PyRIT version and your Python dependencies.
VS Code Integration¶
VS Code should automatically detect the .venv virtual environment. If not:
Press
Ctrl+Shift+PType “Python: Select Interpreter”
Choose
.venv\Scripts\python.exe
Running Jupyter Notebooks¶
You can create a Jupyter kernel by first installing ipykernel:
uv add --dev ipykernelthen, create the kernel using:
uv run ipython kernel install --user --env VIRTUAL_ENV $(pwd)/.venv --name=pyrit-devStart the server using
uv run jupyter labor using VS Code, open a Jupyter Notebook (.ipynb file) window, in the top search bar of VS Code, type >Notebook: Select Notebook Kernel > Python Environments... to choose the pyrit-dev kernel when executing code in the notebooks, like those in examples. You can also choose a kernel with the “Select Kernel” button on the top-right corner of a Notebook.
This will be the kernel that runs all code examples in Python Notebooks.
Running Python Scripts¶
Use uv run to execute Python with the virtual environment:
uv run python your_script.pyRunning Tests¶
uv run pytest tests/Running Specific Test Files¶
uv run pytest tests/unit/test_something.pyUsing PyRIT CLI Tools¶
uv run pyrit_scan --help
uv run pyrit_shellRunning Jupyter Notebooks¶
uv run jupyter labInstalling Additional Extras¶
PyRIT has several optional dependency groups. Install them as needed:
# For Hugging Face models
uv sync --extra huggingface
# For all extras
uv sync --extra all
# Multiple extras
uv sync --extra dev --extra playwright --extra gcgDevelopment Workflow¶
Adding New Dependencies¶
Edit pyproject.toml to add dependencies, then run:
uv syncUpdating Dependencies¶
uv lock --upgrade
uv syncRunning Code Formatters¶
uv run black .
uv run ruff check --fix .Running Type Checker¶
uv run mypy pyrit/Pre-commit Hooks¶
uv run pre-commit install
uv run pre-commit run --all-filesOption 2: Conda¶
If you prefer conda for environment management, you can use it to create a Python environment and install PyRIT for development.
Prerequisites¶
Conda or Miniconda: Download from https://
docs .conda .io /en /latest /miniconda .html Git: Clone the repository:
git clone https://github.com/Azure/PyRITNode.js and npm: Required for building the frontend. Download Node.js (version 18+).
Installation¶
Create a conda environment with the correct Python version:
conda create -y -n pyrit-dev python=3.12
conda activate pyrit-devNavigate to the cloned PyRIT directory and install in editable mode with dev dependencies:
pip install -e .[dev]Verify installation:
pip show pyritJupyter Kernel Setup¶
Create a Jupyter kernel for the conda environment:
pip install ipykernel
python -m ipykernel install --user --name=pyrit-dev --display-name "PyRIT Dev"Then start Jupyter:
jupyter labNext Step: Configure PyRIT¶
After installing, configure your AI endpoint credentials.
Troubleshooting¶
Having issues? See the Local Dev Troubleshooting guide for common problems and solutions.