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