This guide will help you get started with developing aiconfigurator. We welcome contributions from the community!
Git LFS is required to handle large database files in the repository.
apt-get install git-lfsgit clone https://github.com/ai-dynamo/aiconfigurator
cd aiconfigurator
# Pull LFS files
git lfs pull# Create virtual environment
python3 -m venv .venv
# Activate virtual environment
source .venv/bin/activate# Install the package in editable mode with dev dependencies
pip install -e ".[dev]"pre-commit installThis installs:
- The
aiconfiguratorpackage in editable mode - All runtime dependencies
- Development tools:
ruff,pre-commit,pytestand related plugins
If you are using VS Code or one of its forks (e.g. Cursor), you can install the Ruff extension which will highlight linting issues in your editor. You can also configure your editor to auto-apply formatting when saving files using the instructions here.
This project uses Ruff for linting and formatting.
# Check for linting issues
ruff check .
# Auto-fix linting issues
ruff check --fix .# Check formatting
ruff format --check .
# Apply formatting
ruff format .Pre-commit hooks automatically run checks before each commit.
pre-commit run --all-filesThis project uses pytest for testing.
# Run all tests
pytest tests
# Run tests for a specific component
pytest tests/unit
pytest tests/e2e
# GitHub PR / build subset (unit + a small stable E2E subset)
pytest -m "unit or build"Data collection is typically not required for development. The repository includes pre-collected performance databases for supported systems.
If you need to collect new data for a new GPU type or framework version, refer to the Collector README.
Before contributing, please read:
- CONTRIBUTING.md - Contribution guidelines and rules
- CODE_OF_CONDUCT.md - Community standards
Refer to How to Add a New Model.
Refer to the Automation README.
- Documentation: Check the
docs/directory - Issues: Open an issue on GitHub
- Examples: Explore
tools/simple_sdk_demo/for SDK usage examples
This project is licensed under Apache 2.0. All contributions must include SPDX license headers and DCO sign-off.