Skip to main content

pragma-onkey

Standalone Pragma/OnKey SOAP client library with generated schemas and services. The client is tenant-neutral and configured at runtime with your OnKey base URL.

Installation

If you are consuming a published build:

pip install pragma-onkey

For local development:

uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"

Configuration

The client resolves WSDL endpoints using a base URL and an optional query suffix.

  • wsdl_base_url: your tenant base URL (required unless a service provides wsdl_url).
  • wsdl_query: appended when building the WSDL URL (default ?singleWsdl).
  • use_soap11: force SOAP 1.1 Basic bindings instead of SOAP 1.2 Custom (default False).

Example base URL format:

https://your.domain/tenant

Usage

Sync client with typed, snake_case accessors:

from pragma_onkey import PragmaOnkeyClient

client = PragmaOnkeyClient(
    wsdl_base_url="https://your.domain/tenant",
    wsdl_query="?singleWsdl",
    use_soap11=False,
)

alarm_service = client.alarm_import_service
response = alarm_service.import_alarms(payload)

Async client:

from pragma_onkey import PragmaOnkeyAsyncClient

client = PragmaOnkeyAsyncClient(wsdl_base_url="https://your.domain/tenant")
response = await client.alarm_import_service.import_alarms(payload)

Server-side async operations (not Python async):

# "import_alarms_async" starts an async job on the server and returns a job response.
job = client.alarm_import_service.import_alarms_async(payload)
progress = client.alarm_import_service.fetch_async_import_progress(progress_payload)

Dynamic access (less type-friendly):

service = client.get_service("AlarmImportService")

Development

This module is managed with uv and targets Python 3.12.

uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"

Run linting and formatting:

ruff check .
ruff format .

Regenerating from WSDLs

Generated outputs include schemas, services, the service registry, and typed accessors.

python tools/generate_from_wsdls.py

Generated files:

  • src/pragma_onkey/schemas/*
  • src/pragma_onkey/services/*
  • src/pragma_onkey/service_registry.py
  • src/pragma_onkey/service_accessors.py

Distribution

Local build and validation:

  1. Ensure your tags follow vX.Y.Z (the tag is the version source of truth).
  2. Regenerate artifacts: python tools/generate_from_wsdls.py.
  3. Clean previous builds: rm -rf dist build *.egg-info.
  4. Install build tools: uv pip install build twine.
  5. Build the package: python -m build.
  6. Verify metadata: python -m twine check dist/*.
  7. (Optional) test install: uv pip install dist/pragma_onkey-*.whl.
  8. (Optional) publish: python -m twine upload dist/*.

GitHub Actions publishing (tag-based):

  1. Configure a PyPI Trusted Publisher for this repo.
  2. Tag and push a release (the tag sets the package version):
git tag v1.0.0
git push origin v1.0.0

Metadata

Release files for pragma-onkey 0.0.6

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

Source distribution (sdist)

Source distribution for pragma-onkey 0.0.6
File Size Uploaded Provenance Actions
pragma_onkey-0.0.6.tar.gz 705.8 kB With provenance Details for pragma_onkey-0.0.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pragma-onkey 0.0.6
File Interpreter ABI Platform Actions
pragma_onkey-0.0.6-py3-none-any.whl Python 3 none any Details for pragma_onkey-0.0.6-py3-none-any.whl

Total release size: 956.0 kB

Release files / pragma_onkey-0.0.6.tar.gz

Download URL pragma_onkey-0.0.6.tar.gz
Size 705.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f99151ca8485a0cb749757fe79e4961ee80ab727fcc9b955f60784fcef1390c8
BLAKE2b-256 checksum
How to use checksums
00e4e262aa037f1a6f8e3afec2e3213e7dbe4fa3cb9cae23cad17774b9789340
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 23, 2026.

Transparency log

Release files / pragma_onkey-0.0.6-py3-none-any.whl

Download URL pragma_onkey-0.0.6-py3-none-any.whl
Size 250.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f73167d02536c51f2369d4b9608a8e0259505d794ea6f92be087102eb1d33854
BLAKE2b-256 checksum
How to use checksums
f7819291e4cba8a822f36a122548b6fcd3471354fd1777b63796f08e04ebe5a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 23, 2026.

Transparency log

Security for pragma-onkey 0.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pragma_onkey-0.0.6.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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