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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chq_pybos-0.1.0.tar.gz.
File metadata
- Download URL: chq_pybos-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.26.2 CPython/3.12.6 Linux/6.16.8-arch3-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33869dc4966585d8850fef7762a2a9cd4e72bc29109ffa66bce485ca5cf7f719
|
|
| MD5 |
e6f5e58d67952ae71f46de32e3a264b3
|
|
| BLAKE2b-256 |
95906307cee876806a4db5cdd4ce552bc3fde32ec936177398746ec46eb1ac2e
|
File details
Details for the file chq_pybos-0.1.0-py3-none-any.whl.
File metadata
- Download URL: chq_pybos-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.26.2 CPython/3.12.6 Linux/6.16.8-arch3-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f9fcf9d2276541bf78a2c9e8619ba75717e669a515d952162a1b84eb13f4500
|
|
| MD5 |
9e7a642813514e51945fdc283eb87a4b
|
|
| BLAKE2b-256 |
f72ff5048927ce52f934d6bc347e250d683c8ccd0c081df000ab22463785ece1
|