Install & Compatibility
Where this runs
tested against v0.18.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
build_error
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 2.0s · import 0.194s · 23MB
21MB installed
● package 21MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
opentimelineio
✓ import opentimelineio as otio
✗ import OpenTimelineIO
Module name is lowercase; case-sensitive on case-sensitive filesystems.
otio.schema
✓ from opentimelineio import schema
✗ from otio import schema
Use the full package name on import; the alias 'otio' is conventional but not an importable module.
otio.adapters
✓ from opentimelineio import adapters
✗ import adapters
adapter aliases may shadow; always import from opentimelineio.
Creates a simple timeline with one video track and a clip, then outputs as OTIO JSON.
import opentimelineio as otio
# Create a timeline
timeline = otio.schema.Timeline("example_timeline")
track = otio.schema.Track("video_track", kind="Video")
timeline.tracks.append(track)
# Create a clip from an external reference
clip = otio.schema.Clip(
name="shot1",
media_reference=otio.schema.ExternalReference(
target_url="/path/to/file.mov",
available_range=otio.opentime.TimeRange(
start_time=otio.opentime.RationalTime(0, 24),
duration=otio.opentime.RationalTime(48, 24)
)
)
)
track.append(clip)
# Serialize to JSON (native format)
print(otio.adapters.write_to_string(timeline, "otio_json"))
otiocat --version
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'opentimelineio'
Package not installed or installed in a different Python environment.
fixRun `pip install opentimelineio` in the same environment where your script runs.
ModuleNotFoundError: No module named 'opentimelineio_adapters' or 'otio_adapters'
User tried to import adapters from a separate package after v0.17.0 extraction.
fixInstall `pip install opentimelineio-plugins` and import from `opentimelineio.adapters` (the core package now includes a thin wrapper that finds adapters from plugins).
AttributeError: module 'opentimelineio' has no attribute 'schema'
Incorrect import pattern (e.g., `import opentimelineio` and then `opentimelineio.schema` should work; but if user did `from opentimelineio import *` submodules may not be imported).
fixUse explicit submodule import: `from opentimelineio import schema` or `import opentimelineio.schema`.
opentimelineio.exceptions.CannotComputeSynchronizationException: ...
Attempting to compute a synchronized time range when the media reference does not have a defined available_range or the range is undefined.
fixEnsure that the media_reference has an `available_range` set before calling timeline methods that compute synchronization.
Upgrade
Version history
0.18.1latest on PyPI · released Nov 9, 2025
Audit
Dependencies
PyOpenColorIOoptionalRequired for color management functionality.