From 3cb67f1f58702227f7561e3938a4b411035a9e8d Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Wed, 28 Aug 2024 17:39:41 -0700 Subject: [PATCH] llama_toolchain/distribution -> llama_toolchain/core --- MANIFEST.in | 2 +- llama_toolchain/agentic_system/client.py | 2 +- .../agentic_system/meta_reference/__init__.py | 2 +- llama_toolchain/agentic_system/providers.py | 2 +- llama_toolchain/cli/api/build.py | 10 +++++----- llama_toolchain/cli/api/configure.py | 10 +++++----- llama_toolchain/cli/api/start.py | 2 +- llama_toolchain/cli/stack/build.py | 10 +++++----- llama_toolchain/cli/stack/configure.py | 14 ++++++++------ llama_toolchain/cli/stack/list.py | 4 +++- llama_toolchain/cli/stack/start.py | 2 +- llama_toolchain/{distribution => core}/__init__.py | 0 .../{distribution => core}/build_conda_env.sh | 0 .../{distribution => core}/build_container.sh | 2 +- llama_toolchain/{distribution => core}/common.sh | 0 .../{distribution => core}/configure.py | 6 +++--- .../{distribution => core}/datatypes.py | 2 +- .../{distribution => core}/distribution.py | 0 .../registry.py => core/distribution_registry.py} | 0 llama_toolchain/{distribution => core}/dynamic.py | 0 llama_toolchain/{distribution => core}/package.py | 6 +++--- llama_toolchain/{distribution => core}/server.py | 0 .../{distribution => core}/start_conda_env.sh | 2 +- .../{distribution => core}/start_container.sh | 2 +- .../inference/adapters/ollama/__init__.py | 2 +- llama_toolchain/inference/client.py | 2 +- llama_toolchain/inference/providers.py | 2 +- llama_toolchain/memory/client.py | 2 +- llama_toolchain/memory/providers.py | 2 +- llama_toolchain/safety/client.py | 2 +- llama_toolchain/safety/providers.py | 2 +- 31 files changed, 49 insertions(+), 45 deletions(-) rename llama_toolchain/{distribution => core}/__init__.py (100%) rename llama_toolchain/{distribution => core}/build_conda_env.sh (100%) rename llama_toolchain/{distribution => core}/build_container.sh (97%) rename llama_toolchain/{distribution => core}/common.sh (100%) rename llama_toolchain/{distribution => core}/configure.py (87%) rename llama_toolchain/{distribution => core}/datatypes.py (98%) rename llama_toolchain/{distribution => core}/distribution.py (100%) rename llama_toolchain/{distribution/registry.py => core/distribution_registry.py} (100%) rename llama_toolchain/{distribution => core}/dynamic.py (100%) rename llama_toolchain/{distribution => core}/package.py (96%) rename llama_toolchain/{distribution => core}/server.py (100%) rename llama_toolchain/{distribution => core}/start_conda_env.sh (94%) rename llama_toolchain/{distribution => core}/start_container.sh (93%) diff --git a/MANIFEST.in b/MANIFEST.in index b0d4e2866..4b76f85fe 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ include requirements.txt include llama_toolchain/data/*.yaml -include llama_toolchain/distribution/*.sh +include llama_toolchain/core/*.sh include llama_toolchain/cli/scripts/*.sh diff --git a/llama_toolchain/agentic_system/client.py b/llama_toolchain/agentic_system/client.py index 0a14bcf6a..fadb78182 100644 --- a/llama_toolchain/agentic_system/client.py +++ b/llama_toolchain/agentic_system/client.py @@ -16,7 +16,7 @@ from pydantic import BaseModel from termcolor import cprint from llama_models.llama3.api.datatypes import * # noqa: F403 -from llama_toolchain.distribution.datatypes import RemoteProviderConfig +from llama_toolchain.core.datatypes import RemoteProviderConfig from .api import * # noqa: F403 from .event_logger import EventLogger diff --git a/llama_toolchain/agentic_system/meta_reference/__init__.py b/llama_toolchain/agentic_system/meta_reference/__init__.py index acc1dcf0b..b49cc4c84 100644 --- a/llama_toolchain/agentic_system/meta_reference/__init__.py +++ b/llama_toolchain/agentic_system/meta_reference/__init__.py @@ -6,7 +6,7 @@ from typing import Dict -from llama_toolchain.distribution.datatypes import Api, ProviderSpec +from llama_toolchain.core.datatypes import Api, ProviderSpec from .config import MetaReferenceImplConfig diff --git a/llama_toolchain/agentic_system/providers.py b/llama_toolchain/agentic_system/providers.py index 027a7de43..a722d9400 100644 --- a/llama_toolchain/agentic_system/providers.py +++ b/llama_toolchain/agentic_system/providers.py @@ -6,7 +6,7 @@ from typing import List -from llama_toolchain.distribution.datatypes import Api, InlineProviderSpec, ProviderSpec +from llama_toolchain.core.datatypes import Api, InlineProviderSpec, ProviderSpec def available_agentic_system_providers() -> List[ProviderSpec]: diff --git a/llama_toolchain/cli/api/build.py b/llama_toolchain/cli/api/build.py index ae7e815be..3c1aca8e8 100644 --- a/llama_toolchain/cli/api/build.py +++ b/llama_toolchain/cli/api/build.py @@ -8,13 +8,13 @@ import argparse from typing import Dict from llama_toolchain.cli.subcommand import Subcommand -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 def parse_dependencies( dependencies: str, parser: argparse.ArgumentParser ) -> Dict[str, ProviderSpec]: - from llama_toolchain.distribution.distribution import api_providers + from llama_toolchain.core.distribution import api_providers all_providers = api_providers() @@ -48,8 +48,8 @@ class ApiBuild(Subcommand): self.parser.set_defaults(func=self._run_api_build_command) def _add_arguments(self): - from llama_toolchain.distribution.distribution import stack_apis - from llama_toolchain.distribution.package import ( + from llama_toolchain.core.distribution import stack_apis + from llama_toolchain.core.package import ( BuildType, ) @@ -86,7 +86,7 @@ class ApiBuild(Subcommand): ) def _run_api_build_command(self, args: argparse.Namespace) -> None: - from llama_toolchain.distribution.package import ( + from llama_toolchain.core.package import ( ApiInput, BuildType, build_package, diff --git a/llama_toolchain/cli/api/configure.py b/llama_toolchain/cli/api/configure.py index 8b27ab1b1..198be7acb 100644 --- a/llama_toolchain/cli/api/configure.py +++ b/llama_toolchain/cli/api/configure.py @@ -13,7 +13,7 @@ import yaml from llama_toolchain.cli.subcommand import Subcommand from llama_toolchain.common.config_dirs import BUILDS_BASE_DIR -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 class ApiConfigure(Subcommand): @@ -31,8 +31,8 @@ class ApiConfigure(Subcommand): self.parser.set_defaults(func=self._run_api_configure_cmd) def _add_arguments(self): - from llama_toolchain.distribution.distribution import stack_apis - from llama_toolchain.distribution.package import BuildType + from llama_toolchain.core.distribution import stack_apis + from llama_toolchain.core.package import BuildType allowed_args = [a.name for a in stack_apis()] self.parser.add_argument( @@ -67,7 +67,7 @@ class ApiConfigure(Subcommand): ) def _run_api_configure_cmd(self, args: argparse.Namespace) -> None: - from llama_toolchain.distribution.package import BuildType + from llama_toolchain.core.package import BuildType if args.build_name: name = args.build_name @@ -89,7 +89,7 @@ class ApiConfigure(Subcommand): def configure_llama_provider(config_file: Path) -> None: from llama_toolchain.common.serialize import EnumEncoder - from llama_toolchain.distribution.configure import configure_api_providers + from llama_toolchain.core.configure import configure_api_providers with open(config_file, "r") as f: config = PackageConfig(**yaml.safe_load(f)) diff --git a/llama_toolchain/cli/api/start.py b/llama_toolchain/cli/api/start.py index e7dcfca18..539679561 100644 --- a/llama_toolchain/cli/api/start.py +++ b/llama_toolchain/cli/api/start.py @@ -12,7 +12,7 @@ import pkg_resources import yaml from llama_toolchain.cli.subcommand import Subcommand -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 class ApiStart(Subcommand): diff --git a/llama_toolchain/cli/stack/build.py b/llama_toolchain/cli/stack/build.py index 728275fe1..db3639970 100644 --- a/llama_toolchain/cli/stack/build.py +++ b/llama_toolchain/cli/stack/build.py @@ -7,7 +7,7 @@ import argparse from llama_toolchain.cli.subcommand import Subcommand -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 class StackBuild(Subcommand): @@ -23,8 +23,8 @@ class StackBuild(Subcommand): self.parser.set_defaults(func=self._run_stack_build_command) def _add_arguments(self): - from llama_toolchain.distribution.registry import available_distribution_specs - from llama_toolchain.distribution.package import ( + from llama_toolchain.core.distribution_registry import available_distribution_specs + from llama_toolchain.core.package import ( BuildType, ) @@ -50,8 +50,8 @@ class StackBuild(Subcommand): ) def _run_stack_build_command(self, args: argparse.Namespace) -> None: - from llama_toolchain.distribution.registry import resolve_distribution_spec - from llama_toolchain.distribution.package import ( + from llama_toolchain.core.distribution_registry import resolve_distribution_spec + from llama_toolchain.core.package import ( ApiInput, BuildType, build_package, diff --git a/llama_toolchain/cli/stack/configure.py b/llama_toolchain/cli/stack/configure.py index 80937be95..2d2abfa4c 100644 --- a/llama_toolchain/cli/stack/configure.py +++ b/llama_toolchain/cli/stack/configure.py @@ -13,7 +13,7 @@ from termcolor import cprint from llama_toolchain.cli.subcommand import Subcommand from llama_toolchain.common.config_dirs import BUILDS_BASE_DIR -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 class StackConfigure(Subcommand): @@ -31,8 +31,10 @@ class StackConfigure(Subcommand): self.parser.set_defaults(func=self._run_stack_configure_cmd) def _add_arguments(self): - from llama_toolchain.distribution.package import BuildType - from llama_toolchain.distribution.registry import available_distribution_specs + from llama_toolchain.core.distribution_registry import ( + available_distribution_specs, + ) + from llama_toolchain.core.package import BuildType self.parser.add_argument( "--build-name", @@ -62,7 +64,7 @@ class StackConfigure(Subcommand): ) def _run_stack_configure_cmd(self, args: argparse.Namespace) -> None: - from llama_toolchain.distribution.package import BuildType + from llama_toolchain.core.package import BuildType if args.build_name: name = args.build_name @@ -84,8 +86,8 @@ class StackConfigure(Subcommand): def configure_llama_distribution(config_file: Path) -> None: from llama_toolchain.common.serialize import EnumEncoder - from llama_toolchain.distribution.configure import configure_api_providers - from llama_toolchain.distribution.registry import resolve_distribution_spec + from llama_toolchain.core.configure import configure_api_providers + from llama_toolchain.core.distribution_registry import resolve_distribution_spec with open(config_file, "r") as f: config = PackageConfig(**yaml.safe_load(f)) diff --git a/llama_toolchain/cli/stack/list.py b/llama_toolchain/cli/stack/list.py index d321947e1..cbd7610f5 100644 --- a/llama_toolchain/cli/stack/list.py +++ b/llama_toolchain/cli/stack/list.py @@ -27,7 +27,9 @@ class StackList(Subcommand): def _run_distribution_list_cmd(self, args: argparse.Namespace) -> None: from llama_toolchain.cli.table import print_table - from llama_toolchain.distribution.registry import available_distribution_specs + from llama_toolchain.core.distribution_registry import ( + available_distribution_specs, + ) # eventually, this should query a registry at llama.meta.com/llamastack/distributions headers = [ diff --git a/llama_toolchain/cli/stack/start.py b/llama_toolchain/cli/stack/start.py index 7b5ff5912..6b8981128 100644 --- a/llama_toolchain/cli/stack/start.py +++ b/llama_toolchain/cli/stack/start.py @@ -12,7 +12,7 @@ import pkg_resources import yaml from llama_toolchain.cli.subcommand import Subcommand -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 class StackStart(Subcommand): diff --git a/llama_toolchain/distribution/__init__.py b/llama_toolchain/core/__init__.py similarity index 100% rename from llama_toolchain/distribution/__init__.py rename to llama_toolchain/core/__init__.py diff --git a/llama_toolchain/distribution/build_conda_env.sh b/llama_toolchain/core/build_conda_env.sh similarity index 100% rename from llama_toolchain/distribution/build_conda_env.sh rename to llama_toolchain/core/build_conda_env.sh diff --git a/llama_toolchain/distribution/build_container.sh b/llama_toolchain/core/build_container.sh similarity index 97% rename from llama_toolchain/distribution/build_container.sh rename to llama_toolchain/core/build_container.sh index d77de165c..3dfb22293 100755 --- a/llama_toolchain/distribution/build_container.sh +++ b/llama_toolchain/core/build_container.sh @@ -88,7 +88,7 @@ add_to_docker < None: diff --git a/llama_toolchain/distribution/datatypes.py b/llama_toolchain/core/datatypes.py similarity index 98% rename from llama_toolchain/distribution/datatypes.py rename to llama_toolchain/core/datatypes.py index 468310542..cbdda51d4 100644 --- a/llama_toolchain/distribution/datatypes.py +++ b/llama_toolchain/core/datatypes.py @@ -139,7 +139,7 @@ def remote_provider_spec( config_class = ( adapter.config_class if adapter and adapter.config_class - else "llama_toolchain.distribution.datatypes.RemoteProviderConfig" + else "llama_toolchain.core.datatypes.RemoteProviderConfig" ) provider_id = remote_provider_id(adapter.adapter_id) if adapter else "remote" diff --git a/llama_toolchain/distribution/distribution.py b/llama_toolchain/core/distribution.py similarity index 100% rename from llama_toolchain/distribution/distribution.py rename to llama_toolchain/core/distribution.py diff --git a/llama_toolchain/distribution/registry.py b/llama_toolchain/core/distribution_registry.py similarity index 100% rename from llama_toolchain/distribution/registry.py rename to llama_toolchain/core/distribution_registry.py diff --git a/llama_toolchain/distribution/dynamic.py b/llama_toolchain/core/dynamic.py similarity index 100% rename from llama_toolchain/distribution/dynamic.py rename to llama_toolchain/core/dynamic.py diff --git a/llama_toolchain/distribution/package.py b/llama_toolchain/core/package.py similarity index 96% rename from llama_toolchain/distribution/package.py rename to llama_toolchain/core/package.py index e0ee58a85..9cb58569d 100644 --- a/llama_toolchain/distribution/package.py +++ b/llama_toolchain/core/package.py @@ -17,11 +17,11 @@ from pydantic import BaseModel from termcolor import cprint from llama_toolchain.common.config_dirs import BUILDS_BASE_DIR -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 from llama_toolchain.common.exec import run_with_pty from llama_toolchain.common.serialize import EnumEncoder -from llama_toolchain.distribution.distribution import api_providers +from llama_toolchain.core.distribution import api_providers class BuildType(Enum): @@ -40,7 +40,7 @@ class Dependencies(BaseModel): def get_dependencies( provider: ProviderSpec, dependencies: Dict[str, ProviderSpec] ) -> Dependencies: - from llama_toolchain.distribution.distribution import SERVER_DEPENDENCIES + from llama_toolchain.core.distribution import SERVER_DEPENDENCIES pip_packages = provider.pip_packages for dep in dependencies.values(): diff --git a/llama_toolchain/distribution/server.py b/llama_toolchain/core/server.py similarity index 100% rename from llama_toolchain/distribution/server.py rename to llama_toolchain/core/server.py diff --git a/llama_toolchain/distribution/start_conda_env.sh b/llama_toolchain/core/start_conda_env.sh similarity index 94% rename from llama_toolchain/distribution/start_conda_env.sh rename to llama_toolchain/core/start_conda_env.sh index 2ab10cda4..4d9dcccbb 100755 --- a/llama_toolchain/distribution/start_conda_env.sh +++ b/llama_toolchain/core/start_conda_env.sh @@ -36,6 +36,6 @@ eval "$(conda shell.bash hook)" conda deactivate && conda activate "$env_name" $CONDA_PREFIX/bin/python \ - -m llama_toolchain.distribution.server \ + -m llama_toolchain.core.server \ --yaml_config "$yaml_config" \ --port "$port" "$@" diff --git a/llama_toolchain/distribution/start_container.sh b/llama_toolchain/core/start_container.sh similarity index 93% rename from llama_toolchain/distribution/start_container.sh rename to llama_toolchain/core/start_container.sh index 95ccf100d..d5399aa37 100755 --- a/llama_toolchain/distribution/start_container.sh +++ b/llama_toolchain/core/start_container.sh @@ -37,6 +37,6 @@ podman run -it \ -p $port:$port \ -v "$yaml_config:/app/config.yaml" \ $docker_image \ - python -m llama_toolchain.distribution.server \ + python -m llama_toolchain.core.server \ --yaml_config /app/config.yaml \ --port $port "$@" diff --git a/llama_toolchain/inference/adapters/ollama/__init__.py b/llama_toolchain/inference/adapters/ollama/__init__.py index aa4f576d3..8369a00a5 100644 --- a/llama_toolchain/inference/adapters/ollama/__init__.py +++ b/llama_toolchain/inference/adapters/ollama/__init__.py @@ -4,7 +4,7 @@ # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. -from llama_toolchain.distribution.datatypes import RemoteProviderConfig +from llama_toolchain.core.datatypes import RemoteProviderConfig async def get_adapter_impl(config: RemoteProviderConfig, _deps): diff --git a/llama_toolchain/inference/client.py b/llama_toolchain/inference/client.py index 0ae049bbc..e90d9c86c 100644 --- a/llama_toolchain/inference/client.py +++ b/llama_toolchain/inference/client.py @@ -13,7 +13,7 @@ import httpx from pydantic import BaseModel from termcolor import cprint -from llama_toolchain.distribution.datatypes import RemoteProviderConfig +from llama_toolchain.core.datatypes import RemoteProviderConfig from .api import ( ChatCompletionRequest, diff --git a/llama_toolchain/inference/providers.py b/llama_toolchain/inference/providers.py index e3ec975aa..832e3e1a2 100644 --- a/llama_toolchain/inference/providers.py +++ b/llama_toolchain/inference/providers.py @@ -6,7 +6,7 @@ from typing import List -from llama_toolchain.distribution.datatypes import * # noqa: F403 +from llama_toolchain.core.datatypes import * # noqa: F403 def available_inference_providers() -> List[ProviderSpec]: diff --git a/llama_toolchain/memory/client.py b/llama_toolchain/memory/client.py index ecad9e46a..b2d9ab656 100644 --- a/llama_toolchain/memory/client.py +++ b/llama_toolchain/memory/client.py @@ -11,7 +11,7 @@ from typing import Any, Dict, List, Optional import fire import httpx -from llama_toolchain.distribution.datatypes import RemoteProviderConfig +from llama_toolchain.core.datatypes import RemoteProviderConfig from .api import * # noqa: F403 diff --git a/llama_toolchain/memory/providers.py b/llama_toolchain/memory/providers.py index 0717e2340..f8675c344 100644 --- a/llama_toolchain/memory/providers.py +++ b/llama_toolchain/memory/providers.py @@ -6,7 +6,7 @@ from typing import List -from llama_toolchain.distribution.datatypes import Api, InlineProviderSpec, ProviderSpec +from llama_toolchain.core.datatypes import Api, InlineProviderSpec, ProviderSpec def available_memory_providers() -> List[ProviderSpec]: diff --git a/llama_toolchain/safety/client.py b/llama_toolchain/safety/client.py index c05f59163..3e03530c1 100644 --- a/llama_toolchain/safety/client.py +++ b/llama_toolchain/safety/client.py @@ -15,7 +15,7 @@ from llama_models.llama3.api.datatypes import UserMessage from pydantic import BaseModel from termcolor import cprint -from llama_toolchain.distribution.datatypes import RemoteProviderConfig +from llama_toolchain.core.datatypes import RemoteProviderConfig from .api import * # noqa: F403 diff --git a/llama_toolchain/safety/providers.py b/llama_toolchain/safety/providers.py index 40691e376..dfacf3f67 100644 --- a/llama_toolchain/safety/providers.py +++ b/llama_toolchain/safety/providers.py @@ -6,7 +6,7 @@ from typing import List -from llama_toolchain.distribution.datatypes import Api, InlineProviderSpec, ProviderSpec +from llama_toolchain.core.datatypes import Api, InlineProviderSpec, ProviderSpec def available_safety_providers() -> List[ProviderSpec]: