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.2.tar.gz (139.2 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.2-py3-none-any.whl (176.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chq_pybos-0.1.2.tar.gz
  • Upload date:
  • Size: 139.2 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.2.tar.gz
Algorithm Hash digest
SHA256 59bf6e4a074d440c3b63461cd72639ce67f25db94466455af64245b6358d7fe9
MD5 a8bba39e24f303fa1ff4a537a35cd232
BLAKE2b-256 0a6f7e3840b5138243ff9cdbd06065a635172fa9ada177d8d173b0439f6a30ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chq_pybos-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 176.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7aa2d45fa45e6c2f2dbb40c2a532c4ec5d08580dcba9bf4e8dd2b5c51126e1c9
MD5 15afa7ba0c72d158e3c91dd9e45b9e1d
BLAKE2b-256 c9f51867251567700d94dc129b6d773a605470dd642d6c149d1717d56905a98a

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