cpp-common/bt2c/fmt.hpp: use `wise_enum::string_type` in `EnableIfIsWiseEnum` definition
[babeltrace.git] / src / bindings / python / bt2 / bt2 / __init__.py
1 # SPDX-License-Identifier: MIT
2 #
3 # Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
4
5 import os
6 import sys
7
8 # With Python ≥ 3.8 on Windows, the DLL lookup mechanism to load native
9 # modules doesn't search the `PATH` environment variable like everything
10 # else on this platform.
11 #
12 # See <https://docs.python.org/3/whatsnew/3.8.html#bpo-36085-whatsnew>.
13 #
14 # Restore this behaviour by doing it manually.
15 if os.name == "nt" and sys.version_info >= (3, 8):
16 for path in os.getenv("PATH", "").split(os.pathsep):
17 if os.path.exists(path) and path != ".":
18 os.add_dll_directory(path)
19
20 del os
21
22
23 from bt2.mip import get_maximal_mip_version, get_greatest_operative_mip_version
24 from bt2.error import (
25 ComponentClassType,
26 _Error,
27 _ErrorCause,
28 _MemoryError,
29 _ComponentErrorCause,
30 _ComponentClassErrorCause,
31 _MessageIteratorErrorCause,
32 )
33 from bt2.field import (
34 _BoolField,
35 _RealField,
36 _ArrayField,
37 _OptionField,
38 _StringField,
39 _IntegerField,
40 _VariantField,
41 _BitArrayField,
42 _BoolFieldConst,
43 _RealFieldConst,
44 _StructureField,
45 _ArrayFieldConst,
46 _EnumerationField,
47 _OptionFieldConst,
48 _StaticArrayField,
49 _StringFieldConst,
50 _DynamicArrayField,
51 _IntegerFieldConst,
52 _VariantFieldConst,
53 _BitArrayFieldConst,
54 _SignedIntegerField,
55 _StructureFieldConst,
56 _UnsignedIntegerField,
57 _EnumerationFieldConst,
58 _StaticArrayFieldConst,
59 _DynamicArrayFieldConst,
60 _SignedEnumerationField,
61 _SignedIntegerFieldConst,
62 _DoublePrecisionRealField,
63 _SinglePrecisionRealField,
64 _UnsignedEnumerationField,
65 _UnsignedIntegerFieldConst,
66 _SignedEnumerationFieldConst,
67 _DoublePrecisionRealFieldConst,
68 _SinglePrecisionRealFieldConst,
69 _UnsignedEnumerationFieldConst,
70 )
71 from bt2.graph import Graph
72 from bt2.utils import Stop, TryAgain, UnknownObject, _OverflowError
73 from bt2.value import (
74 MapValue,
75 BoolValue,
76 RealValue,
77 ArrayValue,
78 StringValue,
79 SignedIntegerValue,
80 UnsignedIntegerValue,
81 create_value,
82 _IntegerValue,
83 _MapValueConst,
84 _BoolValueConst,
85 _RealValueConst,
86 _ArrayValueConst,
87 _StringValueConst,
88 _IntegerValueConst,
89 _SignedIntegerValueConst,
90 _UnsignedIntegerValueConst,
91 )
92 from bt2.plugin import find_plugin, find_plugins, find_plugins_in_path
93 from bt2.logging import (
94 LoggingLevel,
95 get_global_logging_level,
96 set_global_logging_level,
97 get_minimal_logging_level,
98 )
99 from bt2.message import (
100 _EventMessage,
101 _PacketEndMessage,
102 _StreamEndMessage,
103 _EventMessageConst,
104 _PacketEndMessageConst,
105 _StreamEndMessageConst,
106 _DiscardedEventsMessage,
107 _PacketBeginningMessage,
108 _StreamBeginningMessage,
109 _DiscardedPacketsMessage,
110 _DiscardedEventsMessageConst,
111 _PacketBeginningMessageConst,
112 _StreamBeginningMessageConst,
113 _DiscardedPacketsMessageConst,
114 _MessageIteratorInactivityMessage,
115 _MessageIteratorInactivityMessageConst,
116 )
117 from bt2.version import __version__
118 from bt2.component import (
119 _UserSinkComponent,
120 _SinkComponentConst,
121 _IncompleteUserClass,
122 _UserFilterComponent,
123 _UserSourceComponent,
124 _FilterComponentConst,
125 _SourceComponentConst,
126 _SinkComponentClassConst,
127 _FilterComponentClassConst,
128 _SourceComponentClassConst,
129 )
130 from bt2.py_plugin import register_plugin, plugin_component_class
131 from bt2.field_path import (
132 FieldPathScope,
133 _IndexFieldPathItem,
134 _CurrentArrayElementFieldPathItem,
135 _CurrentOptionContentFieldPathItem,
136 )
137
138 # import all public names
139 from bt2.clock_class import ClockClassOffset
140 from bt2.event_class import EventClassLogLevel
141 from bt2.field_class import (
142 IntegerDisplayBase,
143 _BoolFieldClass,
144 _RealFieldClass,
145 _ArrayFieldClass,
146 _OptionFieldClass,
147 _StringFieldClass,
148 _IntegerFieldClass,
149 _VariantFieldClass,
150 _BitArrayFieldClass,
151 _BoolFieldClassConst,
152 _RealFieldClassConst,
153 _StructureFieldClass,
154 _ArrayFieldClassConst,
155 _EnumerationFieldClass,
156 _OptionFieldClassConst,
157 _StaticArrayFieldClass,
158 _StringFieldClassConst,
159 _DynamicArrayFieldClass,
160 _IntegerFieldClassConst,
161 _VariantFieldClassConst,
162 _BitArrayFieldClassConst,
163 _SignedIntegerFieldClass,
164 _StructureFieldClassConst,
165 _UnsignedIntegerFieldClass,
166 _EnumerationFieldClassConst,
167 _StaticArrayFieldClassConst,
168 _DynamicArrayFieldClassConst,
169 _SignedEnumerationFieldClass,
170 _OptionWithSelectorFieldClass,
171 _SignedIntegerFieldClassConst,
172 _UnsignedEnumerationFieldClass,
173 _UnsignedIntegerFieldClassConst,
174 _OptionWithBoolSelectorFieldClass,
175 _SignedEnumerationFieldClassConst,
176 _VariantFieldClassWithoutSelector,
177 _OptionWithSelectorFieldClassConst,
178 _UnsignedEnumerationFieldClassConst,
179 _OptionWithIntegerSelectorFieldClass,
180 _VariantFieldClassWithIntegerSelector,
181 _DynamicArrayWithLengthFieldFieldClass,
182 _OptionWithBoolSelectorFieldClassConst,
183 _VariantFieldClassWithoutSelectorConst,
184 _OptionWithIntegerSelectorFieldClassConst,
185 _OptionWithSignedIntegerSelectorFieldClass,
186 _VariantFieldClassWithIntegerSelectorConst,
187 _DynamicArrayWithLengthFieldFieldClassConst,
188 _VariantFieldClassWithSignedIntegerSelector,
189 _OptionWithUnsignedIntegerSelectorFieldClass,
190 _VariantFieldClassWithUnsignedIntegerSelector,
191 _OptionWithSignedIntegerSelectorFieldClassConst,
192 _VariantFieldClassWithSignedIntegerSelectorConst,
193 _OptionWithUnsignedIntegerSelectorFieldClassConst,
194 _VariantFieldClassWithUnsignedIntegerSelectorConst,
195 )
196 from bt2.interrupter import Interrupter
197 from bt2.clock_snapshot import _ClockSnapshotConst, _UnknownClockSnapshot
198 from bt2.query_executor import QueryExecutor
199 from bt2.message_iterator import _UserMessageIterator
200 from bt2.integer_range_set import (
201 SignedIntegerRange,
202 UnsignedIntegerRange,
203 SignedIntegerRangeSet,
204 UnsignedIntegerRangeSet,
205 _SignedIntegerRangeConst,
206 _UnsignedIntegerRangeConst,
207 _SignedIntegerRangeSetConst,
208 _UnsignedIntegerRangeSetConst,
209 )
210 from bt2.component_descriptor import ComponentDescriptor
211 from bt2.trace_collection_message_iterator import (
212 ComponentSpec,
213 AutoSourceComponentSpec,
214 TraceCollectionMessageIterator,
215 )
216
217 if (sys.version_info.major, sys.version_info.minor) != (3, 4):
218
219 def _del_global_name(name):
220 if name in globals():
221 del globals()[name]
222
223 # remove private module names from the package
224 _del_global_name("_native_bt")
225 _del_global_name("clock_class")
226 _del_global_name("clock_snapshot")
227 _del_global_name("component")
228 _del_global_name("connection")
229 _del_global_name("error")
230 _del_global_name("event")
231 _del_global_name("event_class")
232 _del_global_name("field")
233 _del_global_name("field_class")
234 _del_global_name("field_path")
235 _del_global_name("graph")
236 _del_global_name("integer_range_set")
237 _del_global_name("interrupter")
238 _del_global_name("logging")
239 _del_global_name("message")
240 _del_global_name("message_iterator")
241 _del_global_name("native_bt")
242 _del_global_name("object")
243 _del_global_name("packet")
244 _del_global_name("plugin")
245 _del_global_name("port")
246 _del_global_name("py_plugin")
247 _del_global_name("query_executor")
248 _del_global_name("stream")
249 _del_global_name("stream_class")
250 _del_global_name("trace")
251 _del_global_name("trace_class")
252 _del_global_name("trace_collection_message_iterator")
253 _del_global_name("utils")
254 _del_global_name("value")
255 _del_global_name("version")
256
257 # remove private `_del_global_name` name from the package
258 del _del_global_name
259
260
261 # remove sys module name from the package
262 del sys
263
264
265 def _init_and_register_exit():
266 import atexit
267
268 from bt2 import native_bt
269
270 atexit.register(native_bt.bt2_exit_handler)
271 native_bt.bt2_init_from_bt2()
272
273
274 _init_and_register_exit()
275
276 # remove private `_init_and_register_exit` name from the package
277 del _init_and_register_exit
This page took 0.03587 seconds and 5 git commands to generate.