Expose the adapter interface to developers.

To read from an existing representation, use the read_from_string and read_from_file functions. To query the list of adapters, use the available_adapter_names function.

The otio_json adapter is provided as a the canonical, lossless, serialization of the in-memory otio schema. Other adapters are to varying degrees lossy. For more information, consult the documentation in the individual adapter modules.

class opentimelineio.adapters.Adapter

Adapters convert between OTIO and other formats.

Note that this class is not subclassed by adapters. Rather, an adapter is a python module that implements at least one of the following functions:

write_to_file(input_otio, filepath) (optionally inferred)
read_from_file(filepath) (optionally inferred)

…as well as a small json file that advertises the features of the adapter to OTIO. This class serves as the wrapper around these modules internal to OTIO. You should not need to extend this class to create new adapters for OTIO.

For more information: # noqa


return true if adapter supports feature_string, which must be a key of the _FEATURE_MAP dictionary.

Will trigger a call to PythonPlugin.module(), which imports the plugin.


Adds extra adapter-specific information to call to the parent fn.

read_from_file(filepath, media_linker_name='__default', media_linker_argument_map=None, hook_function_argument_map=None, **adapter_argument_map)

Execute the read_from_file function on this adapter.

If read_from_string exists, but not read_from_file, execute that with a trivial file object wrapper.

read_from_string(input_str, media_linker_name='__default', media_linker_argument_map=None, hook_function_argument_map=None, **adapter_argument_map)

Call the read_from_string function on this adapter.

property suffixes

File suffixes associated with this adapter.

write_to_file(input_otio, filepath, hook_function_argument_map=None, **adapter_argument_map)

Execute the write_to_file function on this adapter.

If write_to_string exists, but not write_to_file, execute that with a trivial file object wrapper.

write_to_string(input_otio, hook_function_argument_map=None, **adapter_argument_map)

Call the write_to_string function on this adapter.


Return a string list of the available adapters.


Guess the adapter object to use for a given filepath.

For example, foo.otio returns the otio_json adapter.


Fetch the adapter object by the name of the adapter directly.

opentimelineio.adapters.read_from_file(filepath, adapter_name=None, media_linker_name='__default', media_linker_argument_map=None, **adapter_argument_map)

Read filepath using adapter_name.

If adapter_name is None, try and infer the adapter name from the filepath.

 timeline = read_from_file("example_trailer.otio")
 timeline = read_from_file("file_with_no_extension", "cmx_3600")
opentimelineio.adapters.read_from_string(input_str, adapter_name='otio_json', media_linker_name='__default', media_linker_argument_map=None, **adapter_argument_map)

Read a timeline from input_str using adapter_name.

This is useful if you obtain a timeline from someplace other than the filesystem.

 raw_text = urlopen(my_url).read()
 timeline = read_from_string(raw_text, "otio_json")
opentimelineio.adapters.suffixes_with_defined_adapters(read=False, write=False)

Return a set of all the suffixes that have adapters defined for them.

opentimelineio.adapters.write_to_file(input_otio, filepath, adapter_name=None, **adapter_argument_map)

Write input_otio to filepath using adapter_name.

If adapter_name is None, infer the adapter_name to use based on the filepath.

 otio.adapters.write_to_file(my_timeline, "output.otio")
opentimelineio.adapters.write_to_string(input_otio, adapter_name='otio_json', **adapter_argument_map)

Return input_otio written to a string using adapter_name.

 raw_text = otio.adapters.write_to_string(my_timeline, "otio_json")



Implementation of the OTIO internal Adapter system.


OpenTimelineIO CMX 3600 EDL Adapter


OpenTimelineIO Final Cut Pro 7 XML Adapter.


Common utilities used by the file bundle adapters (otiod and otioz).


Adapter for reading and writing native .otio json files.


OTIOD adapter - bundles otio files linked to local media in a directory


OTIOZ adapter - bundles otio files linked to local media


OTIO to SVG Adapter Points in calculations are y-up.