44from contextlib import asynccontextmanager
55from enum import Enum
66
7+ from anyvar .anyvar import create_storage , create_translator
78from fastapi import FastAPI
89
910from anyvlm import __version__
1011from anyvlm .anyvar .base_client import BaseAnyVarClient
1112from anyvlm .anyvar .http_client import HttpAnyVarClient
13+ from anyvlm .anyvar .python_client import PythonAnyVarClient
1214from anyvlm .config import get_config
1315from anyvlm .schemas .common import (
1416 SERVICE_DESCRIPTION ,
@@ -23,14 +25,20 @@ def create_anyvar_client(
2325) -> BaseAnyVarClient :
2426 """Construct new AnyVar client instance
2527
28+ If given a string for connecting to an AnyVar instance via HTTP requests, then
29+ create an HTTP-based client. Otherwise, try to use AnyVar resource factory functions
30+ for standing up a Python-based client.
31+
2632 :param connection_string: description of connection param
2733 :return: client instance
2834 """
2935 if not connection_string :
3036 connection_string = get_config ().anyvar_uri
3137 if connection_string .startswith ("http://" ):
3238 return HttpAnyVarClient (connection_string )
33- raise NotImplementedError
39+ storage = create_storage ()
40+ translator = create_translator ()
41+ return PythonAnyVarClient (translator , storage )
3442
3543
3644@asynccontextmanager
0 commit comments