Ejemplo n.º 1
0
# Mantid Repository : https://github.com/mantidproject/mantid
#
# Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
#     NScD Oak Ridge National Laboratory, European Spallation Source
#     & Institut Laue - Langevin
# SPDX - License - Identifier: GPL - 3.0 +
"""
datobjects
==========

Defines Python objects that wrap the C++ DataObjects namespace. These are exported
so that boost::python can automagically downcast objects to the correct leaf type.

For example, AnalysisDataService.retrieve() returns a pointer to a basic Workspace
object. In C++ a dynamic_cast is used to get the correct type but Python has no concept
of this so users would be left with a pretty useless object.Boost::python can automatically
downcast to the correct leaf type if the export for that class exists in the registry.

The names from the library are not imported by default as it is best if the interface classes
are used for checks such as isinstance()
"""
from __future__ import absolute_import

###############################################################################
# Load the C++ library and register the C++ class exports
###############################################################################
from mantid.utils import import_mantid_cext

import_mantid_cext('._dataobjects', 'mantid.dataobjects', globals())
Ejemplo n.º 2
0
"""
api
===

Defines Python objects that wrap the C++ API namespace.

"""
from __future__ import absolute_import

###############################################################################
# Load the C++ library
###############################################################################
from mantid.utils import import_mantid_cext

# insert all the classes from _api in the mantid.api namespace
import_mantid_cext('._api', 'mantid.api', globals())

###############################################################################
# Attach additional operators to workspaces
###############################################################################
from mantid.api import _workspaceops

_workspaceops.attach_binary_operators_to_workspace()
_workspaceops.attach_unary_operators_to_workspace()
_workspaceops.attach_tableworkspaceiterator()
###############################################################################
# Add importAll member to ADS.
#
# Must be imported AFTER all the api members
# have been added to the mantid.api namespace above!
###############################################################################
Ejemplo n.º 3
0
=============

Defines Python objects that wrap the C++ Kernel namespace.

"""
###############################################################################
# Make modules available in this namespace
###############################################################################
# Imports boost.mpi if applicable
from mantid.kernel import funcinspect

# module alias for backwards-compatibility in user scripts
funcreturns = funcinspect

###############################################################################
# Do site-specific setup for packages
###############################################################################
from mantid.kernel import packagesetup as _mantidsite  # noqa: E402

_mantidsite.set_NEXUSLIB_var()

###############################################################################
# Load the C++ library
###############################################################################
from mantid.utils import import_mantid_cext  # noqa: E402

# insert all the classes from _kernel in the mantid.kernel namespace
import_mantid_cext('._kernel', 'mantid.kernel', globals())

from mantid.kernel._aliases import *  # noqa: E402,F401
Ejemplo n.º 4
0
# Mantid Repository : https://github.com/mantidproject/mantid
#
# Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
#   NScD Oak Ridge National Laboratory, European Spallation Source,
#   Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
# SPDX - License - Identifier: GPL - 3.0 +
"""
mantid.geometry
===============

Defines Python objects that wrap the C++ Geometry namespace.

"""
###############################################################################
# Load the C++ library
###############################################################################
from mantid.utils import import_mantid_cext

import_mantid_cext('._geometry', 'mantid.geometry', globals())

###############################################################################
# Make aliases accessible in this namespace
###############################################################################
from mantid.geometry._aliases import *  # noqa: E402,F401
Ejemplo n.º 5
0
"""
api
===

Defines Python objects that wrap the C++ API namespace.

"""
from __future__ import absolute_import

###############################################################################
# Load the C++ library
###############################################################################
from mantid.utils import import_mantid_cext

# insert all the classes from _api in the mantid.api namespace
import_mantid_cext('._api', 'mantid.api', globals())

###############################################################################
# Attach additional operators to workspaces
###############################################################################
from mantid.api import _workspaceops

_workspaceops.attach_binary_operators_to_workspace()
_workspaceops.attach_unary_operators_to_workspace()
_workspaceops.attach_tableworkspaceiterator()
###############################################################################
# Add importAll member to ADS.
#
# Must be imported AFTER all the api members
# have been added to the mantid.api namespace above!
###############################################################################
Ejemplo n.º 6
0
# Mantid Repository : https://github.com/mantidproject/mantid
#
# Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
#     NScD Oak Ridge National Laboratory, European Spallation Source
#     & Institut Laue - Langevin
# SPDX - License - Identifier: GPL - 3.0 +
"""
mantid.geometry
===============

Defines Python objects that wrap the C++ Geometry namespace.

"""
from __future__ import absolute_import

###############################################################################
# Load the C++ library
###############################################################################
from mantid.utils import import_mantid_cext

import_mantid_cext('._geometry', 'mantid.geometry', globals())

###############################################################################
# Make aliases accessible in this namespace
###############################################################################
from mantid.geometry._aliases import *
Ejemplo n.º 7
0
Defines Python objects that wrap the C++ Kernel namespace.

"""
from __future__ import absolute_import

###############################################################################
# Make modules available in this namespace
###############################################################################
# Imports boost.mpi if applicable
from mantid.kernel import environment, funcinspect, mpisetup

# module alias for backwards-compatibility in user scripts
funcreturns = funcinspect

###############################################################################
# Do site-specific setup for packages
###############################################################################
from mantid.kernel import packagesetup as _mantidsite

_mantidsite.set_NEXUSLIB_var()

###############################################################################
# Load the C++ library
###############################################################################
from mantid.utils import import_mantid_cext

# insert all the classes from _kernel in the mantid.kernel namespace
import_mantid_cext('._kernel', 'mantid.kernel', globals())

from mantid.kernel._aliases import *
Ejemplo n.º 8
0
# Mantid Repository : https://github.com/mantidproject/mantid
#
# Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
#     NScD Oak Ridge National Laboratory, European Spallation Source
#     & Institut Laue - Langevin
# SPDX - License - Identifier: GPL - 3.0 +
"""
Plugins
=======

Defines Python objects that wrap classes from the framework defined as plugins.
The classes defined here simply export the class types to Python, but not any additional functionality.
This allows Boost Python to automatically downcast a type to the actual leaf type,
making it easier to work with these objects in Python

For example, ProductFunction is made available as ProductFunction rather than IFunction
and so methods, such as __len__() & add() inherited from CompositeFunction are made available.

The names from the library are not imported by default as it is best if the interface classes
are used for checks such as isinstance()
"""
from __future__ import (absolute_import, division,
                        print_function)

###############################################################################
# Load the C++ library and register the C++ class exports
###############################################################################
from mantid.utils import import_mantid_cext

import_mantid_cext('._curvefitting', 'mantid._plugins', globals())