mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-03 18:00:36 +00:00
# What does this PR do? Extract API definitions and provider specifications into a standalone llama-stack-api package that can be published to PyPI independently of the main llama-stack server. see: https://github.com/llamastack/llama-stack/pull/2978 and https://github.com/llamastack/llama-stack/pull/2978#issuecomment-3145115942 Motivation External providers currently import from llama-stack, which overrides the installed version and causes dependency conflicts. This separation allows external providers to: - Install only the type definitions they need without server dependencies - Avoid version conflicts with the installed llama-stack package - Be versioned and released independently This enables us to re-enable external provider module tests that were previously blocked by these import conflicts. Changes - Created llama-stack-api package with minimal dependencies (pydantic, jsonschema) - Moved APIs, providers datatypes, strong_typing, and schema_utils - Updated all imports from llama_stack.* to llama_stack_api.* - Configured local editable install for development workflow - Updated linting and type-checking configuration for both packages Next Steps - Publish llama-stack-api to PyPI - Update external provider dependencies - Re-enable external provider module tests Pre-cursor PRs to this one: - #4093 - #3954 - #4064 These PRs moved key pieces _out_ of the Api pkg, limiting the scope of change here. relates to #3237 ## Test Plan Package builds successfully and can be imported independently. All pre-commit hooks pass with expected exclusions maintained. --------- Signed-off-by: Charlie Doern <cdoern@redhat.com> |
||
|---|---|---|
| .. | ||
| backward-compat.yml | ||
| changelog.yml | ||
| conformance.yml | ||
| install-script-ci.yml | ||
| integration-auth-tests.yml | ||
| integration-sql-store-tests.yml | ||
| integration-tests.yml | ||
| integration-vector-io-tests.yml | ||
| pre-commit.yml | ||
| providers-build.yml | ||
| providers-list-deps.yml | ||
| python-build-test.yml | ||
| README.md | ||
| record-integration-tests.yml | ||
| semantic-pr.yml | ||
| stainless-builds.yml | ||
| stale_bot.yml | ||
| test-external-provider-module.yml | ||
| test-external.yml | ||
| ui-unit-tests.yml | ||
| unit-tests.yml | ||
Llama Stack CI
Llama Stack uses GitHub Actions for Continuous Integration (CI). Below is a table detailing what CI the project includes and the purpose.
| Name | File | Purpose |
|---|---|---|
| Backward Compatibility Check | backward-compat.yml | Check backward compatibility for run.yaml configs |
| Update Changelog | changelog.yml | Creates PR for updating the CHANGELOG.md |
| API Conformance Tests | conformance.yml | Run the API Conformance test suite on the changes. |
| Installer CI | install-script-ci.yml | Test the installation script |
| Integration Auth Tests | integration-auth-tests.yml | Run the integration test suite with Kubernetes authentication |
| SqlStore Integration Tests | integration-sql-store-tests.yml | Run the integration test suite with SqlStore |
| Integration Tests (Replay) | integration-tests.yml | Run the integration test suites from tests/integration in replay mode |
| Vector IO Integration Tests | integration-vector-io-tests.yml | Run the integration test suite with various VectorIO providers |
| Pre-commit | pre-commit.yml | Run pre-commit checks |
| Test Llama Stack Build | providers-build.yml | Test llama stack build |
| Test llama stack list-deps | providers-list-deps.yml | Test llama stack list-deps |
| Python Package Build Test | python-build-test.yml | Test building the llama-stack PyPI project |
| Integration Tests (Record) | record-integration-tests.yml | Run the integration test suite from tests/integration |
| Check semantic PR titles | semantic-pr.yml | Ensure that PR titles follow the conventional commit spec |
| Stainless SDK Builds | stainless-builds.yml | Build Stainless SDK from OpenAPI spec changes |
| Close stale issues and PRs | stale_bot.yml | Run the Stale Bot action |
| Test External Providers Installed via Module | test-external-provider-module.yml | Test External Provider installation via Python module |
| Test External API and Providers | test-external.yml | Test the External API and Provider mechanisms |
| UI Tests | ui-unit-tests.yml | Run the UI test suite |
| Unit Tests | unit-tests.yml | Run the unit test suite |