schrodinger.tasks.tasks_ module

class schrodinger.tasks.tasks_.ExceptionInfo(value, traceback)

Bases: tuple

__add__

Return self+value.

__class__

alias of builtins.type

__contains__

Return key in self.

__delattr__

Implement delattr(self, name).

__dir__() → list

default dir() implementation

__eq__

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__getattribute__

Return getattr(self, name).

__getitem__

Return self[key].

__getnewargs__()

Return self as a plain tuple. Used by copy and pickle.

__gt__

Return self>value.

__hash__

Return hash(self).

__init__

Initialize self. See help(type(self)) for accurate signature.

__init_subclass__()

This method is called when a class is subclassed.

The default implementation does nothing. It may be overridden to extend subclasses.

__iter__

Implement iter(self).

__le__

Return self<=value.

__len__

Return len(self).

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.tasks_'
__mul__

Return self*value.n

__ne__

Return self!=value.

static __new__(_cls, value, traceback)

Create new instance of ExceptionInfo(value, traceback)

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return a nicely formatted representation string

__rmul__

Return self*value.

__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__slots__ = ()
__str__

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

count(value) → integer -- return number of occurrences of value
index(value[, start[, stop]]) → integer -- return first index of value.

Raises ValueError if the value is not present.

traceback

Alias for field number 1

value

Alias for field number 0

class schrodinger.tasks.tasks_.Status

Bases: enum.IntEnum

An enumeration.

NOTRUNNING = 0
STARTING = 1
RUNNING = 2
FAILED = 3
DONE = 4
__class__

alias of enum.EnumMeta

__members__ = mappingproxy(OrderedDict([('NOTRUNNING', <Status.NOTRUNNING: 0>), ('STARTING', <Status.STARTING: 1>), ('RUNNING', <Status.RUNNING: 2>), ('FAILED', <Status.FAILED: 3>), ('DONE', <Status.DONE: 4>)]))
__module__ = 'schrodinger.tasks.tasks_'
schrodinger.tasks.tasks_.wait(self, timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
class schrodinger.tasks.tasks_.AbstractTask(**kwargs)

Bases: schrodinger.ui.qt.appframework2.validation.ValidationMixin, schrodinger.models.parameters.ParamModel

input

Inherit all functionality of CompoundParam with name that designates this class as a model. Models should themselves be parameters so that their corresponding view can be easily incorporated into a parent view. In this case, the model of the parent view will contain the model of the child view as a parameter.

WARNING: as descriptors, instances of this class will not behave normally if used as class variables.

output

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Owner(object):
    data_x = IntParam()
    data_y = IntParam()

An instance of the Owner class can be created normally, and Params can be accessed as normal attributes:

owner_instance = Owner()
owner_instance.data_x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON.

Warning

As descriptors, instances of this class will not behave correctly if used as class variables.

Variables:
  • DataClass (type) – The type of data the param describes.
  • is_abstract (bool) – Whether this param is an abstract (ie class attribute) param.
  • valueChanged (QtCore.pyqtSignal) – A signal emitted whenever the param is changed.
  • default_value (DataClass) – The default value of the param. If unset, the default value is whatever value is created when calling DataClass()
  • param_name (str) – The name of the attribute this param is set as. For example, Owner.data_x.param_name would be ‘data_x’.
  • instance_attr_name (str) – The name of the attribute used to store param values on instances.
  • abstract_attr_name (str) – The name of the attribute used to store abstract params on class objects.
startable
__init__(**kwargs)

Initialize self. See help(type(self)) for accurate signature.

name
status
statusChanged
start()
postprocess()
preprocess()
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
__repr__()

Return repr(self).

DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.tasks_', 'input': <Abstract:AbstractTask.input>, 'output': <Abstract:AbstractTask.output>, '_status': <Abstract:AbstractTask._status>, 'name': <Abstract:AbstractTask.name>, 'startable': <Abstract:AbstractTask.startable>, '__init__': <function AbstractTask.__init__>, 'status': <property object>, 'statusChanged': <property object>, 'start': <function AbstractTask.start>, 'postprocess': <function AbstractTask.postprocess>, 'preprocess': <function AbstractTask.preprocess>, 'wait': <function AbstractTask.wait>, '_finishTask': <function AbstractTask._finishTask>, '_saveExceptionInfo': <function AbstractTask._saveExceptionInfo>, '__repr__': <function AbstractTask.__repr__>, '__doc__': None, '_AbstractTask_jsonAdapters': [], '_child_param_names': ['input', 'output', '_status', 'name', 'startable'], 'inputChanged': <unbound PYQT_SIGNAL AbstractTask.inputChanged[object]>, 'inputReplaced': <unbound PYQT_SIGNAL AbstractTask.inputReplaced[object, object]>, 'outputChanged': <unbound PYQT_SIGNAL AbstractTask.outputChanged[object]>, 'outputReplaced': <unbound PYQT_SIGNAL AbstractTask.outputReplaced[object, object]>, '_statusChanged': <unbound PYQT_SIGNAL AbstractTask._statusChanged[object]>, '_statusReplaced': <unbound PYQT_SIGNAL AbstractTask._statusReplaced[object, object]>, 'nameChanged': <unbound PYQT_SIGNAL AbstractTask.nameChanged[object]>, 'nameReplaced': <unbound PYQT_SIGNAL AbstractTask.nameReplaced[object, object]>, 'startableChanged': <unbound PYQT_SIGNAL AbstractTask.startableChanged[object]>, 'startableReplaced': <unbound PYQT_SIGNAL AbstractTask.startableReplaced[object, object]>})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.tasks_'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters:json_obj (dict) – A json-loaded dictionary to create an object from.
Returns:An instance of this class.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

inherits(self, str) → bool
inputChanged
inputReplaced
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

outputChanged
outputReplaced
owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
property(self, str) → Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, PYQT_SIGNAL) → int
removeEventFilter(self, QObject)
reportValidation(results)

