iris-pex-embedded-python 3.1.1__tar.gz → 3.1.1b1__tar.gz

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.

Files changed (149) hide show
  1. {iris_pex_embedded_python-3.1.1/src/iris_pex_embedded_python.egg-info → iris_pex_embedded_python-3.1.1b1}/PKG-INFO +1 -19
  2. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/README.md +1 -19
  3. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/pyproject.toml +1 -1
  4. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_business_host.py +53 -66
  5. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_director.py +2 -2
  6. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_utils.py +11 -32
  7. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Director.cls +0 -2
  8. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Message.cls +20 -92
  9. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Test.cls +0 -23
  10. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Utils.cls +6 -9
  11. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1/src/iris_pex_embedded_python.egg-info}/PKG-INFO +1 -19
  12. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/LICENSE +0 -0
  13. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/setup.cfg +0 -0
  14. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/setup.py +0 -0
  15. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/__init__.py +0 -0
  16. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/BusinessOperation.cls +0 -0
  17. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/BusinessProcess.cls +0 -0
  18. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/BusinessService.cls +0 -0
  19. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Common.cls +0 -0
  20. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Director.cls +0 -0
  21. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Duplex/Operation.cls +0 -0
  22. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Duplex/Process.cls +0 -0
  23. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Duplex/Service.cls +0 -0
  24. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/InboundAdapter.cls +0 -0
  25. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Message.cls +0 -0
  26. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/OutboundAdapter.cls +0 -0
  27. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/PickleMessage.cls +0 -0
  28. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls +0 -0
  29. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls +0 -0
  30. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls +0 -0
  31. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls +0 -0
  32. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls +0 -0
  33. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Test.cls +0 -0
  34. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/PEX/Utils.cls +0 -0
  35. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/cls/Grongier/Service/WSGI.cls +0 -0
  36. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/__init__.py +0 -0
  37. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/__main__.py +0 -0
  38. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/_business_host.py +0 -0
  39. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/_cli.py +0 -0
  40. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/_common.py +0 -0
  41. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/_director.py +0 -0
  42. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/_utils.py +0 -0
  43. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/grongier/pex/wsgi/handlers.py +0 -0
  44. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_BufferReader.py +0 -0
  45. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_BufferWriter.py +0 -0
  46. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_ConnectionInformation.py +0 -0
  47. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_ConnectionParameters.py +0 -0
  48. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_Constant.py +0 -0
  49. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_DBList.py +0 -0
  50. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_Device.py +0 -0
  51. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_GatewayContext.py +0 -0
  52. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_GatewayException.py +0 -0
  53. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_GatewayUtility.py +0 -0
  54. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRIS.py +0 -0
  55. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISConnection.py +0 -0
  56. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISEmbedded.py +0 -0
  57. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISGlobalNode.py +0 -0
  58. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISGlobalNodeView.py +0 -0
  59. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISIterator.py +0 -0
  60. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISList.py +0 -0
  61. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISNative.py +0 -0
  62. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISOREF.py +0 -0
  63. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISObject.py +0 -0
  64. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_IRISReference.py +0 -0
  65. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_InStream.py +0 -0
  66. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_LegacyIterator.py +0 -0
  67. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_ListItem.py +0 -0
  68. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_ListReader.py +0 -0
  69. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_ListWriter.py +0 -0
  70. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_LogFileStream.py +0 -0
  71. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_MessageHeader.py +0 -0
  72. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_OutStream.py +0 -0
  73. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_PrintStream.py +0 -0
  74. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_PythonGateway.py +0 -0
  75. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/_SharedMemorySocket.py +0 -0
  76. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/__init__.py +0 -0
  77. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/__main__.py +0 -0
  78. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_Column.py +0 -0
  79. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_DBAPI.py +0 -0
  80. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_Descriptor.py +0 -0
  81. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_IRISStream.py +0 -0
  82. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_Message.py +0 -0
  83. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_Parameter.py +0 -0
  84. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_ParameterCollection.py +0 -0
  85. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_ResultSetRow.py +0 -0
  86. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/_SQLType.py +0 -0
  87. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/__init__.py +0 -0
  88. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/preparser/_PreParser.py +0 -0
  89. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/preparser/_Scanner.py +0 -0
  90. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/preparser/_Token.py +0 -0
  91. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/preparser/_TokenList.py +0 -0
  92. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/dbapi/preparser/__init__.py +0 -0
  93. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_BusinessHost.py +0 -0
  94. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_BusinessOperation.py +0 -0
  95. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_BusinessProcess.py +0 -0
  96. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_BusinessService.py +0 -0
  97. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_Common.py +0 -0
  98. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_Director.py +0 -0
  99. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_IRISBusinessOperation.py +0 -0
  100. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_IRISBusinessService.py +0 -0
  101. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_IRISInboundAdapter.py +0 -0
  102. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_IRISOutboundAdapter.py +0 -0
  103. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_InboundAdapter.py +0 -0
  104. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_Message.py +0 -0
  105. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/_OutboundAdapter.py +0 -0
  106. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/intersystems_iris/pex/__init__.py +0 -0
  107. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/__init__.py +0 -0
  108. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/__main__.py +0 -0
  109. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_business_operation.py +0 -0
  110. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_business_process.py +0 -0
  111. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_business_service.py +0 -0
  112. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_cli.py +0 -0
  113. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_common.py +0 -0
  114. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_inbound_adapter.py +0 -0
  115. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_message.py +0 -0
  116. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_outbound_adapter.py +0 -0
  117. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_pickle_message.py +0 -0
  118. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_private_session_duplex.py +0 -0
  119. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/_private_session_process.py +0 -0
  120. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/BusinessOperation.cls +0 -0
  121. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/BusinessProcess.cls +0 -0
  122. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/BusinessService.cls +0 -0
  123. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Common.cls +0 -0
  124. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Duplex/Operation.cls +0 -0
  125. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Duplex/Process.cls +0 -0
  126. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Duplex/Service.cls +0 -0
  127. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/InboundAdapter.cls +0 -0
  128. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/OutboundAdapter.cls +0 -0
  129. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/PickleMessage.cls +0 -0
  130. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/PrivateSession/Duplex.cls +0 -0
  131. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/PrivateSession/Message/Ack.cls +0 -0
  132. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/PrivateSession/Message/Poll.cls +0 -0
  133. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/PrivateSession/Message/Start.cls +0 -0
  134. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/PrivateSession/Message/Stop.cls +0 -0
  135. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/cls/IOP/Service/WSGI.cls +0 -0
  136. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iop/wsgi/handlers.py +0 -0
  137. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris/__init__.py +0 -0
  138. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris/__init__.pyi +0 -0
  139. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris/_cli.py +0 -0
  140. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris/iris_ipm.py +0 -0
  141. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris/iris_ipm.pyi +0 -0
  142. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris/iris_utils.py +0 -0
  143. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris_pex_embedded_python.egg-info/SOURCES.txt +0 -0
  144. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris_pex_embedded_python.egg-info/dependency_links.txt +0 -0
  145. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris_pex_embedded_python.egg-info/entry_points.txt +0 -0
  146. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris_pex_embedded_python.egg-info/requires.txt +0 -0
  147. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/iris_pex_embedded_python.egg-info/top_level.txt +0 -0
  148. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/irisnative/_IRISNative.py +0 -0
  149. {iris_pex_embedded_python-3.1.1 → iris_pex_embedded_python-3.1.1b1}/src/irisnative/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris_pex_embedded_python
