skillfed

OpenTimelineIO

Editorial interchange format and API

opentimelineio v0.18.1 142.3K downloads/30d#11,215 on PyPI1,954
Permissive license Apache 2.0 License Active released

What it is and what it does

OpenTimelineIO is a standardized format and Python library for representing editorial timeline metadata—the sequence, duration, and timing of cuts in a video edit—along with references to external media files. It is not a media container; instead, it focuses on the structural and timing information that describes how clips are arranged. The package includes both a file format specification and a plugin architecture for building adapters that convert between OTIO and proprietary formats used by video editing tools, allowing pipelines to exchange timeline data across different applications.

The library is designed for post-production workflows where editorial decisions need to be shared, versioned, or transformed across multiple tools. It provides a Python API for programmatically reading, creating, and modifying timelines, plus a dependency-less time library (opentime) for handling frame-accurate timing calculations. The package is actively maintained, supports Python 3.9–3.13, and is available as prebuilt wheels for all major platforms.

Use it for:

  • Convert editorial timelines between proprietary video editing formats (e.g., Premiere, Final Cut Pro) by writing adapters.
  • Programmatically generate or modify video edit sequences in post-production pipelines without manual editing.
  • Store and version control editorial decisions as structured metadata separate from media files.
  • Build tools that analyze or report on edit structure, timing, and clip relationships.
  • Integrate timeline data into asset management or VFX tracking systems.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

OpenTimelineIO provides an interchange format and Python API for representing and manipulating editorial timeline information—the order, length, and timing of cuts—without storing media itself.

Yes, if you work with video editing pipelines or need to interchange timeline metadata across tools. The package is actively maintained, has no runtime dependencies, and is available as prebuilt wheels for modern Python versions. The permissive Apache 2.0 license poses no restrictions. Install friction is moderate but manageable; the main consideration is whether your use case requires writing custom adapters for proprietary formats.

Install

opentimelineio on PyPI

pip

pip install opentimelineio

uv

uv add opentimelineio

poetry

poetry add opentimelineio

Installing OpenTimelineIO

Before you install

Medium install friction due to compiled wheels; however, prebuilt binaries are available for Python 3.9–3.13 across macOS (ARM64), Linux (x86_64, aarch64), and Windows. The package is actively maintained with a recent commit on 2026-08-07 and no runtime dependencies to manage.

License in practice

Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes, but there are no copyleft obligations.

Quickstart

pip install opentimelineio

import opentimelineio as otio

timeline = otio.schema.Timeline(name="My Edit")
print(timeline)

Requires Python >3.9.0; prebuilt wheels are available for 3.9–3.13 but older versions will require compilation.

Verify before relying

  • Whether the package includes built-in adapters for specific video editing tools or requires separate plugin installation.
  • Performance characteristics when working with large or deeply nested timeline structures.
  • Whether the opentime library (mentioned as dependency-less) is bundled or distributed separately.

Package facts

License Apache 2.0 License (permissive)
Python support supports the current Python release (>3.9.0)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 278 days since the last release
Last repo commit
First released
Downloads 142,279/month — #11,215 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: opentimelineio-0.18.1-cp310-cp310-macosx_11_0_arm64.whl; opentimelineio-0.18.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; opentimelineio-0.18.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; opentimelineio-0.18.1-cp310-cp310-win_amd64.whl; opentimelineio-0.18.1-cp311-cp311-macosx_11_0_arm64.whl; opentimelineio-0.18.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; opentimelineio-0.18.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; opentimelineio-0.18.1-cp311-cp311-win_amd64.whl; opentimelineio-0.18.1-cp312-cp312-macosx_11_0_arm64.whl; opentimelineio-0.18.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; opentimelineio-0.18.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; opentimelineio-0.18.1-cp312-cp312-win_amd64.whl; opentimelineio-0.18.1-cp313-cp313-macosx_11_0_arm64.whl; opentimelineio-0.18.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; opentimelineio-0.18.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; opentimelineio-0.18.1-cp313-cp313-win_amd64.whl; opentimelineio-0.18.1-cp39-cp39-macosx_11_0_arm64.whl; opentimelineio-0.18.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; opentimelineio-0.18.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; opentimelineio-0.18.1-cp39-cp39-win_amd64.whl

Keywords: film, tv, editing, editorial, edit, non-linear, edl, time

Development Status :: 4 - BetaLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Multimedia :: GraphicsTopic :: Multimedia :: VideoTopic :: Multimedia :: Video :: DisplayTopic :: Multimedia :: Video :: Non-Linear EditorTopic :: Software Development :: Libraries :: Python Modules

Tags

editorial timeline formatvideo editing interchangetimeline data structureedit decision list apinon-linear editor adaptercut information interchangetimeline metadata exchange
video-editingtimeline-interchangepost-production

More Python Modules packages