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.2

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.2
File Size Uploaded
pbirs_client-0.0.2.tar.gz 17.0 kB Details

Built distribution (wheel)

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

Total release size: 46.1 kB

Release files / pbirs_client-0.0.2.tar.gz

Download URL pbirs_client-0.0.2.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
32449b4cd8301a2b10e4240372274b66dfd74f053f3c6d6824484e172c832df9
BLAKE2b-256 checksum
How to use checksums
afc2c876a778273c9117a1f19955aab32d785382a1780d7aab84d87bb3cefc17
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.2-py3-none-any.whl

Download URL pbirs_client-0.0.2-py3-none-any.whl
Size 29.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06049c2052f3d63d2a2f01d1e30e76564bbadce189dbcbcea97cbc68b541281d
BLAKE2b-256 checksum
How to use checksums
19c5a39e3548c9827e1879f03b8551714685b706c84ad8fc1f1c904a37076439
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

This release

0.0.2 This release

2 release files

0.0.1

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