A provider-agnostic LLM toolkit with tool calling, skills, and parallel execution.
Project description
llmstitch
A provider-agnostic LLM toolkit with tool calling, skills, and parallel execution.
Stitch together Anthropic, OpenAI, Gemini, and Groq behind one Agent loop. Define tools with a decorator, compose behaviors as skills, and execute tool calls concurrently — all with a tiny, typed core.
Install
pip install llmstitch[anthropic] # just the Anthropic SDK
pip install llmstitch[openai] # just the OpenAI SDK
pip install llmstitch[gemini] # just the Gemini SDK
pip install llmstitch[groq] # just the Groq SDK
pip install llmstitch[all] # all four
The bare pip install llmstitch has zero runtime dependencies — provider SDKs are opt-in extras.
30-second example
import asyncio
from llmstitch import Agent, tool
from llmstitch.providers.anthropic import AnthropicAdapter
@tool
def get_weather(city: str) -> str:
"""Return a canned weather report for the given city."""
return f"{city}: 72°F and sunny"
agent = Agent(
provider=AnthropicAdapter(),
model="claude-opus-4-7",
system="You are a helpful weather assistant.",
)
agent.tools.register(get_weather)
messages = asyncio.run(agent.run("What's the weather in Tokyo?"))
print(messages[-1].content)
Features
- Provider-agnostic — swap
AnthropicAdapterforOpenAIAdapter,GeminiAdapter, orGroqAdapterwithout touching your agent code. - Typed
@tooldecorator — JSON Schema generated from type hints (Optional,Literal, defaults, async). - Parallel tool execution — when a model returns multiple tool calls in one turn, they run concurrently.
- Skills — bundle a system prompt with a set of tools; compose with
.extend(). - PEP 561 typed — ships with
py.typed, fully checked undermypy --strict.
Status
v0.1.0 alpha. Streaming, retries, and MCP support are on the roadmap. See CHANGELOG.md and the project plan.
License
MIT
Project details
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 llmstitch-0.1.1.tar.gz.
File metadata
- Download URL: llmstitch-0.1.1.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
095eb5ba7ad629d10274d97599db1fee2fc85a5a90cade46e6466ecc8c5a354a
|
|
| MD5 |
f6e63b8d2395abdbcd379bcf4f84ff5b
|
|
| BLAKE2b-256 |
2768520168662b74029ca0320a0be9872fcdfff90c6f8297def93de8371a8032
|
Provenance
The following attestation bundles were made for llmstitch-0.1.1.tar.gz:
Publisher:
release.yml on bengeos/llmstitch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llmstitch-0.1.1.tar.gz -
Subject digest:
095eb5ba7ad629d10274d97599db1fee2fc85a5a90cade46e6466ecc8c5a354a - Sigstore transparency entry: 1351291495
- Sigstore integration time:
-
Permalink:
bengeos/llmstitch@4ca34fbff6a0de7bd8a1fdaa8ffe3a958b8dd3ea -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bengeos
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4ca34fbff6a0de7bd8a1fdaa8ffe3a958b8dd3ea -
Trigger Event:
pull_request
-
Statement type:
File details
Details for the file llmstitch-0.1.1-py3-none-any.whl.
File metadata
- Download URL: llmstitch-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb94ec680aadf1f4aa0ab81b6df3f53fc770cc45fed488057d85d93ed13d7041
|
|
| MD5 |
a6448f28366896c5a53a667dced2e0e3
|
|
| BLAKE2b-256 |
3f94f3defc8263f42c6ef70b41571fcea597ebb67439c8b7102f4318e1c6a856
|
Provenance
The following attestation bundles were made for llmstitch-0.1.1-py3-none-any.whl:
Publisher:
release.yml on bengeos/llmstitch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llmstitch-0.1.1-py3-none-any.whl -
Subject digest:
cb94ec680aadf1f4aa0ab81b6df3f53fc770cc45fed488057d85d93ed13d7041 - Sigstore transparency entry: 1351291833
- Sigstore integration time:
-
Permalink:
bengeos/llmstitch@4ca34fbff6a0de7bd8a1fdaa8ffe3a958b8dd3ea -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bengeos
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4ca34fbff6a0de7bd8a1fdaa8ffe3a958b8dd3ea -
Trigger Event:
pull_request
-
Statement type: