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

Modules§

coco
COCO Dataset Format Support
format
EdgeFirst Dataset Format utilities.

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.
FileTokenStorage
File-based token storage for desktop platforms.
GpsData
GPS location data (latitude and longitude).
Group
A dataset group for organizing samples into logical subsets.
ImageId
ImuData
IMU orientation data (roll, pitch, yaw in degrees).
Label
Location
Location and pose information for a sample.
Mask
MemoryTokenStorage
In-memory token storage (no persistence).
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
SamplesCountResult
SamplesPopulateParams
Parameters for populating (importing) samples into a dataset.
SamplesPopulateResult
Result from the samples.populate2 API call.
SequenceId
Snapshot
SnapshotFromDatasetResult
Result of creating a snapshot from an existing dataset.
SnapshotID
SnapshotRestoreResult
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.
RetryScope
Retry scope classification for URL-based retry policies.
StorageError
Error type for token storage operations.

Traits§

TokenStorage
Trait for persistent token storage.

Functions§

annotations_dataframeDeprecated
Create a DataFrame from a slice of annotations (2025.01 schema).
classify_url
Classifies a URL to determine which retry policy to apply.
samples_dataframe
Create a DataFrame from a slice of samples with complete 2025.10 schema.
unflatten_polygon_coordinates
Unflatten coordinates with NaN separators back to nested polygon structure.