Config

class PyOpenColorIO.Config
static CreateFromEnv()PyOpenColorIO.Config

Create a configuration using the OCIO environment variable.

If the variable is missing or empty, returns the same result as Config::CreateRaw .

static CreateFromFile(fileName: str)PyOpenColorIO.Config

Create a configuration using a specific config file.

static CreateFromStream(str: str)PyOpenColorIO.Config

Create a configuration using a stream.

static CreateRaw()PyOpenColorIO.Config

Create a fall-back config.

This may be useful to allow client apps to launch in cases when the supplied config path is not loadable.

static GetProcessorFromConfigs(*args, **kwargs)

Overloaded function.

  1. GetProcessorFromConfigs(srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str) -> PyOpenColorIO.Processor

Get a processor to convert between color spaces in two separate configs.

This relies on both configs having the aces_interchange role (when srcName is scene-referred) or the role cie_xyz_d65_interchange (when srcName is display-referred) defined. An exception is thrown if that is not the case.

  1. GetProcessorFromConfigs(srcContext: PyOpenColorIO.Context, srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, dstContext: PyOpenColorIO.Context, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str) -> PyOpenColorIO.Processor

  2. GetProcessorFromConfigs(srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, srcInterchangeName: str, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str, dstInterchangeName: str) -> PyOpenColorIO.Processor

The srcInterchangeName and dstInterchangeName must refer to a pair of color spaces in the two configs that are the same. A role name may also be used.

  1. GetProcessorFromConfigs(srcContext: PyOpenColorIO.Context, srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, srcInterchangeName: str, dstContext: PyOpenColorIO.Context, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str, dstInterchangeName: str) -> PyOpenColorIO.Processor

Config() → None

Create an empty config of the current version.

Note that an empty config will not pass validation since required elements will be missing.

str(self) → str
addColorSpace(colorSpace: PyOpenColorIO.ColorSpace) → None

Add a color space to the configuration.

Note

If another color space is already present with the same name, this will overwrite it. This stores a copy of the specified color space.

Note

Adding a color space to a Config does not affect any ColorSpaceSet sets that have already been created.

addDisplaySharedView(display: str, view: str) → None

Add a (reference to a) shared view to a display.

The shared view must be part of the config. See Config::addSharedView

This will throw if: - Display or view are null or empty. - Display already has a view (shared or not) with the same name.

addDisplayView(*args, **kwargs)

Overloaded function.

  1. addDisplayView(self: PyOpenColorIO.Config, display: str, view: str, colorSpaceName: str, looks: str = ‘’) -> None

For the (display, view) pair, specify which color space and look to use. If a look is not desired, then just pass a null or empty string.

  1. addDisplayView(self: PyOpenColorIO.Config, display: str, view: str, viewTransform: str, displayColorSpaceName: str, looks: str = ‘’, ruleName: str = ‘’, description: str = ‘’) -> None

For the (display, view) pair, specify which color space and look to use. If a look is not desired, then just pass a null or empty string.

addEnvironmentVar(name: str, defaultValue: str) → None

Add (or update) an environment variable with a default value. But it removes it if the default value is null.

addLook(look: PyOpenColorIO.Look) → None
addNamedTransform(namedTransform: PyOpenColorIO.NamedTransform) → None
addSearchPath(path: str) → None

Add a single search path to the end of the list.

Paths may be either absolute or relative. Relative paths are relative to the working directory. Forward slashes will be normalized to reverse for Windows. Environment (context) variables may be used in paths.

addSharedView(view: str, viewTransformName: str, colorSpaceName: str, looks: str = '', ruleName: str = '', description: str = '') → None

Will throw if view or colorSpaceName are null or empty.

addViewTransform(viewTransform: PyOpenColorIO.ViewTransform) → None
clearColorSpaces() → None

Remove all the color spaces from the configuration.

Note

Removing color spaces from a Config does not affect any ColorSpaceSet sets that have already been created.

clearDisplays() → None

Clear all the displays.

clearEnvironmentVars() → None
clearLooks() → None
clearNamedTransforms() → None
clearSearchPaths() → None
clearViewTransforms() → None
filepathOnlyMatchesDefaultRule(filePath: str) → bool

