coal/__init__.py
Go to the documentation of this file.
1 # Software License Agreement (BSD License)
2 #
3 # Copyright (c) 2019 INRIA
4 # Author: Justin Carpentier
5 # All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 #
11 # * Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
13 # * Redistributions in binary form must reproduce the above
14 # copyright notice, this list of conditions and the following
15 # disclaimer in the documentation and/or other materials provided
16 # with the distribution.
17 # * Neither the name of CNRS-LAAS. nor the names of its
18 # contributors may be used to endorse or promote products derived
19 # from this software without specific prior written permission.
20 #
21 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 # POSSIBILITY OF SUCH DAMAGE.
33 
34 # ruff: noqa: F401, F403
35 
36 # On Windows, if coal.dll is not in the same directory than
37 # the .pyd, it will not be loaded.
38 # We first try to load coal, then, if it fail and we are on Windows:
39 # 1. We add all paths inside COAL_WINDOWS_DLL_PATH to DllDirectory
40 # 2. If COAL_WINDOWS_DLL_PATH we add the relative path from the
41 # package directory to the bin directory to DllDirectory
42 # This solution is inspired from:
43 # - https://github.com/PixarAnimationStudios/OpenUSD/pull/1511/files
44 # - https://stackoverflow.com/questions/65334494/python-c-extension-packaging-dll-along-with-pyd
45 # More resources on https://github.com/diffpy/pyobjcryst/issues/33
46 try:
47  from .coal_pywrap import * # noqa
48  from .coal_pywrap import __raw_version__, __version__
49 except ImportError:
50  import platform
51 
52  if platform.system() == "Windows":
53  from .windows_dll_manager import build_directory_manager, get_dll_paths
54 
55  with build_directory_manager() as dll_dir_manager:
56  for p in get_dll_paths():
57  dll_dir_manager.add_dll_directory(p)
58  from .coal_pywrap import * # noqa
59  from .coal_pywrap import __raw_version__, __version__ # noqa
60  else:
61  raise


hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:57