Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Python 3 library providing access to Annotell Input API
To install with pip run pip install annotell-input-api
Documentation about how to use the library can be found here
All notable changes to this project will be documented in this file.
annotell.input_api.model.calibration.sensors.LidarCalibration
annotell.input_api.model.calibration.{camera, lidar}.*
,
refer to the calibration documentation for details.internalId
to sceneUuid
on initialize inputannotell.input_api.model.calibration.sensors.CameraCalibration
annotell.input_api.model.calibration.{camera, lidar}.*
,
refer to the calibration documentation for details.annotell-base-clients
is now a dependency for annotell-input-api
, used for http requests and file uploadsclient.annotation.get_project_annotations
will now reliably iterate projects with thousands of annotationsannotation_types
in Input
remove_annotation_types
region
.file_resource_client.py
, split upload and download into separate classes.timeout
to InputApiClient
, which decides what the timeout in seconds is for calls to Annotell API:s and Google Cloud Storage.ConnectionError
is raised during uploading/downloading of resources to/from Google Cloud Storage.Pending
. An input will have this status if the input has been validated, but the server is waiting for the associated data to
be uploaded. When all data is uploaded the status of the input will change to Processing
.Two new methods has been added for downloading annotations: client.annotation.get_annotation
and client.annotation.get_project_annotations
. These two methods will serve annotations
in the OpenLABEL format. With this change the previous method for fetching annotations,
client.annotation.get_annotations
has become deprecated.
Stricter typing for the calibrations, specifically the camera calibrations. Each of the supported camera calibration models now have their own class in annotell.input_api.model.calibration.camera
. Documentation regarding use can be found here: Documentation
Field of View support for camera calibrations
New Parameter Xi for Fisheye camera calibration model
Two constructor arguments in InputApiClient
and FileResourceClient
have been renamed from max_upload_retry_attemps
, max_upload_retry_wait_time
to max_retry_attempts
, max_retry_wait_time
respectively.
The old camera calibration class will be deprecated in favour of the new classes
get_inputs_with_uuids
, which can fetch inputs using only the input_uuid
.annoutil
has a new flag when fetching inputs, annoutil inputs --uuids <comma_separated_uuids>
.lidars
and lidars_sequence
inputs now available through the client.add_annotation_type
, which adds additional annotation types to be performed for an input.client.calibration.get_calibration()
now properly deserializes calibration into SensorCalibrationEntry
instead of keeping it as a dict.created
timestamp when querying get_inputs
get_annotation_types
input_list_id
replaced with annotation_types
for all createable resources (Cameras
, CamerasSeq
, LidarsAndCameras
, LidarsAndCamerasSeq
).calibration_id
now available for created inputs via the client.input.get_inputs
method.client.project.create_batch
method. Please contact Annotell's Professional Services
before using. More information available in the documentation.invalidate_inputs
did not properly discard response content.input_list_id
and project
is not used simultaneously when creating inputsframe_id
and relative_timestamp
from lidars_and_cameras
dataclasses
to support python 3.6.client.lidar_and_cameras.create
replaces client.create_inputs_point_cloud_with_images
client.cameras.create
replaces client.upload_and_create_images_input_job
client.annotations.get_annotations
replaces client.download_annotations
get_calibration_data
method. Does not affect
usage of the method in any way.deadline
from projectupload_and_create_images_input_job
to create_inputs_images
.list_projects
to get_projects
.list_project_batches
to get_project_batches
.download_annotations
. The previously optional argumnet request_id
has been removed. Additionally, the return
signature is changed to return a list of annotations for each input, instead of a dict as before.get_inputs
has changed. It now receives project
(identifier, not numerical id anymore), as well as three optional parameters batch
, external_ids
and include_invalidated
. Returns all inputs belonging to the project, with the option of filtering on batch, external ID and whether or not including invalidated inputs. The returned list of classes had additional fields describing which batch each input belongs to, as well as their status (created
, processing
, failed
, invalidated
).input_ids
to input_internal_ids
for method invalidate_inputs
.dataclasses
to support python 3.6.python-dateutil
.count_inputs_for_external_ids
, get_internal_ids_for_external_ids
, mend_input_data
, remove_inputs_from_input_list
, list_input_lists
, publish_batch
, get_requests_for_request_ids
, get_requests_for_input_lists
, get_input_status
, get_input_jobs_status
, get_requests_for_project_id
, get_datas_for_inputs_by_internal_ids
and get_datas_for_inputs_by_external_ids
have all been removed.README.md
and instead link to new docs.InputBatch
and InputBatch
.lidar
and camera calibration
added.publish_batch
which accepts project identifier and batch identifier and marks the batch as ready for annotation.lidar
and camera calibration
models. No other change in functionality.get_inputs
which accepts a project ID or project identifier (external ID) and returns inputs connected to the project. invalidated
filter parameter to optionally filter only invalidated inputs. Also exposed in annoutil as annoutil projects 1 --invalidated
.invalidate_inputs
now accepts annotell internal_ids (UUID)
instead of Annotell specific input ids.dynamic_objects
not includes both cuboids
and cuboid_timespans
project
and batch
identifiers for input request.
Specifying project and batch adds input to specified batch.
When only sending project, inputs are added to the latest open batch for the project.input_list_id
will be removed in the 0.4.x versionsub_sequence_id
and optional settings
sequence_id
InputApiClient
by specifying values to the max_upload_retry_attempts
and max_upload_retry_wait_time
parameters.create_inputs_point_cloud_with_images
in InputApiClient
now takes an extra parameter: dryrun: bool
.
If set to True
all the validation checks will be run but no inputJob will be created, and
if it is set to False
an inputJob will be created if the validation checks all pass.InputApiClient
: count_inputs_for_external_ids
.InputApiClient
classCalibrationSpec
from CalibratedSceneMetaData
and SlamMetaData
. Updated
so that create_calibration_data
in InputApiClient
only takes a CalibrationSpec
as parameter.Image
and PointCloud
containing filename and source. Consequently, images_to_source
is removed from SourceSpecification
.create_images_input_job
invalidate_inputs
remove_inputs_from_input_list
get_datas_for_inputs_by_internal_ids
and get_datas_for_inputs_by_external_ids
can be used to get which Data
are part of an Input
, useful in order to check which images, lidar-files have been uploaded. Both are also available in the CLI via :$ annoutil inputs --get-datas <internal_ids>
$ annoutil inputs-externalid --get-datas <external_ids>
Kannala
camera types. Whenever adding calibration for Kannala
undistortion coefficients must also be added.auth
parameterget_input_jobs_status
now accepts lists of internal_ids and external_ids as arguments.FAQs
Annotell Input Api Client
We found that annotell-input-api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.