Returns true if the only rule matched by filePath is the default rule. This is a convenience method for applications that want to require the user to manually choose a color space when strictParsing is true and no other rules match.

getActiveDisplays() → str
getActiveViews() → str
getCacheID(*args, **kwargs)

Overloaded function.

  1. getCacheID(self: PyOpenColorIO.Config) -> str

This will produce a hash of the all colorspace definitions, etc. All external references, such as files used in FileTransforms, etc., will be incorporated into the cacheID. While the contents of the files are not read, the file system is queried for relevant information (mtime, inode) so that the config’s cacheID will change when the underlying luts are updated. If a context is not provided, the current Context will be used. If a null context is provided, file references will not be taken into account (this is essentially a hash of Config::serialize).

  1. getCacheID(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context) -> str

This will produce a hash of the all colorspace definitions, etc. All external references, such as files used in FileTransforms, etc., will be incorporated into the cacheID. While the contents of the files are not read, the file system is queried for relevant information (mtime, inode) so that the config’s cacheID will change when the underlying luts are updated. If a context is not provided, the current Context will be used. If a null context is provided, file references will not be taken into account (this is essentially a hash of Config::serialize).

getCanonicalName(name: str) → str

Accepts an alias, role name, named transform name, or color space name and returns the color space name or the named transform name.

getColorSpace(name: str)PyOpenColorIO.ColorSpace

Get the color space from all the color spaces (i.e. active and inactive) and return null if the name is not found.

Note

The fcn accepts either a color space name, role name, or alias. (Color space names take precedence over roles.)

getColorSpaceFromFilepath(filePath: str) → tuple

Get the color space of the first rule that matched filePath.

getColorSpaceNames(*args, **kwargs)

Overloaded function.

  1. getColorSpaceNames(self: PyOpenColorIO.Config, searchReferenceType: PyOpenColorIO.SearchReferenceSpaceType, visibility: PyOpenColorIO.ColorSpaceVisibility) -> PyOpenColorIO.Config.ColorSpaceNameIterator

  2. getColorSpaceNames(self: PyOpenColorIO.Config) -> PyOpenColorIO.Config.ActiveColorSpaceNameIterator

getColorSpaces(*args, **kwargs)

Overloaded function.

  1. getColorSpaces(self: PyOpenColorIO.Config, category: str) -> PyOpenColorIO.ColorSpaceSet

Get all active color spaces having a specific category in the order they appear in the config file.

Note

If the category is null or empty, the method returns all the active color spaces like :ref:`Config::getNumColorSpaces`() and :ref:`Config::getColorSpaceNameByIndex`() do.

Note

It’s worth noticing that the method returns a copy of the selected color spaces decoupling the result from the config. Hence, any changes on the config do not affect the existing color space sets, and vice-versa.

  1. getColorSpaces(self: PyOpenColorIO.Config, searchReferenceType: PyOpenColorIO.SearchReferenceSpaceType, visibility: PyOpenColorIO.ColorSpaceVisibility) -> PyOpenColorIO.Config.ColorSpaceIterator

  2. getColorSpaces(self: PyOpenColorIO.Config) -> PyOpenColorIO.Config.ActiveColorSpaceIterator

getCurrentContext()PyOpenColorIO.Context
getDefaultDisplay() → str
getDefaultLumaCoefs() → List[float[3]]

Get the default coefficients for computing luma.

Note

There is no “1 size fits all” set of luma coefficients. (The values are typically different for each colorspace, and the application of them may be nonsensical depending on the intensity coding anyways). Thus, the ‘right’ answer is to make these functions on the :ref:`Config` class. However, it’s often useful to have a config-wide default so here it is. We will add the colorspace specific luma call if/when another client is interesting in using it.

getDefaultSceneToDisplayViewTransform()PyOpenColorIO.ViewTransform

This view transform is the one that will be used by default if a ColorSpaceTransform is needed between a scene-referred and display-referred color space. The config author may specify a transform to use via the default_view_transform entry in the config. If that is not present, or does not return a valid view transform from the scene-referred connection space, the fall-back is to use the first valid view transform in the config. Returns a null ConstTransformRcPtr if there isn’t one.

getDefaultView(display: str) → str
getDefaultViewTransformName() → str

Get or set the default_view_transform string from the config.

Note that if this is not the name of a valid view transform from the scene-referred connection space, it will be ignored.

getDescription() → str
getDisplayViewColorSpaceName(display: str, view: str) → str

Returns the colorspace attribute of the (display, view) pair. (Note that this may be either a color space or a display color space.)

getDisplayViewDescription(display: str, view: str) → str

Returns the description attribute of a (display, view) pair.

getDisplayViewLooks(display: str, view: str) → str

Returns the looks attribute of a (display, view) pair.

getDisplayViewRule(display: str, view: str) → str

Returns the rule attribute of a (display, view) pair.

getDisplayViewTransformName(display: str, view: str) → str

Returns the view_transform attribute of the (display, view) pair. View can be a shared view of the display. If display is null or empty, config shared views are used.

getDisplays()PyOpenColorIO.Config.DisplayIterator
getEnvironmentMode()PyOpenColorIO.EnvironmentMode
getEnvironmentVarDefault(name: str) → str
getEnvironmentVarNames()PyOpenColorIO.Config.EnvironmentVarNameIterator
getFamilySeparator() → str

Get the family separator.

A single character used to separate the family string into tokens for use in hierarchical menus. Defaults to ‘/’.

getFileRules()PyOpenColorIO.FileRules

Get read-only version of the file rules.

getInactiveColorSpaces() → str
getLook(name: str)PyOpenColorIO.Look
getLookNames()PyOpenColorIO.Config.LookNameIterator
getLooks()PyOpenColorIO.Config.LookIterator
getMajorVersion() → int

Get the configuration major version.

getMinorVersion() → int

Get the configuration minor version.

getName() → str

Get/set a name string for the config.

The name string may be used to communicate config update details or similar information to workflows external to OCIO in cases where the config path/filename itself does not provide adequate information.

getNamedTransform(name: str)PyOpenColorIO.NamedTransform
getNamedTransformNames(*args, **kwargs)

Overloaded function.

  1. getNamedTransformNames(self: PyOpenColorIO.Config, visibility: PyOpenColorIO.NamedTransformVisibility) -> PyOpenColorIO.Config.NamedTransformNameIterator

  2. getNamedTransformNames(self: PyOpenColorIO.Config) -> PyOpenColorIO.Config.ActiveNamedTransformNameIterator

getNamedTransforms(*args, **kwargs)

Overloaded function.

  1. getNamedTransforms(self: PyOpenColorIO.Config, visibility: PyOpenColorIO.NamedTransformVisibility) -> PyOpenColorIO.Config.NamedTransformIterator

  2. getNamedTransforms(self: PyOpenColorIO.Config) -> PyOpenColorIO.Config.ActiveNamedTransformIterator

getProcessor(*args, **kwargs)

Overloaded function.

  1. getProcessor(self: PyOpenColorIO.Config, srcColorSpace: PyOpenColorIO.ColorSpace, dstColorSpace: PyOpenColorIO.ColorSpace) -> PyOpenColorIO.Processor

  2. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, srcColorSpace: PyOpenColorIO.ColorSpace, dstColorSpace: PyOpenColorIO.ColorSpace) -> PyOpenColorIO.Processor

  3. getProcessor(self: PyOpenColorIO.Config, srcColorSpaceName: str, dstColorSpaceName: str) -> PyOpenColorIO.Processor

Note

