This directory works as a single uv workspace containing all project packages. See packages to discover all project packages.
Please refer to the migration guide for how to migrate your code from 0.2.x to 0.4.x.
TL;DR, run all checks with:
uv sync --all-extras
source .venv/bin/activate
poe checkuv is a package manager that assists in creating the necessary environment and installing packages to run AutoGen.
During development, you may need to test changes made to any of the packages.
To do so, create a virtual environment where the AutoGen packages are installed based on the current state of the directory.
Run the following commands at the root level of the Python directory:
uv sync --all-extras
source .venv/bin/activateuv sync --all-extraswill create a.venvdirectory at the current level and install packages from the current directory along with any other dependencies. Theall-extrasflag adds optional dependencies.source .venv/bin/activateactivates the virtual environment.
To create a pull request (PR), ensure the following checks are met. You can run each check individually:
- Format:
poe format - Lint:
poe lint - Test:
poe test - Mypy:
poe mypy - Pyright:
poe pyright - Build docs:
poe --directory ./packages/autogen-core/ docs-build - Auto rebuild+serve docs:
poe --directory ./packages/autogen-core/ docs-serveAlternatively, you can run all the checks with: poe check
Note
These need to be run in the virtual environment.
To create a new package, similar to autogen-core or autogen-chat, use the following:
uv sync
source .venv/bin/activate
cookiecutter ./templates/new-package/