3
- Version: 3.1.1
3
+ Version: 3.1.1b1
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License
@@ -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 |
@@ -66,7 +66,6 @@ This proof of concept aims to show how the **iris interoperability framework** c
66
66
  - [7.11. version](#711-version)
67
67
  - [7.12. log](#712-log)
68
68
  - [8. Credits](#8-credits)
69
- - [9. Benchmarks](#9-benchmarks)
70
69
 
71
70
  ## 1.2. Example
72
71
 
@@ -1334,21 +1333,4 @@ output :
1334
1333
 
1335
1334
  Most of the code came from PEX for Python by Mo Cheng and Summer Gerry.
1336
1335
 
1337
- Works only on IRIS 2021.2 +
1338
-
1339
- # 9. Benchmarks
1340
-
1341
- 8 senarios with thoses parameters :
1342
- - 100 messages
1343
- - body : simple string `test`
1344
-
1345
- | Scenario | Time (s) |
1346
- | --- | --- |
1347
- | Python BP to Python BO with Iris Message | 0.739 |
1348
- | Python BP to Python BO with Python Message | 0.732 |
1349
- | ObjetScript BP to Python BO with Iris Message | 0.594 |
1350
- | ObjetScript BP to Python BO with Python Message | 0.642 |
1351
- | Python BP to ObjetScript BO with Iris Message | 0.642 |
1352
- | Python BP to ObjetScript BO with Python Message | 0.675 |
1353
- | ObjetScript BP to ObjetScript BO with Iris Message | 0.159 |
1354
- | ObjetScript BP to ObjetScript BO with Python Message | 0.182 |
1336
+ Works only on IRIS 2021.2 +
@@ -3,7 +3,7 @@ requires = ["setuptools", "wheel"]
3
3
 
4
4
  [project]
5
5
  name = "iris_pex_embedded_python"
6
- version = "3.1.1"
6
+ version = "3.1.1b1"
7
7
  description = "Iris Interoperability based on Embedded Python"
8
8
  readme = "README.md"
9
9
  authors = [
@@ -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, *params, **param2):
38
- # Handle positional arguments using list comprehension
39
- serialized = [self._dispatch_serializer(param) for param in params]
40
-
41
- # Handle keyword arguments using dictionary comprehension
42
- param2 = {key: self._dispatch_serializer(value) for key, value in param2.items()}
43
-
44
- return fonction(self, *serialized, **param2)
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, *params, **param2):
58
- # Handle positional arguments using list comprehension
59
- serialized = [
60
- self._dispatch_serializer(param) if i == position else param
61
- for i, param in enumerate(params)
62
- ]
63
-
64
- # Handle keyword arguments using dictionary comprehension
65
- param2 = {
66
- key: self._dispatch_serializer(value) if key == name else value
67
- for key, value in param2.items()
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, *params, **param2):
97
- # Handle positional arguments using list comprehension
98
- serialized = [self._dispatch_deserializer(param) for param in params]
99
-
100
- # Handle keyword arguments using dictionary comprehension
101
- param2 = {key: self._dispatch_deserializer(value) for key, value in param2.items()}
102
-
103
- return fonction(self, *serialized, **param2)
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
- if self._is_message_instance(message):
240
- return self._serialize_message(message)
241
- elif self._is_pickle_message_instance(message):
242
- return self._serialize_pickle_message(message)
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
- # todo : decorator takes care of all the parameters, so this should never happen
250
- # return message
251
- raise TypeError("The message must be an instance of a class that is a subclass of Message or IRISObject %Persistent class.")
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,10 +265,8 @@ class _BusinessHost(_Common):
266
265
  msg = iris.cls('IOP.Message')._New()
267
266
  msg.classname = module + "." + classname
268
267
 
269
- if hasattr(msg, 'buffer') and len(json_string) > msg.buffer:
270
- msg.json = _Utils.string_to_stream(json_string,msg.buffer)
271
- else:
272
- msg.json = json_string
268
+ stream = _Utils.string_to_stream(json_string)
269
+ msg.jstr = stream
273
270
 
274
271
  return msg
275
272
 
@@ -292,22 +289,16 @@ class _BusinessHost(_Common):
292
289
  :return: The return value is a tuple of the form (serial, serial_type)
293
290
  """
294
291
  if (
295
- serial is not None
296
- and type(serial).__module__.startswith('iris')
297
- and (
298
- serial._IsA("IOP.Message")
299
- or serial._IsA("Grongier.PEX.Message")
300
- )
301
- ):
292
+ (serial is not None and type(serial).__module__.find('iris') == 0)
293
+ and
294
+ (serial._IsA("IOP.Message") or serial._IsA("Grongier.PEX.Message"))
295
+ ):
302
296
  return self._deserialize_message(serial)
303
297
  elif (
304
- serial is not None
305
- and type(serial).__module__.startswith('iris')
306
- and (
307
- serial._IsA("IOP.PickleMessage")
308
- or serial._IsA("Grongier.PEX.PickleMessage")
309
- )
310
- ):
298
+ (serial is not None and type(serial).__module__.find('iris') == 0)
299
+ and
300
+ (serial._IsA("IOP.PickleMessage") or serial._IsA("Grongier.PEX.PickleMessage"))
301
+ ):
311
302
  return self._deserialize_pickle_message(serial)
312
303
  else:
313
304
  return serial
@@ -330,11 +321,7 @@ class _BusinessHost(_Common):
330
321
  except Exception:
331
322
  raise ImportError("Class not found: " + classname)
332
323
 
333
- string = ""
334
- if (serial.type == 'Stream'):
335
- string = _Utils.stream_to_string(serial.json)
336
- else:
337
- string = serial.json
324
+ string = _Utils.stream_to_string(serial.jstr)
338
325
 
339
326
  jdict = json.loads(string, cls=IrisJSONDecoder)
340
327
  msg = self._dataclass_from_dict(msg,jdict)
@@ -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.json = body
261
+ message.jstr = _Utils.string_to_stream(body)
262
262
  else:
263
- message.json = _Utils.string_to_stream("{}")
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)
@@ -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 to the beginning
200
- sys.path.insert(0,os.path.normpath(path))
201
- # import settings from the specified file
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
- @staticmethod
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,buffer=1000000)-> str:
363
+ def stream_to_string(stream)-> str:
385
364
  string = ""
386
365
  stream.Rewind()
387
366
  while not stream.AtEnd:
388
- string += stream.Read(buffer)
367
+ string += stream.Read(4092)
389
368
  return string
390
369
 
391
370
  @staticmethod
392
- def string_to_stream(string:str,buffer=1000000):
371
+ def string_to_stream(string:str):
393
372
  stream = iris.cls('%Stream.GlobalCharacter')._New()
394
- n = buffer
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)
@@ -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
@@ -5,9 +5,7 @@
5
5
  Class IOP.Message Extends (Ens.MessageBody, %CSP.Page, %XML.Adaptor)
6
6
  {
7
7
 
8
- Parameter BUFFER = 1000000;
9
-
10
- Property buffer As %String(MAXLEN = "") [ Calculated, Transient ];
8
+ Parameter BUFFER = 64000;
11
9
 
12
10
  Property classname As %String(MAXLEN = "");
13
11
 
@@ -15,109 +13,48 @@ Property jsonObject As %DynamicObject(XMLPROJECTION = "None");
15
13
 
16
14
  Property json As %String(MAXLEN = "");
17
15
 
18
- Property jsonStream As %Stream.GlobalCharacter [ Internal, Private ];
19
-
20
- Property jsonString As %String(MAXLEN = 1000000) [ Internal, Private ];
21
-
22
16
  Property jstr As %Stream.GlobalCharacter [ Internal, Private ];
23
17
 
24
- // for retrocompatibility
25
-
26
- Property type As %String(MAXLEN = 6) [ ReadOnly ];
27
-
28
- Method bufferGet()
29
- {
30
- Quit ..#BUFFER
31
- }
32
-
33
18
  Method %OnNew(classname) As %Status [ Private, ServerOnly = 1 ]
34
19
  {
35
20
  set ..classname = $g(classname)
36
21
  Quit $$$OK
37
22
  }
38
23
 
39
- Method jstrGet()
24
+ Method jsonGet()
40
25
  {
41
- set rsp = $$$NULLOREF
42
- // Get as stream no matter what
43
- if ..type="String" {
44
- Set rsp = ##class(%Stream.GlobalCharacter).%New()
45
- Set sc = rsp.Write(..jsonString)
46
- }
47
- elseif ..type="Stream" {
48
- set rsp = ..jsonStream
49
- }
50
- Quit rsp
26
+ QUIT ..GetObjectJson()
51
27
  }
52
28
 
53
- Method jstrSet(pInput) As %Status
29
+ Method jsonSet(value) As %Status
54
30
  {
55
- // Set as stream no matter what
56
- set sc = ..jsonSet(pInput)
57
- if $$$ISERR(sc) { Quit sc }
58
- if ..type="String" {
59
- set stream = ##class(%Stream.GlobalCharacter).%New()
60
- Set sc = stream.Write(..jsonString)
61
- set r%jsonStream = stream
62
- set i%type = "Stream"
63
- }
64
- Quit sc
31
+ set ..jsonObject = {}.%FromJSON(value)
32
+ set ..jstr = ##class(%Stream.GlobalCharacter).%New()
33
+ do ..jstr.Write(value)
34
+ return $$$OK
65
35
  }
66
36
 
67
- Method jsonGet()
37
+ Method %DispatchGetProperty(property As %String) As %ObjectHandle
68
38
  {
69
- Quit $Case(..type
70
- , "String":..jsonString
71
- , "Stream":..jsonStream
72
- , :$$$NULLOREF)
39
+ quit $property(..jsonObject,property)
73
40
  }
74
41
 
75
- Method jsonSet(pInput) As %Status
42
+ Method %DispatchSetProperty(
43
+ property As %String,
44
+ value)
76
45
  {
77
- Set tOldStream=$Case(..type
78
- , "String":..jsonString
79
- , "Stream":..jsonStream
80
- , :$$$NULLOREF)
81
- Quit:tOldStream=pInput $$$OK
82
- Do:..type'="" Clear() Set i%type=""
83
-
84
- If $ISOBJECT(pInput) {
85
- if pInput.%Extends("%Stream.GlobalCharacter") {
86
- Set ..jsonStream=pInput, i%type="Stream"
87
- }
88
- else {
89
- Throw ##class(%Exception.General).%New("Invalid input type, must be a %Stream.GlobalCharacter or a %String")
90
- }
91
- }
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
- }
102
- Set i%jsonString=pInput, i%type="String"
103
- }
104
- Quit $$$OK
105
- Clear()
106
- If ..type="String" { Set r%jsonString="" }
107
- ElseIf ..type="Stream" { Set r%jsonStream=$$$NULLOREF }
108
- Quit
46
+ set $property(..jsonObject,property) = value
47
+ quit
109
48
  }
110
49
 
111
50
  Method GetObjectJson(ByRef atEnd)
112
51
  {
113
52
  set atEnd = 1
114
- if ..type = "String" {
115
- set json = ..jsonString
116
- }
117
- elseif ..type = "Stream" {
118
- do ..jsonStream.Rewind()
119
- set json = ..jsonStream.Read(..#BUFFER)
120
- set atEnd = ..jsonStream.AtEnd
53
+ set json = ..jsonObject.%ToJSON()
54
+ if json = "{}" {
55
+ d ..jstr.Rewind()
56
+ set json = ..jstr.Read(..#BUFFER)
57
+ set atEnd = ..jstr.AtEnd
121
58
  }
122
59
  QUIT json
123
60
  }
@@ -178,15 +115,6 @@ Storage Default
178
115
  <Value name="3">
179
116
  <Value>jstr</Value>
180
117
  </Value>
181
- <Value name="4">
182
- <Value>jsonStream</Value>
183
- </Value>
184
- <Value name="5">
185
- <Value>type</Value>
186
- </Value>
187
- <Value name="6">
188
- <Value>jsonString</Value>
189
- </Value>
190
118
  </Data>
191
119
  <Data name="jsonObject">
192
120
  <Attribute>jsonObject</Attribute>
@@ -2,29 +2,6 @@
2
2
  Class IOP.Test Extends %Persistent
3
3
  {
4
4
 
5
- /// Description
6
- ClassMethod TestJsonStringMessage() As %Status
7
- {
8
- set msg = ##class(IOP.Message).%New()
9
- set msg.classname = "IOP.Message"
10
- set msg.json = "{""name"":""John""}"
11
- set tset = msg.json
12
- set tst = msg.jstr
13
- QUIT $$$OK
14
- }
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
5
  /// Register
29
6
  ClassMethod Register() As %Status
30
7
  {
@@ -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 ##class(IOP.Common).SetPythonPath(onePath)
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 sys = ##class(%SYS.Python).Import("sys")
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iris_pex_embedded_python
3
- Version: 3.1.1
3
+ Version: 3.1.1b1
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License
@@ -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 |