Present validation messages to the user. This is an implmentation of the ValidationMixin interface and does not need to be called directly.

This method assumes that error and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters:results (validation.ValidationResults) – Set of validation results generated by validate
Returns:if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startableChanged
startableReplaced
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type:An instance of one the classes from NATIVE_JSON_DATATYPES
toJsonImplementation()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.tasks.tasks_.AbstractFunctionTask(**kwargs)

Bases: schrodinger.tasks.tasks_.AbstractTask

start()
mainFunction()
DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.tasks_', 'start': <function AbstractFunctionTask.start>, '_guardedMain': <function AbstractFunctionTask._guardedMain>, '_runMainFunction': <function AbstractFunctionTask._runMainFunction>, 'mainFunction': <function AbstractFunctionTask.mainFunction>, '__doc__': None, '_AbstractFunctionTask_jsonAdapters': [], '_child_param_names': ['input', 'output', '_status', 'name', 'startable']})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
__init__(**kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.tasks_'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters:json_obj (dict) – A json-loaded dictionary to create an object from.
Returns:An instance of this class.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

inherits(self, str) → bool
input

Inherit all functionality of CompoundParam with name that designates this class as a model. Models should themselves be parameters so that their corresponding view can be easily incorporated into a parent view. In this case, the model of the parent view will contain the model of the child view as a parameter.

WARNING: as descriptors, instances of this class will not behave normally if used as class variables.

inputChanged
inputReplaced
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

output

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Owner(object):
    data_x = IntParam()
    data_y = IntParam()

An instance of the Owner class can be created normally, and Params can be accessed as normal attributes:

owner_instance = Owner()
owner_instance.data_x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON.

Warning

As descriptors, instances of this class will not behave correctly if used as class variables.

Variables:
  • DataClass (type) – The type of data the param describes.
  • is_abstract (bool) – Whether this param is an abstract (ie class attribute) param.
  • valueChanged (QtCore.pyqtSignal) – A signal emitted whenever the param is changed.
  • default_value (DataClass) – The default value of the param. If unset, the default value is whatever value is created when calling DataClass()
  • param_name (str) – The name of the attribute this param is set as. For example, Owner.data_x.param_name would be ‘data_x’.
  • instance_attr_name (str) – The name of the attribute used to store param values on instances.
  • abstract_attr_name (str) – The name of the attribute used to store abstract params on class objects.
outputChanged
outputReplaced
owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
postprocess()
preprocess()
property(self, str) → Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, PYQT_SIGNAL) → int
removeEventFilter(self, QObject)
reportValidation(results)

