gora8-adapters
Wrap a LangGraph graph or CrewAI crew as an HTTP server gora8 can deploy — without hand-writing a FastAPI app yourself.
gora8's gora8 deploy only needs a public HTTPS endpoint that accepts a
POST with {"task": "..."} and returns JSON. This package spins up that
endpoint for you from an already-built graph or crew.
Install
pip install gora8-adapters[langgraph] # or: crewai, openai-agents, google-adk, agno, semantic-kernel, autogen
LangGraph
from gora8_adapters.langgraph import serve
# graph = your_state_graph.compile()
serve(graph)
Defaults to the common messages-keyed state convention. If your graph uses
a different state schema, pass your own mappers:
serve(
graph,
input_mapper=lambda task: {"my_input_key": task},
output_mapper=lambda state: state["my_output_key"],
)
CrewAI
from gora8_adapters.crewai import serve
# crew = Crew(agents=[...], tasks=[...])
serve(crew)
Your crew's task descriptions should reference {task} (the default input
variable name) — override with input_mapper if you use a different name.
OpenAI Agents SDK
from agents import Agent
from gora8_adapters.openai_agents import serve
agent = Agent(name="assistant", instructions="You are helpful.")
serve(agent)
Google Agent Development Kit (ADK)
from google.adk.agents import Agent
from gora8_adapters.google_adk import serve
agent = Agent(name="assistant", model="gemini-2.0-flash", instruction="You are helpful.")
serve(agent)
Each request gets its own throwaway in-memory ADK session — no multi-turn history is kept between calls, matching the stateless "task in, result out" contract of gora8's invoke gateway.
Agno
from agno.agent import Agent
from gora8_adapters.agno import serve
agent = Agent(name="assistant")
serve(agent)
Note: the package is agno (PyPI phidata is a frozen legacy snapshot from
before the project's rename — don't install that one).
Semantic Kernel
from semantic_kernel.agents import ChatCompletionAgent
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion
from gora8_adapters.semantic_kernel import serve
agent = ChatCompletionAgent(service=OpenAIChatCompletion(), name="Assistant", instructions="You are helpful.")
serve(agent)
AutoGen
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from gora8_adapters.autogen import serve
model_client = OpenAIChatCompletionClient(model="gpt-4o")
agent = AssistantAgent(name="assistant", model_client=model_client)
serve(agent)
Targets Microsoft's official autogen-agentchat package. Not ag2 (its
classic ConversableAgent/import autogen API moved to a separate
ag2-classic package as of AG2 v1.0) and not legacy pyautogen~=0.2.0
(current pyautogen on PyPI is itself just a proxy onto autogen-agentchat).
Then deploy
Point endpoint: in your agent.yaml at wherever you host this server
(e.g. https://my-agent.example.com/invoke), then run gora8 deploy as
usual — no gora8-specific code beyond serve(...) is required.
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 gora8_adapters-0.1.0.tar.gz.
File metadata
- Download URL: gora8_adapters-0.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81ed6201e4b4731d5eb177bfa52d18e49a8037bae0ac6c93f816aa0970e1b200
|
|
| MD5 |
e4f9d067e99dfa6323b22aed262d518b
|
|
| BLAKE2b-256 |
d744cf2d08f1dd198a7cc69209c1c40c6569879bcad36fdd5e4317a399c2b9aa
|
Provenance
The following attestation bundles were made for gora8_adapters-0.1.0.tar.gz:
Publisher:
publish-adapters.yml on gora8/internal-repo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gora8_adapters-0.1.0.tar.gz -
Subject digest:
81ed6201e4b4731d5eb177bfa52d18e49a8037bae0ac6c93f816aa0970e1b200 - Sigstore transparency entry: 2396504808
- Sigstore integration time:
-
Permalink:
gora8/internal-repo@fc582ddb4386639baf7cbce8fc6d76fd7cdee797 -
Branch / Tag:
refs/tags/adapters-v0.1.0 - Owner: https://github.com/gora8
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-adapters.yml@fc582ddb4386639baf7cbce8fc6d76fd7cdee797 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gora8_adapters-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gora8_adapters-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.0 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 |
f430647bc4b221b25e73b422ca5ced98b585ab0279a77a984c672c567cf17e8b
|
|
| MD5 |
e3050c48ba09e6636bb84447a1873064
|
|
| BLAKE2b-256 |
a9f20989f38bf547c6d1564a732f04f83537b3b227de6d6a479b100aea2b7132
|
Provenance
The following attestation bundles were made for gora8_adapters-0.1.0-py3-none-any.whl:
Publisher:
publish-adapters.yml on gora8/internal-repo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gora8_adapters-0.1.0-py3-none-any.whl -
Subject digest:
f430647bc4b221b25e73b422ca5ced98b585ab0279a77a984c672c567cf17e8b - Sigstore transparency entry: 2396504866
- Sigstore integration time:
-
Permalink:
gora8/internal-repo@fc582ddb4386639baf7cbce8fc6d76fd7cdee797 -
Branch / Tag:
refs/tags/adapters-v0.1.0 - Owner: https://github.com/gora8
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-adapters.yml@fc582ddb4386639baf7cbce8fc6d76fd7cdee797 -
Trigger Event:
push
-
Statement type: