mdxpy
A simple, yet elegant MDX library for TM1
Decision gist · record as of 2026-08-14
Yes, if you work with TM1 or IBM Cognos Planning Analytics and write MDX queries regularly. The library eliminates a common source of errors and makes queries more maintainable. The high install friction is a minor drawback, but the active maintenance status and zero security vulnerabilities support adoption. Not relevant for projects that do not use TM1 or Planning Analytics.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- High install friction reported; package has no runtime dependencies but the distribution artifact suggests potential build or extraction complexity.
- Maintenance is active with recent commits.
License · maintenance · safety
MIT-LICENSE (permissive) — MIT license (permissive) allows commercial and private use with minimal restrictions—suitable for most projects.
last release 2023-08-07 (1103 days) · last repo commit 2026-08-06 · 36 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 291,849 downloads/mo, #7,969 on PyPI
Alternatives
Verify before relying
from mdxpy import Member, MdxTuple, MdxBuilder
mdx_tuple = MdxTuple.of(Member.of("Product", "Product1"), Member.of("Region", "US"))
print(mdx_tuple.to_mdx())
query = MdxBuilder.from_cube("Cube").add_hierarchy_set_to_column_axis(
MdxHierarchySet.all_leaves("Product")
).to_mdx()- Whether high install friction stems from a compiled dependency or packaging issue not evident in the metadata
- Whether the gap between latest release (2023-08-07) and current date indicates active maintenance or dormancy despite recent commits
What it is and what it does
MDXpy is a Python library for constructing MDX (Multidimensional Expressions) queries used by IBM Cognos TM1 and Planning Analytics. Instead of writing raw MDX strings, you use classes like Member, MdxTuple, MdxHierarchySet, and MdxBuilder to assemble queries programmatically. The library handles syntax details—bracket escaping, proper nesting, function formatting—so you focus on the query logic rather than MDX grammar.
The package supports a broad set of MDX functions including TM1SUBSETALL, FILTER, TOPCOUNT, UNION, and others, and allows chaining operations in a functional style. It handles multi-axis queries, calculated members, dimension properties, and zero suppression configuration. The main benefit is reducing syntax errors and making queries easier to refactor and maintain, especially for teams less familiar with MDX syntax.
Use it for
- Build dynamic TM1 queries in Python without manually escaping brackets or worrying about missing parentheses
- Generate MDX queries for Planning Analytics reports where query structure varies based on user input or configuration
- Construct multi-axis MDX queries with calculated members and dimension properties for complex reporting
- Refactor existing raw MDX strings into maintainable, version-controlled Python code
- Create reusable query templates by composing Member, MdxHierarchySet, and MdxBuilder objects
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with TM1 or IBM Cognos Planning Analytics and write MDX queries regularly.
The library eliminates a common source of errors and makes queries more maintainable. The high install friction is a minor drawback, but the active maintenance status and zero security vulnerabilities support adoption. Not relevant for projects that do not use TM1 or Planning Analytics.
Install
mdxpy on PyPI
Before you install
High install friction reported; package has no runtime dependencies but the distribution artifact suggests potential build or extraction complexity. Maintenance is active with recent commits.
License in practice
MIT license (permissive) allows commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
from mdxpy import Member, MdxTuple, MdxBuilder
mdx_tuple = MdxTuple.of(Member.of("Product", "Product1"), Member.of("Region", "US"))
print(mdx_tuple.to_mdx())
query = MdxBuilder.from_cube("Cube").add_hierarchy_set_to_column_axis(
MdxHierarchySet.all_leaves("Product")
).to_mdx()
Verify before relying
- Whether high install friction stems from a compiled dependency or packaging issue not evident in the metadata
- Whether the gap between latest release (2023-08-07) and current date indicates active maintenance or dormancy despite recent commits
Package facts
| License | MIT-LICENSE permissive |
| Python support | Supports the current Python release >=3.5 |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Actively maintained 1,103 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 291,849 / month, #7,969 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPython |
Evidence: mdxpy-1.3.2.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “MDX query builder”
- mdxpyBuilds MDX queries programmatically for TM1 and IBM Cognos Planning…
- hf-doc-builderBuilds and previews documentation for Hugging Face repositories,…
- TM1pyTM1py provides Python bindings to IBM Planning Analytics (TM1),…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also TM1py · django-query-builder · hf-doc-builder · outlines · sqlalchemy-mixins · luqum · apache-superset · azure-mgmt-sql · sqlalchemy-ibmi · altex