Skip to main content

Royal Vendor SDK for Python

Typed sync and async access to Royal's curated 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.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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

royal_vendor_sdk-0.1.0.tar.gz (77.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

royal_vendor_sdk-0.1.0-py3-none-any.whl (226.6 kB view details)

Uploaded Python 3

File details

Details for the file royal_vendor_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: royal_vendor_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 77.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for royal_vendor_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 761e5f40d3e37eb944dd44f2d208af0bc1556ae670cf60c73775a9db8d7bc80a
MD5 82aa6d83c508a3d989df5d16a352e06c
BLAKE2b-256 5a3bf24c5ac9a2c174e5fbfc858a3bc9e0e1f17012d36385d1e52220dfc94ebf

See more details on using hashes here.

Provenance

The following attestation bundles were made for royal_vendor_sdk-0.1.0.tar.gz:

Publisher: publish-pypi.yml on Royal-United-Mortgage/Royal.Sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file royal_vendor_sdk-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for royal_vendor_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 456fe5a5aeebf1a3eb4df07f4fbd841c356c6ee54dc172aaae2c2b30a0fc207b
MD5 664b6ff77e5ca98cac20b721a405a070
BLAKE2b-256 69e25db860b1a98e0bba2d964afb5d53989844a0e4a08f29a6f8878138782d4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for royal_vendor_sdk-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on Royal-United-Mortgage/Royal.Sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 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