Present validation messages to the user. This is an implmentation of the ValidationMixin interface and does not need to be called directly.

This method assumes that error and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters:results (validation.ValidationResults) – Set of validation results generated by validate
Returns:if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startable
startableChanged
startableReplaced
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type:An instance of one the classes from NATIVE_JSON_DATATYPES
toJsonImplementation()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
class schrodinger.tasks.tasks_.BlockingFunctionTask(**kwargs)

Bases: schrodinger.tasks.tasks_.AbstractFunctionTask

DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.tasks_', '_runMainFunction': <function BlockingFunctionTask._runMainFunction>, '__doc__': None, '_BlockingFunctionTask_jsonAdapters': [], '_child_param_names': ['input', 'output', '_status', 'name', 'startable']})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
__init__(**kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.tasks_'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters:json_obj (dict) – A json-loaded dictionary to create an object from.
Returns:An instance of this class.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

inherits(self, str) → bool
input

Inherit all functionality of CompoundParam with name that designates this class as a model. Models should themselves be parameters so that their corresponding view can be easily incorporated into a parent view. In this case, the model of the parent view will contain the model of the child view as a parameter.

WARNING: as descriptors, instances of this class will not behave normally if used as class variables.

inputChanged
inputReplaced
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
killTimer(self, int)
mainFunction()
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

output

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Owner(object):
    data_x = IntParam()
    data_y = IntParam()

An instance of the Owner class can be created normally, and Params can be accessed as normal attributes:

owner_instance = Owner()
owner_instance.data_x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON.

Warning

As descriptors, instances of this class will not behave correctly if used as class variables.

Variables:
  • DataClass (type) – The type of data the param describes.
  • is_abstract (bool) – Whether this param is an abstract (ie class attribute) param.
  • valueChanged (QtCore.pyqtSignal) – A signal emitted whenever the param is changed.
  • default_value (DataClass) – The default value of the param. If unset, the default value is whatever value is created when calling DataClass()
  • param_name (str) – The name of the attribute this param is set as. For example, Owner.data_x.param_name would be ‘data_x’.
  • instance_attr_name (str) – The name of the attribute used to store param values on instances.
  • abstract_attr_name (str) – The name of the attribute used to store abstract params on class objects.
outputChanged
outputReplaced
owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
postprocess()
preprocess()
property(self, str) → Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, PYQT_SIGNAL) → int
removeEventFilter(self, QObject)
reportValidation(results)

Present validation messages to the user. This is an implmentation of the ValidationMixin interface and does not need to be called directly.

This method assumes that error and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters:results (validation.ValidationResults) – Set of validation results generated by validate
Returns:if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
start()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startable
startableChanged
startableReplaced
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type:An instance of one the classes from NATIVE_JSON_DATATYPES
toJsonImplementation()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
class schrodinger.tasks.tasks_.ThreadFunctionTask(*args, **kwargs)

Bases: schrodinger.tasks.tasks_.AbstractFunctionTask

running_tasks = []
MAX_THREAD_TASKS = 500
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.tasks_', 'running_tasks': [], 'MAX_THREAD_TASKS': 500, '__init__': <function ThreadFunctionTask.__init__>, '_runMainFunction': <function ThreadFunctionTask._runMainFunction>, 'wait': <function ThreadFunctionTask.wait>, '__doc__': None, '_ThreadFunctionTask_jsonAdapters': [], '_child_param_names': ['input', 'output', '_status', 'name', 'startable']})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.tasks_'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters:json_obj (dict) – A json-loaded dictionary to create an object from.
Returns:An instance of this class.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

inherits(self, str) → bool
input

Inherit all functionality of CompoundParam with name that designates this class as a model. Models should themselves be parameters so that their corresponding view can be easily incorporated into a parent view. In this case, the model of the parent view will contain the model of the child view as a parameter.

