Every public class, method and decorator argument of the embodiflow Python SDK, generated from the SDK itself.
This page is generated from the same SDK index the browser editor uses for completion, so it always matches the SDK you run. Everything is imported from embodiflow:
from embodiflow import Context, Feature, FeatureWriter, Recording, algorithm, param
The SDK ships type hints (py.typed), so your own editor completes it too, and every class and method has a docstring that the browser editor shows on hover. The descriptions below are those docstrings.
Beta. Custom algorithms and workflows are in the product and ready to try, but they haven't been through a full acceptance on real data yet. Expect some rough edges, and check results before you rely on them.
Decorators
@algorithm.standardize
Declare a standardizer: it turns one raw recording into the canonical recording.
Argument
Type
Required
Default
name
str
yes
title
str
yes
description
str | None
no
None
checks
list[Check] | None
no
None
requires
dict[str, Any] | None
no
None
params
type | None
no
None
resources
dict[str, Any] | None
no
None
requirements
list[str] | None
no
None
retries
int | None
no
None
cache
bool | None
no
None
services
list[str] | None
no
None
@algorithm.check
Declare a check: it judges data and never changes it.
Argument
Type
Required
Default
name
str
yes
title
str
yes
checks
list[Check]
yes
description
str | None
no
None
level
str | None
no
None
reads
str | None
no
None
inputs
dict[str, Input] | None
no
None
requires
dict[str, Any] | None
no
None
params
type | None
no
None
resources
dict[str, Any] | None
no
None
requirements
list[str] | None
no
None
retries
int | None
no
None
cache
bool | None
no
None
services
list[str] | None
no
None
@algorithm.transform
Declare a transform: it returns a recording with some streams replaced or cut.
Argument
Type
Required
Default
name
str
yes
title
str
yes
description
str | None
no
None
inputs
dict[str, Input] | None
no
None
checks
list[Check] | None
no
None
requires
dict[str, Any] | None
no
None
params
type | None
no
None
resources
dict[str, Any] | None
no
None
requirements
list[str] | None
no
None
retries
int | None
no
None
cache
bool | None
no
None
services
list[str] | None
no
None
privacy
str | None
no
None
@algorithm.enrich
Declare an enricher: it computes new information without changing the recording.
Argument
Type
Required
Default
name
str
yes
title
str
yes
features
list[Feature]
yes
description
str | None
no
None
level
str | None
no
None
inputs
dict[str, Input] | None
no
None
checks
list[Check] | None
no
None
requires
dict[str, Any] | None
no
None
params
type | None
no
None
resources
dict[str, Any] | None
no
None
requirements
list[str] | None
no
None
retries
int | None
no
None
cache
bool | None
no
None
services
list[str] | None
no
None
privacy
str | None
no
None
@algorithm.segment
Declare a segmenter: it proposes episodes, time ranges with a task text.
Argument
Type
Required
Default
name
str
yes
title
str
yes
description
str | None
no
None
labels
dict[str, str] | None
no
None
inputs
dict[str, Input] | None
no
None
checks
list[Check] | None
no
None
requires
dict[str, Any] | None
no
None
params
type | None
no
None
resources
dict[str, Any] | None
no
None
requirements
list[str] | None
no
None
retries
int | None
no
None
cache
bool | None
no
None
services
list[str] | None
no
None
segment_source
str | None
no
None
@algorithm.curate
Declare a curator: it decides per episode of a dataset version whether to keep it, its split and its task.
Argument
Type
Required
Default
name
str
yes
title
str
yes
description
str | None
no
None
requires
dict[str, Any] | None
no
None
params
type | None
no
None
resources
dict[str, Any] | None
no
None
requirements
list[str] | None
no
None
retries
int | None
no
None
cache
bool | None
no
None
@algorithm.export
Declare an exporter: it turns a dataset version into downloadable files.
Add a tabular column with one row per frame: values has shape (N,) or (N, ...).
timestamps(seconds: Any) -> None
Record the source capture time of each row (seconds, non-decreasing); kept beside the recording.
stereo_pair(left: str, right: str) -> None
Name two added cameras as a stereo pair (keys or short names).
dropped(what: str, reason: str) -> None
Declare something of the source that did not make it into the recording, and why.
RecordingEditor
Edits the input recording: replace or drop a camera, replace a column, trim.
Attribute
Meaning
checks: 'CheckWriter'
The CheckWriter for the checks this algorithm declared (checks=[Check(...)]).
root: Path
The output folder of the recording port (for :meth:adopt_tree).
Method
Meaning
adopt_tree() -> None
Say that the run wrote the complete edited tree under out.root itself (a built-in transform with its own video path, such as anonymize with its hardware encoder).
unchanged() -> None
Hand the input recording through untouched (zero copy).