Build agents in pure Python
Minimal. Extensible. Designed for developers.
Quickstart Browse examplesOur Driving Principle: Flows Are Just Python
In Railtracks, agent behavior is defined directly in Python. There is no configuration language and no external graph definition. Execution order, branching, and looping are expressed using standard control flow.
Building a sequential flow is just like any the code you have written in your life.
@session
async def flow(user_input):
a = await call(Agent1, user_input)
b = await call(Agent2, a)
c = await call(Agent3, b)
return c
More complex behavior is built by extending this same pattern.
What This Enables
The same flow model supports a range of agent architectures without introducing new abstractions.
Validation Loops
Iterative workflows such as generation with structured validation.
Research Agent
Sequential and branching steps for search, synthesis, and summarization. Coming soon.
Orchestrator / Worker
A coordinating agent that delegates work to specialized agents or tools. Coming soon.
Suggested Progression
Most users approach Railtracks in roughly this order:
- Run the Quickstart to see a complete flow.
- Explore one or two architecture examples.
- Use the API reference for details.
Community and Contribution
Railtracks is developed in the open.