Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

railtracks-1.1.2.tar.gz (242.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

railtracks-1.1.2-py2.py3-none-any.whl (166.8 kB view details)

Uploaded Python 2Python 3

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

Hashes for railtracks-1.1.2.tar.gz
Algorithm Hash digest
SHA256 cbb215a139ac9d8030f4f06727a508b39349fc211eee740facc2f6de46d75ab9
MD5 6347e2fc20310011ed97a833e758c3ca
BLAKE2b-256 ce6e3b3d0ee7c215514fbb3e65c2b312202f1da0f6dbb624e2e01038c01eba19

See more details on using hashes here.

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

Hashes for railtracks-1.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b6012344a89c6331daff37dd69c2341e4eb3c75ccecca68619d10725f5388c5c
MD5 85b1f17f2a5b5d38eac9af734066693a
BLAKE2b-256 78753d0a4cca328c2316854fee959f3aceb81529a29f4f7ab5311f6bb1d02c1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page