chore(package): migrate to src/ layout (#3920)

Migrates package structure to src/ layout following Python packaging
best practices.

All code moved from `llama_stack/` to `src/llama_stack/`. Public API
unchanged - imports remain `import llama_stack.*`.

Updated build configs, pre-commit hooks, scripts, and GitHub workflows
accordingly. All hooks pass, package builds cleanly.

**Developer note**: Reinstall after pulling: `pip install -e .`
This commit is contained in:
Ashwin Bharambe 2025-10-27 12:02:21 -07:00 committed by GitHub
parent 98a5047f9d
commit 471b1b248b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
791 changed files with 2983 additions and 456 deletions

View file

@ -16,7 +16,7 @@ if (( BASH_VERSINFO[0] < 4 )); then
exit 1
fi
PACKAGE_DIR="${1:-llama_stack}"
PACKAGE_DIR="${1:-src/llama_stack}"
if [ ! -d "$PACKAGE_DIR" ]; then
echo "ERROR: Package directory '$PACKAGE_DIR' does not exist"

View file

@ -93,7 +93,7 @@ def pre_import_distros(distro_dirs: list[Path]) -> None:
def main():
distros_dir = REPO_ROOT / "llama_stack" / "distributions"
distros_dir = REPO_ROOT / "src" / "llama_stack" / "distributions"
change_tracker = ChangedPathTracker()
with Progress(

View file

@ -6,7 +6,7 @@
# the root directory of this source tree.
set -e
cd llama_stack/ui
cd src/llama_stack/ui
if [ ! -d node_modules ] || [ ! -x node_modules/.bin/prettier ] || [ ! -x node_modules/.bin/eslint ]; then
echo "UI dependencies not installed, skipping prettier/linter check"

View file

@ -27,4 +27,4 @@ fi
# Run unit tests with coverage
uv run --python "$PYTHON_VERSION" --with-editable . --group unit \
coverage run --source=llama_stack -m pytest -s -v tests/unit/ "$@"
coverage run --source=src/llama_stack -m pytest -s -v tests/unit/ "$@"