Skip to main content

Royal Vendor SDK for Python

Typed sync and async access to Royal's curated Captivated, Encompass, PanTerra, and Paylocity API surfaces. Import the vendor you need directly:

from royal_vendor_sdk.encompass import EncompassClient, LoanPipelineQueryRequest

with EncompassClient(access_token) as client:
    result = client.query_pipeline(
        LoanPipelineQueryRequest(fields=["Loan.LoanNumber"]),
        limit=100,
    )

All calls return ApiResult[T] (royal_vendor_sdk.core), and matching operations are available on each vendor's *AsyncClient. Generated transport code remains internal under each vendor's _generated subpackage; applications should use the stable clients.

royal_vendor_sdk.captivated

Typed sync and async access to Royal's curated Captivated contract, including idempotent conversation membership reconciliation:

from royal_vendor_sdk.captivated import CaptivatedClient

with CaptivatedClient(access_token) as client:
    joined = client.ensure_joined(feed_id, user_id)

The /api/v2 resources are verified but unpublished Captivated APIs and may change without notice. Credential-management endpoints such as /api/v2/api_keys are intentionally excluded.

royal_vendor_sdk.encompass

The stable facades cover every operation exposed by the Royal .NET Encompass client: loans, pipeline and reports, fields and locks, milestones and free roles, schemas, organizations, company settings, users, custom data objects, eFolder, Encompass Docs, and administrative batch updates.

Authentication

Three token helpers cover Encompass's supported grants, each returning ApiResult[OAuthAccessToken] (sync + _async variants of each):

  • request_service_token -- grant_type=client_credentials. Restricted to ISV partners registered as Encompass API Users.
  • request_user_service_token -- grant_type=password (resource owner password credentials). Lenders must use this grant instead of client_credentials; pass a plain Encompass user name and the SDK qualifies it as {username}@encompass:{instance_id}.
  • request_impersonation_token -- exchanges an already-issued access token for one acting as another Encompass user (urn:ietf:params:oauth:grant- type:token-exchange). Super Administrators may impersonate any user; API Users authenticated with the password grant may impersonate users at or below their own level.
from royal_vendor_sdk.encompass import (
    request_user_service_token,
    request_impersonation_token,
)

token = request_user_service_token(
    client_id=client_id,
    client_secret=client_secret,
    instance_id=instance_id,
    username="service.user",
    password=password,
)

impersonated = request_impersonation_token(
    client_id=client_id,
    client_secret=client_secret,
    actor_token=token.value.access_token,
    subject_user_id="target-encompass-user-id",
)

royal_vendor_sdk.panterra

Typed sync and async access to the curated PanTerra Streams API. The specification prefers v2 operations and retains v1 operations only where the current vendor surface has no equivalent.

from royal_vendor_sdk.panterra import PanTerraClient

with PanTerraClient(access_token) as client:
    result = client.list_call_detail_records(account_id=12345)

The facade includes account and user CDRs, agents, groups, and recordings, with a matching PanTerraAsyncClient. The complete curated surface is available through client.generated_client and royal_vendor_sdk.panterra._generated.api.

royal_vendor_sdk.paylocity

Typed sync and async access to the employee and custom-field operations already supported by the stable Royal .NET Paylocity SDK.

from royal_vendor_sdk.paylocity import PaylocityClient

with PaylocityClient(access_token) as client:
    result = client.list_employees(company_id="company-id", page_size=100)

The facade supports listing, reading, creating, and updating employees plus both custom-field reads. PaylocityAsyncClient provides the same surface asynchronously.

Metadata

Release files for royal-vendor-sdk 0.2.0

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

Source distribution (sdist)

Source distribution for royal-vendor-sdk 0.2.0
File Size Uploaded Provenance Actions
royal_vendor_sdk-0.2.0.tar.gz 101.4 kB With provenance Details for royal_vendor_sdk-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for royal-vendor-sdk 0.2.0
File Interpreter ABI Platform Actions
royal_vendor_sdk-0.2.0-py3-none-any.whl Python 3 none any Details for royal_vendor_sdk-0.2.0-py3-none-any.whl

Total release size: 397.3 kB

Release files / royal_vendor_sdk-0.2.0.tar.gz

Download URL royal_vendor_sdk-0.2.0.tar.gz
Size 101.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d8aba9c15d2a471c8283337deaec635f3549af1b9482ee0a0eb3506efcc330fb
BLAKE2b-256 checksum
How to use checksums
02d73083777b7268369cc37e86eb2c87a10463119770cef56263dbfedc7152f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 27, 2026.

Transparency log

Release files / royal_vendor_sdk-0.2.0-py3-none-any.whl

Download URL royal_vendor_sdk-0.2.0-py3-none-any.whl
Size 295.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ffcba70569233b21ccf97a891468e55db446c9733fcb9a121f483b00afe7ad8
BLAKE2b-256 checksum
How to use checksums
73d3913f4882a21028eeb1d6fd97e4f9efa851906ed30ac27869d3f9063bbde4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 27, 2026.

Transparency log

Security for royal-vendor-sdk 0.2.0

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 royal_vendor_sdk-0.2.0.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 Aug 27, 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.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

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