SSRS Library
Project description
SSRS Python Tools
A modern Python library to replace the PowerShell ReportingServicesTools module, designed for automation and CI/CD pipelines (e.g., GitLab CI/CD).
Repository: ipierre1/ssrs-powerbi-library
PyPI package: ssrs-powerbi-library
๐ Features
- Full replacement for PowerShell ReportingServicesTools
- Native REST API for SQL Server Reporting Services (SSRS)
- NTLM authentication support (Windows credentials)
- CI/CD integration (GitLab, GitHub, Azure, etc.)
- Data source connection testing
- Report and catalog item management
- Flexible configuration via environment variables
- Advanced logging for debugging and monitoring
๐ฆ Installation
# Install from PyPI (recommended)
pip install ssrs-powerbi-library
# Or install from source
git clone https://github.com/ipierre1/ssrs-powerbi-library.git
cd ssrs-powerbi-library
pip install -r requirements.txt
pip install -e .
Requirements
- Python 3.7+
- Access to an SSRS server with REST API enabled
- Credentials for NTLM authentication
๐ Project Structure
ssrs-powerbi-library/
โ
โโโ ssrs_library/
โ โโโ __init__.py
โ โโโ ssrs_library.py # Main client logic
โ โโโ datasource_manager.py # Data source management logic
โ โโโ types/
โ โโโ __init__.py
โ โโโ rsitemtype.py # RsItemType enum
โ โโโ datasourcetype.py # DataSourceType enum
โ โโโ rscredentials.py # Credentials dataclasses
โ โโโ rsdatasource.py # RsDataSource dataclass
โ โโโ rsitem.py # RsItem dataclass
โ
โโโ tests/
โ โโโ ...
โโโ example_usage.py
โโโ deploy_reports.py
โโโ requirements.txt
โโโ pyproject.toml
โโโ README.md
Mermaid Diagram
graph TD
A[SSRSRestClient] -->|uses| B[SSRSDataSourceManager]
A -->|uses| C[RsItem]
B -->|uses| D[RsDataSource]
D -->|has| E[CredentialsByUser]
D -->|has| F[CredentialsInServer]
D -->|has| G[NoCredentials]
C -->|typed| H[RsItemType]
D -->|typed| I[DataSourceType]
๐ง Configuration
Environment Variables (for CI/CD)
Set these variables in your CI/CD environment:
SSRS_SERVER_URL=http://your-ssrs-server/reports
SSRS_USERNAME=your-username
SSRS_PASSWORD=your-password
SSRS_DOMAIN=your-domain # Optional
Python Usage Example
from ssrs_library.ssrs_library import SSRSRestClient
client = SSRSRestClient(
server_url='http://your-server/reports',
username='your-username',
password='your-password',
domain='your-domain' # optional
)
# Example: List catalog items in root folder
items = client.get_catalog_items('/')
for item in items:
print(item.name, item.item_type)
๐งช Testing
pytest tests/
๐ License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssrs_powerbi_library-1.1.1.tar.gz.
File metadata
- Download URL: ssrs_powerbi_library-1.1.1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0516a192035704210d704ea8297d33390006bf5267b0025255d579dcdfbbecc7
|
|
| MD5 |
8c20fdfe832738c9c8e29470c6e2d40c
|
|
| BLAKE2b-256 |
42ea465f43ab60ae4fbec3b0b82a7b32a678ea9d96d7df9e33277ff0a4ed3989
|
Provenance
The following attestation bundles were made for ssrs_powerbi_library-1.1.1.tar.gz:
Publisher:
release.yml on ipierre1/ssrs-powerbi-library
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ssrs_powerbi_library-1.1.1.tar.gz -
Subject digest:
0516a192035704210d704ea8297d33390006bf5267b0025255d579dcdfbbecc7 - Sigstore transparency entry: 335175934
- Sigstore integration time:
-
Permalink:
ipierre1/ssrs-powerbi-library@c3329834af9d532772db3ba8d7f643271194e468 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ipierre1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c3329834af9d532772db3ba8d7f643271194e468 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ssrs_powerbi_library-1.1.1-py3-none-any.whl.
File metadata
- Download URL: ssrs_powerbi_library-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af12dcbcf891590bb7b45010b367991a9ad83a19020b1d82f55b8c1ed304013b
|
|
| MD5 |
bf3f835847e8d626ac25dc9901b7fdaf
|
|
| BLAKE2b-256 |
3b8cd20fb0f7f931475d52f0b2c47f130668fe38af966e1131a83792e416027d
|
Provenance
The following attestation bundles were made for ssrs_powerbi_library-1.1.1-py3-none-any.whl:
Publisher:
release.yml on ipierre1/ssrs-powerbi-library
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ssrs_powerbi_library-1.1.1-py3-none-any.whl -
Subject digest:
af12dcbcf891590bb7b45010b367991a9ad83a19020b1d82f55b8c1ed304013b - Sigstore transparency entry: 335175949
- Sigstore integration time:
-
Permalink:
ipierre1/ssrs-powerbi-library@c3329834af9d532772db3ba8d7f643271194e468 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ipierre1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c3329834af9d532772db3ba8d7f643271194e468 -
Trigger Event:
push
-
Statement type: