class ftrack_api.entity.job.Job(session, data=None, reconstructing=False)[source]

Represent job.

__init__(session, data=None, reconstructing=False)[source]

Initialise entity.

session is an instance of ftrack_api.session.Session that this entity instance is bound to.

data is a mapping of key, value pairs to apply as initial attribute values.

To set a job description visible in the web interface, data can contain a key called data which should be a JSON serialised dictionary containing description:

data = {
    'status': 'running',
    'data': json.dumps(dict(description='My job description.')),

Will raise a ValueError if data contains type and type is set to something not equal to “api_job”.

reconstructing indicates whether this entity is being reconstructed, such as from a query, and therefore should not have any special creation logic applied, such as initialising defaults for missing data.

attributes = None

Reset all locally modified attribute values.

default_projections = None
entity_type = 'Entity'
get(k[, d]) → D[k] if k in D, else d. d defaults to None.

Return list of tuples of (key, value) pairs.


Will fetch all values from the server if not already fetched or set locally.

keys() → a set-like object providing a view on D's keys
merge(entity, merged=None)

Merge entity attribute values and other data into this entity.

Only merge values from entity that are not ftrack_api.symbol.NOT_SET.

Return a list of changes made with each change being a mapping with the keys:

  • type - Either ‘remote_attribute’, ‘local_attribute’ or ‘property’.
  • name - The name of the attribute / property modified.
  • old_value - The previous value.
  • new_value - The new merged value.
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

primary_key_attributes = None
setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) → None. Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v


Return list of values.