/otwrapy

General purpose OpenTURNS python wrapper tools

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

.. currentmodule:: otwrapy

otwrapy is a collection of tools that simplify the task of wrapping external codes in a Python environment as well as parallelizing it. It is built on top of OpenTURNS, with its users as the target audience. Documentation is available here. The module provides :

  • A Parallelizer class that converts any ot.NumericalMathFunction into a parallel wrapper using either multiprocessing, ipyparallel or joblib.
  • A set of usefull tools that simply recurrent tasks when constructing code wrappers:
    • TempWorkDir: Context manager that gracefully creates a temporary working directory. It handles errors and has the option to cleanup upon exit.
    • Debug: Decorator that protects the decorated function into a try/except structure so that errors are logged. It is specially usefull when you launch your code in a non interactive environement.
    • load_array and dump_array: Used for efficiently create and load backups with the option to compress with gzip.
    • safemakedirs: Create a directory without raising an exception if it exits.
    • create_logger: Return a logger with a FileHandler at a given logging level.

otwrapy comes from the experience of wrapping a lot of different external codes at Phimeca engineering. We are a company specialized on uncertainty treatment and we assist our clients introducing the probabilistic dimension in their so far deterministic studies.

Warning

While fully usable, otwrapy is still pre-1.0 software and has no backwards compatibility guarantees until the 1.0 release occurs! Please make sure to be carefull anytime you upgrade!