Repository navigation
Releases: qualitysolutions/westcon-comstor-sdk
Release list
26.9.28 — pricing_many respects the 10-product Pricing API cap
Fixed
products.pricing_many(sync + async) now defaults to 10 products per request
(PRICING_CHUNK_SIZE), down from 40. The Pricing API returns at most 10 products per request
and silently drops the rest with no error (verified live 2026-09-28: 12 sent -> 10
returned), so with the old default every product past the 10th in each chunk went missing.
Do not pass achunk_sizeabove 10.
Changed
products.availability_many(sync + async) also defaults to 10 (AVAILABILITY_CHUNK_SIZE).
Availability returned 12/12 live, but its cap is unverified, so it uses the known-safe value.DEFAULT_CHUNK_SIZEis kept as a backwards-compatible alias and is now 10.
26.9.19.1 — auto-detecting dates
Added — to_comstor_date(raw, dayfirst=True): auto-detects Comstor's ISO / compact YYYYMMDD / slash D/M/YYYY shapes, fixes slash order via the >12 rule, only uses dayfirst when ambiguous; never mis-reads ISO/compact or fuzzy-fills partials (unknown → None). Plus QuoteData.created/.start, QuoteInformation.start, QuoteEntry.lic_start/.lic_end/.contract_start/.contract_end, and QuoteEntry.vrf(field_name).
Changed — quote date props parse via to_comstor_date; parse_comstor_date(raw, fmt) kept as explicit escape hatch. Additive.
26.9.19 — availability + quote conveniences
Added — StorageLocation.available_on_date (snapshot date; prefer lead_time_in_days for ETAs); QuoteEntry.vendor_deal_id (VRF VRF_VENDOR_QUOTE_NUMBER, matched by name); QuoteInformation.expiry; QuoteData.expiry / is_expired.
Fixed — vrf_lines / vrf_quantities accept the live VRFLines / VRFQuantities casing. Additive.
26.9.18.1
Initial release of qls-westcon-comstor.
Added — sync + async clients, typed pydantic v2 models, OAuth2 client-credentials auth, typed error hierarchy. MIT-licensed.
Fixed — tenant_id defaults to Westcon-Comstor's Azure AD tenant (the API's OAuth authority), overridable via WESTCON_TENANT_ID.