mirror of https://github.com/dapr/dapr-agents.git
1.6 KiB
1.6 KiB
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