WARNING: as descriptors, instances of this class will not behave normally if used as class variables.

inputChanged
inputReplaced
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
killTimer(self, int)
mainFunction()
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

output

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Owner(object):
    data_x = IntParam()
    data_y = IntParam()

An instance of the Owner class can be created normally, and Params can be accessed as normal attributes:

owner_instance = Owner()
owner_instance.data_x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON.

Warning

As descriptors, instances of this class will not behave correctly if used as class variables.

Variables:
  • DataClass (type) – The type of data the param describes.
  • is_abstract (bool) – Whether this param is an abstract (ie class attribute) param.
  • valueChanged (QtCore.pyqtSignal) – A signal emitted whenever the param is changed.
  • default_value (DataClass) – The default value of the param. If unset, the default value is whatever value is created when calling DataClass()
  • param_name (str) – The name of the attribute this param is set as. For example, Owner.data_x.param_name would be ‘data_x’.
  • instance_attr_name (str) – The name of the attribute used to store param values on instances.
  • abstract_attr_name (str) – The name of the attribute used to store abstract params on class objects.
outputChanged
outputReplaced
owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
postprocess()
preprocess()
property(self, str) → Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, PYQT_SIGNAL) → int
removeEventFilter(self, QObject)
reportValidation(results)

Present validation messages to the user. This is an implmentation of the ValidationMixin interface and does not need to be called directly.

This method assumes that error and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters:results (validation.ValidationResults) – Set of validation results generated by validate
Returns:if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
start()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startable
startableChanged
startableReplaced
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type:An instance of one the classes from NATIVE_JSON_DATATYPES
toJsonImplementation()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.tasks.tasks_.SubprocessCmdTask

Bases: schrodinger.tasks.tasks_.AbstractTask

__init__()

Initialize self. See help(type(self)) for accurate signature.

makeCmd()
start()
wait(timeout=None)

Block until the task is finished executing or timeout seconds have passed.

Parameters:timeout (NoneType or int) – Amount of time in seconds to wait before timing out. If None or a negative number, this method will wait until the task is finished.
DataClass

alias of builtins.object

__class__

alias of sip.wrappertype

__deepcopy__(memo)
__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.tasks.tasks_', '__init__': <function SubprocessCmdTask.__init__>, 'makeCmd': <function SubprocessCmdTask.makeCmd>, 'start': <function SubprocessCmdTask.start>, '_finishTask': <function SubprocessCmdTask._finishTask>, 'wait': <function SubprocessCmdTask.wait>, 'kill': <function SubprocessCmdTask.kill>, '__doc__': None, '_SubprocessCmdTask_jsonAdapters': [], '_child_param_names': ['input', 'output', '_status', 'name', 'startable']})
__dir__() → list

default dir() implementation

__eq__(other)

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__get__(owner_instance, owner_class)

Returns the value of this param for the specific owner instance. If the value has not been set, the default value will be returned.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • owner_class (type) – the class of the owner.
__getattr__(self, str) → object
__getattribute__(name)

If an AttributeError is raised during the getting of a child param, recast the error as a ParamAttributeError and raise. Otherwise, proceed normally.

__gt__

Return self>value.

__hash__ = None
classmethod __init_subclass__()

This method modifies the creation of CompoundParam subclasses by dynamically adding a signal to the compound param for each subparam. The signal is named <subparam-name>Changed. (ex. coord.xChanged and coord.yChanged). This way, subclasses of CompoundParam do not need to explicitly define signals for each subparam.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.tasks.tasks_'
__ne__(other)

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__()

Return repr(self).

__set__(owner_instance, value)

Set the value of this param for the specific owner instance.

Parameters:
  • owner_instance (object) – the instance on which this param is an attribute. The value returned will correspond to this instance.
  • value (self.DataClass) – the value to set this param to
__set_name__(owner_name, name)

Saves the name this param is saved as.

Parameters:
  • owner_instance (object) – The instance on which this param is an attribute.
  • name (str) – The name of the attribute this descriptor was set to.
__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__()

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)

aboutToReplace
blockSignals(self, bool) → bool
childEvent(self, QChildEvent)
children(self) → object
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

