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)
| File | Size | Uploaded | |
|---|---|---|---|
| pbirs_client-0.0.1.tar.gz | 17.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|