Skip to main content

pbirs-client

A typed Python client for the Power BI Report Server REST API, with NTLM authentication and resource-based API helpers.

Requirements

  • Python 3.14 or later
  • A Power BI Report Server account

Installation

uv add pbirs-client

Usage

Set the connection details:

export BI_URL="https://reports.example.com"
export BI_USERNAME="DOMAIN\\username"
export BI_PASSWORD="password"

Create a client and call an API resource:

from pbirs_client import BIClient

with BIClient.from_env() as client:
    items = client.catalog.get_catalog_items()
    print(items)

Pass documented query options through params:

with BIClient.from_env() as client:
    reports = client.power_bi_reports.get_power_bi_reports(
        params={"$select": "Id,Name,Path"},
    )

Write operations are disabled by default. Enable them explicitly when needed:

client = BIClient.from_env(allow_mutation=True)

Development

Install the development dependencies and run the offline checks:

uv sync --group dev
just all

The test report measures Python statement coverage. To separately verify API endpoint coverage against the current Microsoft Learn catalog, run the network-dependent audit:

just api-coverage

The audit compares all documented operation IDs, HTTP methods, and paths with src/pbirs_client/operations.json.

Documentation

Metadata

Release files for pbirs-client 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pbirs-client 0.0.1
File Size Uploaded
pbirs_client-0.0.1.tar.gz 17.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pbirs-client 0.0.1
File Interpreter ABI Platform
pbirs_client-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 46.1 kB

Release files / pbirs_client-0.0.1.tar.gz

Download URL pbirs_client-0.0.1.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
86de2d6411788c4bebf41dd9b065fc4e4d48d5dd24477c4ab5183dd4aa1aa22a
BLAKE2b-256 checksum
How to use checksums
233acdfe2f0daeea76d91f8d7fdde3ac96c3cda4b8064cfb954f6162805f943d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pbirs_client-0.0.1-py3-none-any.whl

Download URL pbirs_client-0.0.1-py3-none-any.whl
Size 29.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e0c1ae95731d833c8a2a8c0a3d9f28c3b9e40ad9f85fe075af80418515e93c4
BLAKE2b-256 checksum
How to use checksums
3ee763790a4b2469aadc87954a1605b320d9bb2e83ba4d9f64602a0f55ebcf86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.0.7

2 release files

0.0.3

2 release files

0.0.2

2 release files

This release

0.0.1 This release

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page