Add version command with comprehensive unit tests and build integration

- Implement llama version command with table and JSON output formats
- Add build-time git information capture via scripts/generate_build_info.py
- Include comprehensive unit test suite (test_version.py, test_version_simple.py, test_version_integration.py)
- Add build system integration with custom setup.py command
- Update .gitignore to exclude generated build info file

Features:
- Display Llama Stack and client versions
- Show Python version and build information (git commit, date, branch, tag)
- Optional component/provider listing organized by API
- Support for both table and JSON output formats
- Build-time capture of git metadata for version tracking

Testing:
- 8 unit tests covering all functionality
- Integration tests for CLI execution
- Simple dependency-free validation tests
- Documentation for test suite and build process

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>
This commit is contained in:
Akram Ben Aissi 2025-06-25 17:52:00 +02:00
parent dbdc811d16
commit 1da7714bab
11 changed files with 1431 additions and 1 deletions

View file

@ -28,10 +28,11 @@ class StackListProviders(Subcommand):
return [api.value for api in providable_apis()]
def _add_arguments(self):
choices = self.providable_apis
self.parser.add_argument(
"api",
type=str,
choices=self.providable_apis,
choices=choices if choices else None,
nargs="?",
help="API to list providers for. List all if not specified.",
)