Crate edgefirst_client

Crate edgefirst_client 

Source
Expand description

§EdgeFirst Studio Client Library

The EdgeFirst Studio Client Library provides a Rust client for interacting with EdgeFirst Studio, a comprehensive platform for computer vision and machine learning workflows. This library enables developers to programmatically manage datasets, annotations, training sessions, and other Studio resources.

§Features

  • Authentication: Secure token-based authentication with automatic renewal
  • Dataset Management: Upload, download, and manage datasets with various file types
  • Annotation Management: Create, update, and retrieve annotations for computer vision tasks
  • Training & Validation: Manage machine learning training and validation sessions
  • Project Organization: Organize work into projects with hierarchical structure
  • Polars Integration: Optional integration with Polars DataFrames for data analysis

§Quick Start

use edgefirst_client::{Client, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
    // Create a new client
    let client = Client::new()?;

    // Authenticate with username and password
    let client = client.with_login("username", "password").await?;

    // List available projects
    let projects = client.projects(None).await?;
    println!("Found {} projects", projects.len());

    Ok(())
}

§Optional Features

  • polars: Enables integration with Polars DataFrames for enhanced data manipulation

Structs§

Annotation
AnnotationSet
The AnnotationSet class represents a collection of annotations in a dataset. A dataset can have multiple annotation sets, each containing annotations for different tasks or purposes.
AnnotationSetID
AppId
Artifact
Box2d
Box3d
Client
Main client for interacting with EdgeFirst Studio Server.
Dataset
A dataset in EdgeFirst Studio containing sensor data and annotations.
DatasetID
Unique identifier for a dataset within a project.
DatasetParams
Experiment
ExperimentID
Unique identifier for an experiment within a project.
GpsData
GPS location data (latitude and longitude).
ImageId
ImuData
IMU orientation data (roll, pitch, yaw in degrees).
Label
Location
Location and pose information for a sample.
Mask
Organization
Organization information and metadata.
OrganizationID
Unique identifier for an organization in EdgeFirst Studio.
PresignedUrl
A presigned URL for uploading a file to S3.
Progress
Progress information for long-running operations.
Project
The project class represents a project in the EdgeFirst Studio. A project contains datasets, experiments, and other resources related to a specific task or workflow.
ProjectID
Unique identifier for a project within EdgeFirst Studio.
Sample
A sample in a dataset, typically representing a single image with metadata and optional sensor data.
SampleFile
A file associated with a sample (e.g., LiDAR point cloud, radar data).
SampleID
SamplesPopulateParams
Parameters for populating (importing) samples into a dataset.
SamplesPopulateResult
Result from the samples.populate API call.
SequenceId
SnapshotID
Stage
Task
TaskID
TaskInfo
TrainingSession
TrainingSessionID
Unique identifier for a training session within an experiment.
ValidationSession
ValidationSessionID
Unique identifier for a validation session within an experiment.

Enums§

AnnotationType
Annotation types supported for labeling data in EdgeFirst Studio.
Error
Comprehensive error type for EdgeFirst Studio Client operations.
FileType
File types supported in EdgeFirst Studio datasets.
Parameter
Generic parameter value used in API requests and configuration.

Functions§

annotations_dataframe