You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
It would be very convenient for us if the Orders API client in this package supported more than one "fallback bundle(s)". The API documentation and our experience using the Order API directly suggest that this is possible, so it would be great to have support from this Python client.
The API documentation suggests we can supply multiple "alternative bundle(s)",
To specify a fallback bundle simply add the alternate bundle(s) to the product_bundle field separated by commas.
This example has worked for us in practice - note the 2 fallback bundles,
If I try to add multiple fallback bundles using the SDK as either a list[str] or comma joined list, I get either,
# given as a list[str]AttributeError: 'list'objecthasnoattribute'lower'# pre-joined with a commaSpecificationException: bundle-'analytic_udm2,analytic_3b_udm2'isnotoneof'analytic_udm2', 'analytic_3b_udm2', 'analytic_8b_udm2', 'visual', 'basic_analytic_udm2', 'basic_analytic_8b_udm2', 'analytic_sr_udm2', 'analytic_8b_sr_udm2'.
Describe the solution you'd like
It seems like this addition could be added without much complexity and in a backwards compatible way. One possible solution would be to update the planet.order_request.product function's call signature to support fallback_bundle: Optional[Union[str, List[str]]] instead of fallback_bundle: Optional[str] and add a little more handling logic for the List[str] case.
We have been using the Orders API without this SDK but have to maintain our own tiny client for this API. It would be great to be able to use the Planet SDK as the more authoritative way to interact with this API.
We could also check the Data API for each scene ID, determine the available assets, and then infer which bundle we want to request, but this would be rather complicated and add unnecessary API requests.
Additional context
The use case we have in mind is that we want to simplify our ordering experience for requesting products regardless of how many bands might be available for a scene we found through the search API.
For example, we might search for a long time series of PlanetScope data for a region of interest and find scenes that have either 8-, 4-, or 3-band analytic assets. For our use case we'd like all of these data if possible, so providing a primary and 2 fallback bundles would make this simple.
Thank you for your consideration! If the proposed solution seems good I'd be happy to make a PR for this change.
The text was updated successfully, but these errors were encountered:
@ceholden@olepinard thanks for the detailed ticket! Here's a draft MR I created to add better support for fallback bundles to the Orders SDK and CLI: #1106.
Is your feature request related to a problem? Please describe.
It would be very convenient for us if the Orders API client in this package supported more than one "fallback bundle(s)". The API documentation and our experience using the Order API directly suggest that this is possible, so it would be great to have support from this Python client.
The API documentation suggests we can supply multiple "alternative bundle(s)",
This example has worked for us in practice - note the 2 fallback bundles,
If I try to add multiple fallback bundles using the SDK as either a
list[str]
or comma joined list, I get either,Describe the solution you'd like
It seems like this addition could be added without much complexity and in a backwards compatible way. One possible solution would be to update the
planet.order_request.product
function's call signature to supportfallback_bundle: Optional[Union[str, List[str]]]
instead offallback_bundle: Optional[str]
and add a little more handling logic for theList[str]
case.For example,
Describe alternatives you've considered
We have been using the Orders API without this SDK but have to maintain our own tiny client for this API. It would be great to be able to use the Planet SDK as the more authoritative way to interact with this API.
We could also check the Data API for each scene ID, determine the available assets, and then infer which bundle we want to request, but this would be rather complicated and add unnecessary API requests.
Additional context
The use case we have in mind is that we want to simplify our ordering experience for requesting products regardless of how many bands might be available for a scene we found through the search API.
For example, we might search for a long time series of PlanetScope data for a region of interest and find scenes that have either 8-, 4-, or 3-band analytic assets. For our use case we'd like all of these data if possible, so providing a primary and 2 fallback bundles would make this simple.
Thank you for your consideration! If the proposed solution seems good I'd be happy to make a PR for this change.
The text was updated successfully, but these errors were encountered: