autogen/python
Johan Forngren 8efe0c45b0
PoC AGS dev container (#5026)
* Add tiktoken as a dependency in pyproject.toml

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

Update uv.lock with tiktoken dependency from fbfdc9f652384b70f7461c90ada13f87e83677e0

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* Updating autogen-ext dependencies per https://github.com/microsoft/autogen/pull/5008#issuecomment-2585383877

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* PoC dev container

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* Enhance devcontainer setup with post-create script for dependency installation and improved performance. Removed partial hot reload setup, as it required bigger changes to the project. Improved documentation, and fixed markdown lint issues.

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* Update installation documentation for AutoGen Studio, clarifying installation methods and improving formatting. Adjusted notes for Windows users and corrected minor grammatical issues.

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* Fixing typos. Restructuring text to avoid consecutive markdown quote blocks separated only by a blank line to avoid MD028 - Blank line inside blockquote.

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* Include dev containers tutorial

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

* Update dev container installation instructions

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>

---------

Signed-off-by: Johan Forngren <johan.forngren@decerno.se>
Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2025-01-14 21:19:47 -08:00
..
packages PoC AGS dev container (#5026) 2025-01-14 21:19:47 -08:00
samples Update version to 0.4.1 (#5029) 2025-01-13 21:22:03 +00:00
templates/new-package Fix definition of workspace package, remove uv pin (#4830) 2024-12-27 13:11:42 -05:00
.gitignore API documentation page flattening (#4556) 2024-12-04 18:24:07 -08:00
README.md Update all versions to 0.4.0 (#4941) 2025-01-09 15:29:54 -05:00
check_md_code_blocks.py Migration guide for 0.4 (#4765) 2024-12-30 13:33:08 -08:00
pyproject.toml Added m1 cli package (#4949) 2025-01-08 14:05:08 -08:00
run_task_in_pkgs_if_exist.py Move from tomllib to tomli (#3714) 2024-10-09 16:42:30 -04:00
shared_tasks.toml Remove static subscription restriction (#439) 2024-08-30 14:00:11 -04:00
uv.lock Fixup autogen-ext version (#5030) 2025-01-13 21:31:41 +00:00

README.md

AutoGen Python packages

0.4 Docs PyPi autogen-core PyPi autogen-agentchat PyPi autogen-ext

This directory works as a single uv workspace containing all project packages. See packages to discover all project packages.

Migrating from 0.2.x?

Please refer to the migration guide for how to migrate your code from 0.2.x to 0.4.x.

Development

TL;DR, run all checks with:

uv sync --all-extras
source .venv/bin/activate
poe check

Setup

uv is a package manager that assists in creating the necessary environment and installing packages to run AutoGen.

Virtual Environment

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/activate
  • uv sync --all-extras will create a .venv directory at the current level and install packages from the current directory along with any other dependencies. The all-extras flag adds optional dependencies.
  • source .venv/bin/activate activates the virtual environment.

Common Tasks

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-serve Alternatively, you can run all the checks with:
  • poe check

[!NOTE] These need to be run in the virtual environment.

Creating a New Package

To create a new package, similar to autogen-core or autogen-chat, use the following:

uv sync --python 3.12
source .venv/bin/activate
cookiecutter ./templates/new-package/