iris-pex-embedded-python 3.1.1__py3-none-any.whl → 3.1.1b2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of iris-pex-embedded-python might be problematic. Click here for more details.
- iop/_business_host.py +52 -59
- iop/_director.py +2 -2
- iop/_utils.py +11 -32
- iop/cls/IOP/Director.cls +0 -2
- iop/cls/IOP/Message.cls +9 -21
- iop/cls/IOP/Test.cls +1 -13
- iop/cls/IOP/Utils.cls +6 -9
- {iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/METADATA +4 -22
- {iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/RECORD +13 -13
- {iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/WHEEL +1 -1
- {iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/LICENSE +0 -0
- {iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/entry_points.txt +0 -0
- {iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/top_level.txt +0 -0
iop/_business_host.py
CHANGED
|
@@ -34,14 +34,15 @@ class _BusinessHost(_Common):
|
|
|
34
34
|
:param fonction: the function that will be decorated
|
|
35
35
|
:return: The function dispatch_serializer is being returned.
|
|
36
36
|
"""
|
|
37
|
-
def dispatch_serializer(self
|
|
38
|
-
# Handle positional arguments
|
|
39
|
-
serialized
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
def dispatch_serializer(self,*params, **param2):
|
|
38
|
+
# Handle positional arguments
|
|
39
|
+
serialized=[]
|
|
40
|
+
for param in params:
|
|
41
|
+
serialized.append(self._dispatch_serializer(param))
|
|
42
|
+
# Handle keyword arguments
|
|
43
|
+
for key, value in param2.items():
|
|
44
|
+
param2[key] = self._dispatch_serializer(value)
|
|
45
|
+
return fonction(self,*serialized, **param2)
|
|
45
46
|
return dispatch_serializer
|
|
46
47
|
|
|
47
48
|
def input_serialzer_param(position:int,name:str):
|
|
@@ -54,20 +55,19 @@ class _BusinessHost(_Common):
|
|
|
54
55
|
"""
|
|
55
56
|
def input_serialzer_param(fonction):
|
|
56
57
|
@wraps(fonction)
|
|
57
|
-
def dispatch_serializer(self
|
|
58
|
-
# Handle positional arguments
|
|
59
|
-
serialized
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return fonction(self, *serialized, **param2)
|
|
58
|
+
def dispatch_serializer(self,*params, **param2):
|
|
59
|
+
# Handle positional arguments
|
|
60
|
+
serialized=[]
|
|
61
|
+
for i,param in enumerate(params):
|
|
62
|
+
if i == position:
|
|
63
|
+
serialized.append(self._dispatch_serializer(param))
|
|
64
|
+
else:
|
|
65
|
+
serialized.append(param)
|
|
66
|
+
# Handle keyword arguments
|
|
67
|
+
for key, value in param2.items():
|
|
68
|
+
if key == name:
|
|
69
|
+
param2[key] = self._dispatch_serializer(value)
|
|
70
|
+
return fonction(self,*serialized, **param2)
|
|
71
71
|
return dispatch_serializer
|
|
72
72
|
return input_serialzer_param
|
|
73
73
|
|
|
@@ -93,14 +93,15 @@ class _BusinessHost(_Common):
|
|
|
93
93
|
:param fonction: the function that will be decorated
|
|
94
94
|
:return: The function dispatch_deserializer is being returned.
|
|
95
95
|
"""
|
|
96
|
-
def dispatch_deserializer(self
|
|
97
|
-
# Handle positional arguments
|
|
98
|
-
serialized
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
96
|
+
def dispatch_deserializer(self,*params, **param2):
|
|
97
|
+
# Handle positional arguments
|
|
98
|
+
serialized=[]
|
|
99
|
+
for param in params:
|
|
100
|
+
serialized.append(self._dispatch_deserializer(param))
|
|
101
|
+
# Handle keyword arguments
|
|
102
|
+
for key, value in param2.items():
|
|
103
|
+
param2[key] = self._dispatch_deserializer(value)
|
|
104
|
+
return fonction(self,*serialized, **param2)
|
|
104
105
|
return dispatch_deserializer
|
|
105
106
|
|
|
106
107
|
def output_serialzer(fonction):
|
|
@@ -235,20 +236,18 @@ class _BusinessHost(_Common):
|
|
|
235
236
|
:param message: The message to be serialized
|
|
236
237
|
:return: The serialized message
|
|
237
238
|
"""
|
|
238
|
-
if message is not None:
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
elif self._is_iris_object_instance(message):
|
|
244
|
-
return message
|
|
245
|
-
|
|
246
|
-
if message == "" or message is None:
|
|
239
|
+
if (message is not None and self._is_message_instance(message)):
|
|
240
|
+
return self._serialize_message(message)
|
|
241
|
+
elif (message is not None and self._is_pickle_message_instance(message)):
|
|
242
|
+
return self._serialize_pickle_message(message)
|
|
243
|
+
elif (message is not None and self._is_iris_object_instance(message)):
|
|
247
244
|
return message
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
245
|
+
elif (message is None or message == ""):
|
|
246
|
+
return message
|
|
247
|
+
else:
|
|
248
|
+
# todo : decorator takes care of all the parameters, so this should never happen
|
|
249
|
+
# return message
|
|
250
|
+
raise TypeError("The message must be an instance of a class that is a subclass of Message or IRISObject %Persistent class.")
|
|
252
251
|
|
|
253
252
|
def _serialize_message(self,message):
|
|
254
253
|
""" Converts a python dataclass message into an iris iop.message.
|
|
@@ -266,8 +265,8 @@ class _BusinessHost(_Common):
|
|
|
266
265
|
msg = iris.cls('IOP.Message')._New()
|
|
267
266
|
msg.classname = module + "." + classname
|
|
268
267
|
|
|
269
|
-
if hasattr(
|
|
270
|
-
msg.json = _Utils.string_to_stream(json_string
|
|
268
|
+
if hasattr(message, 'buffer') and len(json_string) > msg.buffer:
|
|
269
|
+
msg.json = _Utils.string_to_stream(json_string)
|
|
271
270
|
else:
|
|
272
271
|
msg.json = json_string
|
|
273
272
|
|
|
@@ -292,22 +291,16 @@ class _BusinessHost(_Common):
|
|
|
292
291
|
:return: The return value is a tuple of the form (serial, serial_type)
|
|
293
292
|
"""
|
|
294
293
|
if (
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
or serial._IsA("Grongier.PEX.Message")
|
|
300
|
-
)
|
|
301
|
-
):
|
|
294
|
+
(serial is not None and type(serial).__module__.find('iris') == 0)
|
|
295
|
+
and
|
|
296
|
+
(serial._IsA("IOP.Message") or serial._IsA("Grongier.PEX.Message"))
|
|
297
|
+
):
|
|
302
298
|
return self._deserialize_message(serial)
|
|
303
299
|
elif (
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
or serial._IsA("Grongier.PEX.PickleMessage")
|
|
309
|
-
)
|
|
310
|
-
):
|
|
300
|
+
(serial is not None and type(serial).__module__.find('iris') == 0)
|
|
301
|
+
and
|
|
302
|
+
(serial._IsA("IOP.PickleMessage") or serial._IsA("Grongier.PEX.PickleMessage"))
|
|
303
|
+
):
|
|
311
304
|
return self._deserialize_pickle_message(serial)
|
|
312
305
|
else:
|
|
313
306
|
return serial
|
iop/_director.py
CHANGED
|
@@ -258,9 +258,9 @@ class _Director():
|
|
|
258
258
|
message = iris.cls("IOP.Message")._New()
|
|
259
259
|
message.classname = classname
|
|
260
260
|
if body:
|
|
261
|
-
message.
|
|
261
|
+
message.jstr = _Utils.string_to_stream(body)
|
|
262
262
|
else:
|
|
263
|
-
message.
|
|
263
|
+
message.jstr = _Utils.string_to_stream("{}")
|
|
264
264
|
# serialize the message
|
|
265
265
|
business_host = _BusinessHost()
|
|
266
266
|
serial_message = business_host._dispatch_serializer(message)
|
iop/_utils.py
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import os
|
|
2
|
-
import sys
|
|
3
2
|
import ast
|
|
4
3
|
import iris
|
|
5
4
|
import inspect
|
|
6
5
|
import xmltodict
|
|
7
6
|
import pkg_resources
|
|
8
|
-
import importlib
|
|
9
7
|
|
|
10
8
|
class _Utils():
|
|
11
9
|
@staticmethod
|
|
@@ -176,7 +174,7 @@ class _Utils():
|
|
|
176
174
|
return module
|
|
177
175
|
|
|
178
176
|
@staticmethod
|
|
179
|
-
def migrate(filename=None):
|
|
177
|
+
def migrate(filename=None,root_path=None):
|
|
180
178
|
"""
|
|
181
179
|
Read the settings.py file and register all the components
|
|
182
180
|
settings.py file has two dictionaries:
|
|
@@ -188,21 +186,18 @@ class _Utils():
|
|
|
188
186
|
* key: the name of the production
|
|
189
187
|
* value: a dictionary containing the settings for the production
|
|
190
188
|
"""
|
|
191
|
-
path = None
|
|
192
189
|
# try to load the settings file
|
|
193
190
|
if filename:
|
|
191
|
+
import sys
|
|
192
|
+
path = None
|
|
194
193
|
# check if the filename is absolute or relative
|
|
195
194
|
if os.path.isabs(filename):
|
|
196
195
|
path = os.path.dirname(filename)
|
|
197
196
|
else:
|
|
198
197
|
raise ValueError("The filename must be absolute")
|
|
199
|
-
# add the path to the system path
|
|
200
|
-
sys.path.
|
|
201
|
-
|
|
202
|
-
settings = _Utils.import_module_from_path('settings',filename)
|
|
203
|
-
else:
|
|
204
|
-
# import settings from the settings module
|
|
205
|
-
import settings
|
|
198
|
+
# add the path to the system path
|
|
199
|
+
sys.path.append(path)
|
|
200
|
+
import settings
|
|
206
201
|
# get the path of the settings file
|
|
207
202
|
path = os.path.dirname(inspect.getfile(settings))
|
|
208
203
|
try:
|
|
@@ -215,24 +210,8 @@ class _Utils():
|
|
|
215
210
|
_Utils.set_productions_settings(settings.PRODUCTIONS,path)
|
|
216
211
|
except AttributeError:
|
|
217
212
|
print("No productions to register")
|
|
218
|
-
try:
|
|
219
|
-
sys.path.remove(path)
|
|
220
|
-
except ValueError:
|
|
221
|
-
pass
|
|
222
213
|
|
|
223
|
-
|
|
224
|
-
def import_module_from_path(module_name, file_path):
|
|
225
|
-
if not os.path.isabs(file_path):
|
|
226
|
-
raise ValueError("The file path must be absolute")
|
|
227
|
-
|
|
228
|
-
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
|
229
|
-
if spec is None:
|
|
230
|
-
raise ImportError(f"Cannot find module named {module_name} at {file_path}")
|
|
231
|
-
|
|
232
|
-
module = importlib.util.module_from_spec(spec)
|
|
233
|
-
sys.modules[module_name] = module
|
|
234
|
-
spec.loader.exec_module(module)
|
|
235
|
-
return module
|
|
214
|
+
|
|
236
215
|
|
|
237
216
|
@staticmethod
|
|
238
217
|
def set_classes_settings(class_items,root_path=None):
|
|
@@ -381,17 +360,17 @@ class _Utils():
|
|
|
381
360
|
return data
|
|
382
361
|
|
|
383
362
|
@staticmethod
|
|
384
|
-
def stream_to_string(stream
|
|
363
|
+
def stream_to_string(stream)-> str:
|
|
385
364
|
string = ""
|
|
386
365
|
stream.Rewind()
|
|
387
366
|
while not stream.AtEnd:
|
|
388
|
-
string += stream.Read(
|
|
367
|
+
string += stream.Read(4092)
|
|
389
368
|
return string
|
|
390
369
|
|
|
391
370
|
@staticmethod
|
|
392
|
-
def string_to_stream(string:str
|
|
371
|
+
def string_to_stream(string:str):
|
|
393
372
|
stream = iris.cls('%Stream.GlobalCharacter')._New()
|
|
394
|
-
n =
|
|
373
|
+
n = 4092
|
|
395
374
|
chunks = [string[i:i+n] for i in range(0, len(string), n)]
|
|
396
375
|
for chunk in chunks:
|
|
397
376
|
stream.Write(chunk)
|
iop/cls/IOP/Director.cls
CHANGED
|
@@ -9,8 +9,6 @@ Class IOP.Director [ Inheritance = right, ProcedureBlock, System = 4 ]
|
|
|
9
9
|
|
|
10
10
|
ClassMethod dispatchCreateBusinessService(pTargetDispatchName As %String) As Ens.BusinessService
|
|
11
11
|
{
|
|
12
|
-
// Hack to prevent job to be registered in the production
|
|
13
|
-
do ##class(Ens.Job).UnRegister(pTargetDispatchName,$JOB)
|
|
14
12
|
set tSC = ##class(Ens.Director).CreateBusinessService(pTargetDispatchName,.service)
|
|
15
13
|
if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
|
|
16
14
|
quit service
|
iop/cls/IOP/Message.cls
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
Class IOP.Message Extends (Ens.MessageBody, %CSP.Page, %XML.Adaptor)
|
|
6
6
|
{
|
|
7
7
|
|
|
8
|
-
Parameter BUFFER =
|
|
8
|
+
Parameter BUFFER = 64000;
|
|
9
9
|
|
|
10
10
|
Property buffer As %String(MAXLEN = "") [ Calculated, Transient ];
|
|
11
11
|
|
|
@@ -15,9 +15,9 @@ Property jsonObject As %DynamicObject(XMLPROJECTION = "None");
|
|
|
15
15
|
|
|
16
16
|
Property json As %String(MAXLEN = "");
|
|
17
17
|
|
|
18
|
-
Property jsonStream As %Stream.GlobalCharacter [ Internal,
|
|
18
|
+
Property jsonStream As %Stream.GlobalCharacter [ Internal, ReadOnly ];
|
|
19
19
|
|
|
20
|
-
Property jsonString As %String(MAXLEN =
|
|
20
|
+
Property jsonString As %String(MAXLEN = 64000) [ Internal, ReadOnly ];
|
|
21
21
|
|
|
22
22
|
Property jstr As %Stream.GlobalCharacter [ Internal, Private ];
|
|
23
23
|
|
|
@@ -80,25 +80,13 @@ Method jsonSet(pInput) As %Status
|
|
|
80
80
|
, :$$$NULLOREF)
|
|
81
81
|
Quit:tOldStream=pInput $$$OK
|
|
82
82
|
Do:..type'="" Clear() Set i%type=""
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
else {
|
|
89
|
-
Throw ##class(%Exception.General).%New("Invalid input type, must be a %Stream.GlobalCharacter or a %String")
|
|
90
|
-
}
|
|
83
|
+
If $ISOBJECT(pInput) && pInput.%Extends("%Stream.GlobalCharacter") {
|
|
84
|
+
Set r%jsonStream=pInput, i%type="Stream"
|
|
85
|
+
}
|
|
86
|
+
If $IsObject(pInput) && 'pInput.%Extends("%Stream.GlobalCharacter") {
|
|
87
|
+
Throw ##class(%Exception.General).%New("Invalid input type, must be a %Stream.GlobalCharacter")
|
|
91
88
|
}
|
|
92
|
-
Else
|
|
93
|
-
if $LENGTH(pInput)>..#BUFFER {
|
|
94
|
-
// write in a stream
|
|
95
|
-
Set stream = ##class(%Stream.GlobalCharacter).%New()
|
|
96
|
-
for i=1:..#BUFFER:$LENGTH(pInput) {
|
|
97
|
-
Set sc = stream.Write($EXTRACT(pInput,i,(i+..#BUFFER)))
|
|
98
|
-
Quit:$$$ISERR(sc)
|
|
99
|
-
}
|
|
100
|
-
Set ..jsonStream=stream, i%type="Stream"
|
|
101
|
-
}
|
|
89
|
+
Else {
|
|
102
90
|
Set i%jsonString=pInput, i%type="String"
|
|
103
91
|
}
|
|
104
92
|
Quit $$$OK
|
iop/cls/IOP/Test.cls
CHANGED
|
@@ -3,7 +3,7 @@ Class IOP.Test Extends %Persistent
|
|
|
3
3
|
{
|
|
4
4
|
|
|
5
5
|
/// Description
|
|
6
|
-
ClassMethod
|
|
6
|
+
ClassMethod TEST() As %Status
|
|
7
7
|
{
|
|
8
8
|
set msg = ##class(IOP.Message).%New()
|
|
9
9
|
set msg.classname = "IOP.Message"
|
|
@@ -13,18 +13,6 @@ ClassMethod TestJsonStringMessage() As %Status
|
|
|
13
13
|
QUIT $$$OK
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
ClassMethod TestJsonStreamMessage() As %Status
|
|
17
|
-
{
|
|
18
|
-
set msg = ##class(IOP.Message).%New()
|
|
19
|
-
set msg.classname = "IOP.Message"
|
|
20
|
-
set stream = ##class(%Stream.GlobalCharacter).%New()
|
|
21
|
-
set sc = stream.Write("{""name"":""John""}")
|
|
22
|
-
set msg.json = stream
|
|
23
|
-
set tset = msg.json
|
|
24
|
-
set tst = msg.jstr
|
|
25
|
-
QUIT $$$OK
|
|
26
|
-
}
|
|
27
|
-
|
|
28
16
|
/// Register
|
|
29
17
|
ClassMethod Register() As %Status
|
|
30
18
|
{
|
iop/cls/IOP/Utils.cls
CHANGED
|
@@ -104,10 +104,12 @@ ClassMethod GetRemoteClassInfo(
|
|
|
104
104
|
pModule As %String,
|
|
105
105
|
pClasspaths As %String,
|
|
106
106
|
ByRef pClassDetails,
|
|
107
|
-
ByRef pRemoteSettings) As %Status [ Internal ]
|
|
107
|
+
ByRef pRemoteSettings) As %Status [ Internal, Private ]
|
|
108
108
|
{
|
|
109
109
|
#dim tSC As %Status = $$$OK
|
|
110
110
|
#dim ex As %Exception.AbstractException
|
|
111
|
+
#dim tGateway As %External.Gateway
|
|
112
|
+
#dim tGatewayProxy As %Net.Remote.Object
|
|
111
113
|
|
|
112
114
|
Try {
|
|
113
115
|
if pClasspaths '="" {
|
|
@@ -118,19 +120,14 @@ ClassMethod GetRemoteClassInfo(
|
|
|
118
120
|
set onePath = $p(extraClasspaths,"|",i)
|
|
119
121
|
set onePath = ##class(%File).NormalizeDirectory(onePath)
|
|
120
122
|
if onePath?1"$$IRISHOME"1P.E set onePath = $e($system.Util.InstallDirectory(),1,*-1)_$e(onePath,11,*)
|
|
121
|
-
if onePath'="" do
|
|
123
|
+
if onePath'="" do sys.path.append(onePath)
|
|
122
124
|
}
|
|
123
125
|
}
|
|
126
|
+
;
|
|
124
127
|
|
|
125
128
|
set importlib = ##class(%SYS.Python).Import("importlib")
|
|
126
129
|
set builtins = ##class(%SYS.Python).Import("builtins")
|
|
127
|
-
set
|
|
128
|
-
// Load the module form a specific path
|
|
129
|
-
set spec = importlib.util."spec_from_file_location"(pModule, onePath_pModule_".py")
|
|
130
|
-
set module = importlib.util."module_from_spec"(spec)
|
|
131
|
-
do sys.modules."__setitem__"(pModule, module)
|
|
132
|
-
do spec.loader."exec_module"(module)
|
|
133
|
-
// Get the class
|
|
130
|
+
set module = importlib."import_module"(pModule)
|
|
134
131
|
set class = builtins.getattr(module, pRemoteClassname)
|
|
135
132
|
set tClass = class."__new__"(class)
|
|
136
133
|
|
{iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: iris_pex_embedded_python
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.1b2
|
|
4
4
|
Summary: Iris Interoperability based on Embedded Python
|
|
5
5
|
Author-email: grongier <guillaume.rongier@intersystems.com>
|
|
6
6
|
License: MIT License
|
|
@@ -43,9 +43,9 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
43
43
|
Classifier: Topic :: Utilities
|
|
44
44
|
Description-Content-Type: text/markdown
|
|
45
45
|
License-File: LICENSE
|
|
46
|
-
Requires-Dist: dacite>=1.6.0
|
|
47
|
-
Requires-Dist: xmltodict>=0.12.0
|
|
48
|
-
Requires-Dist: iris-embedded-python-wrapper>=0.0.6
|
|
46
|
+
Requires-Dist: dacite >=1.6.0
|
|
47
|
+
Requires-Dist: xmltodict >=0.12.0
|
|
48
|
+
Requires-Dist: iris-embedded-python-wrapper >=0.0.6
|
|
49
49
|
|
|
50
50
|
# 1. interoperability-embedded-python
|
|
51
51
|
|
|
@@ -115,7 +115,6 @@ This proof of concept aims to show how the **iris interoperability framework** c
|
|
|
115
115
|
- [7.11. version](#711-version)
|
|
116
116
|
- [7.12. log](#712-log)
|
|
117
117
|
- [8. Credits](#8-credits)
|
|
118
|
-
- [9. Benchmarks](#9-benchmarks)
|
|
119
118
|
|
|
120
119
|
## 1.2. Example
|
|
121
120
|
|
|
@@ -1384,20 +1383,3 @@ output :
|
|
|
1384
1383
|
Most of the code came from PEX for Python by Mo Cheng and Summer Gerry.
|
|
1385
1384
|
|
|
1386
1385
|
Works only on IRIS 2021.2 +
|
|
1387
|
-
|
|
1388
|
-
# 9. Benchmarks
|
|
1389
|
-
|
|
1390
|
-
8 senarios with thoses parameters :
|
|
1391
|
-
- 100 messages
|
|
1392
|
-
- body : simple string `test`
|
|
1393
|
-
|
|
1394
|
-
| Scenario | Time (s) |
|
|
1395
|
-
| --- | --- |
|
|
1396
|
-
| Python BP to Python BO with Iris Message | 0.739 |
|
|
1397
|
-
| Python BP to Python BO with Python Message | 0.732 |
|
|
1398
|
-
| ObjetScript BP to Python BO with Iris Message | 0.594 |
|
|
1399
|
-
| ObjetScript BP to Python BO with Python Message | 0.642 |
|
|
1400
|
-
| Python BP to ObjetScript BO with Iris Message | 0.642 |
|
|
1401
|
-
| Python BP to ObjetScript BO with Python Message | 0.675 |
|
|
1402
|
-
| ObjetScript BP to ObjetScript BO with Iris Message | 0.159 |
|
|
1403
|
-
| ObjetScript BP to ObjetScript BO with Python Message | 0.182 |
|
{iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/RECORD
RENAMED
|
@@ -92,31 +92,31 @@ intersystems_iris/pex/_OutboundAdapter.py,sha256=ao2Ubbta2DcrQGdzDUD_j1Zsk8bvUfc
|
|
|
92
92
|
intersystems_iris/pex/__init__.py,sha256=l_I1dpnluWawbFrGMDC0GLHpuHwjbpd-nho8otFX6TE,1379
|
|
93
93
|
iop/__init__.py,sha256=zHFF0Znipx1fwHYUEBZjNOYoZH1ro7z4IgYDU32kdn0,1067
|
|
94
94
|
iop/__main__.py,sha256=pQzVtkDhAeI6dpNRC632dVk2SGZZIEDwDufdgZe8VWs,98
|
|
95
|
-
iop/_business_host.py,sha256=
|
|
95
|
+
iop/_business_host.py,sha256=Z0h9Yp-Q8u-Jh8n-h0R8M3tiDFPJdL2pDcgjeTEnvn4,28150
|
|
96
96
|
iop/_business_operation.py,sha256=P824IzO89LCKnoNHZk64OZBDHcomHpjhKmMT89bS6TI,3500
|
|
97
97
|
iop/_business_process.py,sha256=F4NIQcwQ5u8yiAPpaN14OAXxbKJsRAGm5S4lrbgA3oI,13296
|
|
98
98
|
iop/_business_service.py,sha256=sX8J-2-0Go6uIuPYa0A5N9Nn9rY5lV6a05v4q78qDC8,3726
|
|
99
99
|
iop/_cli.py,sha256=yg4wv1FkhgjmoZuTMUr61Ff21PegJDH_cpZeHcF8hQE,6207
|
|
100
100
|
iop/_common.py,sha256=uKJdfCSPOjVQOg8GVuUj4ywfAn_2sPB3C82HbWw_5bI,15384
|
|
101
|
-
iop/_director.py,sha256=
|
|
101
|
+
iop/_director.py,sha256=CSNQPS4JPB3O4mXzsBj5L0Dcdciu1dm8ZtoHtnZCBTY,11041
|
|
102
102
|
iop/_inbound_adapter.py,sha256=PS5ToqhrYcXq9ZdLbCBqAfVp8kCeRACm_KF66pwBO9U,1652
|
|
103
103
|
iop/_message.py,sha256=BmwBXriykU66bwAgRbdkMpjfJRVWoNRX2eDc9TXfXzA,325
|
|
104
104
|
iop/_outbound_adapter.py,sha256=YTAhLrRf9chEAd53mV6KKbpaHOKNOKJHoGgj5wakRR0,726
|
|
105
105
|
iop/_pickle_message.py,sha256=noKfc2VkXufV3fqjKvNHN_oANQ1YN9ffCaSV0XSTAIE,331
|
|
106
106
|
iop/_private_session_duplex.py,sha256=klzWKwRRBoKUSz85D3DNYuCpDcZe_kWLNCWq5JtR0yc,5044
|
|
107
107
|
iop/_private_session_process.py,sha256=pGjWFOQhWpQxUVpTtvNKTPvDxgzjfw0VC4Aqj3KUq8w,1704
|
|
108
|
-
iop/_utils.py,sha256=
|
|
108
|
+
iop/_utils.py,sha256=3rhO33PLZ1ESJiboQFwfIGUvHV7RBSbq6A2CPyMaojA,16269
|
|
109
109
|
iop/cls/IOP/BusinessOperation.cls,sha256=lrymqZ8wHl5kJjXwdjbQVs5sScV__yIWGh-oGbiB_X0,914
|
|
110
110
|
iop/cls/IOP/BusinessProcess.cls,sha256=s3t38w1ykHqM26ETcbCYLt0ocjZyVVahm-_USZkuJ1E,2855
|
|
111
111
|
iop/cls/IOP/BusinessService.cls,sha256=7ebn32J9PiZXUgXuh5Xxm_7X6zHBiqkJr9c_dWxbPO8,1021
|
|
112
112
|
iop/cls/IOP/Common.cls,sha256=vYTnsL-ch-vTjpigBtwOHgrnOQMmuTkqXT9F-vWE650,11068
|
|
113
|
-
iop/cls/IOP/Director.cls,sha256=
|
|
113
|
+
iop/cls/IOP/Director.cls,sha256=DlxyFvsJjB1FVImFVNkRpQy7XXIMRoDZOLpEdMlwgOU,1885
|
|
114
114
|
iop/cls/IOP/InboundAdapter.cls,sha256=GeoCm6q5HcLJ5e4VxgqXiErJXqolBbpKwpunaNzpvjU,610
|
|
115
|
-
iop/cls/IOP/Message.cls,sha256=
|
|
115
|
+
iop/cls/IOP/Message.cls,sha256=DXXYF57YS-IQAyru8MQiEBo9UE3vgn6518_yVl2BepE,9660
|
|
116
116
|
iop/cls/IOP/OutboundAdapter.cls,sha256=9eOwy5ojwcTzwrHs6LNrFQvUD8aqcoNCZrILN1ycdDM,958
|
|
117
117
|
iop/cls/IOP/PickleMessage.cls,sha256=S3y7AClQ8mAILjxPuHdCjGosBZYzGbUQ5WTv4mYPNMQ,1673
|
|
118
|
-
iop/cls/IOP/Test.cls,sha256=
|
|
119
|
-
iop/cls/IOP/Utils.cls,sha256=
|
|
118
|
+
iop/cls/IOP/Test.cls,sha256=I11dVr44_XKgg-i_JvgPq9AeHwNnlfD226bgM5MSx7E,1775
|
|
119
|
+
iop/cls/IOP/Utils.cls,sha256=VwIeWxbeC6LkoDuBN0vhias-pkeLp7mbcC_4MPnzQ8g,13757
|
|
120
120
|
iop/cls/IOP/Duplex/Operation.cls,sha256=K_fmgeLjPZQbHgNrc0kd6DUQoW0fDn1VHQjJxHo95Zk,525
|
|
121
121
|
iop/cls/IOP/Duplex/Process.cls,sha256=xbefZ4z84a_IUhavWN6P_gZBzqkdJ5XRTXxro6iDvAg,6986
|
|
122
122
|
iop/cls/IOP/Duplex/Service.cls,sha256=sTMOQUCMBgVitmQkM8bbsrmrRtCdj91VlctJ3I7b8WU,161
|
|
@@ -135,9 +135,9 @@ iris/iris_ipm.pyi,sha256=j7CNUZcjeDu5sgeWUZJO_Qi4vQmHh6aD-jPWv8OdoUs,374
|
|
|
135
135
|
iris/iris_utils.py,sha256=kg80O3yRpHIutM-mCyr4xCeTvKWPE-Kai-b6Dxw4vQ4,9882
|
|
136
136
|
irisnative/_IRISNative.py,sha256=HQ4nBhc8t8_5OtxdMG-kx1aa-T1znf2I8obZOPLOPzg,665
|
|
137
137
|
irisnative/__init__.py,sha256=6YmvBLQSURsCPKaNg7LK-xpo4ipDjrlhKuwdfdNb3Kg,341
|
|
138
|
-
iris_pex_embedded_python-3.1.
|
|
139
|
-
iris_pex_embedded_python-3.1.
|
|
140
|
-
iris_pex_embedded_python-3.1.
|
|
141
|
-
iris_pex_embedded_python-3.1.
|
|
142
|
-
iris_pex_embedded_python-3.1.
|
|
143
|
-
iris_pex_embedded_python-3.1.
|
|
138
|
+
iris_pex_embedded_python-3.1.1b2.dist-info/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
|
|
139
|
+
iris_pex_embedded_python-3.1.1b2.dist-info/METADATA,sha256=ntJ_H35hi4dL3SLkXgSaAzRN_pAX4l2KMpccSzd1Scs,49482
|
|
140
|
+
iris_pex_embedded_python-3.1.1b2.dist-info/WHEEL,sha256=Rp8gFpivVLXx-k3U95ozHnQw8yDcPxmhOpn_Gx8d5nc,91
|
|
141
|
+
iris_pex_embedded_python-3.1.1b2.dist-info/entry_points.txt,sha256=pj-i4LSDyiSP6xpHlVjMCbg1Pik7dC3_sdGY3Yp9Vhk,38
|
|
142
|
+
iris_pex_embedded_python-3.1.1b2.dist-info/top_level.txt,sha256=jkWtvFKOp1Q-uO_VpGpfx5TcW7DS39z1liOAVp6zLig,47
|
|
143
|
+
iris_pex_embedded_python-3.1.1b2.dist-info/RECORD,,
|
{iris_pex_embedded_python-3.1.1.dist-info → iris_pex_embedded_python-3.1.1b2.dist-info}/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|