mirror of
				https://github.com/microsoft/autogen.git
				synced 2025-10-31 17:59:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # AutoGen Python packages
 | |
| 
 | |
| [](https://microsoft.github.io/autogen/dev/)
 | |
| [](https://pypi.org/project/autogen-core/) [](https://pypi.org/project/autogen-agentchat/) [](https://pypi.org/project/autogen-ext/)
 | |
| 
 | |
| This directory works as a single `uv` workspace containing all project packages. See [`packages`](./packages/) to discover all project packages.
 | |
| 
 | |
| ## Migrating from 0.2.x?
 | |
| 
 | |
| Please refer to the [migration guide](./migration_guide.md) for how to migrate your code from 0.2.x to 0.4.x.
 | |
| 
 | |
| ## Development
 | |
| 
 | |
| **TL;DR**, run all checks with:
 | |
| 
 | |
| ```sh
 | |
| 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.
 | |
| 
 | |
| - [Install `uv`](https://docs.astral.sh/uv/getting-started/installation/).
 | |
| 
 | |
| ### 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:
 | |
| 
 | |
| ```sh
 | |
| 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:
 | |
| 
 | |
| ```sh
 | |
| uv sync --python 3.12
 | |
| source .venv/bin/activate
 | |
| cookiecutter ./templates/new-package/
 | |
| ```
 | 
