iris-pex-embedded-python 3.3.1__tar.gz → 3.4.0b1__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.
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/PKG-INFO +2 -1
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/pyproject.toml +2 -1
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/__init__.py +2 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_dispatch.py +15 -11
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_message_validator.py +9 -3
- iris_pex_embedded_python-3.4.0b1/src/iop/_pydantic_message.py +9 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_serialization.py +15 -2
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iris_pex_embedded_python.egg-info/PKG-INFO +2 -1
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iris_pex_embedded_python.egg-info/SOURCES.txt +1 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iris_pex_embedded_python.egg-info/requires.txt +1 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/LICENSE +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/README.md +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/setup.cfg +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/setup.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/__init__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/BusinessOperation.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/BusinessProcess.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/BusinessService.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Common.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Director.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Duplex/Operation.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Duplex/Process.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Duplex/Service.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/InboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Message.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/OutboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/PickleMessage.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Test.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/PEX/Utils.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/cls/Grongier/Service/WSGI.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/__init__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/__main__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_business_host.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_cli.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_common.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_director.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_utils.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/wsgi/handlers.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_BufferReader.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_BufferWriter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_ConnectionInformation.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_ConnectionParameters.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_Constant.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_DBList.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_Device.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_GatewayContext.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_GatewayException.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_GatewayUtility.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRIS.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISConnection.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISEmbedded.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISGlobalNode.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISGlobalNodeView.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISIterator.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISList.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISNative.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISOREF.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISObject.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRISReference.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_InStream.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_LegacyIterator.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_ListItem.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_ListReader.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_ListWriter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_LogFileStream.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_MessageHeader.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_OutStream.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_PrintStream.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_PythonGateway.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_SharedMemorySocket.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/__init__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/__main__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_Column.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_DBAPI.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_Descriptor.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_IRISStream.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_Message.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_Parameter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_ParameterCollection.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_ResultSetRow.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/_SQLType.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/__init__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/preparser/_PreParser.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/preparser/_Scanner.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/preparser/_Token.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/preparser/_TokenList.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/dbapi/preparser/__init__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_BusinessHost.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_BusinessOperation.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_BusinessProcess.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_BusinessService.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_Common.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_Director.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_IRISBusinessOperation.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_IRISBusinessService.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_IRISInboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_IRISOutboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_InboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_Message.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/_OutboundAdapter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/pex/__init__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/__main__.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_async_request.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_host.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_operation.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_process.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_service.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_cli.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_common.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_decorators.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_director.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_inbound_adapter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_log_manager.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_message.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_outbound_adapter.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_pickle_message.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_private_session_duplex.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_private_session_process.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_utils.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/BusinessOperation.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/BusinessProcess.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/BusinessService.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Common.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Director.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Duplex/Operation.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Duplex/Process.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Duplex/Service.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/InboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Message/JSONSchema.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Message.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/OutboundAdapter.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/PickleMessage.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/PrivateSession/Duplex.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/PrivateSession/Message/Ack.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/PrivateSession/Message/Poll.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/PrivateSession/Message/Start.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/PrivateSession/Message/Stop.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Service/WSGI.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Test.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Utils.cls +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/wsgi/handlers.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iris_pex_embedded_python.egg-info/dependency_links.txt +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iris_pex_embedded_python.egg-info/entry_points.txt +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iris_pex_embedded_python.egg-info/top_level.txt +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/irisnative/_IRISNative.py +0 -0
- {iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/irisnative/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: iris_pex_embedded_python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0b1
|
|
4
4
|
Summary: Iris Interoperability based on Embedded Python
|
|
5
5
|
Author-email: grongier <guillaume.rongier@intersystems.com>
|
|
6
6
|
License: MIT License
|
|
@@ -45,6 +45,7 @@ Classifier: Topic :: Utilities
|
|
|
45
45
|
Description-Content-Type: text/markdown
|
|
46
46
|
License-File: LICENSE
|
|
47
47
|
Requires-Dist: dacite>=1.6.0
|
|
48
|
+
Requires-Dist: pydantic>=2.0.0
|
|
48
49
|
Requires-Dist: xmltodict>=0.12.0
|
|
49
50
|
Requires-Dist: iris-embedded-python-wrapper>=0.0.6
|
|
50
51
|
Requires-Dist: setuptools>=40.8.0
|
|
@@ -3,7 +3,7 @@ requires = ["setuptools", "wheel"]
|
|
|
3
3
|
|
|
4
4
|
[project]
|
|
5
5
|
name = "iris_pex_embedded_python"
|
|
6
|
-
version = "3.
|
|
6
|
+
version = "3.4.0b1"
|
|
7
7
|
description = "Iris Interoperability based on Embedded Python"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
authors = [
|
|
@@ -28,6 +28,7 @@ classifiers = [
|
|
|
28
28
|
|
|
29
29
|
dependencies = [
|
|
30
30
|
"dacite >=1.6.0",
|
|
31
|
+
"pydantic>=2.0.0",
|
|
31
32
|
"xmltodict>=0.12.0",
|
|
32
33
|
"iris-embedded-python-wrapper>=0.0.6",
|
|
33
34
|
"setuptools>=40.8.0",
|
|
@@ -4,6 +4,7 @@ from iop._business_service import _BusinessService
|
|
|
4
4
|
from iop._director import _Director
|
|
5
5
|
from iop._inbound_adapter import _InboundAdapter
|
|
6
6
|
from iop._message import _Message
|
|
7
|
+
from iop._pydantic_message import _PydanticMessage
|
|
7
8
|
from iop._outbound_adapter import _OutboundAdapter
|
|
8
9
|
from iop._pickle_message import _PickleMessage
|
|
9
10
|
from iop._private_session_duplex import _PrivateSessionDuplex
|
|
@@ -21,4 +22,5 @@ class DuplexOperation(_PrivateSessionDuplex): pass
|
|
|
21
22
|
class DuplexProcess(_PrivateSessionProcess): pass
|
|
22
23
|
class Message(_Message): pass
|
|
23
24
|
class PickleMessage(_PickleMessage): pass
|
|
25
|
+
class PydanticMessage(_PydanticMessage): pass
|
|
24
26
|
class Director(_Director): pass
|
|
@@ -7,6 +7,7 @@ from typing import Any, Dict, List, Type
|
|
|
7
7
|
|
|
8
8
|
import iris
|
|
9
9
|
from dacite import Config, from_dict
|
|
10
|
+
from pydantic import BaseModel
|
|
10
11
|
|
|
11
12
|
from iop._utils import _Utils
|
|
12
13
|
from iop._serialization import IrisJSONEncoder, IrisJSONDecoder
|
|
@@ -165,17 +166,20 @@ def dataclass_from_dict(klass: Type, dikt: Dict) -> Any:
|
|
|
165
166
|
Returns:
|
|
166
167
|
A dataclass object with the fields of the dataclass and the fields of the dictionary.
|
|
167
168
|
"""
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
169
|
+
if issubclass(klass, BaseModel):
|
|
170
|
+
return klass.model_validate(dikt)
|
|
171
|
+
else:
|
|
172
|
+
ret = from_dict(klass, dikt, Config(check_types=False))
|
|
173
|
+
|
|
174
|
+
try:
|
|
175
|
+
fieldtypes = klass.__annotations__
|
|
176
|
+
except Exception as e:
|
|
177
|
+
fieldtypes = []
|
|
178
|
+
|
|
179
|
+
for key, val in dikt.items():
|
|
180
|
+
if key not in fieldtypes:
|
|
181
|
+
setattr(ret, key, val)
|
|
182
|
+
return ret
|
|
179
183
|
|
|
180
184
|
def dispach_message(host, request: Any) -> Any:
|
|
181
185
|
"""Dispatches the message to the appropriate method.
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_message_validator.py
RENAMED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import dataclasses
|
|
2
2
|
from typing import Any, Type
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
from iop._message import _Message
|
|
3
5
|
|
|
4
6
|
|
|
5
7
|
def is_message_instance(obj: Any) -> bool:
|
|
6
8
|
"""Check if object is a valid Message instance."""
|
|
9
|
+
if isinstance(obj, BaseModel):
|
|
10
|
+
return True
|
|
7
11
|
if is_message_class(type(obj)):
|
|
8
12
|
if not dataclasses.is_dataclass(obj):
|
|
9
13
|
raise TypeError(f"{type(obj).__module__}.{type(obj).__qualname__} must be a dataclass")
|
|
@@ -27,10 +31,12 @@ def is_iris_object_instance(obj: Any) -> bool:
|
|
|
27
31
|
|
|
28
32
|
def is_message_class(klass: Type) -> bool:
|
|
29
33
|
"""Check if class is a Message type."""
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
if issubclass(klass, BaseModel):
|
|
35
|
+
return True
|
|
36
|
+
if issubclass(klass, _Message):
|
|
32
37
|
return True
|
|
33
|
-
return
|
|
38
|
+
return False
|
|
39
|
+
|
|
34
40
|
|
|
35
41
|
|
|
36
42
|
def is_pickle_message_class(klass: Type) -> bool:
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_serialization.py
RENAMED
|
@@ -15,6 +15,7 @@ from dacite import Config, from_dict
|
|
|
15
15
|
import iris
|
|
16
16
|
|
|
17
17
|
from iop._utils import _Utils
|
|
18
|
+
from pydantic import BaseModel
|
|
18
19
|
|
|
19
20
|
# Constants
|
|
20
21
|
DATETIME_FORMAT_LENGTH = 23
|
|
@@ -91,6 +92,8 @@ class IrisJSONEncoder(json.JSONEncoder):
|
|
|
91
92
|
"""JSONEncoder that handles dates, decimals, UUIDs, etc."""
|
|
92
93
|
|
|
93
94
|
def default(self, obj: Any) -> Any:
|
|
95
|
+
if isinstance(obj, BaseModel):
|
|
96
|
+
return obj.model_dump()
|
|
94
97
|
if obj.__class__.__name__ == 'DataFrame':
|
|
95
98
|
return f'dataframe:{TypeConverter.convert_to_string("dataframe", obj)}'
|
|
96
99
|
elif isinstance(obj, datetime.datetime):
|
|
@@ -134,6 +137,9 @@ class MessageSerializer:
|
|
|
134
137
|
@staticmethod
|
|
135
138
|
def serialize(message: Any, use_pickle: bool = False) -> iris.cls:
|
|
136
139
|
"""Serializes a message to IRIS format."""
|
|
140
|
+
if isinstance(message, BaseModel):
|
|
141
|
+
return (MessageSerializer._serialize_pickle(message)
|
|
142
|
+
if use_pickle else MessageSerializer._serialize_json(message))
|
|
137
143
|
if use_pickle:
|
|
138
144
|
return MessageSerializer._serialize_pickle(message)
|
|
139
145
|
return MessageSerializer._serialize_json(message)
|
|
@@ -155,7 +161,11 @@ class MessageSerializer:
|
|
|
155
161
|
|
|
156
162
|
@staticmethod
|
|
157
163
|
def _serialize_json(message: Any) -> iris.cls:
|
|
158
|
-
|
|
164
|
+
if isinstance(message, BaseModel):
|
|
165
|
+
json_string = json.dumps(message.model_dump(), cls=IrisJSONEncoder, ensure_ascii=False)
|
|
166
|
+
else:
|
|
167
|
+
json_string = json.dumps(message, cls=IrisJSONEncoder, ensure_ascii=False)
|
|
168
|
+
|
|
159
169
|
msg = iris.cls('IOP.Message')._New()
|
|
160
170
|
msg.classname = f"{message.__class__.__module__}.{message.__class__.__name__}"
|
|
161
171
|
|
|
@@ -187,7 +197,10 @@ class MessageSerializer:
|
|
|
187
197
|
|
|
188
198
|
try:
|
|
189
199
|
json_dict = json.loads(json_string, cls=IrisJSONDecoder)
|
|
190
|
-
|
|
200
|
+
if issubclass(msg_class, BaseModel):
|
|
201
|
+
return msg_class.model_validate(json_dict)
|
|
202
|
+
else:
|
|
203
|
+
return dataclass_from_dict(msg_class, json_dict)
|
|
191
204
|
except Exception as e:
|
|
192
205
|
raise SerializationError(f"Failed to deserialize JSON: {str(e)}")
|
|
193
206
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: iris_pex_embedded_python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0b1
|
|
4
4
|
Summary: Iris Interoperability based on Embedded Python
|
|
5
5
|
Author-email: grongier <guillaume.rongier@intersystems.com>
|
|
6
6
|
License: MIT License
|
|
@@ -45,6 +45,7 @@ Classifier: Topic :: Utilities
|
|
|
45
45
|
Description-Content-Type: text/markdown
|
|
46
46
|
License-File: LICENSE
|
|
47
47
|
Requires-Dist: dacite>=1.6.0
|
|
48
|
+
Requires-Dist: pydantic>=2.0.0
|
|
48
49
|
Requires-Dist: xmltodict>=0.12.0
|
|
49
50
|
Requires-Dist: iris-embedded-python-wrapper>=0.0.6
|
|
50
51
|
Requires-Dist: setuptools>=40.8.0
|
|
@@ -114,6 +114,7 @@ src/iop/_outbound_adapter.py
|
|
|
114
114
|
src/iop/_pickle_message.py
|
|
115
115
|
src/iop/_private_session_duplex.py
|
|
116
116
|
src/iop/_private_session_process.py
|
|
117
|
+
src/iop/_pydantic_message.py
|
|
117
118
|
src/iop/_serialization.py
|
|
118
119
|
src/iop/_utils.py
|
|
119
120
|
src/iop/cls/IOP/BusinessOperation.cls
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/__init__.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_cli.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_common.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_director.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/grongier/pex/_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_DBList.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_Device.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/intersystems_iris/_IRIS.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_async_request.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_host.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_operation.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_process.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_business_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_inbound_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_outbound_adapter.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/_pickle_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Common.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Director.cls
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Message.cls
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Service/WSGI.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Test.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/cls/IOP/Utils.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/iop/wsgi/handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/irisnative/_IRISNative.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-3.3.1 → iris_pex_embedded_python-3.4.0b1}/src/irisnative/__init__.py
RENAMED
|
File without changes
|