planetlabs / planet-client-python

Python client for Planet APIs
https://planet-sdk-for-python-v2.readthedocs.io/en/latest/
Apache License 2.0
274 stars 92 forks source link

Maintain the data api spec separate from the orders api spec #960

Closed jreiberkyle closed 2 months ago

jreiberkyle commented 1 year ago

The SDK has been using the orders product bundle spec to validate the orders, subscriptions, and data api.

In #956 it was found that this was inadequate, as the data api supports an item-type that is not supported by the orders api: SkySatVideo. This was corrected in the short term by #959, which added SkySatVideo as a data api item type. This fixed the bug but introduced a maintenance issue - now a function in the spec method must be updated by hand every time the data api introduces an item type the orders api does not support - and this approach does not work if the orders api introduces an item type not supported by the data api.

To alleviate this maintenance issue and make it easier to keep the SDK up to date with the API product structures, maintain a spec specific to the data api and separate orders and data validation, suggestion, and correction.

tbarsballe commented 2 months ago

Duplicate of #663