xyberos-llm-providers
Remaining LLM providers plugin — RFC-0019, M6. Thin configs, no new
architecture. The long tail of OpenAI-compatible providers are covered by
presets over the core OpenAICompatibleLLM; Azure OpenAI, AWS Bedrock and
Google Vertex AI get dedicated LLMProvider adapters.
Install
pip install -e ./llm-providers
pip install xyberos[llm-providers] # optional: boto3 + google-auth for Bedrock/Vertex
Provider presets (OpenAI-compatible — one line each)
provider |
base URL | default model | API key env |
|---|---|---|---|
openai |
api.openai.com/v1 |
gpt-4o-mini |
OPENAI_API_KEY |
mistral |
api.mistral.ai/v1 |
mistral-small-latest |
MISTRAL_API_KEY |
groq |
api.groq.com/openai/v1 |
llama-3.3-70b-versatile |
GROQ_API_KEY |
deepseek |
api.deepseek.com/v1 |
deepseek-chat |
DEEPSEEK_API_KEY |
cohere |
api.cohere.com/compatibility/v1 |
command-r-plus |
COHERE_API_KEY |
together |
api.together.xyz/v1 |
Llama-3.3-70B-Instruct-Turbo |
TOGETHER_API_KEY |
xai |
api.x.ai/v1 |
grok-2 |
XAI_API_KEY |
openrouter |
openrouter.ai/api/v1 |
openrouter/auto |
OPENROUTER_API_KEY |
from xyberos_llm_providers import get_llm
llm = get_llm("groq") # key from GROQ_API_KEY
print(llm.generate("Say hi"))
Dedicated adapters
- Azure OpenAI —
AzureOpenAILLM(deployment, endpoint=..., api_key=...)posts to the Azure deployments endpoint with anapi-keyheader (AZURE_OPENAI_ENDPOINT,AZURE_OPENAI_API_KEY,AZURE_OPENAI_DEPLOYMENT). - AWS Bedrock —
BedrockLLM(model_id)overbedrock-runtime.converse(lazyboto3; region fromAWS_REGION/AWS_DEFAULT_REGION). - Google Vertex AI —
VertexAILlm(model, project=...)over thegenerateContentREST API (lazygoogle-authtoken;VERTEX_AI_PROJECT/GOOGLE_CLOUD_PROJECT).
Plugin usage
from xyberos import create_app
from xyberos_llm_providers import LlmProvidersPlugin
app = create_app()
app.load_plugin(LlmProvidersPlugin(provider="deepseek")) # or set LLM_PROVIDER=deepseek
print(app.llm.generate("Say hi"))
provider accepts a preset name or azure_openai / bedrock / vertex.
An unconfigured plugin registers nothing (logs a warning); calling
plugin.llm() directly surfaces misconfiguration errors.
Examples
examples/llm_providers.py— lists presets and runs one;--stubfor a no-network demo, otherwise a real call.
Tests
pip install pytest
pytest tests/
All adapters are tested against stub transports / fake clients — no network, no SDKs required. Bedrock/Vertex lazy-import tests skip when their SDK is present.
Ship location
Plugin (xyberos.plugins entry point) / [llm-providers] extra. One
LLMProvider contract; providers are implementations of it.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xyberos_llm_providers-0.1.0.tar.gz.
File metadata
- Download URL: xyberos_llm_providers-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86fd99c908eb5db05fe4e509b86dc8be9af64cb4b80003cb47de9010c8c4c343
|
|
| MD5 |
b70b3dc0a74b24c27f01b6ad5a2ed408
|
|
| BLAKE2b-256 |
f610b2933393dd2dadea8669f1c53b7245ee32756d6d06673d57587072886eba
|
Provenance
The following attestation bundles were made for xyberos_llm_providers-0.1.0.tar.gz:
Publisher:
pypi-plugins.yml on xyberos/xyberos-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xyberos_llm_providers-0.1.0.tar.gz -
Subject digest:
86fd99c908eb5db05fe4e509b86dc8be9af64cb4b80003cb47de9010c8c4c343 - Sigstore transparency entry: 2495235788
- Sigstore integration time:
-
Permalink:
xyberos/xyberos-plugins@cd98ad6193005275396bb763df8de0468830de4a -
Branch / Tag:
refs/heads/master - Owner: https://github.com/xyberos
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-plugins.yml@cd98ad6193005275396bb763df8de0468830de4a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file xyberos_llm_providers-0.1.0-py3-none-any.whl.
File metadata
- Download URL: xyberos_llm_providers-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ee0f457e4acd4dab34ffc74bd18ee91ef04de2e03d660936c5e179d6f913eb6
|
|
| MD5 |
6930d9d4ea72f03653f50ceb13754e0f
|
|
| BLAKE2b-256 |
7bb8f87ceb16dca71bd4340ae41cdfc95f76cd43fc54245057fbbccfe31cab8f
|
Provenance
The following attestation bundles were made for xyberos_llm_providers-0.1.0-py3-none-any.whl:
Publisher:
pypi-plugins.yml on xyberos/xyberos-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xyberos_llm_providers-0.1.0-py3-none-any.whl -
Subject digest:
0ee0f457e4acd4dab34ffc74bd18ee91ef04de2e03d660936c5e179d6f913eb6 - Sigstore transparency entry: 2495235804
- Sigstore integration time:
-
Permalink:
xyberos/xyberos-plugins@cd98ad6193005275396bb763df8de0468830de4a -
Branch / Tag:
refs/heads/master - Owner: https://github.com/xyberos
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-plugins.yml@cd98ad6193005275396bb763df8de0468830de4a -
Trigger Event:
workflow_dispatch
-
Statement type: