A Python client for the Gumloop API that makes it easy to run and monitor Gumloop flows, plus the gumloop CLI.
Install on macOS or Linux:
curl -fsSL https://gumloop.com/cli/install.sh | shThe installer is fully self-contained under ~/.gumloop — it ships its own Python, never touches your system Python, and needs no sudo. Run gumloop --help to get started and update any time with:
gumloop updateTo use the client as a library in your own Python project:
uv add gumloopfrom gumloop import GumloopClient
# Initialize the client
client = GumloopClient(
api_key="your_api_key",
user_id="your_user_id"
)
# Run a flow and wait for outputs
output = client.run_flow(
flow_id="your_flow_id",
inputs={
"recipient": "example@email.com",
"subject": "Hello",
"body": "World"
}
)
print(output)Team (workspace) API keys are scoped to a single team. Pass the team's ID and the acting member's user ID — every request is validated against that team and only reaches resources the team owns.
from gumloop import Gumloop
client = Gumloop(
api_key="your_team_api_key",
user_id="your_user_id", # must be a member of the team
team_id="your_team_id",
)
agents = client.agents.list() # scoped to the teamteam_id can also be provided via the GUMLOOP_TEAM_ID environment variable.
import asyncio
from gumloop import AsyncGumloop
async def main() -> None:
async with AsyncGumloop(access_token="your_access_token") as client:
agents = await client.agents.list()
agent = agents.agents[0]
async for event in client.sessions.stream(
agent.id,
input="Hello, what can you do?",
):
print(event)
asyncio.run(main())