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
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.
Links
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)
| File | Size | Uploaded | |
|---|---|---|---|
| rushti-2.3.2.tar.gz | 189.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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