1+ # lolm | 12f 1990L | python:12
2+ # Keys: M=modules, D=details, i=imports, c=classes, f=functions, m=methods
3+ M[12]:
4+ config.py,240
5+ cli.py,231
6+ manager.py,322
7+ __init__.py,81
8+ __main__.py,10
9+ provider.py,121
10+ clients.py,228
11+ examples/03_code_generation.py,86
12+ examples/01_quickstart.py,60
13+ examples/02_configuration.py,88
14+ tests/__init__.py,1
15+ tests/test_basic.py,51
16+ D:
17+ config.py:
18+ i: json,os,yaml,dataclasses.{dataclass,field},pathlib.Path,typing.{Any,Dict,List,Optional}
19+ e: RECOMMENDED_MODELS,DEFAULT_MODELS,DEFAULT_PROVIDER_PRIORITIES,LLMConfig,get_config_dir,get_config_path,load_config,save_config
20+ LLMConfig: to_dict(0),from_dict(1) # LLM configuration container.
21+ get_config_dir()->Path
22+ get_config_path()->Path
23+ load_config()->LLMConfig
24+ save_config(config:LLMConfig)->None
25+ load_env_file(search_paths:Optional[List[Path]]=None)->None
26+ load_litellm_config(search_paths:Optional[List[Path]]=None)->Dict[str, Any]
27+ save_litellm_config(config:Dict[str;Any];path:Optional[Path]=None)->None
28+ get_provider_model(provider:str)->str
29+ cli.py:
30+ i: argparse,os,sys,config,pathlib.Path
31+ e: cmd_status,cmd_set_provider,cmd_set_model,cmd_key_set,cmd_key_show,cmd_models,cmd_test,cmd_config_show
32+ cmd_status(args)->int
33+ cmd_set_provider(args)->int
34+ cmd_set_model(args)->int
35+ cmd_key_set(args)->int
36+ cmd_key_show(args)->int
37+ cmd_models(args)->int
38+ cmd_test(args)->int
39+ cmd_config_show(args)->int
40+ manager.py:
41+ i: os,config,typing.{Dict,List,Optional}
42+ e: ProviderInfo,LLMManager,get_client,list_available_providers
43+ ProviderInfo: __init__(5) # Information about a configured provider.
44+ LLMManager: __init__(1),is_available(0),is_ready(0),primary_provider(0),providers(0) # LLM Manager with multi-provider support.
45+ get_client(provider:str=None;model:str=None)->BaseLLMClient
46+ list_available_providers()->List[str]
47+ provider.py:
48+ i: abc.{ABC,abstractmethod},dataclasses.{dataclass,field},enum.Enum,typing.{Any,Dict,List,Literal,Optional}
49+ e: LLMProviderStatus,GenerateOptions,LLMResponse,LLMModelInfo,BaseLLMClient,LLMProvider
50+ LLMProviderStatus: # Provider availability status.
51+ GenerateOptions: to_messages(0) # Options for LLM generation.
52+ LLMResponse: # Response from LLM generation.
53+ LLMModelInfo: # Information about an available model.
54+ BaseLLMClient: generate(3),is_available(0),chat(2) # Abstract base class for synchronous L...
55+ clients.py:
56+ i: os,time,config.{DEFAULT_MODELS,RECOMMENDED_MODELS,get_provider_model,load_env_file},provider.{BaseLLMClient,LLMModelInfo},typing.{List,Optional}
57+ e: OpenRouterClient,OllamaClient,LiteLLMClient,GroqClient,TogetherClient
58+ OpenRouterClient: __init__(2),generate(3),is_available(0),list_recommended_models(0) # OpenRouter API client for cloud LLM a...
59+ OllamaClient: __init__(2),generate(3),is_available(0),list_models(0),list_recommended_models(0) # Ollama client for local LLM inference.
60+ LiteLLMClient: __init__(1),generate(3),is_available(0) # LiteLLM client for universal LLM access.
61+ GroqClient: __init__(2),generate(3),is_available(0) # Groq API client for fast inference.
62+ TogetherClient: __init__(2),generate(3),is_available(0) # Together AI client.
63+ examples/03_code_generation.py:
64+ i: lolm.{LLMManager,get_client}
65+ e: SYSTEM_PROMPT,generate_function,generate_class,explain_code,review_code
66+ generate_function(description:str)->str
67+ generate_class(description:str)->str
68+ explain_code(code:str)->str
69+ review_code(code:str)->str
70+ examples/01_quickstart.py:
71+ i: lolm.{LLMManager,get_client}
72+ e: example_simple_client,example_specific_provider,example_manager,example_fallback
73+ example_simple_client()->None
74+ example_specific_provider()->None
75+ example_manager()->None
76+ example_fallback()->None
77+ examples/02_configuration.py:
78+ i: os,lolm,pathlib.Path
79+ e: show_defaults,show_recommended_models,show_current_config,example_modify_config,show_environment_config
80+ show_defaults()->None
81+ show_recommended_models()->None
82+ show_current_config()->None
83+ example_modify_config()->None
84+ show_environment_config()->None
85+ tests/test_basic.py:
86+ i: pytest
87+ e: test_import_lolm,test_import_config,test_import_clients,test_config_defaults,test_manager_init,test_recommended_models
88+ test_import_lolm()->None
89+ test_import_config()->None
90+ test_import_clients()->None
91+ test_config_defaults()->None
92+ test_manager_init()->None
93+ test_recommended_models()->None
0 commit comments