Names can be colorspace name, role name, or a combination of both.

  1. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, srcColorSpaceName: str, dstColorSpaceName: str) -> PyOpenColorIO.Processor

  2. getProcessor(self: PyOpenColorIO.Config, srcColorSpaceName: str, display: str, view: str, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor

  3. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, srcColorSpaceName: str, display: str, view: str, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor

cpp:function:

  1. getProcessor(self: PyOpenColorIO.Config, transform: PyOpenColorIO.Transform) -> PyOpenColorIO.Processor

Get the processor for the specified transform.

Not often needed, but will allow for the re-use of atomic OCIO functionality (such as to apply an individual LUT file).

  1. getProcessor(self: PyOpenColorIO.Config, transform: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor

  2. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, transform: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor

getRoleNames()PyOpenColorIO.Config.RoleNameIterator
getRoles()PyOpenColorIO.Config.RoleColorSpaceIterator
getSearchPath() → str
getSearchPaths()PyOpenColorIO.Config.SearchPathIterator
getSharedViews()PyOpenColorIO.Config.SharedViewIterator
getViewTransform(name: str)PyOpenColorIO.ViewTransform
getViewTransformNames()PyOpenColorIO.Config.ViewTransformNameIterator
getViewTransforms()PyOpenColorIO.Config.ViewTransformIterator
getViewingRules()PyOpenColorIO.ViewingRules

Get read-only version of the viewing rules.

getViews(*args, **kwargs)

Overloaded function.

  1. getViews(self: PyOpenColorIO.Config, display: str) -> PyOpenColorIO.Config.ViewIterator

  2. getViews(self: PyOpenColorIO.Config, display: str, colorSpaceName: str) -> PyOpenColorIO.Config.ViewForColorSpaceIterator

getWorkingDir() → str
hasRole(role: str) → bool

Return true if the role has been defined.

isColorSpaceUsed(name: str) → bool

Return true if the color space is used by a transform, a role, or a look.

Note

Name must be the canonical name.

isStrictParsingEnabled() → bool
loadEnvironment() → None
parseColorSpaceFromString(str: str) → str

Given the specified string, get the longest, right-most, colorspace substring that appears. This is now deprecated, please use getColorSpaceFromFilepath.

  • If strict parsing is enabled, and no color space is found, return an empty string.

  • If strict parsing is disabled, return ROLE_DEFAULT (if defined).

  • If the default role is not defined, return an empty string.

removeColorSpace(name: str) → None

Remove a color space from the configuration.

Note

It does not throw an exception. Name must be the canonical name. If a role name or alias is provided or if the name is not in the config, nothing is done.

Note

Removing a color space from a Config does not affect any ColorSpaceSet sets that have already been created.

removeDisplayView(display: str, view: str) → None

Remove the view and the display if no more views.

It does not remove the associated color space. If the view name is a shared view, it only removes the reference to the view from the display but the shared view, remains in the config.

Will throw if the view does not exist.

removeSharedView(view: str) → None

Remove a shared view. Will throw if the view does not exist.

serialize(*args, **kwargs)

Overloaded function.

  1. serialize(self: PyOpenColorIO.Config, fileName: str) -> None

  2. serialize(self: PyOpenColorIO.Config) -> str

Returns the string representation of the Config in YAML text form.

This is typically stored on disk in a file with the extension .ocio. NB: This does not validate the config. Applications should validate before serializing.

setActiveDisplays(displays: str) → None

$OCIO_ACTIVE_DISPLAYS envvar can, at runtime, optionally override the allowed displays. It is a comma or colon delimited list. Active displays that are not in the specified profile will be ignored, and the left-most defined display will be the default.

Comma-delimited list of names to filter and order the active displays.

Note

The setter does not override the envvar. The getter does not take into account the envvar value and thus may not represent what the user is seeing.

setActiveViews(views: str) → None

$OCIO_ACTIVE_VIEWS envvar can, at runtime, optionally override the allowed views. It is a comma or colon delimited list. Active views that are not in the specified profile will be ignored, and the left-most defined view will be the default.

Comma-delimited list of names to filter and order the active views.

Note

The setter does not override the envvar. The getter does not take into account the envvar value and thus may not represent what the user is seeing.

setDefaultLumaCoefs(rgb: List[float[3]]) → None

These should be normalized (sum to 1.0 exactly).

setDefaultViewTransformName(name: str) → None
setDescription(description: str) → None
setEnvironmentMode(mode: PyOpenColorIO.EnvironmentMode) → None
setFamilySeparator(separator: str) → None

Set the family separator.

Succeeds if the characters is null or a valid character from the ASCII table i.e. from value 32 (i.e. space) to 126 (i.e. ‘~’); otherwise, it throws an exception.

setFileRules(fileRules: PyOpenColorIO.FileRules) → None

Set file rules.

Note

The argument is cloned.

setInactiveColorSpaces(inactiveColorSpaces: str) → None

Set/get a list of inactive color space or named transform names.

Notes: - List can contain color space and/or named transform names. - The inactive spaces are color spaces that should not appear in application menus. - These color spaces will still work in Config::getProcessor calls. - The argument is a comma-delimited string. A null or empty string empties the list. - The environment variable OCIO_INACTIVE_COLORSPACES may also be used to set the inactive color space list. - The env. var. takes precedence over the inactive_colorspaces list in the config file. - Setting the list via the API takes precedence over either the env. var. or the config file list.

setMajorVersion(major: int) → None

Set the configuration major version.

Throws if it is not supported. Resets minor to the most recent minor for the given major.

setMinorVersion(minor: int) → None

Set the configuration minor version. Throws if it is not supported for the current major.

setName(name: str) → None
setProcessorCacheFlags(flags: PyOpenColorIO.ProcessorCacheFlags) → None

cpp:function:: Control the caching of processors in the config instance. By default, caching

setRole(role: str, colorSpaceName: str) → None

Note

Setting the colorSpaceName name to a null string unsets it.

setSearchPath(path: str) → None

Set all search paths as a concatenated string, ‘:’ to separate the paths.

See addSearchPath for a more robust and platform-agnostic method of setting the search paths.

setStrictParsingEnabled(enabled: bool) → None
setVersion(major: int, minor: int) → None

Set the configuration major and minor versions. Throws if version is not supported.

setViewingRules(ViewingRules: PyOpenColorIO.ViewingRules) → None

Set viewing rules.

Note

The argument is cloned.

setWorkingDir(dirName: str) → None

The working directory defaults to the location of the config file. It is used to convert any relative paths to absolute. If no search paths have been set, the working directory will be used as the fallback search path. No environment (context) variables may be used in the working directory.

upgradeToLatestVersion() → None

Allows an older config to be serialized as the current version.

validate() → None

Performs a thorough validation for the most common user errors.

This will throw an exception if the config is malformed. The most common error occurs when references are made to colorspaces that do not exist.

class PyOpenColorIO.Config.EnvironmentVarNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.EnvironmentVarNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.SearchPathIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.SearchPathIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ColorSpaceNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.ColorSpaceNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ColorSpaceIterator
self[arg0: int]PyOpenColorIO.ColorSpace
iter(self)PyOpenColorIO.Config.ColorSpaceIterator
len(self) → int
next(self)PyOpenColorIO.ColorSpace
class PyOpenColorIO.Config.ActiveColorSpaceNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.ActiveColorSpaceNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ActiveColorSpaceIterator
self[arg0: int]PyOpenColorIO.ColorSpace
iter(self)PyOpenColorIO.Config.ActiveColorSpaceIterator
len(self) → int
next(self)PyOpenColorIO.ColorSpace
class PyOpenColorIO.Config.RoleNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.RoleNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.RoleColorSpaceIterator
self[arg0: int] → tuple
iter(self)PyOpenColorIO.Config.RoleColorSpaceIterator
len(self) → int
next(self) → tuple
class PyOpenColorIO.Config.DisplayIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.DisplayIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.SharedViewIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.SharedViewIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ViewIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.ViewIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ViewForColorSpaceIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.ViewForColorSpaceIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.LookNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.LookNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.LookIterator
self[arg0: int]PyOpenColorIO.Look
iter(self)PyOpenColorIO.Config.LookIterator
len(self) → int
next(self)PyOpenColorIO.Look
class PyOpenColorIO.Config.ViewTransformNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.ViewTransformNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ViewTransformIterator
self[arg0: int]PyOpenColorIO.ViewTransform
iter(self)PyOpenColorIO.Config.ViewTransformIterator
len(self) → int
next(self)PyOpenColorIO.ViewTransform
class PyOpenColorIO.Config.NamedTransformNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.NamedTransformNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.NamedTransformIterator
self[arg0: int]PyOpenColorIO.NamedTransform
iter(self)PyOpenColorIO.Config.NamedTransformIterator
len(self) → int
next(self)PyOpenColorIO.NamedTransform
class PyOpenColorIO.Config.ActiveNamedTransformNameIterator
self[arg0: int] → str
iter(self)PyOpenColorIO.Config.ActiveNamedTransformNameIterator
len(self) → int
next(self) → str
class PyOpenColorIO.Config.ActiveNamedTransformIterator
self[arg0: int]PyOpenColorIO.NamedTransform
iter(self)PyOpenColorIO.Config.ActiveNamedTransformIterator
len(self) → int
next(self)PyOpenColorIO.NamedTransform

Constants: Roles, Shared View