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
- Annotation
Set - 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.
- Annotation
SetID - 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.
- Dataset
Params - 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.
- Presigned
Url - 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.
- Sample
File - A file associated with a sample (e.g., LiDAR point cloud, radar data).
- SampleID
- Samples
Populate Params - Parameters for populating (importing) samples into a dataset.
- Samples
Populate Result - Result from the
samples.populateAPI call. - Sequence
Id - SnapshotID
- Stage
- Task
- TaskID
- Task
Info - Training
Session - Training
SessionID - Unique identifier for a training session within an experiment.
- Validation
Session - Validation
SessionID - Unique identifier for a validation session within an experiment.
Enums§
- Annotation
Type - Annotation types supported for labeling data in EdgeFirst Studio.
- Error
- Comprehensive error type for EdgeFirst Studio Client operations.
- File
Type - File types supported in EdgeFirst Studio datasets.
- Parameter
- Generic parameter value used in API requests and configuration.