pyadomd
A pythonic approach to query SSAS data models
What it is and what it does
Pyadomd is a thin Python wrapper around Microsoft's ADOMD.NET client library, enabling queries against SQL Server Analysis Services (SSAS) Tabular models and Azure Analysis Services (AAS) from Python code. It exposes a cursor-based API similar to standard Python database connectors, allowing developers to execute queries and fetch results as tuples or integrate them directly into pandas DataFrames.
The package is Windows-only and requires manual setup: you must add the folder containing Microsoft.AnalysisServices.AdomdClient.dll to Python's sys.path before importing pyadomd, or the import will fail with a FileNotFoundException. Authentication to Azure Analysis Services requires app registration with Azure AD. The project has been abandoned since 2022-06-05 with no maintenance activity, making it a legacy tool suitable only for existing SSAS environments where no alternative exists.
Use it for:
- Query SSAS Tabular models from Python scripts to extract data for analysis or reporting without leaving the Python ecosystem.
- Load SSAS query results directly into pandas DataFrames for downstream data manipulation and machine learning workflows.
- Automate data extraction from Azure Analysis Services for scheduled ETL or reporting pipelines using service principal authentication.
- Integrate SSAS data access into Python applications running on Windows where direct ADOMD.NET connectivity is available.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pyadomd provides a Python interface to query SQL Server Analysis Services (SSAS) Tabular models and Azure Analysis Services using ADOMD.NET, returning results that integrate with pandas DataFrames.
No, unless you are maintaining legacy code already using pyadomd or have no alternative for querying SSAS Tabular models from Python. The project is abandoned (last update 2022-06-05), requires complex Windows/.NET setup with manual path configuration, and carries high installation friction. For new projects, consider whether a REST-based approach to Analysis Services or a migration away from SSAS is feasible.
Install
pyadomd on PyPI
pip
pip install pyadomduv
uv add pyadomdpoetry
poetry add pyadomdInstalling pyadomd
Before you install
Installation carries high friction: the package requires manual setup of the Microsoft.AnalysisServices.AdomdClient.dll path before import, and depends on .NET runtime components not bundled with Python. The project is abandoned (last commit June 2022), raising maintenance concerns for long-term use.
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions, though the abandoned maintenance status may limit practical support.
Quickstart
from sys import path
path.append('\\Program Files\\Microsoft.NET\\ADOMD.NET\\150')
from pyadomd import Pyadomd
conn_str = 'Provider=MSOLAP;Data Source=localhost;Catalog=AdventureWorks;'
with Pyadomd(conn_str) as conn:
with conn.cursor().execute("EVALUATE Product") as cur:
print(cur.fetchall())
Requires Windows, .NET Framework, and Microsoft.AnalysisServices.AdomdClient.dll installed and added to sys.path before importing pyadomd. ADOMD.NET path must be prepended to sys.path before any pyadomd import.
Verify before relying
- Whether the package works with Python versions beyond 3.6–3.8 (classifiers list only these, but requires_python is unspecified).
- Current compatibility with modern SSAS/AAS deployments and Azure authentication flows given the project's abandonment since 2022-06-05.
- Whether pandas integration is automatic or requires additional setup beyond the documented examples.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,665 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 79,677/month — #14,341 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyadomd-0.1.1.tar.gz
Keywords: adomd, ssas, ssas-tabular, ssasadomd, aas, PowerBI
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
adbc-driver-postgresqlProvides a DBAPI 2.0-compatible Python…
permissive · top 5,000 on PyPI
salesforce-cdp-connectorConnects Python to Salesforce Data Cloud to…
permissive · top 15,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
python-tdsPure Python DBAPI driver for MSSQL that…
permissive · top 5,000 on PyPI
adbc-driver-sqliteProvides a DBAPI 2.0-compatible Python…
permissive · top 5,000 on PyPI
aioodbcaioodbc provides async/await access to ODBC…
permissive · top 5,000 on PyPI
pandasqlpandasql lets you query pandas DataFrames using…
unclear · top 5,000 on PyPI
django-clickhouseIntegrates Django applications with ClickHouse,…
permissive · top 15,000 on PyPI
mltableMLTable provides fast, flexible data loading…
unclear · top 15,000 on PyPI
qpdQPD translates SQL SELECT statements into…
permissive · top 15,000 on PyPI