mirror of https://github.com/dapr/dapr-agents.git
				
				
				
			| * test: add init tests and setup for tests Signed-off-by: Samantha Coyle <sam@diagrid.io> * style: clean up unused / autogen files now Signed-off-by: Samantha Coyle <sam@diagrid.io> * style: ignore req files that we can now autogen Signed-off-by: Samantha Coyle <sam@diagrid.io> * style: make linter happy Signed-off-by: Samantha Coyle <sam@diagrid.io> * fix(build): pin deps Signed-off-by: Samantha Coyle <sam@diagrid.io> * style: update doc ordering Signed-off-by: Samantha Coyle <sam@diagrid.io> * fix(build): update imports Signed-off-by: Samantha Coyle <sam@diagrid.io> --------- Signed-off-by: Samantha Coyle <sam@diagrid.io> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> | ||
|---|---|---|
| .. | ||
| README.md | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	Development Guide
Dependencies
This project uses modern Python packaging with pyproject.toml. Dependencies are managed as follows:
- Main dependencies are in [project.dependencies]
- Test dependencies are in [project.optional-dependencies.test]
- Development dependencies are in [project.optional-dependencies.dev]
Generating Requirements Files
If you need to generate requirements files (e.g., for deployment or specific environments):
# Generate requirements.txt
pip-compile pyproject.toml
# Generate dev-requirements.txt
pip-compile pyproject.toml --extra dev
Installing Dependencies
# Install main package with test dependencies
pip install -e ".[test]"
# Install main package with development dependencies
pip install -e ".[dev]"
# Install main package with all optional dependencies
pip install -e ".[test,dev]"
Testing
The project uses pytest for testing. To run tests:
# Run all tests
tox -e pytest
# Run specific test file
tox -e pytest tests/test_random_orchestrator.py
# Run tests with coverage
tox -e pytest --cov=dapr_agents
Code Quality
The project uses several tools to maintain code quality:
# Run linting
tox -e flake8
# Run code formatting
tox -e ruff
# Run type checking
tox -e type
Development Workflow
- 
Install development dependencies: pip install -e ".[dev]"
- 
Run tests before making changes: tox -e pytest
- 
Make your changes 
- 
Run code quality checks: tox -e flake8 tox -e ruff tox -e type
- 
Run tests again: tox -e pytest
- 
Submit your changes