skillfed

TM1py

A python module for TM1.

tm1py v2.3.1 322.9K downloads/30d#7,606 on PyPI222
Permissive license MIT Active released

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 tm1py

uv

uv add tm1py

poetry

poetry add tm1py

Installing 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

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

IBM Planning Analytics Python clientTM1 cube data accessMDX query execution PythonTM1 dimension managementPlanning Analytics API wrapperTM1 ETL automationCognos TM1 Python integration
ibm-planning-analyticsetl-automationmultidimensional-database

More Front-Ends packages