API Reference¶
This section covers interfaces of Alteia Python SDK.
Main interface¶
Entry point¶
Alteia Python SDK has a unique entry point: The class
SDK
.
- class SDK(*, config_path=None, user=None, password=None, client_id=None, client_secret=None, url=None, proxy_url=None, force_prompt=False, service=None, **kwargs)¶
Entry point providing access to resource managers.
Resource managers are availables as instance attributes. The
dir
builtin can be used to list the availables managers.The following examples show various ways to instantiate that class:
Using a username and a password:
>>> sdk = SDK(user='admin1', password='password')
Using an OAuth client identifier and secret:
>>> sdk = SDK(client_id='72a5f676-6efc-48c5-ac07-4c534c3cdccc', ... client_secret='52ccd77d-17e4-499b-995e-3a2731550723')
Using a configuration file:
>>> sdk = SDK(config_path='~/.local/share/alteia/conf.json')
- __init__(*, config_path=None, user=None, password=None, client_id=None, client_secret=None, url=None, proxy_url=None, force_prompt=False, service=None, **kwargs)¶
Initializes Alteia Python SDK entry point.
- Parameters
config_path (
Optional
[str
]) – Optional path to a custom configuration file.user (
Optional
[str
]) – Optional username (email).password (
Optional
[str
]) – Optional password (mandatory ifusername
is defined).client_id (
Optional
[str
]) – Optional OAuth client identifier.client_secret (
Optional
[str
]) – Optional OAuth client secret (mandatory ifclient_id
is defined).url (
Optional
[str
]) – Optional platform URL (defaulthttps://app.alteia.com
).proxy_url (
Optional
[str
]) – Optional proxy URL.force_prompt (
bool
) – Option to force the user to set or confirm his connection info through the prompt.service (
Union
[str
,List
[str
],None
]) – Optional service name, to add in UserAgent in requests’ headers.kwargs – Optional keyword arguments to merge with the configuration.
Configuration¶
- class ConnectionConfig(file_path=None, *, user=None, password=None, client_id=None, client_secret=None, url=None, domain=None, proxy_url=None, access_token=None, **kwargs)¶
Connection configuration.
- __init__(file_path=None, *, user=None, password=None, client_id=None, client_secret=None, url=None, domain=None, proxy_url=None, access_token=None, **kwargs)¶
Initializes a connection configuration.
- Parameters
file_path (
Optional
[str
]) – Optional path to a custom configuration file.user (
Optional
[str
]) – Optional username (email).password (
Optional
[str
]) – Optional password (mandatory ifusername
is defined).client_id (
Optional
[str
]) – Optional OAuth client identifier.client_secret (
Optional
[str
]) – Optional OAuth client secret (mandatory ifclient_id
is defined).url (
Optional
[str
]) – Optional platform URL (defaulthttps://app.alteia.com
).domain (
Optional
[str
]) – Optional domain.proxy_url (
Optional
[str
]) – Optional proxy URL.access_token (
Optional
[str
]) – Optional access token.kwargs –
- Optional keyword arguments to merge with
the configuration.
kwargs : Optional arguments.
Three sources of configuration are merged:
The optional arguments kwargs.
The file at path file_path.
The default configuration.
The configuration file is expected to be written in JSON.
Resources management¶
- class Resource(*, id=None, _Resource__remove_undefined=False, **kwargs)¶
- __init__(*, id=None, _Resource__remove_undefined=False, **kwargs)¶
Resource class.
- Parameters
id (
Optional
[str
]) – Resource identifier (if missing,_id
must be defined).__remove_undefined – Optional option to remove undefined properties before storing it in the Resource (default is
False
).**kwargs – Keyword arguments to initialize the resource properties.
- Returns
Resource created.
- Return type
Errors¶
Package errors.
- exception BoundingBoxError(msg='')¶
- exception ConfigError(msg='')¶
- exception DownloadError(msg='')¶
- exception FileError(msg='')¶
- exception ImmutableAttribute(name)¶
- exception MissingCredentialsError(msg='')¶
- exception ParameterError(msg='')¶
- exception QueryError(msg='')¶
- exception ResponseError(msg, status=0)¶
- exception SearchError(msg='')¶
- exception TokenRenewalError(msg='')¶
- exception UnsupportedOperationError¶
- exception UnsupportedResourceError(resource_name)¶
- exception UploadError(msg='')¶
Analytics¶
- class AnalyticsImpl(analytics_service_api, **kwargs)¶
- create(*, name, version, docker_image, docker_credentials_name, company, display_name=None, description=None, instance_type=None, volume_size=None, inputs=None, parameters=None, deliverables=None, outputs=None, tags=None, groups=None, **kwargs)¶
Create an analytic.
- Parameters
name (
str
) – Analytic name (must be unique with the version).version (
str
) – Analytic version in semver format (must be unique with the name)docker_image (
str
) – Docker image used for the analytic computation, including the Docker registry address. (example:"gcr.io/myproject/myanalytic:v1.0"
).docker_credentials_name (
str
) – Name of the credentials to use to pull the docker image from the registry. The credentials must have been created beforehand using the credentials API.company (
str
) – Id of the company owning the analytic.display_name (
Optional
[str
]) – Optional user-friendly name of the analytic.description (
Optional
[str
]) – Optional analytic description.instance_type (
Optional
[str
]) – Optional instance type on which the analytic will be run (example:"small"
).volume_size (
Optional
[int
]) – Optional size of the attached volume (in gigabytes).inputs (
Optional
[List
[dict
]]) – Optional inputs of the analytic.parameters (
Optional
[List
[dict
]]) – Optional parameters of the analytic.deliverables (
Optional
[List
[dict
]]) – Optional deliverables of the analytic.outputs (
Optional
[List
[dict
]]) – Optional outputs of the analytic.tags (
Optional
[List
[str
]]) – Optional tags of the analytic.groups (
Optional
[List
[str
]]) – Optional groups of the analytic (used by the analytic catalogue on the front-end to group analytics).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The created analytic description.
- Raises
KeyError – When a passed value is not supported.
Examples
>>> sdk.analytics.create(name="my_vehicle_detection", ... version="0.0.1", ... display_name="Vehicle detection", ... description="Detects vehicles in orthomosaic images", ... docker_image="gcr.io/myproject/vehicule-detection:v1.0", ... docker_credentials_name="my-gcr-credentials", ... company="5d3714e14c50356e2abd1f97", ... instance_type='large', ... volume_size=50, ... inputs=[{ ... "name": "ortho", ... "display_name": "Orthomosaic", ... "description": "Orthomosaic", ... "scheme": { ... "type": "string", "pattern": "^[0-9a-f]{24}$" ... }, ... "source": { ... "service": "data-manager", "resource": "dataset", ... "scheme": { ... "type": "object", ... "properties": {"type": {"const": "raster"}}, ... "required": ["type"] ... }, ... }, ... "required": True ... }], ... parameters=[{ ... "name": "project", ... "display_name": "Project", ... "description": "Project identifier", ... "required": True, ... "scheme": { ... "type": "string", "pattern": "^[0-9a-f]{24}$" ... } ... }], ... deliverables=[{ ... "name": "positions", ... "display_name": "Vehicule positions", ... "description": "Position of the vehicules in a CSV", ... "scheme": { ... "type": "string", "pattern": "^[0-9a-f]{24}$" ... }, ... "source": { ... "service": "data-manager", "resource": "dataset", ... "scheme": { ... "type": "object", ... "properties": {"type": {"const": "file"}}, ... "required": ["type"] ... }, ... }, ... "required": True ... }], ... tags=["vehicle_detection"], ... groups=["GeoInt"]) Resource(_id='60c331fed5ffbd0012f1fb1c')
- delete(analytic, **kwargs)¶
Delete an analytic or a list of analytics permanently.
- Parameters
analytic (
Union
[str
,List
[str
]]) – Analytic identifier (or list of identifiers) to delete.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
None
- describe(analytic, **kwargs)¶
Describe an analytic.
- Parameters
analytic (
str
) – Identifier of the analytic to describe.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The analytic description.
- describe_by_name(name, *, version=None)¶
Describe an analytic by name.
When the optional
version
argument isNone
, the analytic with highest version is returned.When the optional
version
argument is notNone
, the analytic with that version is returned. If no such analytic exist,None
is returned.When
version
is a version range, the analytic with highest version within the specified range is returned.Note that
version
is expected to follow the syntax defined by npm.- Parameters
analytic – Identifier or name of the analytic to describe.
version (
Optional
[str
]) – Optional version or version range used to select the analytic to describe.
Examples
>>> sdk.analytics.describe_by_name('photogrammetry', ... version='1.0.x') Resource(_id='60c331fed5ffbd0012f1fb1a')
- Return type
Optional
[Resource
]
- disable(analytics, companies, **kwargs)¶
Make the given analytics not orderable by the given companies.
- Parameters
analytics (
Union
[str
,List
[str
]]) – Name of the analytic to disable, or list of such names.companies (
Union
[str
,List
[str
]]) – Identifier of the company you want to disable the analytics, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Examples
>>> # disable analytics "helloworld" from the company 406e0dcc965a0f56891f3862 >>> sdk.analytics.disable('helloworld', '406e0dcc965a0f56891f3862')
>>> # disable both analytics "helloworld" and "helloworld2" >>> sdk.analytics.disable(['helloworld', 'helloworld2'], '406e0dcc965a0f56891f3862')
>>> # disable both analytics "helloworld" and "helloworld2" from many companies >>> sdk.analytics.disable(['helloworld', 'helloworld2'], ... ['406e0dcc965a0f56891f3863', '406e0dcc965a0f56891f3862'])
- Return type
Dict
- enable(analytics, companies, **kwargs)¶
Make the given analytics orderable by the given comanies, provided they are already exposed on the domains of those companies.
- Parameters
analytics (
Union
[str
,List
[str
]]) – Name of the analytic to enable, or list of such names.companies (
Union
[str
,List
[str
]]) – Identifier of the company you want to expose the analytics, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Examples
>>> # enable analytics "helloworld" on the company 406e0dcc965a0f56891f3862 >>> sdk.analytics.enable('helloworld', '406e0dcc965a0f56891f3862')
>>> # enable both analytics "helloworld" and "helloworld2" >>> sdk.analytics.enable(['helloworld', 'helloworld2'], '406e0dcc965a0f56891f3862')
>>> # enable both analytics "helloworld" and "helloworld2" on many companies >>> sdk.analytics.enable(['helloworld', 'helloworld2'], ... ['406e0dcc965a0f56891f3863', '406e0dcc965a0f56891f3862'])
- Return type
Dict
- expose(analytics, root_companies, **kwargs)¶
Make the given analytics visible to the given domains.
- Parameters
analytics (
Union
[str
,List
[str
]]) – Name of the analytic to expose or list of such names.root_companies (
Union
[str
,List
[str
]]) – Root company identifier of the domain you want to expose the analytics, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Examples
>>> # expose analytics "helloworld" to the root company 406e0dcc965a0f56891f3860 >>> sdk.analytics.expose('helloworld', '406e0dcc965a0f56891f3860')
>>> # expose both analytics "helloworld" and "helloworld2" >>> sdk.analytics.expose(['helloworld', 'helloworld2'], '406e0dcc965a0f56891f3860')
>>> # expose both analytics "helloworld" and "helloworld2" to many root companies >>> sdk.analytics.expose(['helloworld', 'helloworld2'], ... ['406e0dcc965a0f56891f3860', '406e0dcc965a0f56891f3861'])
- Return type
Dict
- order(analytic=None, *, name=None, version=None, inputs=None, parameters=None, deliverables=None, project=None, mission=None, **kwargs)¶
Order an analytic.
The analytic to order can be specified by identifier using the
analytic
argument, or by name using thename
argument.When using the
name
argument to select the analytic butversion
is equal toNone
, the analytic with highest version matchingname
is ordered. The argumentversion
can be used to order the analytic with a specific version. Whenversion
is a version range, the analytic with highest version within the specified range will be ordered.Note that
version
is expected to follow the syntax defined by npm.- Parameters
analytic (
Optional
[str
]) – Identifier of the analytic to order.name (
Optional
[str
]) – Name of the analytic to order.version (
Optional
[str
]) – Optional version or version range used to select the analytic to order when specified by name.inputs (
Optional
[dict
]) – Optional inputs of the analytic.parameters (
Optional
[dict
]) – Optional parameters of the analytic.deliverables (
Optional
[List
[str
]]) – List of optional deliverables to generate. When empty orNone
only required deliverables are generated.project (
Optional
[str
]) – Optional project of the analytic.mission (
Optional
[str
]) – Optional mission of the analytic.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The created
product
description.
Examples
>>> sdk.analytics.order('5d5a73b58cf5360006397aa0', ... inputs={"ortho": "5d3714e14c50356e2abd1f97"}, ... deliverables=["vehicles"], ... parameters={"buffer_size": 5.0}, ... project='5d3195209755b0349d0539ad') Resource(_id='60c331fed5ffbd0012f1f754')
>>> sdk.analytics.order(name='vehicle_detection', ... version='1.0.x', ... inputs={"ortho": "5d3714e14c50356e2abd1f97"}, ... deliverables=["vehicles"], ... parameters={"buffer_size": 5.0}, ... project='5d3195209755b0349d0539ad') Resource(_id='60c331fed5ffbd0012f1fde8')
- search(*, name=None, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search for a list of analytics.
- Parameters
name (
Optional
[str
]) – Optional Analytic name.filter (
Optional
[Dict
]) – Search filter dictionary (refer to/search-analytics
definition in the Analytics-service API for a detailed description offilter
).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of analytics resources OR a namedtuple
with total number of results and list of analytics resources.
- Return type
Analytics
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through analytics.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found analytics are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 0).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found analytics.
- set_docker_credentials(name, version, company, docker_credentials_name, **kwargs)¶
Set the docker credentials name on an analytic.
- Parameters
name (
str
) – Name of the analytic to update.version (
str
) – Version of the analytic to update.company (
str
) – Identifier of the company owning the analytic.docker_credentials_name (
str
) – Name of the credentials to use to pull the docker image from the registry. The credentials must have been created beforehand using the credentials API.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Examples
>>> sdk.analytics.set_docker_credentials( ... analytic_name='my_vehicle_detection', ... version='0.0.1', ... company='5d3714e14c50356e2abd1f97', ... docker_credentials_name='my-gcr-credentials')
- Return type
Dict
- Allow a company to view, order, etc. the analytic.
Deprecated in favor of expose() and enable()
- Parameters
analytic (
str
) – Identifier of the analytic to update.company (
str
) – Identifier of the company to share the analytic with.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- unexpose(analytics, root_companies, **kwargs)¶
Make the given analytics invisible to the given domains.
- Parameters
analytics (
Union
[str
,List
[str
]]) – Name of the analytic to unexpose or list of such names.root_companies (
Union
[str
,List
[str
]]) – Root company identifier of the domain you want to unexpose the analytics, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Examples
>>> # unexpose analytics "helloworld" from the root company 406e0dcc965a0f56891f3860 >>> sdk.analytics.unexpose('helloworld', '406e0dcc965a0f56891f3860')
>>> # unexpose both analytics "helloworld" and "helloworld2" >>> sdk.analytics.unexpose(['helloworld', 'helloworld2'], '406e0dcc965a0f56891f3860')
>>> # unexpose both analytics "helloworld" and "helloworld2" from many root companies >>> sdk.analytics.unexpose(['helloworld', 'helloworld2'], ... ['406e0dcc965a0f56891f3860', '406e0dcc965a0f56891f3861'])
- Return type
Dict
- Stop sharing the analytic with a company.
Deprecated in favor of unexpose() and disable()
- Parameters
analytic (
str
) – Identifier of the analytic to update.company (
str
) – Identifier of the company to stop sharing the analytic with.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Analytic Configurations¶
- class AnalyticConfigurationsImpl(analytics_service_api, **kwargs)¶
- assign_to_company(configuration_set, *, company, **kwargs)¶
Assign an analytic configuration set to a company.
All analytic configurations that are currently part of this analytic configuration set (and the potential future ones) are assigned to the company.
- Parameters
configuration_set (
str
) – Identifier of the configuration set to assign.company (
str
) – Id of the company the analytic configuration set is assigned to.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A relation object containing Ids of Company, Analytic, and Configuration set.
- Return type
Dict
- create(name, analytic_name, value, analytic_version_range='*', description=None, **kwargs)¶
Create a new configuration set for an analytic.
- Parameters
name (
str
) – Configuration set name.analytic_name (
str
) – Analytic name.value (
Dict
[str
,Any
]) – Raw contents of the associated configuration.analytic_version_range (
str
) – Optional version range of the analytic on which the configuration set can be applied (default:*
).description (
Optional
[str
]) – Optional description.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Raises
ResponseError – The creation response is incorrect.
- Returns
The created configuration set resource.
- Return type
- delete(configuration_set, **kwargs)¶
Delete the specified analytic configuration set and the associated configuration(s).
- Parameters
configuration_set (
Union
[str
,List
[str
]]) – Identifier of the configuration set to delete, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
None
- describe(configuration_set, **kwargs)¶
Describe an analytic configuration set or a list of analytic configuration sets.
- Parameters
configuration_set (
Union
[str
,List
[str
]]) – Identifier of the configuration to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[Resource
,List
]- Returns
The configuration set resource or a list of configuration set resources.
- search(*, filter=None, fields=None, limit=100, page=None, sort=None, return_total=False, **kwargs)¶
Search analytic configuration sets.
- Parameters
filter (
Optional
[dict
]) – Optional Search filter (refer to/search-analytic-configurations
definition in the Analytic service API for a detailed description of supported operators).fields (
Optional
[dict
]) – Optional Field names to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.limit (
int
) – Optional Maximum number of results to extract (default is100
).page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]- Returns
A list of resources OR a namedtuple with total number of results and list of resources.
Examples
>>> # search configuration sets with name exactly equals to 'my config' >>> sdk.analytic_configurations.search(filter={'name': {'$eq': 'my config'}}) [Resource(_id='506e0dcc965a0f56891f3860'), ...]
>>> # search configuration sets having 'my' in their name (case-insensitive) >>> sdk.analytic_configurations.search(filter={'name': {'$match': 'my'}}) [Resource(_id='506e0dcc965a0f56891f3860'), ...]
>>> # search configuration sets by IDs (should use analytic_configurations.describe() instead) >>> sdk.analytic_configurations.search(filter={'_id': {'$eq': '506e0dcc965a0f56891f3860'}}) [Resource(_id='506e0dcc965a0f56891f3860'), ...]
>>> # search configuration sets of a wanted analytic (can also use '$in') >>> sdk.analytic_configurations.search(filter={'analytic_name': {'$eq': 'my_analytic'}}) [Resource(_id='506e0dcc965a0f56891f3860'), ...]
>>> # search configuration sets updated after December 15th 2021 >>> sdk.analytic_configurations.search(filter={'modification_date': {'$gt': '2021-12-15T00:00:00'}}) [Resource(_id='506e0dcc965a0f56891f3860'), ...]
>>> # get second page of the same search >>> sdk.analytic_configurations.search(filter={...}, page=1) [Resource(_id='61924899669e6e0007f8d261'), ...]
>>> # search 400 first configuration sets sorted by name ascending, in 2 calls >>> sdk.analytic_configurations.search(sort={'name': 1}, limit=200) [Resource(_id='506e0dcc965a0f56891f3860'), ...] >>> sdk.analytic_configurations.search(sort={'name': 1}, limit=200, page=1) [Resource(_id='61924899669e6e0007f8d261'), ...]
>>> # search configuration sets and also get the total results >>> sdk.analytic_configurations.search(filter={...}, return_total=True) ResourcesWithTotal(total=940, results=[Resource(_id='506e0dcc965a0f56891f3860'), ...])
- search_generator(*, filter=None, fields=None, limit=100, page=None, sort=None, **kwargs)¶
Return a generator to search through analytic configuration sets.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found configuration sets are sorted chronologically by default in order to allow new resources to be found during the search.
- Parameters
filter (
Optional
[dict
]) – Optionalfilter
dictionary fromsearch()
method.fields (
Optional
[dict
]) – Optionalfields
dictionary fromsearch()
method.limit (
int
) – Optional maximum number of results by search request (default is100
).page (
Optional
[int
]) – Optional page number to start the search at (default is 0).sort (
Optional
[dict
]) – Optionalsort
dictionary fromsearch()
method.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found analytic configuration sets.
Examples
>>> # get all configurations matching filter by using generator >>> results_iterator = sdk.analytic_configurations.search_generator(filter={...}) >>> configurations = [r for r in results_iterator]
- unassign_from_company(configuration_set, *, company, **kwargs)¶
Unassign an analytic configuration set from a company.
- Parameters
configuration_set (
str
) – Identifier of the configuration set to assign.company (
str
) – Id of the company the analytic configuration set is assigned to.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- update(configuration_set, *, name=None, description=None, versions=None, value=None, analytic_version_range=None, **kwargs)¶
Update an analytic configuration set.
At least one of
name
,description`
,versions
, or the couplevalue
+analytic_version_range
must be present. The couplevalue
+analytic_version_range
can be used if you had only one associated configuration, because it will erase all previous ones. If you have multiple configurations in your configuration set, you must useversions
.- Parameters
configuration_set (
str
) – Identifier of the configuration set to update.name (
Optional
[str
]) – Optional new configuration set name.description (
Optional
[str
]) – Optional new description.versions (
Optional
[List
[Dict
[str
,Any
]]]) – Optional new associated configurations. It’s a list of objects, each object must have both propertiesanalytic_version_range
andvalue
. It will replace all previous configurations in the configuration set.value (
Optional
[Dict
[str
,Any
]]) – Optional new raw contents of the configuration, must be used withanalytic_version_range
(do not use withversions
). If this param is given, all previous configurations will be erased and replaced by one version containing this value and analytic_version_range.analytic_version_range (
Optional
[str
]) – Optional version range of the analytic on which the first configuration can be applied, must be used withvalue
(do not use withversions
). Useless ifvalue
is not given.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated analytic configuration set resource.
- Return type
Examples
>>> # update configuration set's name >>> sdk.analytic_configurations.update('506e0dcc965a0f56891f3860', name='new name') Resource(_id='506e0dcc965a0f56891f3860')
>>> # replace all configurations of the configuration set by a single new one >>> sdk.analytic_configurations.update('506e0dcc965a0f56891f3860', >>> value={'...': '...'}, >>> analytic_version_range='1.x', >>> ) Resource(_id='506e0dcc965a0f56891f3860')
>>> # replace all configurations of the configuration set by multiple new ones >>> sdk.analytic_configurations.update('506e0dcc965a0f56891f3860', >>> versions=[ >>> {'value': {'...': '...'}, 'analytic_version_range': '1.x' }, >>> {'value': {'...': '...'}, 'analytic_version_range': '1.7.x' }, >>> {'value': {'...': '...'}, 'analytic_version_range': '2.x' }, >>> ] >>> ) Resource(_id='506e0dcc965a0f56891f3860')
Annotations¶
- class AnnotationsImpl(annotations_api, sdk, **kwargs)¶
- class Icons(value)¶
An enumeration.
- add_attachments(annotation, *, attachments=None, file_paths=None, **kwargs)¶
Attach datasets to the annotation.
An attachment is a reference to a dataset handled by the Data Management API.
Items of the
file_paths
argument are interpreted as file paths on the host file system. For each item, a dataset is created and the file at the given path is uploaded. The dataset will be attached to the created annotation.The created dataset has the following properties:
It’s type is equal to
file
orimage
depending on the local file MIME type.It belongs to the same project as the annotation.
It’s named is equal to the basename of the local file.
For fine control of the dataset type, mission, published status, etc. or when the dataset has multiple components, one must create the dataset separately and use the
attachment
argument.- Parameters
annotation (
str
) – Identifier of the annotation to attach to.attachments (
Optional
[List
[str
]]) – Identifiers of dataset to attach to the annotation.file_paths (
Optional
[List
[str
]]) – List of file path to upload and attach to the annotation.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- create(*, project, mission=None, geometry=None, stroke=None, stroke_dasharray=None, icon=None, stroke_width=None, stroke_opacity=None, fill=None, fill_opacity=None, type='2d', target=None, name=None, description=None, followers=None, attachments=None, file_paths=None, normals=None, **kwargs)¶
Create an annotation.
Items of the
file_paths
argument are interpreted as file paths on the host file system. For each item, a dataset is created and the file at the given path is uploaded. The dataset will be attached to the created annotation.Refer to
add_attachments()
for details on the properties of the created datasets.- Parameters
project (
str
) – Identifier of project to annotate.mission (
Optional
[str
]) – Identifier of mission to annotate.type (
str
) – Annotation type (must be one of2d
,3d
andimage
).geometry (
Optional
[dict
]) – Geojson geometry of the annotation.stroke (
Optional
[List
[int
]]) – Color used as annotation stroke list of integer[r,g,b]
or[r,g,b,a]
.stroke_dasharray (
Optional
[List
[int
]]) – List of integer for dasharray display (specify intervals of line and break).icon (
Union
[Icons
,str
,None
]) – Icon string or enum. Used forpoint
annotations. Enum can be retrieved throughsdk.annotations.Icons
(default:sdk.annotations.Icons.ANNOTATE
).stroke_width (
Optional
[float
]) – Width of stroke.stroke_opacity (
Optional
[float
]) – Opacity of stroke between 0 and 1.fill (
Optional
[List
[int
]]) – Color used as fill for annotation list of integer [r,g,b] or [r,g,b,a]fill_opacity (
Optional
[float
]) – Opacity of fill between 0 and 1.target (
Optional
[str
]) – Identifier of the dataset to annotate.name (
Optional
[str
]) – Annotation name.description (
Optional
[str
]) – Annotation description.followers (
Optional
[List
[str
]]) – Identifiers of users following the annotation.attachments (
Optional
[List
[str
]]) – Identifiers of datasets to attach to the annotation.file_paths (
Optional
[List
[str
]]) – List of file paths to upload and attach to the annotation.normals (
Optional
[List
]) – Transformation vector used to transform the geometry on the front-end (for 3D datasets).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The created annotation.
- Return type
Examples
>>> sdk.annotations.create( ... project='5d63cf9743d61400078efaf8', ... geometry={ ... "type": "Point", ... "coordinates": [1440.8495575221236, 1144.8259587020648] ... }, ... name='My point annotation', ... type='image', ... target='5d63cf972fb3880011e57e34', ... icon=sdk.annotations.Icons.CONVEYOR, ... followers=['5d5fa52bc207040006390244'], ... attachments=['5d63cf972fb3880011e57e32'] ... ) Resource(_id='5a5155ae8dcb064fcbf4ae35')
- create_annotations(annotations, **kwargs)¶
Create several annotations.
- Parameters
annotations (
List
[dict
]) – List of annotation descriptions, each description is a dictionary with keys among arguments ofcreate()
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
List
[Resource
]- Returns
Descriptions of the created annotations.
- delete(annotation, **kwargs)¶
Delete an annotation or multiple annotations.
- Parameters
annotation (
Union
[str
,List
[str
]]) – Identifier of the annotation to delete, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- describe(annotation, **kwargs)¶
Describe a dataset or a list of datasets.
- Parameters
annotation (
Union
[str
,List
[str
]]) – Identifier of the annotation to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The annotation description or a list of annotation description.
- remove_attachments(annotation, *, attachments, **kwargs)¶
Remove attachment to the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation to remove attachments from.attachments (
Union
[str
,List
[str
]]) – Identifier of attachments to remove.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- rename(annotation, *, name, **kwargs)¶
Rename the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation to rename.name (
str
) – New name of the annotation.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- restore(annotation, **kwargs)¶
Restore an annotation or multiple annotations.
- Parameters
annotation (
Union
[str
,List
[str
]]) – Identifier of the annotation to restore, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- search(*, project=None, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search annotations.
- Parameters
project (
Optional
[str
]) – Optional identifier of a project to search annotations for.filter (
Optional
[dict
]) – Search filter dictionary (refer to/search-annotations
in the Annotation API specification for a detailed description).limit (
Optional
[int
]) – Optional Maximum number of results.page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]- Returns
A list of annotation descriptions or a namedtuple with total number of results and list of annotation descriptions.
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through annotations.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found annotations are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 0).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found annotations.
- set_description(annotation, *, description, **kwargs)¶
Set the annotation description.
- Parameters
annotation (
str
) – Identifier of the annotation whose description to set.description (
str
) – Description of the annotation.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_fill_color(annotation, *, color, opacity=None, **kwargs)¶
Set the color used to fill the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation whose fill color to set.color (
List
[float
]) – Fill color to set interpreted as an RGB-triple.opacity (
Optional
[float
]) – Optional opacity of fill color, a float number between 0 and 1.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_fill_opacity(annotation, *, opacity, **kwargs)¶
Set the opacity of the annotation fill.
- Parameters
annotation (
str
) – Identifier of the annotation whose fill opacity to set.opacity (
float
) – Fill opacity to set.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_geometry(annotation, *, geometry, **kwargs)¶
Set the geometry of the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation whose geometry to set.geometry (
dict
) – A dictionary following GeoJSON specification.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_icon(annotation, *, icon=None, **kwargs)¶
Set the annotation icon.
- Parameters
annotation (
str
) – Identifier of the annotation whose icon to set.icon (
Union
[Icons
,str
,None
]) – Icon string or enum. Used forpoint
annotations. Enum can be retrieved throughsdk.annotations.Icons
(default:sdk.annotations.Icons.ANNOTATE
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_normals(annotation, *, normals, **kwargs)¶
Set the annotation normal vectors.
Setting the normals of an annotation makes sense for annotations of type
3d
only. The argumentnormals
is expected to be a list of 3-dimensional vectors, one for each vertice of the annotation geometry. Those vectors are interpreted as normals to the target of the annotation and are used to shift the annotation geometry when it is drawn so that it doesn’t overlap the target of the annotation and is drawn on the right side of the target facets.- Parameters
annotation (
str
) – Identifier of the annotation whose normal vector to set.normals (
List
) – List of coordinates of normal vectors.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_stroke_color(annotation, *, color, opacity=None, **kwargs)¶
Set the stroke color of the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation whose stroke color to set.color (
Tuple
[int
,int
,int
]) – Stroke color to set interpreted as an RGB-triple.opacity (
Optional
[float
]) – Optional opacity of stroke color, a float number between 0 and 1.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_stroke_dasharray(annotation, *, dasharray, **kwargs)¶
Set the dasharray of the annotation stroke.
The dasharray defines the pattern of dashes and gaps used to paint the outline of the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation whose stroke opacity to set.dasharray (
List
[float
]) – Dasharray to set.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_stroke_opacity(annotation, *, opacity, **kwargs)¶
Set the opacity of the annotation stroke.
- Parameters
annotation (
str
) – Identifier of the annotation whose stroke opacity to set.opacity (
float
) – Stroke opacity to set.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- set_stroke_width(annotation, *, width, **kwargs)¶
Set the stroke width of the annotation.
- Parameters
annotation (
str
) – Identifier of the annotation whose stroke width to set.width (
float
) – Stroke width to set.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Assessment Parameter Estimations¶
- class AssessmentParameterEstimationsImpl(season_planner_api, **kwargs)¶
- export_report_entries(filter, **kwargs)¶
Export report entries.
- Parameters
filter (
dict
) –Search filter dictionary. ``{
- ”_id”: {
“$eq”: “123456789abcdef012345678”
}, “trial”: {
”$eq”: “123456789abcdef012345678”
}, “mission”: {
”$eq”: “5f02f308a6f7f53d73962efc”
}, “ap_estimation”: {
”$eq”: “5f9ab771ce4e163c170bfe72”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}
}``
**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search assessment-parameter-estimations.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. ``{
- ”_id”: {
“$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “trial”: {
”$eq”: “string”
}, “mission”: {
”$eq”: “string”
}, “estimation_method”: {
”$eq”: “string”
}, “collection_task”: {
”$eq”: “string”
}, “survey”: {
”$eq”: “string”
}, “product”: {
”$eq”: “string”
}, “status”: {
- ”$in”: [
“pending”
]
}
}``
limit (
Optional
[int
]) – Maximum number of results to extract. Default: 1000.page (
Optional
[int
]) – Page number (starting at page 0).fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Resources
- start_analysis_on_ape(assessment_parameter_estimation, **kwargs)¶
Start analysis on APE.
- Parameters
assessment_parameter_estimation (
str
) – Identifier of the assessment-parameter-estimation.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A assessment-parameter-estimation resource.
- Return type
- start_reporting_on_ape(assessment_parameter_estimation, **kwargs)¶
Start reporting on APE.
- Parameters
assessment_parameter_estimation (
str
) – Identifier of the assessment-parameter-estimation.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A assessment-parameter-estimation resource.
- Return type
Assessment Parameter Variables¶
- class AssessmentParameterVariablesImpl(season_planner_asset_management_api, **kwargs)¶
- create(*, company, name, **kwargs)¶
Create a assessment-parameter-variable.
- Parameters
company (
str
) – Identifier of the company.name (
str
) – assessment-parameter-variable name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
An assessment-parameter-variable resource.
- Return type
- delete(assessment_parameter_variable, **kwargs)¶
Delete a assessment-parameter-variable.
- Parameters
assessment_parameter_variable (
str
) – Identifier of the assessment-parameter-variable to delete.
- describe(assessment_parameter_variable, **kwargs)¶
- Describe a assessment-parameter-variable
or a list of assessment-parameter-variables.
- Parameters
assessment_parameter_variable (
Union
[str
,List
[str
]]) – Identifier of the assessment-parameter-variable to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- The assessment-parameter-variable description
or a list of assessment-parameter-variables descriptions.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search assessment-parameter-variable.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. {
- ”_id”: {
“$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
},
}
limit (
Optional
[int
]) – Maximum number of results to extract. Default: 1000.page (
Optional
[int
]) – Page number (starting at page 0).fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Resources
- update(*, assessment_parameter_variable, name, company=None, custom_ids=None, **kwargs)¶
Update a assessment-parameter-variable.
- Parameters
assessment_parameter_variable (
str
) – Identifier of the assessment-parameter-variable.name (
str
) – assessment-parameter-variable name.company (
Optional
[str
]) – Optional identifier of the company.custom_ids (
Optional
[str
]) – Optional custom ids.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A assessment-parameter-variable resource updated.
- Return type
Carriers¶
- class CarriersImpl(asset_management_api, **kwargs)¶
- create(*, carrier_model, team, serial_number, firmware=None, status=None, comment=None, **kwargs)¶
Create a carrier.
- Parameters
carrier_model (
str
) – Identifier of the carrier model.team (
str
) – Identifier of the team.serial_number (
str
) – Serial number of the carrier.firmware (
Optional
[str
]) – Optional firmware.status (
Optional
[str
]) – Optional status, amongready
,in-maintenance
,out-of-service
.comment (
Optional
[str
]) – Optional comment.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A carrier resource.
- Return type
- delete(carrier, **kwargs)¶
Delete a carrier.
- Parameters
carrier (
str
) – Identifier of the carrier to delete.
- describe(carrier, **kwargs)¶
Describe a carrier or a list of carriers.
- Parameters
carrier (
Union
[str
,List
[str
]]) – Identifier of the carrier to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The carrier description or a list of carriers descriptions.
- Return type
- search(*, filter=None, limit=None, page=None, sort=None, **kwargs)¶
Search carriers.
- Parameters
filter (
Optional
[dict
]) – Search filter dictionary.limit (
Optional
[int
]) – Maximum number of results to extract.page (
Optional
[int
]) – Page number (starting at page 0).sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A list of carrier resources.
- Return type
Resources
Carrier models¶
- class CarrierModelsImpl(asset_management_api, **kwargs)¶
- create(*, name, maker, type, company=None, unloaded_weight=None, flight_time=None, speed=None, altitude=None, compatible_sensor_models=None, **kwargs)¶
Create a carrier model.
- Parameters
name (
str
) – Carrier model name.maker (
str
) – Maker name.type (
str
) – Model type, among``fixed-wind``,multirotor
,ground-robot
,helicopter –
pedestrian. –
company (
Optional
[str
]) – Optional identifier of the company.unloaded_weight (
Optional
[dict
]) – Optional unloaded weight{ value: weight without sensor, unit: unit (g, kg) }
.flight_time (
Optional
[dict
]) – Optional flight time{ value: maximum flight time, unit: unit (min) }
.speed (
Optional
[dict
]) – Optional speed{ min: {value, unit}, max: {value, unit(m/s, mph ,ft/s, km/h, knot)} }
.altitude (
Optional
[dict
]) – Optional altitude{ min: {value, unit}, max: {value, unit(m, ft)} }
.compatible_sensor_models (
Optional
[List
[str
]]) – Optional list of compatible sensors identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A carrier model resource.
- Return type
- delete(carrier_model, **kwargs)¶
Delete a carrier model.
- Parameters
carrier_model (
str
) – Carrier model to delete.
- describe(carrier_models, **kwargs)¶
Describe a carrier model or a list of carrier models.
- Parameters
carrier_models (
Union
[str
,List
[str
]]) – Identifier of the carrier model to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- The carrier model description
or a list of carrier model descriptions.
- Return type
- search(*, filter=None, limit=None, page=None, sort=None, **kwargs)¶
Search carrier models.
- Parameters
filter (
Optional
[dict
]) – Search filter dictionary.limit (
Optional
[int
]) – Maximum number of results to extract.page (
Optional
[int
]) – Page number (starting at page 0).sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A list of carrier models resources.
- Return type
Resources
Collections¶
- class CollectionsImpl(features_service_api, **kwargs)¶
- create(*, name=None, features=None, properties=None, schema=None, **kwargs)¶
Create a collection.
- Parameters
name (
Optional
[str
]) – The name of the collection to create.features (
Optional
[List
[str
]]) – List of feature identifiers.properties (
Optional
[dict
]) – Dictionary of properties.schema (
Optional
[dict
]) – JSON schema of the collection.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
Resource for the created collection.
- create_collections(descriptions, **kwargs)¶
Create collections.
- Parameters
descriptions (
Iterable
[dict
]) – List of collections descriptions, each description is a dictionary with keys among arguments ofcreate()
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
List
[Resource
]- Returns
List of resource for the created collections.
- delete(collection, *, permanent=False, **kwargs)¶
Delete a collection or multiple collections.
- Parameters
collection (
Union
[str
,List
[str
]]) – Identifier of the collection to delete, or list of such identifiers.permanent (
bool
) – Whether to delete collections permanently or not. Default to False.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- describe(collection, **kwargs)¶
Describe a collection or a list of collections.
- Parameters
collection (
Union
[str
,List
[str
]]) – Identifier of the collection to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The fature description or a list of collection description.
- export(collection, target_path, target_name, format_requested='geojson')¶
Export a collection to the given format.
- Parameters
collection (
str
) – Identifier of the collection.target_path (
str
) – Path where the file will be download.target_name (
str
) – Name given to the downloaded file.format_requested (
str
) – Format of the export.
- Returns
File path of the download file.
- restore(collection, **kwargs)¶
Restore a collection or multiple collections.
- Parameters
collection (
Union
[str
,List
[str
]]) – Identifier of the collection to restore, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Collection tasks¶
- class CollectionTaskImpl(collection_task_api, collection_task_management_api, **kwargs)¶
- create(*, name, company, site=None, survey=None, location=None, forecast_date_range=None, scheduled_date_range=None, team=None, pic=None, comment=None, custom_props=None, requirement=None, purpose=None, **kwargs)¶
Create a collection task.
- Parameters
name (
str
) – Collection task name.company (
str
) – Identifier of the company.site (
Optional
[str
]) – Optional site identifier.survey (
Optional
[str
]) – Optional survey identifier.location (
Optional
[dict
]) – Optional location{ adress: {street, zipcode, city}, contact: {name, phone, email}, task_area: {} }
forecast_date_range (
Optional
[dict
]) – Optional forecast date range{ start_date, end_date}
.scheduled_date_range (
Optional
[dict
]) – Optional scheduled date range{ start_date, end_date}
.team (
Optional
[str
]) – Optional team identifier.pic (
Optional
[str
]) – Optional pilot in charge identifier.comment (
Optional
[str
]) – Optional comment.custom_props (
Optional
[dict
]) – Optional custom properties.requirement (
Optional
[dict
]) – Optional requirement.purpose (
Optional
[str
]) – Optional purpose.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A collection task resource.
- Return type
- create_flight_log(task, **kwargs)¶
Create or update the collection task flight log.
- Parameters
task (
str
) – Collection task whose flight log needs to be created or updated.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A collection task resource.
- Return type
- delete(task, **kwargs)¶
Delete a collection task.
- Parameters
task (
str
) – Collection task to delete.
- describe(task, *, fields=None, **kwargs)¶
Describe a collection task.
- Parameters
task (
Union
[str
,List
[str
]]) – Identifier of the collection task to describe, or list of such identifiers.fields (
Optional
[dict
]) – Optional Field names to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.
- Returns
- The collection task description
or a list of collection task descriptions.
- Return type
- rename(task, *, name, **kwargs)¶
Rename a collection task.
- Parameters
task (
str
) – Collection task to rename.name (
str
) – New task name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The renamed collection task.
- Return type
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search collection tasks.
- Parameters
filter (
Optional
[dict
]) – Search filter dictionary.limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A list of collection task resources.
- Return type
Resources
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through collection tasks.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found collection tasks are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 0).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found collection tasks.
- set_fieldreport_in_task(*, task, field_report, **kwargs)¶
Set fieldreport in a collection task
- Parameters
task (
str
) – Collection task identifierfield_report (
dict
) –Field report. ``{
”task”: “string”, “field_report”: {
”capture_date”: “2019-08-24T14:15:22Z”, “team”: “string”, “pic”: “string”, “weather”: {
”wind_speed”: {“value”: 6, “unit”: “m/s”}, “type”: “sun”, “dew”: true, “wind”: true
}, “carrier”: “string”, “sensor”: “string”, “speed”: {“value”: 4, “unit”: “m/s”}, “altitude”: {“value”: 70, “unit”: “m”}, “duration”: {“value”: 20, “unit”: “min”}, “overlap”: {
”forward”: 80, “lateral”: 80
}, “comment”: “string”, “custom_props”: {}
}
}``
- Return type
- set_task_status(task, *, status, **kwargs)¶
Update the status of a collection task
- Parameters
task (
str
) – Collection task identifier.status (
str
) – The new status to set among “pending”, “ready”, “assigned”, “scheduled”, “data-captured”, “data-submitted” and “completed”
- Returns
A collection task resource.
- Return type
- update(task, *, name=None, site=None, survey=None, location=None, forecast_date_range=None, scheduled_date_range=None, team=None, pic=None, comment=None, custom_props=None, requirement=None, purpose=None, **kwargs)¶
Update a collection task.
- Parameters
task (
str
) – Collection task identifier.name (
Optional
[str
]) – Optional collection task name.site (
Optional
[str
]) – Optional site identifier.survey (
Optional
[str
]) – Optional survey identifier.location (
Optional
[dict
]) – Optional location{ adress: {street, zipcode, city}, contact: {name, phone, email}, task_area: {} }
forecast_date_range (
Optional
[dict
]) – Optional forecast date range{ start_date, end_date}
.scheduled_date_range (
Optional
[dict
]) – Optional scheduled date range{ start_date, end_date}
.team (
Optional
[str
]) – Optional team identifier.pic (
Optional
[str
]) – Optional pilot in charge identifier.comment (
Optional
[str
]) – Optional comment.custom_props (
Optional
[dict
]) – Optional custom properties.requirement (
Optional
[dict
]) – Optional requirement.purpose (
Optional
[str
]) – Optional purpose.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A collection task resource.
- Return type
Companies¶
- class CompaniesImpl(auth_api, **kwargs)¶
- describe(company, **kwargs)¶
Describe a company or multiple companies.
- Parameters
company (
Union
[str
,List
[str
]]) – Identifier of the company to describe, or list ofidentifiers. (such) –
**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The company description or a list of company description.
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search companies.
- Parameters
filter (
Optional
[dict
]) – Search filter (refer to/search-companies
definition in the User and company management API for a detailed description of supported operators).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through companies.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found companies are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 1).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found companies.
Credentials¶
- class CredentialsImpl(credentials_service_api, **kwargs)¶
- create(*, name, company, credentials, labels=None, **kwargs)¶
Create a credential entry.
- Parameters
name (
str
) – Credential name (must be unique).company (
str
) – Company ID.credentials (
Dict
[str
,Any
]) – Credential dict.labels (
Optional
[Mapping
[str
,str
]]) – Labels mapping.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The created credential description.
Examples
>>> sdk.credentials.create( ... name="My Docker registry", ... company="507f191e810c19729de860eb", ... credentials={ ... "type": "docker", ... "login": "my_login", ... "password": "my_password", ... "registry": "mydockerregistry.com" ... }, ... labels={ ... "type": "docker", ... "registry": "mydockerregistry.com" ... } ... ) Resource(_id='5e5155ae8dcb064fcbf4ae35')
>>> sdk.credentials.create( ... name="My aws registry", ... company="507f191e810c19729de860eb", ... credentials={ ... "type": "aws", ... "aws_access_key_id": "key_id", ... "aws_secret_access_key": "password_test", ... "aws_region": "us-east-1", ... }, ... labels={ ... "type": "docker", ... "registry": "XXX.dkr.ecr.us-east-1.amazonaws.com" ... } ... ) Resource(_id='5e6155ae8dcb064fcbf4ae35')
>>> sdk.credentials.create( ... name="My bucket S3", ... company="507f191e810c19729de860eb", ... credentials={ ... "type": "s3", ... "aws_access_key_id": "key_id", ... "aws_secret_access_key": "password_test", ... "aws_region": "us-east-1", ... }, ... labels={ ... "type": "object-storage", ... "bucket": "XXX.s3.us-east-1.amazonaws.com/key" ... } ... ) Resource(_id='5e6155ae8dcb064fcbf4ae35')
>>> sdk.credentials.create( ... name="My azure blob", ... company="507f191e810c19729de860eb", ... credentials={ ... "type": "azure-blob", ... "azure_client_id": "key_id", ... "azure_tenant_id": "tenant-id", ... "azure_client_secret": "client_secret", ... }, ... labels={ ... "type": "object-storage", ... "bucket": "XXX.s3.us-east-1.amazonaws.com/key", ... "account_url": "https://mystorage.blob.core.windows.net" ... } ... ) Resource(_id='5e6155ae8dcb064fcbf4ae35')
>>> sdk.credentials.create( ... name="My stac catalog", ... company="507f191e810c19729de860eb", ... credentials={ ... "type": "oauth", ... "client_id": "key_id", ... "client_secret": "client_secret", ... "token_url": "https://token_url", ... }, ... labels={ ... "type": "stac-catalog", ... "catalog": "https://catalog_url", ... } ... ) Resource(_id='5e6155ae8dcb064fcbf4ae35')
- delete(credential, **kwargs)¶
Delete a credential entry.
- Parameters
credential (
str
) – Credential identifier.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
None
- search(*, name=None, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search for a list of credentials.
- Parameters
name (
Union
[str
,List
[str
],None
]) – Credential name, should be a string or list of string.filter (
Optional
[Dict
]) – Search filter dictionary (refer to/search-credentials
definition in the Credentials Service API for a detailed description offilter
).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of credential resources OR a namedtuple
with total number of results and list of credential resources.
- Return type
Credentials
- set_credentials(company, name, credentials, **kwargs)¶
Set a credential entry.
- Parameters
company (
str
) – Company ID.name (
str
) – Credentials name.credentials (
Dict
[str
,Any
]) – Credential dict.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
An empty json object.
Examples
>>> sdk.credentials.set_credentials( ... name="My Docker registry", ... company="507f191e810c19729de860eb", ... credentials={ ... "type": "docker", ... "login": "my_login", ... "password": "my_password", ... "registry": "mydockerregistry.com" ... } ... )
- set_labels(company, name, labels, **kwargs)¶
Set labels.
- Parameters
company (
str
) – Company ID.name (
str
) – Credentials name.labels (
Mapping
[str
,str
]) – Labels mapping of string/string.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
An empty json object.
Examples
>>> sdk.credentials.set_labels( ... name="up-42", ... company="507f191e810c19729de860eb", ... labels={ ... "type": "stac-catalog", ... "catalog": "https://api.up42.com/v2/assets/stac", ... } ... )
Crops¶
- class CropsImpl(season_planner_asset_management_api, **kwargs)¶
- create(*, company, name, **kwargs)¶
Create a crop.
- Parameters
company (
str
) – Identifier of the company.name (
str
) – crop name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A crop resource.
- Return type
- delete(crop, **kwargs)¶
Delete a crop.
- Parameters
crop (
str
) – Identifier of the crop to delete.
- describe(crop, **kwargs)¶
Describe a crop or a list of crops.
- Parameters
crop (
Union
[str
,List
[str
]]) – Identifier of the crop to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The crop description or a list of crops descriptions.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search crops.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. {
- ”_id”: {
“$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
},
}
limit (
Optional
[int
]) – Maximum number of results to extract. Default: 1000.page (
Optional
[int
]) – Page number (starting at page 0).fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Resources
- update(*, crop, name, company=None, **kwargs)¶
Update a crop.
- Parameters
crop (
str
) – Identifier of the crop.name (
str
) – crop name.company (
Optional
[str
]) – Optional identifier of the company.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A crop resource updated.
- Return type
Datasets¶
- class DatasetsImpl(data_management_api, sdk, **kwargs)¶
- add_categories(dataset, *, categories, **kwargs)¶
Add categories to the dataset.
- Parameters
dataset (
str
) – Identifier of the dataset to add categories to.categories (
List
[str
]) – Categories to add.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- create_datasets(datasets)¶
Create several datasets (bulk dataset creation).
- Parameters
datasets (
List
[dict
]) – List of dataset dictionnaries (refer to/create-datasets
definition in the Data Manager API for a detailed description ofdatasets
)- Return type
List
[Resource
]- Returns
A list of the created dataset descriptions.
Example
>>> sdk.datasets.create_datasets( ... datasets=[{'name': 'My file dataset', ... 'project': '4037636c9a406900074dc253', ... 'type': 'file', ... 'components': [{'name': 'kind_of_file'}]}, ... {'name': 'My image', ... 'type': 'image', ... 'project': '4037636c9a406900074dc253', ... 'components': [{'name': 'image'}]}]) [Resource(_id='406ee155647ec6006df3aa21'), ...]
- create_file_dataset(*, name, categories=None, company=None, project=None, mission=None, hidden=None, published=None, horizontal_srs_wkt=None, vertical_srs_wkt=None, dataset_format=None, geometry=None, properties=None, file_count=1, components=None, **kwargs)¶
Create a dataset of type
file
.One of
company
orproject
must be defined.- Parameters
name (
str
) – Name of the dataset.categories (
Optional
[Sequence
[str
]]) – Sequence of categories or None if there’s no category to set on the dataset.company (
Optional
[str
]) – Optional company identifier.project (
Optional
[str
]) – Optional project identifier.mission (
Optional
[str
]) – Optional mission identifier.hidden (
Optional
[bool
]) – Whether not to display the dataset to end-users or not.published (
Optional
[bool
]) – Whether the dataset is ready for delivery or not.horizontal_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for horizontal coordinattes in WKT format.vertical_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for vertical coordinattes in WKT format.dataset_format (
Optional
[str
]) – Optional file format.geometry (
Optional
[dict
]) – Optional geometry of the dataset.properties (
Optional
[dict
]) – Optional custom properties of the dataset.file_count (
int
) – Number of files. Default to 1. It is used to generate the component names automatically, except ifcomponents
is defined.components (
Optional
[List
[str
]]) – Optional sequence of component names. When defined,file_count
is ignored.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Resource for the created dataset.
- Return type
- create_image_dataset(*, name, categories=None, company=None, project=None, mission=None, flight=None, hidden=None, published=None, horizontal_srs_wkt=None, vertical_srs_wkt=None, dataset_format=None, geometry=None, properties=None, acquisition_date=None, width=None, height=None, sensor=None, lens=None, camera_parameters=None, reflectance_calibration_panel=None, parse_metadata=None, **kwargs)¶
Create a dataset of type
image
.One of
company
orproject
must be defined.- Parameters
name (
str
) – Name of the dataset.categories (
Optional
[Sequence
[str
]]) – Sequence of categories or None if there’s no category to set on the dataset.company (
Optional
[str
]) – Optional company identifier.project (
Optional
[str
]) – Optional project identifier.mission (
Optional
[str
]) – Optional mission identifier.flight (
Optional
[str
]) – Optional flight identifier.hidden (
Optional
[bool
]) – Whether not to display the dataset to end-users or not.published (
Optional
[bool
]) – Whether the dataset is ready for delivery or not.horizontal_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for horizontal coordinattes in WKT format.vertical_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for vertical coordinattes in WKT format.dataset_format (
Optional
[str
]) – Optional file format.geometry (
Optional
[dict
]) – Optional geometry of the dataset.properties (
Optional
[dict
]) – Optional custom properties of the dataset.acquisition_date (
Optional
[str
]) – Optional acquisition date (format:YYYY-MM-DDTHH:MM:SS.sssZ
).width (
Optional
[int
]) – Optional image width.height (
Optional
[int
]) – Optional image height.sensor (
Optional
[dict
]) – Optional sensor properties.lens (
Optional
[dict
]) – Optional lens properties.camera_parameters (
Optional
[dict
]) – Optional camera parameters description.reflectance_calibration_panel (
Optional
[dict
]) – Optional reflectance calibration panel description.parse_metadata (
Optional
[bool
]) – Optional ingestion parameter that will populate dataset attributes with parsed Exif & XMP metadata**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Resource for the created dataset.
- Return type
- create_mesh_dataset(*, name, categories=None, company=None, project=None, mission=None, hidden=None, published=None, horizontal_srs_wkt=None, vertical_srs_wkt=None, dataset_format=None, geometry=None, properties=None, texture_count=1, material_count=1, offset=None, **kwargs)¶
Create a dataset of type
mesh
.One of
company
orproject
must be defined.- Parameters
name (
str
) – Name of the dataset.categories (
Optional
[Sequence
[str
]]) – Sequence of categories or None if there’s no category to set on the dataset.company (
Optional
[str
]) – Optional company identifier.project (
Optional
[str
]) – Optional project identifier.mission (
Optional
[str
]) – Optional mission identifier.hidden (
Optional
[bool
]) – Whether not to display the dataset to end-users or not.published (
Optional
[bool
]) – Whether the dataset is ready for delivery or not.horizontal_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for horizontal coordinattes in WKT format.vertical_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for vertical coordinattes in WKT format.dataset_format (
Optional
[str
]) – Optional file format.geometry (
Optional
[dict
]) – Optional geometry of the dataset.properties (
Optional
[dict
]) – Optional custom properties of the dataset.texture_count – Number of texture files. Default to 1.
material_count – Number of materials files. Defaut to 1.
offset (
Optional
[Tuple
[float
,float
,float
]]) – Optional translation from mesh coordinates to spatial coordinates.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Resource for the created dataset.
- Return type
- create_pcl_dataset(*, name, categories=None, company=None, project=None, mission=None, hidden=None, published=None, horizontal_srs_wkt=None, vertical_srs_wkt=None, dataset_format=None, geometry=None, properties=None, **kwargs)¶
Create a dataset of type
pcl
.One of
company
orproject
must be defined.- Parameters
name (
str
) – Name of the dataset.categories (
Optional
[Sequence
[str
]]) – Sequence of categories or None if there’s no category to set on the dataset.company (
Optional
[str
]) – Optional company identifier.project (
Optional
[str
]) – Optional project identifier.mission (
Optional
[str
]) – Optional mission identifier.hidden (
Optional
[bool
]) – Whether not to display the dataset to end-users or not.published (
Optional
[bool
]) – Whether the dataset is ready for delivery or not.horizontal_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for horizontal coordinattes in WKT format.vertical_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for vertical coordinattes in WKT format.dataset_format (
Optional
[str
]) – Optional file format.geometry (
Optional
[dict
]) – Optional geometry of the dataset.properties (
Optional
[dict
]) – Optional custom properties of the dataset.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Resource for the created dataset.
- Return type
- create_raster_dataset(*, name, categories=None, company=None, project=None, mission=None, hidden=None, published=None, horizontal_srs_wkt=None, vertical_srs_wkt=None, dataset_format=None, geometry=None, properties=None, bands=None, has_projection_file=False, has_worldfile=False, has_headerfile=False, **kwargs)¶
Create a dataset of type
raster
.One of
company
orproject
must be defined.- Parameters
name (
str
) – Name of the dataset.categories (
Optional
[Sequence
[str
]]) – Sequence of categories or None if there’s no category to set on the dataset.company (
Optional
[str
]) – Optional company identifier.project (
Optional
[str
]) – Optional project identifier.mission (
Optional
[str
]) – Optional mission identifier.hidden (
Optional
[bool
]) – Whether not to display the dataset to end-users or not.published (
Optional
[bool
]) – Whether the dataset is ready for delivery or not.horizontal_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for horizontal coordinattes in WKT format.vertical_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for vertical coordinattes in WKT format.dataset_format (
Optional
[str
]) – Optional file format.geometry (
Optional
[dict
]) – Optional geometry of the dataset.properties (
Optional
[dict
]) – Optional custom properties of the dataset.bands (
Optional
[List
[dict
]]) – Option list of band properties.has_projection_file (
bool
) – Whether there is a sidecar file to define the raster projection.has_worldfile (
bool
) – Whether there is a sidecar file to georeference the raster.has_headerfile (
bool
) – Whether there is a sidecar file for envi format raster.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Resource for the created dataset.
- Return type
- create_vector_dataset(*, name, categories=None, company=None, project=None, mission=None, hidden=None, published=None, collection=None, origin=None, horizontal_srs_wkt=None, vertical_srs_wkt=None, dataset_format=None, geometry=None, properties=None, is_shape_file=False, is_archive=False, has_projection_file=False, **kwargs)¶
Create a dataset of type
vector
.When
is_archive
is True,is_shape_file
andhas_projection_file
must be False.One of
company
orproject
must be defined.- Parameters
name (
str
) – Name of the dataset.categories (
Optional
[Sequence
[str
]]) – Sequence of categories or None if there’s no category to set on the dataset.company (
Optional
[str
]) – Optional company identifier.project (
Optional
[str
]) – Optional project identifier.mission (
Optional
[str
]) – Optional mission identifier.hidden (
Optional
[bool
]) – Whether not to display the dataset to end-users or not.published (
Optional
[bool
]) – Whether the dataset is ready for delivery or not.collection (
Optional
[str
]) – Optional map-service collection to use as data source. Providing a collection isn’t compatible with settingis_shape_file
,has_projection_file
,is_archive
to True, nor settingdataset_format
.origin (
Optional
[str
]) – Optional origin vector dataset (source: data-manager) for a vector collection dataset (source: map-service).horizontal_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for horizontal coordinattes in WKT format.vertical_srs_wkt (
Optional
[str
]) – Optional geographic coordinate system for vertical coordinattes in WKT format.dataset_format (
Optional
[str
]) – Optional file format.geometry (
Optional
[dict
]) – Optional geometry of the dataset.properties (
Optional
[dict
]) – Optional custom properties of the dataset.is_shape_file (
bool
) – Whether it is an ESRI Shapefile.is_archive (
bool
) – Whether it is an archive.has_projection_file (
bool
) – Whether there is a sidecar file to define the shapes projection.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Resource for the created dataset.
- Return type
- delete(dataset, **kwargs)¶
Delete a dataset or multiple datasets.
- Parameters
dataset (
Union
[str
,List
[str
]]) – Identifier of the dataset to delete, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- delete_properties(dataset, *, properties, **kwargs)¶
Delete properties of the dataset.
- Parameters
dataset (
str
) – Identifier of the dataset whose properties to delete.properties (
List
[str
]) – Names of properties to delete.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- describe(dataset, **kwargs)¶
Describe a dataset or a list of datasets.
- Parameters
dataset (
Union
[str
,List
[str
]]) – Identifier of the dataset to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The dataset description or a list of dataset description.
- download_component(dataset, *, component, target_path=None, target_name=None, overwrite=False, md5hash=None)¶
Download the file from a component.
If the path
target_path
doesn’t exists, it is created.- Parameters
dataset (
str
) – Identifier of the dataset to download from.component (
str
) – Name of component to download from.target_path (
Optional
[str
]) – Path of directory where to save the downloaded file. Default to current directory.target_name (
Optional
[str
]) – Name of downloaded file. Default to the file name suggested by the server.overwrite – Whether to overwrite an existing file. Default to False.
md5hash (
Optional
[str
]) – Optional MD5 hash of the file to download read in binary mode and containing only hexadecimal digits. When not equal toNone
(the default), will be compared to the equivalent hash for the downloaded file.
- Raises
DownloadError – When the MD5 hash of the downloaded file doesn’t match
md5hash
.- Return type
str
- Returns
Path of the downloaded file.
- download_image_as_jpeg(dataset, target_path=None, target_name=None, overwrite=False, md5hash=None)¶
Download an image as JPEG.
If the path
target_path
doesn’t exists, it is created.- Parameters
dataset (
str
) – Identifier of the dataset to download from.target_path (
Optional
[str
]) – Path of directory where to save the downloaded file. Default to current directory.target_name (
Optional
[str
]) – Name of downloaded file. Default to the file name suggested by the server.overwrite – Whether to overwrite an existing file. Default to False.
md5hash (
Optional
[str
]) – Optional MD5 hash of the file to download read in binary mode and containing only hexadecimal digits. When not equal toNone
(the default), will be compared to the equivalent hash for the downloaded file.
- Raises
DownloadError – When the MD5 hash of the downloaded file doesn’t match
md5hash
.- Return type
str
- Returns
Path of the downloaded file.
- download_preview(dataset, kind=None, target_path=None, target_name=None, overwrite=False)¶
Download a dataset preview.
If the path
target_path
doesn’t exists, it is created.- Parameters
dataset (
str
) – Identifier of the dataset to download from.kind (
Optional
[str
]) – Size of the preview, only for datasets type image. Must be tiny or smalltarget_path (
Optional
[str
]) – Path of directory where to save the downloaded file. Default to current directory.target_name (
Optional
[str
]) – Name of downloaded file. Default to the file name suggested by the server.overwrite – Whether to overwrite an existing file. Default to False.
- Return type
str
- Returns
Path of the downloaded file.
- remove_categories(dataset, *, categories, **kwargs)¶
Remove categories from the dataset.
- Parameters
dataset (
str
) – Identifier of the dataset to remove categories from.categories (
List
[str
]) – Categories to remove.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- rename(dataset, *, name, **kwargs)¶
Rename the dataset.
- Parameters
dataset (
str
) – Identifier of the dataset to rename.name (
str
) – New name of the dataset.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- restore(dataset, **kwargs)¶
Restore a dataset or multiple datasets.
- Parameters
dataset (
Union
[str
,List
[str
]]) – Identifier of the dataset to restore, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search datasets.
- Parameters
filter (
Optional
[dict
]) – Search filter dictionary (refer to/search-datasets
definition in the Data Manager API for a detailed description offilter
).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]- Returns
A list of dataset descriptions OR a namedtuple with total number of results and list of dataset descriptions.
Examples
>>> sdk.datasets.search(filter={'name': {'$eq': 'My image'}}) [Resource(_id='5c5155ae8dcb064fcbf4ae35'), ...]
>>> sdk.datasets.search(filter={'name': {'$eq': 'My image'}}, ... return_total=True) ResourcesWithTotal( total=..., results=[Resource(_id='5c5155ae8dcb064fcbf4ae35'), ...] )
- search_generator(*, filter=None, limit=50, page=None, count=False, **kwargs)¶
Return a generator to search through datasets.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found datasets are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 0).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found datasets.
Return a URL template to share access to the tiles of the passed datasets.
- Parameters
dataset (
Union
[str
,List
[str
]]) – Identifier of the dataset, or list of such identifiers (for rasters only) to create a URL for.duration (
Optional
[int
]) – Optional duration in seconds of the created token. When equal toNone
(the default) the created token won’t expire.
- Returns
The URL template of the shared tiles.
- Return type
url
- Raises
UnsupportedResourceError – In case the dataset ingestion statuses aren’t equal to
complete
or a dataset type isn’traster
orvector
withmapservice
source, or dataset types are mixed.
- update_properties(dataset, *, properties, **kwargs)¶
Update the dataset properties.
- Parameters
dataset (
str
) – Identifier of the dataset whose properties to update.properties (
dict
) – Dictionary of properties to update.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- upload_file(dataset, *, component, file_path, md5hash=None, multipart=True, chunk_size=None)¶
Upload a file to a dataset component.
By default, it uploads directly into the storage provider, by using signed URIs. If you want to use the legacy upload method (not recommended), then change
alteia.core.resources.datamngt.uploader.USE_LEGACY_UPLOADER
toTrue
, or set env variable USE_LEGACY_UPLOADER=1 before running your script.- Parameters
dataset (
str
) – Identifier of the dataset to upload to.component (
str
) – Name of component to upload to.file_path (
Union
[str
,Path
]) – Path to the file to upload.md5hash (
Optional
[str
]) – Optional MD5 hash of the file to upload read in binary mode and containing only hexadecimal digits. Will be computed when equal to None (the default).multipart (
bool
) – Whether to upload the file using multipart upload. Default toTrue
unless the total number of part is < 2.chunk_size (
Optional
[int
]) – The size in byte of each part for a multipart upload. If file size is less than this number, multipart will not be used. The value is limited by storage provider and Data-Manager capabilities. 5MiB is the min value.
Estimations Methods¶
- class EstimationMethodsImpl(season_planner_asset_management_api, **kwargs)¶
- create(*, name, companies, input_data_requirements, crops, description=None, status=None, analytic=None, growth_stages=None, **kwargs)¶
Create an estimation-method.
- Parameters
name (
str
) – Name of the estimation method.companies (
str
) – List of companies identifiers.input_data_requirements (
dict
) –Estimation method data collection requirements. input_data_requirements:{
”sensor_type”: “hs”, “carrier_type”: “fixed-wing”, “bands”:
- [{
“name”: “string”, “full_width_half_maximum”: 0, “central_wavelength”: 0
}],
- ”gsd”: {
“value”: 0, “unit”: “m”
}, “overlap”: {
”forward”: 100, “lateral”: 100
}, “speed”: {
”value”: 0, “unit”: “m/s”
}, “ppk_rtk”: {
”use”: true
}, “calibration”: {
”use”: true
}, “gcp”: {
”type”: “none”
}}
crops (
list
) – List of associated crops identifiers.description (
Optional
[str
]) – Optional description of the estimation method.status (
Optional
[str
]) – Optional status of the estimation method,development
validated
.analytic (
Optional
[dict
]) –Optional estimation method analytic definition. That defines assessment parameters computation. analytic: {
”name”: “plant_height_for_trial_field”, “inputs_mapping”: {
”analytic_input_name”: “collection_task_deliverable_name”, “dsm_in”: “dsm”
}, “parameters”: {}, “outputs_mapping”: {
- ”analytic_deliverable_name”: {
“assessment_parameter_id1”: “deliverable_prop_name_x”, “assessment_parameter_id2”: “deliverable_prop_name_y”
}, plant_height_estimation”: {
”assessment_parameter_id3”: “deliverable_prop_name_z”
}
}, “version_range”: [
”1 (means >=1.0.0 and < 2.0.0)”, “1.x (same)”, “1.0.0 (strict contraint)”, “1.0.x (means >=1.0.0 and <1.1.0)”
]
}
growth_stages (
Optional
[list
]) – Optional list of associated growth stages identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A estimation-method resource.
- Return type
- delete(estimation_method, **kwargs)¶
Delete an estimation-method.
- Parameters
estimation_method (
str
) – Identifier of the estimation-method to delete.
- describe(estimation_method, **kwargs)¶
Describe an estimation-methods or a list of estimation-methodss.
- Parameters
estimation_method (
Union
[str
,List
[str
]]) – Identifier of the estimation-methods to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- The estimation-methods description or
a list of estimation-methodss descriptions.
- Return type
- list_deliverables_definitions(*, sensor_type, task_purpose='mapping', **kwargs)¶
List of the available deliverable definitions for an estimation method.
- Parameters
sensor_type (
str
) – Sensor type:hs
,lidar
,``ms``,``rgb``.task_purpose (
str
) – Defaultmapping
, enum:3d-modeling
,raw
- Return type
List
[dict
]- Returns
List of deliverables
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search estimation-methods.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. {
- ”_id”: {
“$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
},
}
limit (
Optional
[int
]) – Maximum number of results to extract. Default: 1000.page (
Optional
[int
]) – Page number (starting at page 0).fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Resources
- update(*, estimation_method, crops, name=None, description=None, status=None, companies=None, input_data_requirements=None, analytic=None, growth_stages=None, **kwargs)¶
Update an estimation-method.
- Parameters
estimation_method (
str
) – Identifier of the estimation-method.crops (
list
) – List of associated crops identifiers.name (
Optional
[str
]) – Optional name of the estimation method.description (
Optional
[str
]) – Optional description of the estimation method.status (
Optional
[str
]) – Optional status of the estimation method,development
validated
.companies (
Optional
[list
]) – Optional ist of companies identifiers.input_data_requirements (
Optional
[dict
]) –Optional estimation method data collection requirements. input_data_requirements:{
”sensor_type”: “hs”, “carrier_type”: “fixed-wing”, “bands”:
- [{
“name”: “string”, “full_width_half_maximum”: 0, “central_wavelength”: 0
}],
- ”gsd”: {
“value”: 0, “unit”: “m”
}, “overlap”: {
”forward”: 100, “lateral”: 100
}, “speed”: {
”value”: 0, “unit”: “m/s”
}, “ppk_rtk”: {
”use”: true
}, “calibration”: {
”use”: true
}, “gcp”: {
”type”: “none”
}}
analytic (
Optional
[dict
]) –Optional estimation method analytic definition. That defines assessment parameters computation. analytic: {
”name”: “plant_height_for_trial_field”, “inputs_mapping”: {
”analytic_input_name”: “collection_task_deliverable_name”, “dsm_in”: “dsm”
}, “parameters”: {}, “outputs_mapping”: {
- ”analytic_deliverable_name”: {
“assessment_parameter_id1”: “deliverable_prop_name_x”, “assessment_parameter_id2”: “deliverable_prop_name_y”
}, plant_height_estimation”: {
”assessment_parameter_id3”: “deliverable_prop_name_z”
}
}, “version_range”: [
”1 (means >=1.0.0 and < 2.0.0)”, “1.x (same)”, “1.0.0 (strict contraint)”, “1.0.x (means >=1.0.0 and <1.1.0)”
]
}
growth_stages (
Optional
[dict
]) – Optional list of associated growth stages identifiers.
- Returns
A estimation-method resource updated.
- Return type
Features¶
- class FeaturesImpl(features_service_api, **kwargs)¶
- add_attachments(*, feature, attachments, **kwargs)¶
Add attachments to a feature
- Parameters
feature (
str
) – Identifier of the feature.attachments (
List
[str
]) – List datasets.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- create(*, geometry=None, properties=None, collection=None, **kwargs)¶
Create a feature.
- Parameters
geometry (
Optional
[dict
]) – A dictionary following GeoJSON specification.properties (
Optional
[dict
]) – Dictionary of properties.collection (
Optional
[str
]) – Identifier of a collection to add the created feature to.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
Resource for the created feature.
- create_features(descriptions, **kwargs)¶
Create features.
- Parameters
descriptions (
Iterable
[dict
]) – List of features descriptions, each description is a dictionary with keys among arguments ofcreate()
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
List
[Resource
]- Returns
List of resource for the created features.
- delete(feature, *, permanent=False, **kwargs)¶
Delete a feature or multiple features.
- Parameters
feature (
Union
[str
,List
[str
]]) – Identifier of the feature to delete, or list of such identifiers.permanent (
bool
) – Whether to delete features permanently or not. Default to False.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- delete_feature_properties(feature, properties)¶
Delete feature properties
- Parameters
feature (
str
) – The feature id.properties (
List
[str
]) – List of properties to delete.
- Return type
- Returns
The updated feature resource.
- delete_features_properties(features_properties)¶
Delete features properties
- Parameters
features_properties (
Dict
[str
,List
[str
]]) – The dictionary key is the feature ID and its value is the list of properties to remove.- Return type
List
[Resource
]- Returns
List of updated features resources.
- describe(feature, **kwargs)¶
Describe a feature or a list of features.
- Parameters
feature (
Union
[str
,List
[str
]]) – Identifier of the feature to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The feature description or a list of feature description.
- remove_attachments(*, feature, attachments, **kwargs)¶
Remove attachments to a feature
- Parameters
feature (
str
) – Identifier of the feature.attachments (
List
[str
]) – List datasets.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- restore(feature, **kwargs)¶
Restore a feature or multiple features.
- Parameters
feature (
Union
[str
,List
[str
]]) – Identifier of the feature to restore, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search features.
- Parameters
filter (
Optional
[dict
]) – Search filter dictionary (refer to/search-features
definition in the Feature Service API for a detailed description offilter
).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]- Returns
A list of features descriptions OR a namedtuple with total number of results and list of features descriptions.
Examples
>>> sdk.features.search(filter={'collection': {'$eq': '5f5155ae8dcb064fcbf4ae35'}}) [Resource(_id='5f5155ae8dcb064fcbf4ae35'), ...]
>>> sdk.features.search(filter={'properties.name': {'$eq': 'Truck'}}, ... return_total=True) ResourcesWithTotal( total=..., results=[Resource(_id='5f5155ae8dcb064fcbf4ae35'), ...] )
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through features.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found features are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 1).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found features.
- set_geometry(feature, *, geometry, **kwargs)¶
Set the geometry of the feature.
- Parameters
feature (
str
) – Identifier of the feature whose geometry to set.geometry (
dict
) – A dictionary following GeoJSON specification.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- update_feature_properties(feature, properties)¶
Update feature properties
- Parameters
feature (
str
) – The feature id.properties (
Dict
[str
,Any
]) – The dictionary of properties to update.
- Return type
- Returns
The updated feature resource.
Fields¶
- class FieldsImpl(season_planner_asset_management_api, **kwargs)¶
- create(*, company, project, name, description=None, **kwargs)¶
Create a field.
- Parameters
company (
str
) – Identifier of the company.project (
str
) – Identifier of the project.name (
str
) – Field name.description (
Optional
[str
]) – Optional description.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A field resource.
- Return type
- delete(field, **kwargs)¶
Delete a field.
- Parameters
field (
str
) – Identifier of the field to delete.
- describe(field, **kwargs)¶
Describe a field or a list of fields.
- Parameters
field (
Union
[str
,List
[str
]]) – Identifier of the field to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The field description or a list of fields descriptions.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search fields.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. {
- ”_id”: {
“$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
},
}
limit (
Optional
[int
]) – Maximum number of results to extract. Default: 1000.page (
Optional
[int
]) – Page number (starting at page 0).fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Resources
- update(*, field, project, name, company=None, description=None, **kwargs)¶
Update a field.
- Parameters
field (
str
) – Identifier of the field.project (
str
) – Identifier of the project.name (
str
) – Field name.company (
Optional
[str
]) – Optional identifier of the company.description (
Optional
[str
]) – Optional description.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A field resource updated.
- Return type
Flights¶
- class FlightsImpl(project_manager_api, **kwargs)¶
- describe(flight, **kwargs)¶
Describe a flight or a list of flights.
- Parameters
flight (
Union
[str
,List
[str
]]) – Identifier of the flight to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The flight description or a list of flight descriptions.
- describe_uploads_status(*, flights=None, missions=None, projects=None, limit=None, page=None, return_total=False, **kwargs)¶
Describe uncompleted flights status, descending sort by flight creation date.
- Parameters
flights (
Union
[str
,List
[str
],None
]) – Optional Identifier of a flight or list of such identifiers.missions (
Union
[str
,List
[str
],None
]) – Optional Identifier of a mission or list of such identifiers.projects (
Union
[str
,List
[str
],None
]) – Optional Identifier of a project or list of such identifiers.limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 1).return_total (
bool
) – Optional Return the number of results found, defaultFalse
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]- Returns
A list of flights OR a namedtuple with total number of results and list of flights.
- search(*, filter=None, fields=None, limit=100, page=None, sort=None, return_total=False, **kwargs)¶
Search flights.
- Parameters
filter (
Optional
[dict
]) – Optional Search filter (refer to/search-flights
definition in the Project management API for a detailed description of supported operators).fields (
Optional
[dict
]) – Optional Field names to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.limit (
int
) – Optional Maximum number of results to extract (default is100
).page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
Examples
>>> # search flights by IDs (should use flights.describe() instead) >>> sdk.flights.search(filter={'_id': {'$eq': '5d6e0dcc965a0f56891f3865'}}) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...]
>>> # search flights of a wanted project (could use '$in' with an array of IDs) >>> sdk.flights.search(filter={'project': {'$eq': '41b9b3c7e6cd160006586688'}}) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...]
>>> # search flights of wanted missions >>> sdk.flights.search(filter={ ... 'mission': {'$in': ['5d6e0dcc965a0f56891f3861', '60924899669e6e0007f8d262'} ... }) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...]
>>> # search flights updated after December 15th 2021 >>> sdk.flights.search(filter={'modification_date': {'$gt': '2021-12-15T00:00:00'}}) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...]
>>> # search flights having 1000+ photos >>> sdk.flights.search(filter={'number_of_photos': {'$gte': 1000}}) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...]
>>> # search uncompleted flights of wanted mission (prefer describe_uploads_status()) >>> sdk.flights.search(filter={ ... 'status.name': {'$ne': 'completed'}, ... 'mission': {'eq': '5d6e0dcc965a0f56891f3861'}, ... }) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...]
>>> # get second page of the same search >>> sdk.flights.search(filter={...}, page=2) [Resource(_id='60924899669e6e0007f8d266'), ...]
>>> # search 400 last created flights, in 2 calls (prefer search_generator() to get all) >>> sdk.flights.search(sort={'creation_date': -1}, limit=200) [Resource(_id='5d6e0dcc965a0f56891f3865'), ...] >>> sdk.flights.search(sort={'creation_date': -1}, limit=200, page=2) [Resource(_id='60924899669e6e0007f8d266'), ...]
>>> # search flights and also get the total results >>> sdk.flights.search(filter={...}, return_total=True) ResourcesWithTotal(total=612, results=[Resource(_id='5d6e0dcc965a0f56891f3865'), ...])
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
- search_generator(*, filter=None, fields=None, limit=100, page=None, sort=None, **kwargs)¶
Return a generator to search through flights.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found flights are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
filter (
Optional
[dict
]) – Optionalfilter
dictionary fromsearch()
method.fields (
Optional
[dict
]) – Optionalfields
dictionary fromsearch()
method.limit (
int
) – Optional maximum number of results by search request (default is100
).page (
Optional
[int
]) – Optional page number to start the search at (default is 1).sort (
Optional
[dict
]) – Optionalsort
dictionary fromsearch()
method.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found flights.
Examples
>>> # get all flights matching filter by using generator >>> results_iterator = sdk.flights.search_generator(filter={...}) >>> flights = [r for r in results_iterator]
- update_bbox(flight, *, real_bbox, **kwargs)¶
Update the flight real bbox.
- Parameters
flight (
str
) – Identifier of the flight to update.real_bbox (
dict
) – GeoJSON Geometry, needstype
andcoordinates
, and an optionalbbox
with 4-numbers’s list ([minX, minY, maxX, maxY]
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated flight resource.
- Return type
Examples
>>> sdk.flights.update_bbox('5d6e0dcc965a0f56891f3865', real_bbox={ ... 'type': 'Polygon', ... 'coordinates': [[[112.5, 43.2], [112.6, 43.3], [112.7, 43.1], [112.5, 43.2]]], ... }) Flight(_id='5d6e0dcc965a0f56891f3865')
- update_geodata(flight, *, bbox=None, geometry=None, **kwargs)¶
Update the flight geo data (bbox and geometry).
- Parameters
flight (
str
) – Identifier of the flight to update.bbox (
Optional
[list
]) – Optional 4-numbers’s list ([minX, minY, maxX, maxY]
).geometry (
Optional
[dict
]) – Optional GeoJSON Geometry, needstype
andcoordinates
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated flight resource.
- Return type
- update_name(flight, *, name, **kwargs)¶
Update the flight name.
- Parameters
flight (
str
) – Identifier of the flight to update.name (
str
) – New flight name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated flight resource.
- Return type
- update_status(flight, *, status, **kwargs)¶
Update the flight status.
- Parameters
flight (
str
) – Identifier of the flight to update.status (
str
) – Upload status (one of:flying
,uploading
,temporary-blocked
,error
,completed
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated flight resource.
- Return type
- update_survey_date(flight, *, survey_date, **kwargs)¶
Update the flight survey date.
- Parameters
flight (
str
) – Identifier of the flight to update.survey_date (
str
) – Survey date (format:YYYY-MM-DD
orYYYY-MM-DDTHH:MM:SS.sssZ
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated flight resource.
- Return type
Examples
>>> sdk.flights.update_survey_date('5d6e0dcc965a0f56891f3865', ... survey_date='2021-11-28') Flight(_id='5d6e0dcc965a0f56891f3865')
Flight resource¶
- class Flight(**kwargs)¶
- __init__(**kwargs)¶
Flight resource.
- Parameters
id – Flight identifier.
name – Flight name.
survey_date – Survey date (format:
YYYY-MM-DDTHH:MM:SS.sssZ
).project – Project identifier.
mission – Mission identifier.
number_of_photos – Number of images in the flight.
created – Flight creation date.
user – Flight creation user.
- Returns
A flight resource.
- Return type
Growth Stages¶
- class GrowthStagesImpl(season_planner_asset_management_api, **kwargs)¶
- create(*, company, name, **kwargs)¶
Create a growth-stage.
- Parameters
company (
str
) – Identifier of the company.name (
str
) – growth-stage name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A growth-stage resource.
- Return type
- delete(growth_stage, **kwargs)¶
Delete a growth-stage.
- Parameters
growth_stage (
str
) – Identifier of the growth-stage to delete.
- describe(growth_stage, **kwargs)¶
Describe a growth-stage or a list of growth-stages.
- Parameters
growth_stage (
Union
[str
,List
[str
]]) – Identifier of the growth-stage to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The growth-stage description or a list of growth-stages descriptions.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search growth-stages.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. {
- ”_id”: {
“$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
},
}
limit (
Optional
[int
]) – Maximum number of results to extract. Default: 1000.page (
Optional
[int
]) – Page number (starting at page 0).fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
- update(*, growth_stage, name, company=None, **kwargs)¶
Update a growth-stage.
- Parameters
growth_stage (
str
) – Identifier of the growth-stage.name (
str
) – growth-stage name.company (
Optional
[str
]) – Optional identifier of the company.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A growth-stage resource updated.
- Return type
Missions¶
- class MissionsImpl(project_manager_api, **kwargs)¶
- compute_bbox(mission, **kwargs)¶
Perform an automatic computation of the mission’s bbox.
- Parameters
mission (
str
) – Identifier of the mission to update.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated mission resource.
- Return type
- create(*, project, survey_date, number_of_images, name=None, **kwargs)¶
Creates a mission.
Based on the number of images to attach to the mission, this function calls
create_survey()
orcreate_mission()
. If you have images, you also have to sendcoordinates
orgeometry
(not both).- Parameters
project (
str
) – Identifier of the project on which the mission is added.survey_date (
str
) – Survey date of the mission (format:YYYY-MM-DDTHH:MM:SS.sssZ
).number_of_images (
int
) – Number of images that will be uploaded.name (
Optional
[str
]) – Optional mission name.**kwargs – Optional arguments that will be merged into the mission description.
- Returns
- A tuple with the created flight and mission.
Flight = None
when the number of images is 0.
- Return type
- create_archive(mission, *, name=None, chunk_size=None, **kwargs)¶
Request to create an archive of mission’s images.
- Parameters
mission (
str
) – Identifier of the mission.name (
Optional
[str
]) – Optional name of the archive file.chunk_size (
Optional
[int
]) – Optional. Will create files with this maximum size (in MegaBytes). Refer to/create-mission-archive
definition in the Project management API to have the default chunk value.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
bool
- Returns
True if creation request is accepted, else False.
Examples
>>> sdk.missions.create_archive('5d6e0dcc965a0f56891f3861', chunk_size=2000) True
>>> sdk.missions.create_archive('5d6e0dcc965a0f56891f3861', name='my custom archive') True
- create_mission(*, project, survey_date, name=None, **kwargs)¶
Creates a mission without images.
This function is used when no image is attached to the mission. As a consequence, no flight will be created.
- Parameters
project (
str
) – Identifier of the project on which the mission is added.survey_date (
str
) – Survey date of the mission (format:YYYY-MM-DDTHH:MM:SS.sssZ
).name (
Optional
[str
]) – Optional mission name.**kwargs – Optional arguments that will be merged into the mission description.
- Returns
The created mission.
- Return type
- create_survey(*, survey_date, project, number_of_images, name=None, coordinates=None, geometry=None, area=0, **kwargs)¶
Create a survey (mission + flight).
This function is used when images will be attached to the mission. As a consequence, a flight will be created as well. The survey creation need the bounds of the mission. So, one of
coordinates
orgeometry
(not both) must be sent.- Parameters
survey_date (
str
) – Survey date (format:YYYY-MM-DDTHH:MM:SS.sssZ
).project (
str
) – Project identifier on which the survey is added.number_of_images (
int
) – Number of photos that will be uploaded.name (
Optional
[str
]) – Optional mission name.coordinates (
Optional
[List
]) – Optional Coordinates bounding the mission to create. The last coordinate of the list should be the same as the first one. Do not use withgeometry
.geometry (
Optional
[Dict
]) – Optional Geometry bounding the mission to create. The geometry must be a type “GeometryCollection” with at least one “Polygon” inside. Do not use withcoordinates
.area (
float
) – Optional survey area.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Raises
QueryError – The survey creation response is incorrect.
- Returns
A tuple with the created flight and mission.
- Return type
- delete(mission)¶
Delete a mission.
- Parameters
mission (
str
) – Identifier of the mission to delete.
- describe(mission, **kwargs)¶
Describe a mission or a list of missions.
- Parameters
mission (
Union
[str
,List
[str
]]) – Identifier of the mission to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The mission description or a list of mission descriptions.
- search(*, filter=None, fields=None, limit=100, page=None, sort=None, return_total=False, **kwargs)¶
Search missions.
- Parameters
filter (
Optional
[dict
]) – Optional Search filter (refer to/search-missions
definition in the Project management API for a detailed description of supported operators).fields (
Optional
[dict
]) – Optional Field names to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.limit (
int
) – Optional Maximum number of results to extract (default is100
).page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
Examples
>>> # search missions with name exacty equals to 'my mission' >>> sdk.missions.search(filter={'name': {'$eq': 'my mission'}}) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...]
>>> # search missions having 'my' in their name (case-insensitive) >>> sdk.missions.search(filter={'name': {'$match': 'my'}}) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...]
>>> # search missions by IDs (should use missions.describe() instead) >>> sdk.missions.search(filter={'_id': {'$eq': '5d6e0dcc965a0f56891f3861'}}) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...]
>>> # search missions of a wanted project (could use '$in' with an array of IDs) >>> sdk.projects.search(filter={'project': {'$eq': '41b9b3c7e6cd160006586688'}}) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...]
>>> # search missions related to some flights >>> sdk.projects.search(filter={ ... 'flights': {'$in': ['628a73655029ff0006efe596', '628a73655029ff0006efe597'} ... }) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # search missions updated after December 15th 2021 >>> sdk.missions.search(filter={'modification_date': {'$gt': '2021-12-15T00:00:00'}}) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...]
>>> # search missions with a survey date between September and December 2021 >>> sdk.missions.search(filter={ ... 'survey_date': {'$gte': '2021-09-01T00:00:00', '$lt': '2022-01-01T00:00:00'} ... }) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...]
>>> # get second page of the same search >>> sdk.missions.search(filter={...}, page=2) [Resource(_id='60924899669e6e0007f8d262'), ...]
>>> # search 400 last created missions, in 2 calls (prefer search_generator() to get all) >>> sdk.missions.search(sort={'creation_date': -1}, limit=200) [Resource(_id='5d6e0dcc965a0f56891f3861'), ...] >>> sdk.missions.search(sort={'creation_date': -1}, limit=200, page=2) [Resource(_id='60924899669e6e0007f8d262'), ...]
>>> # search missions and also get the total results >>> sdk.missions.search(filter={...}, return_total=True) ResourcesWithTotal(total=612, results=[Resource(_id='5d6e0dcc965a0f56891f3861'), ...])
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
- search_generator(*, filter=None, fields=None, limit=100, page=None, sort=None, **kwargs)¶
Return a generator to search through missions.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found missions are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
filter (
Optional
[dict
]) – Optionalfilter
dictionary fromsearch()
method.fields (
Optional
[dict
]) – Optionalfields
dictionary fromsearch()
method.limit (
int
) – Optional maximum number of results by search request (default is100
).page (
Optional
[int
]) – Optional page number to start the search at (default is 1).sort (
Optional
[dict
]) – Optionalsort
dictionary fromsearch()
method.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found missions.
Examples
>>> # get all missions matching filter by using generator >>> results_iterator = sdk.missions.search_generator(filter={...}) >>> missions = [r for r in results_iterator]
- update_bbox(mission, *, real_bbox, **kwargs)¶
Update the mission real bbox.
- Parameters
mission (
str
) – Identifier of the mission to update.real_bbox (
dict
) – GeoJSON Geometry, needstype
andcoordinates
, and an optionalbbox
with 4-numbers’s list ([minX, minY, maxX, maxY]
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated mission resource.
- Return type
Examples
>>> sdk.missions.update_bbox('5d6e0dcc965a0f56891f3861', real_bbox={ ... 'type': 'Polygon', ... 'coordinates': [[[112.5, 43.2], [112.6, 43.3], [112.7, 43.1], [112.5, 43.2]]], ... }) Mission(_id='5d6e0dcc965a0f56891f3861')
- update_geometry(mission, *, geometry, **kwargs)¶
Update the mission geometry.
- Parameters
mission (
str
) – Identifier of the mission to update.geometry (
dict
) – GeoJSON Geometry format, needstype
andcoordinates
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated mission resource.
- Return type
- update_name(mission, *, name, **kwargs)¶
Update the mission name.
- Parameters
mission (
str
) – Identifier of the mission to update.name (
str
) – New mission name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated mission resource.
- Return type
- update_survey_date(mission, *, survey_date, **kwargs)¶
Update the mission survey date.
- Parameters
mission (
str
) – Identifier of the mission to update.survey_date (
str
) – Survey date (format:YYYY-MM-DD
orYYYY-MM-DDTHH:MM:SS.sssZ
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated mission resource.
- Return type
Examples
>>> sdk.missions.update_survey_date('5d6e0dcc965a0f56891f3861', ... survey_date='2021-11-28') Mission(_id='5d6e0dcc965a0f56891f3861')
Mission resource¶
- class Mission(**kwargs)¶
- __init__(**kwargs)¶
Mission resource.
- Parameters
id – Mission identifier.
name – Mission name.
project – Project identifier.
survey_date – Survey date (format:
YYYY-MM-DDTHH:MM:SS.sssZ
).flights – List of flight identifiers.
geometry – Mission geometry.
created – Mission creation date (format:
YYYY-MM-DDTHH:MM:SS.sssZ
).user – Mission creation user.
modification_date – Mission last modification date (format:
YYYY-MM-DDTHH:MM:SS.sssZ
).modification_user – Mission last modification user.
real_bbox – Mission bounding box.
- Returns
A mission resource.
- Return type
Pilots¶
- class PilotsImpl(asset_management_api, **kwargs)¶
- create(*, user, teams, carrier_models=None, sensor_models=None, **kwargs)¶
Create a pilot.
- Parameters
user (
str
) – Identifier of the user.teams (
List
[str
]) – List of identifiers of the team.carrier_models (
Optional
[List
[str
]]) – Optional List of identifiers of carrier models.sensor_models (
Optional
[List
[str
]]) – Optional List of identifiers of sensor models.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A pilot resource.
- Return type
- delete(pilot, **kwargs)¶
Delete a pilot.
- Parameters
sensor – Identifier of the pilot to delete.
- describe(pilot, **kwargs)¶
Describe a pilot or list of pilots.
- Parameters
pilot (
Union
[str
,List
[str
]]) – Identifier of the pilot to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A pilot resource or a list of pilot resources.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search pilots.
- Parameters
filter (
Optional
[dict
]) – Search filter (refer to/search-pilots
definition in data capture management API for a detailed description of supported operators).limit (
Optional
[int
]) – Optional Maximum number of results to extract.fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
- update(*, pilot, teams=None, carrier_models=None, sensor_models=None, **kwargs)¶
Update a pilot.
- Parameters
pilot (
str
) – Identifier of the pilot.teams (
Optional
[List
[str
]]) – List of identifiers of the team.carrier_models (
Optional
[List
[str
]]) – Optional List of identifiers of carrier models.sensor_models (
Optional
[List
[str
]]) – Optional List of identifiers of sensor models.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A pilot updated.
- Return type
Products¶
- class ProductsImpl(analytics_service_api, **kwargs)¶
- cancel(product)¶
Cancel a running Analytics product.
- Parameters
product (
str
) – Identifier of the product to cancel.- Return type
- Returns
The product description.
- Raises
ResponseError – When the
product
identifier is incorrect or has not been found.
- describe(product, **kwargs)¶
Describe an Analytics product.
- Parameters
product (
str
) – Identifier of the product to describe.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The product description.
- Raises
ResponseError – When the
product
identifier is incorrect or has not been found.
- follow_logs(product, **kwargs)¶
Follow logs for a product through a generator.
- The function returns when the product status is either
available
, failed
orrejected
.
- Parameters
product (
str
) – Identifier of the product.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[ProductLog
,None
,None
]- Returns
A generator yielding each log entry chronologically.
- The function returns when the product status is either
- retrieve_logs(product, **kwargs)¶
Retrieve logs for a product (sorted chronogically).
- Parameters
product (
str
) – Identifier of the product.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A namedtuple with total number of log entries
and the list of product logs.
- Return type
Logs
- search(*, project=None, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search for Analytics products.
- Parameters
project (
Optional
[str
]) – Optional Project identifier.filter (
Optional
[Dict
]) – Search filter dictionary (refer to/search-products
definition in the Analytics-service API for a detailed description offilter
).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of product resources OR a namedtuple
with total number of results and list of product resources.
- Return type
Products
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through products.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found products are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 0).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found products.
Projects¶
- class ProjectsImpl(project_manager_api, **kwargs)¶
- compute_bbox(project, **kwargs)¶
Perform an automatic computation of the project’s bbox.
- Parameters
project (
str
) – Identifier of the project to update.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
- create(name, company, geometry=None, **kwargs)¶
Create a project.
- Parameters
name (
str
) – Project name.company (
str
) – Company identifier.geometry (
Optional
[dict
]) – Optional project geometry.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Raises
QueryError – The project creation response is incorrect.
- Returns
A resource encapsulating the created project.
- Return type
- delete(project)¶
Delete the specified Project.
- Parameters
project (
str
) – Identifier of the project to delete.- Return type
None
- describe(project, **kwargs)¶
Describe a project or a list of projects.
- Parameters
project (
Union
[str
,List
[str
]]) – Identifier of the project to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The project description or a list of project descriptions.
- search(*, filter=None, fields=None, limit=100, page=None, sort=None, return_total=False, **kwargs)¶
Search projects.
- Parameters
filter (
Optional
[dict
]) – Optional Search filter (refer to/search-projects
definition in the Project management API for a detailed description of supported operators).fields (
Optional
[dict
]) – Optional Field names to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.limit (
int
) – Optional Maximum number of results to extract (default is100
).page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
Examples
>>> # search projects with name exacty equals to 'my project' >>> sdk.projects.search(filter={'name': {'$eq': 'my project'}}) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # search projects having 'my' in their name (case-insensitive) >>> sdk.projects.search(filter={'name': {'$match': 'my'}}) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # search projects having 'my' in their name or place name or tags (case-insensitive) >>> sdk.projects.search(filter={'search': {'$match': 'my'}}) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # search projects by IDs (should use projects.describe() instead) >>> sdk.projects.search(filter={'_id': {'$eq': '5d6e0dcc965a0f56891f3860'}}) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # search projects of a wanted company (could use '$in' with an array of IDs) >>> sdk.projects.search(filter={'company': {'$eq': '41b9b3c7e6cd160006586688'}}) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # search projects updated after December 15th 2021 >>> sdk.projects.search(filter={'modification_date': {'$gt': '2021-12-15T00:00:00'}}) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...]
>>> # get second page of the same search >>> sdk.projects.search(filter={...}, page=2) [Resource(_id='60924899669e6e0007f8d261'), ...]
>>> # search 400 first projects sorted by name ascending, in 2 calls >>> sdk.projects.search(sort={'name': 1}, limit=200) [Resource(_id='5d6e0dcc965a0f56891f3860'), ...] >>> sdk.projects.search(sort={'name': 1}, limit=200, page=2) [Resource(_id='60924899669e6e0007f8d261'), ...]
>>> # search projects and also get the total results >>> sdk.projects.search(filter={...}, return_total=True) ResourcesWithTotal(total=940, results=[Resource(_id='5d6e0dcc965a0f56891f3860'), ...])
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
- search_generator(*, filter=None, fields=None, limit=100, page=None, sort=None, **kwargs)¶
Return a generator to search through projects.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found projects are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
filter (
Optional
[dict
]) – Optionalfilter
dictionary fromsearch()
method.fields (
Optional
[dict
]) – Optionalfields
dictionary fromsearch()
method.limit (
int
) – Optional maximum number of results by search request (default is100
).page (
Optional
[int
]) – Optional page number to start the search at (default is 1).sort (
Optional
[dict
]) – Optionalsort
dictionary fromsearch()
method.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found projects.
Examples
>>> # get all projects matching filter by using generator >>> results_iterator = sdk.projects.search_generator(filter={...}) >>> projects = [r for r in results_iterator]
- update_bbox(project, *, real_bbox, **kwargs)¶
Update the project real bbox.
- Parameters
project (
str
) – Identifier of the project to update.real_bbox (
dict
) – GeoJSON Geometry, needstype
andcoordinates
, and an optionalbbox
with 4-numbers’s list ([minX, minY, maxX, maxY]
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
Examples
>>> sdk.projects.update_bbox('5d6e0dcc965a0f56891f3860', real_bbox={ ... 'type': 'Polygon', ... 'coordinates': [[[112.5, 43.2], [112.6, 43.3], [112.7, 43.1], [112.5, 43.2]]], ... }) Project(_id='5d6e0dcc965a0f56891f3860')
- update_geometry(project, *, geometry, **kwargs)¶
Update the project geometry.
- Parameters
project (
str
) – Identifier of the project to update.geometry (
dict
) – GeoJSON Geometry format, needstype
andcoordinates
.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
- update_local_coordinates_dataset(project, *, dataset, **kwargs)¶
Update the local coordinates dataset of a project.
- Parameters
project (
str
) – Identifier of the project to update.dataset (
str
) – Dataset identifier of the local coordinates file.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
- update_location(project, *, location=None, fixed=None, **kwargs)¶
Update the project’s location, set if the project’s location is fixed. Or both updates.
- Parameters
project (
str
) – Identifier of the project to update.location (
Optional
[List
[float
]]) – Optional Location in WGS84: (format:[Longitude, Latitude]
).None
to not change this parameter.fixed (
Optional
[bool
]) – Optional Flag to indicate if the location value will be fixed or not.True
if you want to fix the position.False
to let the location automatically updated in the future.None
to not change this parameter. Default: None.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
Examples
>>> # fix a location of a project. It will not change automatically. >>> sdk.projects.update_location('5d6e0dcc965a0f56891f3861', ... location=[-118.254, 46.95], ... fixed=True) Project(_id='5d6e0dcc965a0f56891f3861') >>> # Remove fixed location of a project. It will change automatically. >>> sdk.projects.update_location('3037636c9a416900074ac253', ... fixed=None) Project(_id='3037636c9a416900074ac253')
- update_name(project, *, name, **kwargs)¶
Update the project name.
- Parameters
project (
str
) – Identifier of the project to update.name (
str
) – New project name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
- update_srs(project, *, horizontal_srs_wkt=None, vertical_srs_wkt=None, **kwargs)¶
Update the SRS of a project. Horizontal or Vertical or both.
- Parameters
project (
str
) – Identifier of the project to update.horizontal_srs_wkt (
Optional
[str
]) – Optional WKT of horizontal SRS.vertical_srs_wkt (
Optional
[str
]) – Optional WKT of vertical SRS.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
- update_status(project, status)¶
Update the project status.
- Parameters
project (
str
) – Identifier of the project to update.status (
str
) – Project status (pending
,available
,failed
,maintenance
).
- Raises
ResponseError – When the project has not been found.
RuntimeError – The passed status is not allowed.
- Returns
Updated project resource.
- Return type
- update_units(project, *, units, **kwargs)¶
Update the units of a project.
- Parameters
project (
str
) – Identifier of the project to update.units (
dict
) – Dictionary of different types of units (“distances”, “surfaces”, “volumes”, “altitude”, “gsd”, “weight”, “slope”).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
Updated project resource.
- Return type
Examples
>>> sdk.projects.update_units('3037636c9a416900074ac253', units={ ... 'distances': 'feet', ... 'surfaces': 'square-feet', ... 'volumes': 'cubic-feet', ... 'altitude': 'feet', ... 'gsd': 'inch/pixel', ... 'weight': 'metric-tons', ... 'slope': 'percent', ... }) Project(_id='3037636c9a416900074ac253')
Project resource¶
- class Project(**kwargs)¶
- __init__(**kwargs)¶
Project resource.
- Parameters
id – Project identifier.
name – Project name.
geometry – Project geometry.
industry – Project industry.
created – Project creation date (format:
YYYY-MM-DDTHH:MM:SS.sssZ
).company – Project’s company identifier.
missions – Project’s mission identifiers.
user – Project creation user.
modification_date – Project last modification date (format:
YYYY-MM-DDTHH:MM:SS.sssZ
).modification_user – Project last modification user.
real_bbox – Project bounding box.
place_name – Project place name.
- Returns
A project resource.
- Return type
Season Planner Missions¶
- class SeasonPlannerMissionsImpl(season_planner_trial_management_api, **kwargs)¶
- add_mission_to_trial(*, trial, name, start_date=None, end_date=None, description=None, estimation_methods=None, growth_stages_range=None, **kwargs)¶
Create a new mission on the specified trial.
The created mission will have the company of the trial.
- Parameters
trial (
str
) – Trial identifier.name (
str
) – name of the mission.start_date (
Optional
[str
]) – Optional start date range2019-08-24T14:15:22Z
.end_date (
Optional
[str
]) – Optional end date range2019-08-24T14:15:22Z
.description (
Optional
[str
]) – Optional description of the mission.estimation_methods (
Optional
[list
]) – Optional estimation methods linked to the mission.growth_stages_range (
Optional
[dict
]) –Optional growth stages associated to a mission. {
”from”: “5f031dd9a6f7f53d73962efb”, “to”: “5f031dd9a6f7f53d73962efb”
}
- Returns
A trial resource.
- Return type
- delete(mission, **kwargs)¶
Delete a mission.
- Parameters
mission (
str
) – Identifier of the mission to delete.
- describe(mission, **kwargs)¶
Describe a mission.
- Parameters
mission (
Union
[str
,List
[str
]]) – Identifier of the mission to describe, or list of such identifiers.- Returns
- The mission description
or a list of mission descriptions.
- Return type
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search missions.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. ``”_id”: {
”$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
}, “trial”: {
”$eq”: “string”
},
}``
limit (
Optional
[int
]) – Optional Maximum number of results to extract. Default: 5000.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A list of mission resources.
- Return type
Resources
- update_mission(*, mission, name, start_date=None, end_date=None, description=None, estimation_methods=None, growth_stages_range=None, **kwargs)¶
Update a mission.
- Parameters
mission (
str
) – Mission identifier.name (
str
) – name of the mission.start_date (
Optional
[str
]) – Optional start date range2019-08-24T14:15:22Z
.end_date (
Optional
[str
]) – Optional end date range2019-08-24T14:15:22Z
.description (
Optional
[str
]) – Optional description of the mission.estimation_methods (
Optional
[list
]) – Optional estimation methods linked to the mission.growth_stages_range (
Optional
[dict
]) –Optional growth stages associated to a mission. {
”from”: “5f031dd9a6f7f53d73962efb”, “to”: “5f031dd9a6f7f53d73962efb”
}
- Returns
A mission resource.
- Return type
Sensors¶
- class SensorsImpl(asset_management_api, **kwargs)¶
- create(*, sensor_model, team, serial_number, firmware=None, comment=None, **kwargs)¶
Create a sensor.
- Parameters
sensor_model (
str
) – Identifier of the sensor model.team (
str
) – Identifier of the team.serial_number (
str
) – Serial number of the sensor.firmware (
Optional
[str
]) – Optional firmware.comment (
Optional
[str
]) – Optional comment.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A sensor resource.
- Return type
- delete(sensor, **kwargs)¶
Delete a sensor.
- Parameters
sensor (
str
) – Identifier of the sensor to delete.
- describe(sensor, **kwargs)¶
Describe a sensor or a list of sensors.
- Parameters
sensor (
Union
[str
,List
[str
]]) – Identifier of the sensor to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The sensor description or a list of sensors descriptions.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search sensors.
- Parameters
filter (
Optional
[dict
]) – Search filter (refer to/search-sensors
definition in data capture management API for a detailed description of supported operators).limit (
Optional
[int
]) – Optional Maximum number of results to extract.fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
Sensors Models¶
- class SensorsModelsImpl(asset_management_api, **kwargs)¶
- create(*, name, maker, type, company=None, weight=None, lens_type=None, width=None, height=None, focal_length=None, pixel_size=None, principal_point=None, distortion=None, bands=None, **kwargs)¶
Create a sensor model.
- Parameters
name (
str
) – sensor model name.maker (
str
) – Maker name.type (
str
) – Model type,rgb
,ms
,hs
,lidqar –
thermal. –
company (
Optional
[str
]) – Optional identifier of the company.weight (
Optional
[dict
]) – Optional unloaded weight.{ value: weight, unit: unit (g, kg) }
.lens_type (
Optional
[str
]) – Optional sensor lens type,perspective
orfisheye
.width (
Optional
[str
]) – Optional sensor width.height (
Optional
[str
]) – Optional sensor height.focal_length (
Optional
[float
]) – Optional sensor focal length.pixel_size (
Optional
[float
]) – Optional sensor pixel size.principal_point (
Optional
[list
]) – Optional sensor principal point.distortion (
Optional
[dict
]) – Optional sensor distortion.bands (
Optional
[list
]) –Optional sensor bands. ``[
- {
“name”: “string”, “full_width_half_maximum”: 0, “central_wavelength”: 0 }
]``
**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A sensor model resource.
- Return type
- delete(sensor_model, **kwargs)¶
Delete a sensor model.
- Parameters
sensor_model (
str
) – sensor model to delete.
- describe(sensor_models, **kwargs)¶
Describe a sensor model or a list of sensor models.
- Parameters
sensor_models (
Union
[str
,List
[str
]]) – Identifier of the sensor model to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- The sensor model description
or a list of sensor model descriptions.
- Return type
- search(*, filter=None, limit=None, fields=None, page=None, sort=None, return_total=False, **kwargs)¶
Search sensor models.
- Parameters
filter (
Optional
[dict
]) – Search filter (refer to/search-sensor-model
definition in data capture management API for a detailed description of supported operators).limit (
Optional
[int
]) – Optional Maximum number of results to extract.fields (
Optional
[dict
]) – Optional properties to include or exclude from the response.{"include: ["name", "creation_date"]}
{"exclude: ["name", "creation_date"]}
Do not use both include and exclude.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Resources: A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]
Teams¶
- class TeamsImpl(asset_management_api, **kwargs)¶
- create(*, company, name, leader=None, **kwargs)¶
Create a team.
- Parameters
company (
str
) – Identifier of the company.name (
str
) – Team name.leader (
Optional
[str
]) – Optional team leader (pilot id).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A team resource.
- Return type
- delete(team, **kwargs)¶
Delete a team.
- Parameters
team (
str
) – Identifier of the team to delete.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
None
- describe(team, **kwargs)¶
Describe a team or list of teams.
- Parameters
team (
Union
[str
,List
[str
]]) – Identifier of the team to describe, or list of such identifiers.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A team resource or a list of team resources.
- Return type
- rename(team, name, **kwargs)¶
Rename a team.
- Parameters
team (
str
) – Identifier of the team.name (
str
) – New name.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The updated team resource.
- Return type
- search(*, filter=None, limit=None, page=None, sort=None, **kwargs)¶
Search teams.
- Parameters
filter (
Optional
[dict
]) – Search filter dictionary.limit (
Optional
[int
]) – Maximum number of results to extract.page (
Optional
[int
]) – Page number (starting at page 0).sort (
Optional
[dict
]) – Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A list of team resources.
- Return type
Resources
- set_leader(team, *, leader, **kwargs)¶
Set the team leader.
- Parameters
team (
str
) – Identifier of the team.leader (
str
) – Identifier of the pilot to promote to leader.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
The updated team resource.
- Return type
Trials¶
- class TrialsImpl(season_planner_trial_management_api, **kwargs)¶
- create(*, field, name, crop, comment=None, season=None, location=None, missions=None, links=None, custom_id=None, **kwargs)¶
Create a trial.
- Parameters
field (
str
) – Field identifiername (
str
) – Field name.crop (
str
) – Crop identifier.comment (
Optional
[str
]) – Optional comment.season (
Optional
[str
]) – The year of the trial (format:YYYY-MM-DDTHH:MM:SS.sssZ
).location (
Optional
[dict
]) –Optional location ``{ “crs”: {
}, “type”: “Feature”, “geometry”: {
“type”: “Polygon”, “coordinates”: [
- [
- [
-1.201407, 44.154277, 0
], [
-1.200717, 44.155139, 0
], [
-1.202496, 44.155113, 0
], [
-1.201407, 44.154277, 0
]
]
], “bbox”: [
-1.140019, 44.154956, -1.136312, 44.157271
]
}}``
missions (
Optional
[List
]) –Optional missions will be added to the trial and returned in the response. ``[
- {
“name”: “string”, “start_date”: “2019-08-24T14:15:22Z”, “end_date”: “2019-08-24T14:15:22Z”, “description”: “string”, “estimation_methods”: [
”5f02f308a6f7f53d73962efa”
], “growth_stages_range”: {
”from”: “5f031dd9a6f7f53d73962efb”, “to”: “5f031dd9a6f7f53d73962efb”
}
}
]``
links (
Optional
[List
]) – Optional trials linked to this trial. Linked trials must all have the same field.custom_id (
Optional
[str
]) – Optional custom id.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A trial resource.
- Return type
- delete(trial, **kwargs)¶
Delete a trial.
- Parameters
trial (
str
) – trial to delete.
- describe(trial, **kwargs)¶
Describe a trial.
- Parameters
trial (
Union
[str
,List
[str
]]) – Identifier of the trial to describe, or list of such identifiers.- Returns
- The trial description
or a list of trial descriptions.
- Return type
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search trials.
- Parameters
filter (
Optional
[dict
]) –Search filter dictionary. ``”_id”: {
”$eq”: “string”
}, “company”: {
”$eq”: “string”
}, “creation_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “modification_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “deletion_date”: {
”$eq”: “2019-08-24T14:15:22Z”
}, “name”: {
”$eq”: “string”
}, “field”: {
”$eq”: “string”
}, “crop”: {
”$eq”: “string”
}, “season”: {
”$eq”: “2019-08-24T14:15:22Z”
}
}``
limit (
Optional
[int
]) – Optional Maximum number of results to extract. Default: 5000.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A list of trial resources.
- Return type
Resources
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through trials.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found trials are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 0).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found trials.
- set_dtm_dataset_on_trial(*, trial, dataset, **kwargs)¶
Set trial DTM dataset on a trial
- Parameters
trial (
str
) – Trial identifier.dataset (
str
) – Dataset identifier.
- Returns
A trial resource.
- Return type
- set_plots_on_trial(*, trial, plots, **kwargs)¶
Set plots or microplots on a trial
- Parameters
trial (
str
) – Trial identifier.plots (
dict
) –The (micro-)plots be added to the trial. ``{
- ”location”: {
- “crs”: {
“type”: “name”, “properties”: {
”name”: “urn:ogc:def:crs:OGC:1.3:CRS84”
}
}, “type”: “Feature”, “geometry”: {
”type”: “Polygon”, “coordinates”: [
- [
- [
-1.201407, 44.154277, 0
], [
-1.200717, 44.155139, 0
], [
-1.202496, 44.155113, 0
], [
-1.201407, 44.154277, 0
]
],
],
- ”bbox”: [
-1.140019, 44.154956, -1.136312, 44.157271
] },
”id”: 0, “properties”: { } }, “name”: “string”
}``
- Returns
A trial resource.
- Return type
- update(trial, field, crop, name=None, comment=None, season=None, location=None, links=None, custom_id=None, **kwargs)¶
Update a trial.
- Parameters
trail – Trial identifier.
field (
str
) – Field identifier.crop (
str
) – Crop identifier.name (
Optional
[str
]) – Field name.comment (
Optional
[str
]) – Optional comment.season (
Optional
[str
]) – The year of the trial (format:YYYY-MM-DDTHH:MM:SS.sssZ
).location (
Optional
[dict
]) –Optional location ``{ “crs”: {
}, “type”: “Feature”, “geometry”: { “type”: “Polygon”, “coordinates”: [
- [
- [
-1.201407, 44.154277, 0
], [
-1.200717, 44.155139, 0
], [
-1.202496, 44.155113, 0
], [
-1.201407, 44.154277, 0
]
]
], “bbox”: [
-1.140019, 44.154956, -1.136312, 44.157271
]
}}``
links (
Optional
[List
]) – Optional trials linked to this trial. Linked trials must all have the same field.custom_id (
Optional
[str
]) – Optional custom id.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
A trial resource.
- Return type
Users¶
- class UsersImpl(auth_api, **kwargs)¶
- describe(user=None, **kwargs)¶
Describe a user.
- Parameters
user (
Optional
[str
]) – User identifier to describe.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
User resource.
- Return type
User
- search(*, filter=None, limit=None, page=None, sort=None, return_total=False, **kwargs)¶
Search users.
- Parameters
filter (
Optional
[dict
]) – Search filter (refer to/search-users
definition in the User and company management API for a detailed description of supported operators).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 1).sort (
Optional
[dict
]) – Optional. Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).return_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Returns
- A list of resources OR a namedtuple
with total number of results and list of resources.
- Return type
Resources
- search_generator(*, filter=None, limit=50, page=None, **kwargs)¶
Return a generator to search through users.
The generator allows the user not to care about the pagination of results, while being memory-effective.
Found users are sorted chronologically in order to allow new resources to be found during the search.
- Parameters
page (
Optional
[int
]) – Optional page number to start the search at (default is 1).filter (
Optional
[dict
]) – Search filter dictionary.limit (
int
) – Optional maximum number of results by search request (default to 50).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Generator
[Resource
,None
,None
]- Returns
A generator yielding found users.
Datastream template¶
- class DatastreamTemplateImpl(dataflow_service_api, **kwargs)¶
- create(*, name, source, import_dataset, **kwargs)¶
Create a datastream template.
- Parameters
name (
str
) – Datastream template name.source (
Dict
) – Storage source.import_dataset (
Dict
) –dataset parameter, information for the creating of dataset.
type: dataset type(pcl, file, image, raster, maesh, vector)
- categories: Sequence of categories or None if there’s no
category to set on the dataset.
- horizontal_srs_wkt: Optional geographic coordinate system
for horizontal coordinattes in WKT format.
ingestion: ingestion parameters
**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
- Returns
The created datastream template description.
Examples
>>> sdk.datastreamtemplates.create( ... name="My datastream template", ... source= {"type":"object-storage"}, ... import_dataset= {"dataset_parameters": ... { ... "type": "pcl", ... "categories": [], ... "horizontal_srs_wkt": 'PROJCS["WGS 84 / UTM zone 31N",GEOGCS["WGS 84", ... DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563, ... AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]], ... PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]], ... UNIT["degree",0.0174532925199433, ... AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]], ... PROJECTION["Transverse_Mercator"], ... PARAMETER["latitude_of_origin",0], ... PARAMETER["central_meridian",3], ... PARAMETER["scale_factor",0.9996], ... PARAMETER["false_easting",500000], ... PARAMETER["false_northing",0], ... UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST], ... AXIS["Northing",NORTH],AUTHORITY["EPSG","32631"]]', ... "ingestion": {"parameters": {"compute_boundary": True}}, ... } ... }, ... contextualisation= { ... "type": "geographic", ... "parameters": { ... "assets_schema_repository": "My Asset Repository", ... "geographic_buffer": 50, ... "schemas": [ ... { ... "assets_schema": "My_asset", ... "assets_schema_property_name": "My asset property, ... "geographic_buffer": 150, ... } ... ], ... }, ... }, ... transform= { ... "analytic": { ... "name": "datastream", ... "version_range": "XXX YYY", ... "inputs_mapping": {}, ... "parameters": {}, ... "outputs_mapping": "", ... }, ... }, ... "aggregate": {"type": "", "parameters": {}, "strategy": {}}, ... "company": "XXX" ... "description": "My datastream description", ... ) Resource(_id='5e5155ae8dcb064fcbf4ae35')
- delete(template)¶
Delete a datastream template entry.
- Parameters
template (
str
) – datastream template identifier.- Return type
None
- describe(*, template)¶
Describe a datastream template.
- Parameters
templates – Identifier of the datastream template to describe.
- Return type
- Returns
The datastream template description.
- describes(*, templates)¶
Describe datastream templates.
- Parameters
templates (
List
[str
]) – List of such identifiers.- Return type
List
[Resource
]- Returns
A list of datastream template description.
- search(*, filter=None, limit=None, page=None, sort=None, exclude=None, return_total=False, **kwargs)¶
Search for a list of datastream templates.
- Parameters
company – Company id.
filter (
Optional
[Dict
]) – Search filter dictionary (refer to/search-datastream-templates
definition in the Datastream Service API for a detailed description offilter
).limit (
Optional
[int
]) – Optional Maximum number of results to extract.page (
Optional
[int
]) – Optional Page number (starting at page 0).sort (
Optional
[dict
]) – Optional Sort the results on the specified attributes (1
is sorting in ascending order,-1
is sorting in descending order).exclude (
Optional
[List
[str
]]) – The properties to exclude from the responsereturn_total (
bool
) – Optional. Change the type of return: IfFalse
(default), the method will return a limited list of resources (limited bylimit
value). IfTrue
, the method will return a namedtuple with the total number of all results, and the limited list of resources.**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
- Return type
Union
[ResourcesWithTotal
,List
[Resource
]]- Returns
- A list of datastream template resources OR a namedtuple
with total number of results and list of datastream template resources.
Comments¶
Create a comment.
text (
str
) – Comment content.project (
str
) – Identifier of project to comment.type (
str
) – Comment type (must be one ofproject
,annotation
,flight
,photo
,dataset
,feature
,gcp
,task
).target (
Optional
[str
]) – Optional identifier of the target.flight (
Optional
[str
]) – Optional identifier of the flight (mandatory when the comment type isphoto
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
The created comment.
Resource
Examples
Mark all the comments of a target or project as read.
project (
str
) – Identifier of project.type (
Optional
[str
]) – Optional comment type (must be one ofproject
,annotation
,flight
,photo
,dataset
,feature
,gcp
,task
).target (
Optional
[str
]) – Optional identifier of the target.flight (
Optional
[str
]) – Optional identifier of the flight (mandatory when the comment type isphoto
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
Examples
None
Search for comments.
When searching for comments on a photo. Both the
flight
id andtarget
id must be supplied.project (
str
) – Identifier of the project.type (
Optional
[str
]) – Optional comment type (must be one ofproject
,annotation
,flight
,photo
,dataset
,feature
,gcp
,task
).target (
Optional
[str
]) – Optional identifier of the target.flight (
Optional
[str
]) – Optional identifier of the flight (mandatory when the comment type isphoto
).**kwargs – Optional keyword arguments. Those arguments are passed as is to the API provider.
The found comments.
Resources
Examples