https://github.com/cubewise-code/rushti
Smooth parallelization of TI Processes with TM1py
https://github.com/cubewise-code/rushti
cubewise ibm planning-analytics python tm1 tm1-rest-api tm1py turbo-integrator
Last synced: 4 months ago
JSON representation
Smooth parallelization of TI Processes with TM1py
- Host: GitHub
- URL: https://github.com/cubewise-code/rushti
- Owner: cubewise-code
- License: mit
- Created: 2018-07-15T19:28:11.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-12-18T17:30:13.000Z (6 months ago)
- Last Synced: 2025-12-21T19:38:34.472Z (6 months ago)
- Topics: cubewise, ibm, planning-analytics, python, tm1, tm1-rest-api, tm1py, turbo-integrator
- Language: Python
- Homepage: https://code.cubewise.com/tm1py-help-content/run-processes-in-parallel-using-only-connection
- Size: 176 KB
- Stars: 11
- Watchers: 8
- Forks: 15
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
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
- **SQLite Statistics** — 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)
```bash
pip install rushti
```
For the latest beta:
```bash
pip install rushti --pre
```
### uv
```bash
uv pip install rushti
```
### Executable (no Python required)
Download `rushti.exe` from [GitHub Releases](https://github.com/cubewise-code/rushti/releases) — includes all dependencies.
## Quick Start
**1. Configure TM1 connection**
```ini
# config/config.ini
[tm1-finance]
address = localhost
port = 12354
ssl = true
user = admin
password = apple
```
**2. Create a task file**
```json
{
"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**
```bash
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](https://cubewise-code.github.io/rushti/docs/)**
- [Installation](https://cubewise-code.github.io/rushti/docs/getting-started/installation/)
- [Quick Start](https://cubewise-code.github.io/rushti/docs/getting-started/quick-start/)
- [Task Files](https://cubewise-code.github.io/rushti/docs/getting-started/task-files/)
- [CLI Reference](https://cubewise-code.github.io/rushti/docs/advanced/cli-reference/)
- [Settings Reference](https://cubewise-code.github.io/rushti/docs/advanced/settings-reference/)
## Website
Visit **[cubewise-code.github.io/rushti](https://cubewise-code.github.io/rushti/)** for interactive demos, feature overviews, and architecture visualizations.
## Links
- [GitHub](https://github.com/cubewise-code/rushti)
- [PyPI](https://pypi.org/project/rushti/)
- [Issues](https://github.com/cubewise-code/rushti/issues)
- [Changelog](https://github.com/cubewise-code/rushti/releases)
## Built With
[TM1py](https://github.com/cubewise-code/TM1py) — Python interface to the TM1 REST API
## License
MIT — see [LICENSE](LICENSE) for details.