Skip to content
This repository was archived by the owner on Dec 7, 2023. It is now read-only.

Python unsupported features

Pierlauro Sciarelli edited this page Dec 16, 2019 · 4 revisions

Current version of dataClay has some unsupported features for Python class models. Most significant ones are listed below.

  • Class attributes and class methods. Attributes and methods can only be accessed at object level, you cannot execute a method or access an attribute from class context.
  • Empty methods or empty return: empty methods and - in general - all methods ending for pass are not supported
  • Generators and yield statement are not supported.
  • Handover of lambda functions. Lambdas can only be used in the context of a single execution environment. That is, lambdas cannot be passed in remote execution requests. See bsc-dom/pyclay#3.
  • User-defined decorators. You cannot define your own decorators in Python methods.
  • Inheritance. Method overloading or multiple inheritance are not supported. You cannot call super method either. See bsc-dom/pyclay#7.
  • Third-party library types (except numpy). You can, in general, use 3rd party libraries but their types may not be supported. An exceptions to that rule is the numpy array type which is explicitly supported. Other types, when serializable, can be used through the anything fallback type.
  • Arbitrary parameters *args and **kwargs. See bsc-dom/pyclay#4.
  • Raising exceptions. You can handle exceptions within your methods with try-except blocks, but they cannot be raised.

Clone this wiki locally