Product¶
Product |
A raster product that connects band information to imagery. |
ProductCollection |
|
DeletionTaskStatus |
The asynchronous deletion task’s status |
-
class
Product
(**kwargs)[source]¶ A raster product that connects band information to imagery.
Instantiating a product indicates that you want to create a new Descartes Labs catalog product. If you instead want to retrieve an existing catalog product use
Product.get()
, or if you’re not sure useProduct.get_or_create()
. You can also useProduct.search()
. Also see the example forsave()
.Parameters: - client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set. - kwargs (dict) – With the exception of readonly attributes (
created
,modified
,resolution_min
, andresolution_max
) and with the exception of properties (ATTRIBUTES
,is_modified
, andstate
), any attribute listed below can also be used as a keyword argument. Also seeATTRIBUTES
.
Note
The
reader
andwriter
IDs must be prefixed withemail:
,user:
,group:
ororg:
. Theowner
ID only acceptsorg:
anduser:
. Usingorg:
as anowner
will assign those privileges only to administrators for that organization; usingorg:
as areader
orwriter
assigns those privileges to everyone in that organization. Thereaders
andwriters
attributes are only visible in full to theowners
. If you are areader
or awriter
those attributes will only display the element of those lists by which you are gaining read or write access.Any user with
owner
privileges is able to read, modify, or delete the product, including reading and modifying theowners
,writers
, andreaders
attributes. Any user withowner
privileges can also create, read, modify, or delete bands and images for the product.Any user with
writer
privileges is able to read or modify the product, but not delete the product. Awriter
may create, read or modify bands and images for the product. Awriter
can read the productowners
and can only read the entry in thewriters
and/orreaders
by which they gain access to the product.Any user with
reader
privileges is able to read the product, bands, and images. Areader
can read the productowners
and can only read the entry in thewriters
and/orreaders
by which they gain access to the product.Also see Sharing Resources.
-
delete
()¶ Delete this catalog object from the Descartes Labs catalog.
Once deleted, you cannot use the catalog object and should release any references.
Raises: - DeletedObjectError – If this catalog object was already deleted.
- UnsavedObjectError – If this catalog object is being deleted without having been saved.
- ClientError or ServerError – Spurious exception that can occur during a network request.
Attributes:
ATTRIBUTES
created
The point in time this object was created. default_display_bands
Which bands to use for RGBA display. description
A description with further details on this product. end_datetime
The end of the mission for this product. extra_properties
A dictionary of up to 50 key/value pairs. id
A unique identifier for this object. image_index_name
The name of the image index for this product. is_core
Whether this is a Descartes Labs catalog core product. is_modified
Whether any attributes were changed (see state
).modified
The point in time this object was last modified. name
The name of this product. owners
User, group, or organization IDs that own this product. product_tier
Product tier for this product. readers
User, email, group, or organization IDs that can read this product. resolution_max
Maximum resolution of the bands for this product. resolution_min
Minimum resolution of the bands for this product. revisit_period_minutes_max
Maximum length of the time interval between observations. revisit_period_minutes_min
Minimum length of the time interval between observations. start_datetime
The beginning of the mission for this product. state
The state of this catalog object. tags
A list of up to 20 tags. writers
User, group, or organization IDs that can edit this product. Methods:
bands
([request_params])A search query for all bands for this product, sorted by default band sort_order
.delete
(id[, client])Delete the catalog object with the given id
.delete_related_objects
()Delete all related bands and images for this product. derived_bands
([request_params])A search query for all derived bands associated with this product. exists
(id[, client])Checks if an object exists in the Descartes Labs catalog. get
(id[, client, request_params])Get an existing object from the Descartes Labs catalog. get_band
(name[, client, request_params])Retrieve the request band associated with this product by name. get_delete_status
()Fetches the status of a deletion task. get_image
(name[, client, request_params])Retrieve the request image associated with this product by name. get_many
(ids[, ignore_missing, client, …])Get existing objects from the Descartes Labs catalog. get_or_create
(id[, client])Get an existing object from the Descartes Labs catalog or create a new object. image_uploads
()A search query for all uploads in this product created by this user. images
([request_params])A search query for all images in this product. named_id
(name)Return the ~descarteslabs.catalog.NamedCatalogObject.id` for the given named catalog object. namespace_id
(id_[, client])Generate a fully namespaced id. reload
([request_params])Reload all attributes from the Descartes Labs catalog. save
([request_params])Saves this object to the Descartes Labs catalog. search
([client, request_params])A search query for all objects of the type this class represents. serialize
([modified_only, jsonapi_format])Serialize the catalog object into json. update
([ignore_errors])Update multiple attributes at once using the given keyword arguments. -
bands
(request_params=None)[source]¶ A search query for all bands for this product, sorted by default band
sort_order
.Returns: A Search
instance configured to find all bands for this product.Return type: Search
Raises: DeletedObjectError – If this product was deleted.
-
classmethod
delete
(id, client=None) Delete the catalog object with the given
id
.Parameters: - id (str) – The id of the object to be deleted.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: True
if this object was successfully deleted.False
if the object was not found.Return type: bool
Raises: - ConflictError – If the object has related objects (bands, images) that exist.
- ClientError or ServerError – Spurious exception that can occur during a network request.
Example
>>> Image.delete('my-image-id')
Delete all related bands and images for this product.
Starts an asynchronous operation that deletes all bands and images associated with this product. If the product has a large number of associated images, this operation could take several minutes, or even hours.
Returns: Returns
DeletionTaskStatus
if deletion task was successfully started andNone
if there were no related objects to delete.Return type: Raises: - ConflictError – If a deletion process is already in progress.
- DeletedObjectError – If this product was deleted.
- ClientError or ServerError – Spurious exception that can occur during a network request.
-
derived_bands
(request_params=None)[source]¶ A search query for all derived bands associated with this product.
Returns: A Search
instance configured to find all derived bands for this product.Return type: Search
Raises: DeletedObjectError – If this product was deleted.
-
classmethod
exists
(id, client=None)¶ Checks if an object exists in the Descartes Labs catalog.
Parameters: - id (str) – The id of the object.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: Returns
True
if the givenid
represents an existing object in the Descartes Labs catalog andFalse
if not.Return type: bool
Raises: ClientError or ServerError – Spurious exception that can occur during a network request.
-
classmethod
get
(id, client=None, request_params=None)¶ Get an existing object from the Descartes Labs catalog.
If the Descartes Labs catalog object is found, it will be returned in the
SAVED
state. Subsequent changes will put the instance in theMODIFIED
state, and you can usesave()
to commit those changes and update the Descartes Labs catalog object. Also see the example forsave()
.For bands, if you request a specific band type, for example
SpectralBand.get()
, you will only receive that type. UseBand.get()
to receive any type.Parameters: - id (str) – The id of the object you are requesting.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: The object you requested, or
None
if an object with the givenid
does not exist in the Descartes Labs catalog.Return type: CatalogObject
or NoneRaises: ClientError or ServerError – Spurious exception that can occur during a network request.
-
get_band
(name, client=None, request_params=None)[source]¶ Retrieve the request band associated with this product by name.
Parameters: - name (str) – The name of the band to retrieve.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: A derived class of
Band
that represents the requested band object if found,None
if not found.Return type: Band or None
-
get_delete_status
()[source]¶ Fetches the status of a deletion task.
Fetches the status of a deletion task started using
delete_related_objects()
.Returns: Return type: Raises: - DeletedObjectError – If this product was deleted.
- ClientError or ServerError – Spurious exception that can occur during a network request.
-
get_image
(name, client=None, request_params=None)[source]¶ Retrieve the request image associated with this product by name.
Parameters: - name (str) – The name of the image to retrieve.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: The requested image if found, or
None
if not found.Return type: Image or None
-
classmethod
get_many
(ids, ignore_missing=False, client=None, request_params=None)¶ Get existing objects from the Descartes Labs catalog.
All returned Descartes Labs catalog objects will be in the
SAVED
state. Also seeget()
.For bands, if you request a specific band type, for example
SpectralBand.get_many()
, you will only receive that type. UseBand.get_many()
to receive any type.Parameters: - ids (list(str)) – A list of identifiers for the objects you are requesting.
- ignore_missing (bool, optional) – Whether to raise a
NotFoundError
exception if any of the requested objects are not found in the Descartes Labs catalog.False
by default which raises the exception. - client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: List of the objects you requested in the same order.
Return type: list(
CatalogObject
)Raises: - NotFoundError – If any of the requested objects do not exist in the Descartes Labs catalog
and
ignore_missing
isFalse
. - ClientError or ServerError – Spurious exception that can occur during a network request.
-
classmethod
get_or_create
(id, client=None, **kwargs)¶ Get an existing object from the Descartes Labs catalog or create a new object.
If the Descartes Labs catalog object is found, and the remainder of the arguments do not differ from the values in the retrieved instance, it will be returned in the
SAVED
state.If the Descartes Labs catalog object is found, and the remainder of the arguments update one or more values in the instance, it will be returned in the
MODIFIED
state.If the Descartes Labs catalog object is not found, it will be created and the state will be
UNSAVED
. Also see the example forsave()
.Parameters: - id (str) – The id of the object you are requesting.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set. - kwargs (dict, optional) – With the exception of readonly attributes (
created
,modified
), any attribute of a catalog object can be set as a keyword argument (Also seeATTRIBUTES
).
Returns: The requested catalog object that was retrieved or created.
Return type:
-
image_uploads
()[source]¶ A search query for all uploads in this product created by this user.
Returns: A Search
instance configured to find all uploads in this product.Return type: Search
Raises: DeletedObjectError – If this product was deleted.
-
images
(request_params=None)[source]¶ A search query for all images in this product.
Returns: A Search
instance configured to find all images in this product.Return type: Search
Raises: DeletedObjectError – If this product was deleted.
-
named_id
(name)[source]¶ Return the ~descarteslabs.catalog.NamedCatalogObject.id` for the given named catalog object.
Parameters: name (str) – The name of the catalog object within this product, see name
.Returns: The named catalog object id within this product. Return type: str
-
classmethod
namespace_id
(id_, client=None)[source]¶ Generate a fully namespaced id.
Parameters: - id_ (str) – The unprefixed part of the id that you want prefixed.
- client (CatalogClient, optional) – A
CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.
Returns: The fully namespaced id.
Return type: str
Example
>>> product_id = Product.namespace_id("my-product")
-
reload
(request_params=None)¶ Reload all attributes from the Descartes Labs catalog.
Refresh the state of this catalog object from the object in the Descartes Labs catalog. This may be necessary if there are concurrent updates and the object in the Descartes Labs catalog was updated from another client. The instance state must be in the
SAVED
state.If you want to revert a modified object to its original one, you should use
get()
on the object class with the object’sid
.Raises: - ValueError – If the catalog object is not in the
SAVED
state. - DeletedObjectError – If this catalog object was deleted.
- ClientError or ServerError – Spurious exception that can occur during a network request.
Example
>>> from descarteslabs.catalog import Product >>> p = Product(id="my_org_id:my_product_id") >>> # Some time elapses and a concurrent change was made >>> p.state <DocumentState.SAVED: 'saved'> >>> p.reload() >>> # But once you make changes, you cannot use this method any more >>> p.name = "My name has changed" >>> p.reload() Traceback (most recent call last): ... ValueError: Product instance with id my_org_id:my_product_id has not been saved >>> # But you can revert >>> p = Product.get(p.id) >>> p.state <DocumentState.SAVED: 'saved'>
- ValueError – If the catalog object is not in the
-
save
(request_params=None)¶ Saves this object to the Descartes Labs catalog.
If this instance was created using the constructor, it will be in the
UNSAVED
state and is considered a new Descartes Labs catalog object that must be created. If the catalog object already exists in this case, this method will raise aBadRequestError
.If this instance was retrieved using
get()
,get_or_create()
or any other way (for example as part of asearch()
), and any of its values were changed, it will be in theMODIFIED
state and the existing catalog object will be updated.If this instance was retrieved using
get()
,get_or_create()
or any other way (for example as part of asearch()
), and none of its values were changed, it will be in theSAVED
state, and if norequest_params
parameter is given, nothing will happen.Parameters: request_params (dict, optional) – A dictionary of attributes that should be sent to the catalog along with attributes already set on this object. Empty by default. If not empty, and the object is in the
SAVED
state, it is updated in the Descartes Labs catalog even though no attributes were modified.Raises: - ConflictError – If you’re trying to create a new object and the object with given
id
already exists in the Descartes Labs catalog. - BadRequestError – If any of the attribute values are invalid.
- DeletedObjectError – If this catalog object was deleted.
- ClientError or ServerError – Spurious exception that can occur during a network request.
Example
>>> from descarteslabs.catalog import Product >>> new_product = Product( ... id="my-product", ... name="My Product", ... description="This is a test product" ... ) >>> new_product.state <DocumentState.UNSAVED: 'unsaved'> >>> new_product.save() >>> # ids will be automatically prefixed by the Descartes Labs catalog >>> # with your organization id >>> new_product.id my_org_id:my-product >>> # Now you can retrieve the product and update it >>> existing_product = Product.get(new_product.id) >>> existing_product.state <DocumentState.SAVED: 'saved'> >>> existing_product.name = "My Updated Product" >>> existing_product.state <DocumentState.MODIFIED: 'modified'> >>> existing_product.save() >>> existing_product.state <DocumentState.SAVED: 'saved'> >>> # After you delete it... >>> existing_product.delete() True >>> product.state <DocumentState.DELETED: 'deleted'>
- ConflictError – If you’re trying to create a new object and the object with given
-
classmethod
search
(client=None, request_params=None)¶ A search query for all objects of the type this class represents.
Parameters: client (CatalogClient, optional) – A CatalogClient
instance to use for requests to the Descartes Labs catalog. Theget_default_client()
will be used if not set.Returns: An instance of the Search
class.Return type: Search Example
>>> search = Product.search().limit(10) >>> for result in search: print(result.name)
-
serialize
(modified_only=False, jsonapi_format=False)¶ Serialize the catalog object into json.
Parameters: - modified_only (bool, optional) – Whether only modified attributes should be serialized.
False
by default. If set toTrue
, only those attributes that were modified since the last time the catalog object was retrieved or saved will be included. - jsonapi_format (bool, optional) – Whether to use the
data
element for catalog objects.False
by default. When set toFalse
, the serialized data will directly contain the attributes of the catalog object. If set toTrue
, the serialized data will follow the exact JSONAPI with a top-leveldata
element which containsid
,type
, andattributes
. The latter will contain the attributes of the catalog object.
- modified_only (bool, optional) – Whether only modified attributes should be serialized.
-
update
(ignore_errors=False, **kwargs)¶ Update multiple attributes at once using the given keyword arguments.
Parameters: ignore_errors (bool, optional) –
False
by default. When set toTrue
, it will suppressAttributeValidationError
andAttributeError
. Any given attribute that causes one of these two exceptions will be ignored, all other attributes will be set to the given values.Raises: - AttributeValidationError – If one or more of the attributes being updated are immutable.
- AttributeError – If one or more of the attributes are not part of this catalog object.
- DeletedObjectError – If this catalog object was deleted.
-
ATTRIBUTES
= ('name', 'description', 'owners', 'readers', 'writers', 'is_core', 'revisit_period_minutes_min', 'revisit_period_minutes_max', 'start_datetime', 'end_datetime', 'resolution_min', 'resolution_max', 'default_display_bands', 'image_index_name', 'product_tier', 'extra_properties', 'tags', 'id', 'created', 'modified')¶
-
created
¶ The point in time this object was created.
Filterable, sortable.
Type: datetime, readonly
-
default_display_bands
¶ Which bands to use for RGBA display.
This field defines the default bands that are used for display purposes. There are four supported formats:
["greyscale-or-class"]
,["greyscale-or-class", "alpha"]
,["red", "green", "blue"]
, and["red", "green", "blue", "alpha"]
.Type: list(str) or iterable
-
description
¶ A description with further details on this product.
The description can be up to 80,000 characters and is used by
Search.find_text()
.Searchable
Type: str, optional
-
end_datetime
¶ The end of the mission for this product.
Filterable, sortable.
Type: str or datetime, optional
-
extra_properties
¶ A dictionary of up to 50 key/value pairs.
The keys of this dictonary must be strings, and the values of this dictionary can be strings or numbers. This allows for more structured custom metadata to be associated with objects.
Type: dict, optional
-
id
¶ A unique identifier for this object.
Note that if you pass a string that does not begin with your Descartes Labs user organization ID, it will be prepended to your
id
with a:
as separator. If you are not part of an organization, your user ID is used. Once set, it cannot be changed.Type: str, immutable
-
image_index_name
¶ The name of the image index for this product.
This is an internal field, accessible to privileged users only.
Filterable, sortable.
Type: str
-
is_core
¶ Whether this is a Descartes Labs catalog core product.
A core product is a product that is fully supported by Descartes Labs. By default this value is
False
and you must have a special permission (descarteslabs:core:create
) to set it toTrue
.Filterable, sortable.
Type: bool, optional
-
property
is_modified
¶ Whether any attributes were changed (see
state
).True
if any of the attribute values changed since the last time this catalog object was retrieved or saved.False
otherwise.Note that assigning an identical value does not affect the state.
Type: bool
-
modified
¶ The point in time this object was last modified.
Filterable, sortable.
Type: datetime, readonly
-
name
¶ The name of this product.
This should not be confused with a band name or image name. Unlike the band name and image name, this name is not unique and purely for display purposes and is used by
Search.find_text()
. It can contain a string with up to 2000 arbitrary characters.Searchable, sortable.
Type: str
-
owners
¶ User, group, or organization IDs that own this product.
Defaults to [
user:current_user
,org:current_org
]. The owner can edit, delete, and change access to this product. See this note.Filterable.
Type: list(str), optional
-
product_tier
¶ Product tier for this product.
This field can be set by privileged users only.
Filterable, sortable.
Type: str
-
readers
¶ User, email, group, or organization IDs that can read this product.
Will be empty by default. This attribute is only available in full to the
owners
of the product. See this note.Type: list(str), optional
-
resolution_max
¶ Maximum resolution of the bands for this product.
If applying a filter with a plain unitless number the value is assumed to be in meters.
Filterable, sortable.
Type: Resolution, readonly
-
resolution_min
¶ Minimum resolution of the bands for this product.
If applying a filter with a plain unitless number the value is assumed to be in meters.
Filterable, sortable.
Type: Resolution, readonly
-
revisit_period_minutes_max
¶ Maximum length of the time interval between observations.
The maximum length of the time interval between observations of any given area in minutes.
Filterable, sortable.
Type: float, optional
-
revisit_period_minutes_min
¶ Minimum length of the time interval between observations.
The minimum length of the time interval between observations of any given area in minutes.
Filterable, sortable.
Type: float, optional
-
start_datetime
¶ The beginning of the mission for this product.
Filterable, sortable.
Type: str or datetime, optional
-
property
state
¶ The state of this catalog object.
Type: DocumentState
A list of up to 20 tags.
The tags may support the classification and custom filtering of objects.
Filterable.
Type: list, optional
-
writers
¶ User, group, or organization IDs that can edit this product.
Writers will also have read permission. Writers will be empty by default. See note below. This attribute is only available in full to the
owners
of the product. See this note.Type: list(str), optional
- client (CatalogClient, optional) – A
-
class
ProductCollection
(iterable=None, item_type=None)[source]¶ Methods:
append
(x)Append x to the end of this Collection
.extend
(x)Extend this Collection
by appending elements from the iterable.filter
(predicate)Returns a Collection
filtered by predicate.groupby
(*predicates)Groups items by predicates. map
(f)Returns a Collection
off
applied to each item.sort
(field[, ascending])Returns a Collection
, sorted by the given field and direction.sorted
(*predicates, **reverse)Returns a Collection
, sorted by predicates in ascending order.Attributes:
each
Any operations chained onto each
(attribute access, item access, and calls) are applied to each item in theCollection
.-
append
(x)¶ Append x to the end of this
Collection
.The type of the item must match the type of the collection.
Parameters: x (Any) – Add an item to the collection
-
extend
(x)¶ Extend this
Collection
by appending elements from the iterable.The type of the items in the list must all match the type of the collection.
Parameters: x (List[Any]) – Extend a collection with the items from the list.
-
filter
(predicate)¶ Returns a
Collection
filtered by predicate.Predicate can either be a
callable
or anExpression
from property_filtering.If the predicate is a
callable
,filter()
will return all items for whichpredicate(item)
isTrue
.If the predicate is an
Expression
,filter()
will return all items for whichpredicate.evaluate(item)
isTrue
.Parameters: predicate (callable or Expression) – Either a callable or a property_filtering Expression
which is called or evaluated for each item in the list.Returns: A new collection with only those items for which the predicate returned or evaluated to True
.Return type: Collection
-
groupby
(*predicates)¶ Groups items by predicates.
Groups items by predicates and yields tuple of
(group, items)
for each group, whereitems
is aCollection
.Each predicate can be a key function, or a string of dot-chained attributes to use as sort keys.
Parameters: predicates (callable or str) – Any positional arguments are predicates. If the predicate is a string, it denotes an attribute for each element, potentially with levels separated by a dot. If the predicate is a callable, it must return the value to sort by for each given element. Yields: Tuple[str, Collection] – A tuple of (group, Collection)
for each group.Examples
>>> import collections >>> FooBar = collections.namedtuple("FooBar", ["foo", "bar"]) >>> c = Collection([FooBar("a", True), FooBar("b", False), FooBar("a", False)])
>>> for group, items in c.groupby("foo"): ... print(group) ... print(items) a Collection([FooBar(foo='a', bar=True), FooBar(foo='a', bar=False)]) b Collection([FooBar(foo='b', bar=False)]) >>> for group, items in c.groupby("bar"): ... print(group) ... print(items) False Collection([FooBar(foo='b', bar=False), FooBar(foo='a', bar=False)]) True Collection([FooBar(foo='a', bar=True)])
-
map
(f)¶ Returns a
Collection
off
applied to each item.Parameters: f (callable) – Apply function f
to each element of the collection and return the result as a collection.Returns: A collection with the results of the function f
applied to each element of the original collection.Return type: Collection
-
sort
(field, ascending=True)¶ Returns a
Collection
, sorted by the given field and direction.Parameters: - field (str) – The name of the field to sort by
- ascending (bool) – Sorts results in ascending order if True (the default), and in descending order if False.
Returns: The sorted collection.
Return type: Example
>>> from descarteslabs.catalog import Product >>> collection = Product.search().collect() >>> sorted_collection = collection.sort("created", ascending=False) >>> sorted_collection
-
sorted
(*predicates, **reverse)¶ Returns a
Collection
, sorted by predicates in ascending order.Each predicate can be a key function, or a string of dot-chained attributes to use as sort keys. The reverse flag returns results in descending order.
Parameters: - predicates (callable or str) – Any positional arguments are predicates. If the predicate is a string, it denotes an attribute for each element, potentially with levels separated by a dot. If the predicate is a callable, it must return the value to sort by for each given element.
- reverse (bool) – The sort is ascending by default, by setting
reverse
toTrue
, the sort will be descending.
Returns: The sorted collection.
Return type: Examples
>>> import collections >>> FooBar = collections.namedtuple("FooBar", ["foo", "bar"]) >>> X = collections.namedtuple("X", "x") >>> c = Collection([FooBar(1, X("one")), FooBar(2, X("two")), FooBar(3, X("three"))])
>>> c.sorted("foo") Collection([FooBar(foo=1, bar=X(x='one')), FooBar(foo=2, bar=X(x='two')), FooBar(foo=3, bar=X(x='three'))]) >>> c.sorted("bar.x") Collection([FooBar(foo=1, bar=X(x='one')), FooBar(foo=3, bar=X(x='three')), FooBar(foo=2, bar=X(x='two'))])
-
property
each
¶ Any operations chained onto
each
(attribute access, item access, and calls) are applied to each item in theCollection
.Yields: Any – The result of an item with all operations following each
applied to it.Notes
- Add
combine()
at the end of the operations chain to combine the results into a list by default, or any container type passed intocombine()
- Use
pipe(f, *args, **kwargs)
to yieldf(x, *args, **kwargs)
for each itemx
yielded by the preceeding operations chain
Examples
>>> c = Collection(["one", "two", "three", "four"]) >>> for x in c.each.capitalize(): ... print(x) One Two Three Four >>> c.each.capitalize()[:2] 'On' 'Tw' 'Th' 'Fo' >>> c.each.capitalize().pipe(len) 3 3 5 4 >>> list(c.each.capitalize().pipe(len).combine(set)) [3, 4, 5]
- Add
-
-
class
DeletionTaskStatus
(objects_deleted=None, **kwargs)[source]¶ The asynchronous deletion task’s status
-
product_id
¶ The id of the product for which this task is running.
Type: str
-
start_datetime
¶ The date and time at which the task started running.
Type: datetime
-
duration_in_seconds
¶ The duration of the task.
Type: float
-
objects_deleted
¶ The number of object (a combination of bands or images) that were deleted.
Type: int
-
errors
¶ In case the status is
FAILED
this will contain a list of errors that were encountered. In all other states this will not be set.Type: list
Methods:
reload
()Update the task information. wait_for_completion
([timeout])Wait for the task to complete. -
reload
()¶ Update the task information.
Raises: ClientError or ServerError – Spurious exception that can occur during a network request.
-
wait_for_completion
(timeout=None)¶ Wait for the task to complete.
Parameters: timeout (int, optional) – If specified, will wait up to specified number of seconds and will raise a concurrent.futures.TimeoutError
if the task has not completed.Raises: concurrent.futures.TimeoutError – If the specified timeout elapses and the task has not completed
-