skillfed

pyadomd

A pythonic approach to query SSAS data models

pyadomd v0.1.1 79.7K downloads/30d#14,341 on PyPI35
Permissive license Apache License 2.0 Abandoned released

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 pyadomd

uv

uv add pyadomd

poetry

poetry add pyadomd

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: Microsoft :: WindowsProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Database

Tags

ssas tabular query pythonadomd python clientazure analysis services pythonssas data model querypowerbi dataset query pythonaas python connectormsolap python interface
windows-onlyabandonedssas-adomd

More Database packages