Skip to main content

A Python client library for the BOS API with improved developer ergonomics and type safety

Project description

Python BOS

A Python client library for the BOS API with improved developer ergonomics and type safety.

Important Note

The BOS API is covered under an NDA signed by a Chautauqua Officer. The NDA may, by extension, cover this library. Its use should be limited to those covered under the NDA, namely CHQ employees.

Recent Improvements

Enhanced Developer Experience

The library has been significantly improved with structured data types that replace tuple-based parameters, providing:

  • Type Safety: Compile-time error detection and IDE validation
  • Self-Documenting API: Clear field names and structured parameters
  • IDE Support: Autocomplete, type hints, and go-to-definition

Example: Account Service Improvements

Old Approach (deprecated):

# Unclear tuple structure - what do these numbers mean?
filter_list = [(1, "john@example.com", 1)]
result = service.search_account(filter_list=filter_list)

New Approach (recommended):

from pybos.types import AccountFilter, SearchType

# Clear, type-safe structure
filter_obj = AccountFilter(
    object_type=1,
    value="john@example.com", 
    search_type=SearchType.EQUAL
)
result = service.search_account(filters=[filter_obj], active_only=True)

Complex Operations (using request objects):

from pybos.types import SearchAccountRequest, AccountFilter, SearchType

# For complex operations, create request objects directly
search_request = SearchAccountRequest(
    filters=[
        AccountFilter(1, "john@example.com", SearchType.EQUAL),
        AccountFilter(2, "Smith", SearchType.LIKE)
    ],
    active_only=True,
    dmg_category_list=["cat1", "cat2"]
)

result = service.search_account(**search_request.__dict__)

Installing

The Python BOS library can be installed through pip or pipenv using the git repository as a source. A read-only access token has been created to facilitate http access to the repository. This token and link should not be shared publicly.

Main Branch (Major Releases):

pipenv install git+https://oauth2:glpat-bHSfMffW14FbYDWFuyzs@gitlab.it.chq.org/IT/pybos.git@main#egg=pybos

Version specific tagging (corresponding to BOS versions) to be implemented at a later date.

BOS API Details

The BOS API is a SOAP API that provides WSDL information in XML file that denotes the structure of the requests and responses it expects as well as what operations are available.

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

chq_pybos-0.1.3.tar.gz (139.3 kB view details)

Uploaded Source

Built Distribution

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

chq_pybos-0.1.3-py3-none-any.whl (176.1 kB view details)

Uploaded Python 3

File details

Details for the file chq_pybos-0.1.3.tar.gz.

File metadata

  • Download URL: chq_pybos-0.1.3.tar.gz
  • Upload date:
  • Size: 139.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.26.6 CPython/3.12.12 Linux/5.4.0-216-generic

File hashes

Hashes for chq_pybos-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f2f980a66ccf6217c5e91bca44aaa8fbfcdcbab01f3756f5e2dc3e47cc2f8894
MD5 a8bf4551e4339183c95cd9573497755e
BLAKE2b-256 08d62fe7a629f6c81e8adfe8ca8f979ba180279376561b8a96fff9e1b468f3e8

See more details on using hashes here.

File details

Details for the file chq_pybos-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: chq_pybos-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 176.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.26.6 CPython/3.12.12 Linux/5.4.0-216-generic

File hashes

Hashes for chq_pybos-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e19a4d980ee74eb57fb768ae806a636d3ff428b0235cd42bab142bd55a8b39c3
MD5 870078e4158a49471818f09baeeecadc
BLAKE2b-256 09ac594ad2dab778f7c9bcc77e4bcb894852d90547fc7245fb0552dcf07b8c84

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page