API Calls
1. Description
Once you have completed the steps in the introduction to the SDK for Developers article, you're ready to use the SDK. Below is a list of the possible command lines with their intended use. For additional information on each call, see the API reference documentation.
2. List of commands
Get all the projects available
>>> projects = sdk.projects.search(limit=100)
Get the missions of a project
>>> my_project = sdk.projects.search(filter={'name': {'$eq': 'My_project'}})[0]
>>> missions = sdk.missions.search(filter={'project': {'$eq': my_project.id}})
Search for datasets related to a mission
>>> my_mission = missions[0]
>>> datasets = sdk.datasets.search(filter={'mission': {'$eq': my_mission.id}})
Explore the dataset properties
To print some properties of a dataset:
>>> my_dataset = datasets[0]
>>> print("Name: {}".format(my_dataset.name))
>>> print("Type: {}".format(my_dataset.type))
>>> print("Creation date: {}".format(my_dataset.creation_date))
Some dataset properties depend on its type (image
, raster
, mesh
, pcl
, vector
, file
). You can list all the available properties for a dataset with:
>>> dir(my_dataset)
To look for the files related to a dataset, you can list the dataset components:
print(my_dataset.components)
Download a dataset component
To download a dataset component in the current directory:
>>> component = my_dataset.components[0]
>>> sdk.datasets.download_component(dataset=my_dataset.id,
... component=component.get("name"))
Create a new dataset
To create a new file
dataset related to a project:
>>> new_dataset = sdk.datasets.create_file_dataset(name='My file dataset',
... project=my_project.id)
And upload a file:
>>> file_to_upload = "/replace/with/a/file_path.ext"
>>> sdk.datasets.upload_file(dataset=new_dataset.id,
... component='file',
... file_path=file_to_upload)
Add a tag
To add a tag on the dataset created:
>>> my_tag = sdk.tags.create(name='My tag',
... project=my_project.id,
... type='dataset',
... target=new_dataset.id)
To delete the tag:
>>> sdk.tags.delete(my_tag.id)
Add a comment
To add a comment on this dataset:
>>> my_comment = sdk.comments.create(text='This is my first dataset',
... project=my_project.id,
... type='dataset',
... target=new_dataset.id)
To mark all the comments of this dataset as read:
>>> sdk.comments.mark_as_read(project=my_project.id,
... type='dataset',
... target=new_dataset.id)
Add an annotation
To add an annotation to a project. For example, one whose geometry is the bounding box of the project:
>>> a = sdk.annotations.create(project=my_project.id,
... geometry=my_project.real_bbox,
... name='Project bounding box',
... description='Bounding box around the project')
This annotation can be deleted with:
>>> sdk.annotations.delete(a.id)