Skip to main content

RushTI

Parallel TI execution engine for IBM Planning Analytics

PyPI Python License


RushTI transforms sequential TurboIntegrator execution into intelligent, parallel workflows. Define task dependencies as a DAG, and RushTI schedules them across multiple workers — starting each task the moment its predecessors complete.

What's New in 2.0

  • DAG Execution — True dependency-based scheduling replaces wait-based sequencing
  • JSON Task Files — Structured format with metadata, settings, and stages
  • Self-Optimization — EWMA-based learning reorders tasks from historical performance
  • Checkpoint & Resume — Automatic progress saving with failure recovery
  • Exclusive Mode — Prevents concurrent runs on shared TM1 servers
  • Statistics Storage (SQLite or DynamoDB) — Persistent execution history with dashboards and analysis
  • TM1 Integration — Read tasks from and write results to a TM1 cube
  • 100% Backwards Compatible — Legacy TXT task files work without changes

Installation

pip install rushti

For the latest beta:

pip install rushti --pre

uv

uv pip install rushti

Executable (no Python required)

Download rushti.exe from GitHub Releases — includes all dependencies.

Quick Start

1. Configure TM1 connection

# config/config.ini
[tm1-finance]
address = localhost
port = 12354
ssl = true
user = admin
password = apple

RushTI looks for config.ini under config/ (or RUSHTI_DIR). To point a single run at a different file — e.g. a config.ini shared with other tm1py utilities — pass --config PATH to any TM1-connecting command (run, build, tasks, resume).

2. Create a task file

{
  "version": "2.0",
  "tasks": [
    { "id": "1", "instance": "tm1-finance", "process": "Extract.GL.Data" },
    { "id": "2", "instance": "tm1-finance", "process": "Extract.FX.Rates" },
    {
      "id": "3",
      "instance": "tm1-finance",
      "process": "Transform.Currency",
      "predecessors": ["1", "2"]
    },
    {
      "id": "4",
      "instance": "tm1-finance",
      "process": "Build.Reports",
      "predecessors": ["3"]
    }
  ]
}

3. Validate and run

rushti tasks validate --tasks daily-refresh.json --skip-tm1-check
rushti run --tasks daily-refresh.json --max-workers 4

Documentation

Full documentation is available at cubewise-code.github.io/rushti/docs

Website

Visit cubewise-code.github.io/rushti for interactive demos, feature overviews, and architecture visualizations.

Built With

TM1py — Python interface to the TM1 REST API

License

MIT — see LICENSE for details.

Metadata

Release files for rushti 2.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rushti 2.3.2
File Size Uploaded
rushti-2.3.2.tar.gz 189.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rushti 2.3.2
File Interpreter ABI Platform
rushti-2.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 399.9 kB

Release files / rushti-2.3.2.tar.gz

Download URL rushti-2.3.2.tar.gz
Size 189.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bf972e11670b3b530d785959a005f907b8aa8570fd2e2c60f4e13fe0051f3262
BLAKE2b-256 checksum
How to use checksums
6a180aeeb259ffee956c8bbe5df38ed2c0adb455fff212c6e869be0cd57b00d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release files / rushti-2.3.2-py3-none-any.whl

Download URL rushti-2.3.2-py3-none-any.whl
Size 210.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67201ff0e576dc850cdaf66696f44ed2c977d43beaecef9b67c2839303fa7a65
BLAKE2b-256 checksum
How to use checksums
4ac63c7bb73a2b96b035b987eff5d53c23de9f9e9dc5c46fc11fdec896c95bcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page