classmethod fromJson(json_obj)

A factory method which constructs a new object from a given dict loaded from a json string or file.

Parameters:json_obj (dict) – A json-loaded dictionary to create an object from.
Returns:An instance of this class.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

get_version()

Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.

inherits(self, str) → bool
input

Inherit all functionality of CompoundParam with name that designates this class as a model. Models should themselves be parameters so that their corresponding view can be easily incorporated into a parent view. In this case, the model of the parent view will contain the model of the child view as a parameter.

WARNING: as descriptors, instances of this class will not behave normally if used as class variables.

inputChanged
inputReplaced
installEventFilter(self, QObject)
isDefault()
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
is_abstract = True
kill()
killTimer(self, int)
metaObject(self) → QMetaObject
moveToThread(self, QThread)
name
nameChanged
nameReplaced
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

output

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Owner(object):
    data_x = IntParam()
    data_y = IntParam()

An instance of the Owner class can be created normally, and Params can be accessed as normal attributes:

owner_instance = Owner()
owner_instance.data_x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON.

Warning

As descriptors, instances of this class will not behave correctly if used as class variables.

Variables:
  • DataClass (type) – The type of data the param describes.
  • is_abstract (bool) – Whether this param is an abstract (ie class attribute) param.
  • valueChanged (QtCore.pyqtSignal) – A signal emitted whenever the param is changed.
  • default_value (DataClass) – The default value of the param. If unset, the default value is whatever value is created when calling DataClass()
  • param_name (str) – The name of the attribute this param is set as. For example, Owner.data_x.param_name would be ‘data_x’.
  • instance_attr_name (str) – The name of the attribute used to store param values on instances.
  • abstract_attr_name (str) – The name of the attribute used to store abstract params on class objects.
outputChanged
outputReplaced
owner()

Returns the owner of this param. Works for both concrete and abstract params. Returns None if the param has no owner. Follows the same rules as ownerChain.

ownerChain()

Returns the owner chain for this param. This works for concrete params and abstract params. Examples:

foo.bar.atom.coord.ownerChain() will return [foo, bar, atom, coord] where every item is a regular param.

Foo.bar.atom.coord.x.ownerChain() will return [Foo, bar, atom.coord, x] where Foo is a class and all other items are abstract params.

parent(self) → QObject
postprocess()
preprocess()
property(self, str) → Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, PYQT_SIGNAL) → int
removeEventFilter(self, QObject)
reportValidation(results)

Present validation messages to the user. This is an implmentation of the ValidationMixin interface and does not need to be called directly.

This method assumes that error and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters:results (validation.ValidationResults) – Set of validation results generated by validate
Returns:if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
reset(*args)

Resets this compound param to its default value. If no arguments are passed in, the entire param is reset. Any number of abstract params may be optionally passed in to perform a partial reset to default value of specified sub-params. For example, given a compound param with two xyz coordinates as endpoints:

class Line(CompoundParam):
start = Coord(x=1, y=2, z=3) end = Coord(x=4, y=5, z=6)

line = Line()

We can reset the entire line:

line.reset()

Or just certain parts:

line.reset(Line.start.x) # resets just start.x line.start.reset(Coord.x) # another way to reset start.x line.reset(Line.end) # resets the entire end point line.reset(Line.start.z, Line.end.z) # resets the z-coord of both
Parameters:args – abstract sub-params of self
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters:
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.
  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.
  • stop_on_fail (bool) – stop validation when first failure is encountered
Returns:

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type:

ValidationResults or bool

sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) → bool
setValue(value=None, **kwargs)

Set the value of this compound param instance. This mutates the compound param to be equal to value; it does not make the compound param /identical/ to value.

Parameters:value (self.DataClass or dict) – either another param instance of the same type or a dictionary mapping the sub-param names to values.
signalsBlocked(self) → bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startable
startableChanged
startableReplaced
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
status
statusChanged
suspend_signals()
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict()
toJson(_mark_version=True)

Create and returns a data structure made up of jsonable items.

Return type:An instance of one the classes from NATIVE_JSON_DATATYPES
toJsonImplementation()

Returns a JSON representation of this value object.

tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged