Railtown AI RailTracks Framework for building resilient agentic systems
Project description
RailTracks
Overview
RailTracks is a lightweight framework for building agentic systems; modular, intelligent agents that can be composed to solve complex tasks more effectively than any single module could.
The framework supports the entire lifecycle of agentic development: building, testing, debugging, and deploying. Its core principle is modularity, your systems are constructed from reusable, modular components.
Why RailTracks?
Many frameworks for building LLM-powered applications focus on pipelines, chains, or prompt orchestration. While effective for simple use cases, they quickly become brittle or overly complex when handling asynchronous tasks, multi-step reasoning, and heterogeneous agents.
RailTracks was designed from the ground up with the developer in mind to support real-world agentic systems, with an emphasis on:
- Programmatic structure without rigidity – Unlike declarative workflows (e.g., LangChain), RailTracks encourages clean Pythonic control flow.
- Agent-first abstraction – Inspired by real-world coordination, RailTracks focuses on defining smart agents that collaborate via tools—not just chaining LLM calls.
- Automatic Parallelism – All executions are automatically parallelized where possible, freeing you from managing threading or async manually.
- Transparent Execution – Includes integrated logging, history tracing, and built-in visualizations to show exactly how your system behaves.
- Minimal API – The small configurable API makes life a breeze compared to other tools. No magic.
- Visual Insights – Graph-based visualizations help you understand data flow and agent interactions at a glance.
- Pluggable Models – Use any LLM provider: OpenAI, open-weight models, or your own local inference engine.
Where frameworks like LangGraph emphasize pipelines, RailTracks aims to be the developer-friendly sweet spot: powerful enough for complex systems, but simple enough to understand, extend, and debug.
Quick Start
Build your first agentic system in just a few steps.
Step 1: Install the Library
# Core library
pip install railtracks
# [Optional] CLI support for development and visualization
pip install railtracks-cli
Step 2: Define Your Modular Components
import railtracks as rt
def number_of_chars(text: str) -> int:
return len(text)
def number_of_words(text: str) -> int:
return len(text.split())
def number_of_characters(text: str, character_of_interest: str) -> int:
return text.count(character_of_interest)
TotalNumberChars = rt.function_node(number_of_chars)
TotalNumberWords = rt.function_node(number_of_words)
CharacterCount = rt.function_node(number_of_characters)
TextAnalyzer = rt.agent_node(
tool_nodes={TotalNumberChars, TotalNumberWords, CharacterCount},
llm=rt.llm.OpenAILLM("gpt-4o"),
system_message=(
"You are a text analyzer. You will be given a text and return the number of characters, "
"the number of words, and the number of occurrences of a specific character."
),
)
Step 3: Run Your Application
import railtracks as rt
result = rt.call(
TextAnalyzer,
rt.llm.MessageHistory([
rt.llm.UserMessage("Hello world! This is a test of the RailTracks framework.")
])
)
print(result)
Step 4: [Optional] Visualize the Run
railtracks init
railtracks viz
(Insert example visualization image here)
And just like that, you're up and running. The possibilities are endless.
Contributing
We welcome contributions of all kinds! Check out our contributing guide to get started.
Project details
Release history Release notifications | RSS feed
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 railtracks-1.1.2.tar.gz.
File metadata
- Download URL: railtracks-1.1.2.tar.gz
- Upload date:
- Size: 242.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbb215a139ac9d8030f4f06727a508b39349fc211eee740facc2f6de46d75ab9
|
|
| MD5 |
6347e2fc20310011ed97a833e758c3ca
|
|
| BLAKE2b-256 |
ce6e3b3d0ee7c215514fbb3e65c2b312202f1da0f6dbb624e2e01038c01eba19
|
File details
Details for the file railtracks-1.1.2-py2.py3-none-any.whl.
File metadata
- Download URL: railtracks-1.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 166.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6012344a89c6331daff37dd69c2341e4eb3c75ccecca68619d10725f5388c5c
|
|
| MD5 |
85b1f17f2a5b5d38eac9af734066693a
|
|
| BLAKE2b-256 |
78753d0a4cca328c2316854fee959f3aceb81529a29f4f7ab5311f6bb1d02c1d
|