TM1py
A python module for TM1.
What it is and what it does
TM1py is a Python client library for IBM Planning Analytics (TM1), a multidimensional database and planning platform. It abstracts the REST API into Pythonic methods for reading and writing cube data, managing dimensions and hierarchies, executing MDX queries, and running TI processes. The package supports both on-premise TM1 installations and cloud deployments (IBM Cloud, PAaaS, Cloud Pak For Data), with connection modes for SSL, LDAP, OAuth, and API keys.
The library is designed for data engineers and analysts who need to automate TM1 workflows from Python—extracting data via MDX or cube views, loading data from pandas DataFrames, updating metadata, and parallelizing operations with async methods. It handles the authentication and HTTP plumbing, leaving you to focus on business logic. Active maintenance and a permissive MIT license make it suitable for production use in enterprise environments.
Use it for:
- Automate daily ETL pipelines that read TM1 cube data via MDX and load results into a data warehouse.
- Build Python scripts to bulk-update TM1 dimensions and hierarchies from external data sources.
- Execute TI processes programmatically and retrieve their return values for monitoring or error handling.
- Parallelize large cube write operations using async methods to reduce overall runtime.
- Integrate TM1 data into Jupyter notebooks or pandas workflows for ad-hoc analysis and reporting.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
TM1py provides Python bindings to IBM Planning Analytics (TM1), enabling read/write operations on cubes, dimensions, and hierarchies, plus execution of TI processes and MDX queries.
Yes. TM1py is the standard Python interface to Planning Analytics, actively maintained, widely used (top 15000 PyPI packages), and carries no known security vulnerabilities. Install it if you need to automate TM1 workflows or integrate TM1 data into Python applications. The low install friction and permissive license make it a straightforward choice for enterprise users.
Install
tm1py on PyPI
pip
pip install tm1pyuv
uv add tm1pypoetry
poetry add tm1pyInstalling TM1py
Before you install
Low friction install with a pure-wheel distribution. Active maintenance with a recent release (62 days ago) and steady repository activity. Five runtime dependencies are all well-established packages (requests, ijson, pytz, and two SSPI/MDX-specific libraries).
License in practice
MIT license is permissive, allowing use in commercial and private projects with minimal restrictions—only requiring attribution.
Quickstart
pip install tm1py
from TM1py.Services import TM1Service
with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
print(tm1.server.get_product_version())
Requires TM1/Planning Analytics v11 or higher running on-premise or cloud; Python 3.7 or higher.
Verify before relying
- Whether optional dependencies (pandas, networkx) are required for specific features or truly optional.
- Performance characteristics when executing large MDX queries or bulk write operations.
- Compatibility details with the latest TM1 12 PAaaS and Cloud Pak For Data deployments.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — ijson, requests, pytz, requests_negotiate_sspi, mdxpy |
| Maintenance | actively maintained — 62 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 322,911/month — #7,606 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tm1py-2.3.1-py3-none-any.whl
Keywords: TM1, IBM Cognos TM1, Planning Analytics, PA, Cognos
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
mdxpyBuilds MDX queries programmatically for TM1 and…
permissive · top 15,000 on PyPI
ibm-secrets-manager-sdkA Python client library for programmatically…
permissive · top 15,000 on PyPI
ibm-platform-servicesPython client library for IBM Cloud Platform…
permissive · top 5,000 on PyPI
databend-driverPython client library for connecting to…
permissive · top 15,000 on PyPI
bigframesBigFrames provides a pandas-compatible…
permissive · top 5,000 on PyPI
atlassian-python-apiProvides Python bindings to REST APIs for…
permissive · top 5,000 on PyPI
xtgeoXTGeo manipulates subsurface reservoir…
copyleft · top 15,000 on PyPI
ibmmqibmmq provides a Python interface to IBM MQ,…
unclear · top 5,000 on PyPI
ibm-watson-machine-learningPython client library for IBM Watson Machine…
permissive · top 5,000 on PyPI
pyspark-clientPython client for connecting to Apache Spark…
permissive · top 5,000 on PyPI