The Gaudi Framework  master (60ee365e)
Loading...
Searching...
No Matches
cpluginsvc Namespace Reference

Classes

class  Registry
class  Factory
class  Property

Functions

 _find_library ()
 registry ()
 factories ()

Variables

str __doc__
 (c) Copyright 1998-2026 CERN for the benefit of the LHCb and ATLAS collaborations # # This software is distributed under the terms of the Apache version 2 licence, # copied verbatim in the file "LICENSE".
tuple __all__
dict _lib_basename
 _lib = ctypes.CDLL(_find_library(), ctypes.RTLD_GLOBAL)
 _instance = None
list _functions_list
 n = f[0]
 func = getattr(_lib, n)
 argtypes
 restype
 errcheck
list GAUDI_DEFAULT_PLUGIN_PATH

Function Documentation

◆ _find_library()

cpluginsvc._find_library ( )
protected
Locate libGaudiPluginService, searching library path env vars explicitly.

Definition at line 50 of file cpluginsvc.py.

50def _find_library():
51 """Locate libGaudiPluginService, searching library path env vars explicitly."""
52 search_vars = (
53 ["DYLD_LIBRARY_PATH", "LD_LIBRARY_PATH"]
54 if platform.system() == "Darwin"
55 else ["LD_LIBRARY_PATH"]
56 )
57 for var in search_vars:
58 for directory in os.environ.get(var, "").split(os.pathsep):
59 if not directory:
60 continue
61 candidate = os.path.join(directory, _lib_basename)
62 if os.path.exists(candidate):
63 return candidate
64 # Fall back to bare name and let the dynamic linker resolve it
65 return _lib_basename
66
67

◆ factories()

cpluginsvc.factories ( )
factories returns the list of components factory informations known to the plugin service

Definition at line 101 of file cpluginsvc.py.

101def factories():
102 """
103 factories returns the list of components factory informations known to the plugin service
104 """
105 return registry().factories
106
107

◆ registry()

cpluginsvc.registry ( )
registry returns the singleton-like instance of the plugin service.

Definition at line 91 of file cpluginsvc.py.

91def registry():
92 """registry returns the singleton-like instance of the plugin service."""
93
94 global _instance
95 if _instance:
96 return _instance
97 _instance = _lib.cgaudi_pluginsvc_instance()
98 return _instance
99
100

Variable Documentation

◆ __all__

tuple cpluginsvc.__all__
private
Initial value:
1= (
2 "Registry",
3 "registry",
4 "factories",
5 "Factory",
6 "Property",
7)

Definition at line 35 of file cpluginsvc.py.

◆ __doc__

str cpluginsvc.__doc__
private
Initial value:
1= """
2cpluginsvc is a ctypes-based wrapper for the C-API of the GaudiPluginService.
3
4e.g.:
5
6>>> from GaudiPluginService import cpluginsvc
7>>> for _,f in cpluginsvc.factories().items():
8... try:
9... f.load()
10... except Exception:
11... print ("** could not load [%s] for factory [%s]" % (f.library, f.name))
12... continue
13... print(f)
14... for k,v in f.properties.iteritems():
15... print ("\t%s: %s" % (k,v))
16"""

(c) Copyright 1998-2026 CERN for the benefit of the LHCb and ATLAS collaborations # # This software is distributed under the terms of the Apache version 2 licence, # copied verbatim in the file "LICENSE".

# # In applying this licence, CERN does not waive the privileges and immunities # granted to it by virtue of its status as an Intergovernmental Organization # or submit itself to any jurisdiction. #

Definition at line 13 of file cpluginsvc.py.

◆ _functions_list

list cpluginsvc._functions_list
protected

Definition at line 188 of file cpluginsvc.py.

◆ _instance

cpluginsvc._instance = None
protected

Definition at line 88 of file cpluginsvc.py.

◆ _lib

cpluginsvc._lib = ctypes.CDLL(_find_library(), ctypes.RTLD_GLOBAL)
protected

Definition at line 68 of file cpluginsvc.py.

◆ _lib_basename

dict cpluginsvc._lib_basename
protected
Initial value:
1= {
2 "Darwin": "libGaudiPluginService.dylib",
3 "Windows": "libGaudiPluginService.dll",
4 "Linux": "libGaudiPluginService.so",
5}[platform.system()]

Definition at line 43 of file cpluginsvc.py.

◆ argtypes

cpluginsvc.argtypes

Definition at line 249 of file cpluginsvc.py.

◆ errcheck

cpluginsvc.errcheck

Definition at line 252 of file cpluginsvc.py.

◆ func

cpluginsvc.func = getattr(_lib, n)

Definition at line 248 of file cpluginsvc.py.

◆ GAUDI_DEFAULT_PLUGIN_PATH

list cpluginsvc.GAUDI_DEFAULT_PLUGIN_PATH
Initial value:
1= [
2 p
3 for p in _lib.cgaudi_pluginsvc_plugin_search_path().decode().split(os.pathsep)
4 if p
5]

Definition at line 256 of file cpluginsvc.py.

◆ n

cpluginsvc.n = f[0]

Definition at line 247 of file cpluginsvc.py.

◆ restype

cpluginsvc.restype

Definition at line 250 of file cpluginsvc.py.