RushTI - Parallel TM1 TurboIntegrator Process Execution
Project description
Parallel TI execution engine for IBM Planning Analytics
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 (recommended)
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
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.
Links
Built With
TM1py — Python interface to the TM1 REST API
License
MIT — see LICENSE for details.
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 rushti-2.2.2.tar.gz.
File metadata
- Download URL: rushti-2.2.2.tar.gz
- Upload date:
- Size: 181.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80f40ed6f8c8268ce37c88928fbecfcafecd0de8d653d31cd8b54a29e6dab0bc
|
|
| MD5 |
ec609ed58b4fb824279b959b0894502b
|
|
| BLAKE2b-256 |
d4d532c8f908540ea5899895023b25e985cc52ffa312dc9f839f3d0c090ec91c
|
Provenance
The following attestation bundles were made for rushti-2.2.2.tar.gz:
Publisher:
build.yml on cubewise-code/rushti
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rushti-2.2.2.tar.gz -
Subject digest:
80f40ed6f8c8268ce37c88928fbecfcafecd0de8d653d31cd8b54a29e6dab0bc - Sigstore transparency entry: 1584062581
- Sigstore integration time:
-
Permalink:
cubewise-code/rushti@76d87c5eb042f36bc392a84b533ca6b045554d08 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/cubewise-code
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@76d87c5eb042f36bc392a84b533ca6b045554d08 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file rushti-2.2.2-py3-none-any.whl.
File metadata
- Download URL: rushti-2.2.2-py3-none-any.whl
- Upload date:
- Size: 201.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa5d1be47920f893ed0ed9bdc461f790d68abffff737a70332c95587911432a9
|
|
| MD5 |
922b167679f59afdfa25b38d182af2e3
|
|
| BLAKE2b-256 |
7acf11ba527f3bf764a13efb8c38dcff3c9611de3c31d4dc1359853b167f891a
|
Provenance
The following attestation bundles were made for rushti-2.2.2-py3-none-any.whl:
Publisher:
build.yml on cubewise-code/rushti
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rushti-2.2.2-py3-none-any.whl -
Subject digest:
fa5d1be47920f893ed0ed9bdc461f790d68abffff737a70332c95587911432a9 - Sigstore transparency entry: 1584062705
- Sigstore integration time:
-
Permalink:
cubewise-code/rushti@76d87c5eb042f36bc392a84b533ca6b045554d08 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/cubewise-code
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@76d87c5eb042f36bc392a84b533ca6b045554d08 -
Trigger Event:
workflow_run
-
Statement type: