Releases: intersystems-community/PythonGateway
Fast transfer, Proxy Gateway, Jupyter
0.8 - 2019-09-12
Added
- Direct global transfer for fast global, class, table transfer.
- Jupyter support.
- Annotation evaluation.
- (Experimental) Proxy Gateway support.
- PMML integration.
- IO redirection utils.
Changed
- Docker now can build from arbitrary image.
- Docker now supports 2019.3+ base images.
- Multiline mode for shell.
- JSON harvesting improvements.
- BPEmulator supports
process
andcontext
objects.
Complete list of changes at CHANGELOG.md.
Installation instructions
See README.md
Update instructions (from v0.7):
- Load new code and library.
Docker, ExecuteFunction, Proxyless gateway
0.7 - 2019-03-22
Added
- Docker support.
- (Experimental)
ExecuteFunction
support. - (Experimental) Proxyless Gateway support.
ExecuteQuery
support for types and namespaces.- JSON serialization for interoperability (also Repr, Pickle and Dill).
- Saving context now saves user functions.
- Python datatypes escaper: string, bool, date, time, timestamp.
- Initializer interface.
- Python shell:
do ##class(isc.py.util.Shell).Shell()
- Business Process emulator.
- Sample %ZLANGC00 and %ZSTART routines.
Changed
- Dill is now a required module.
GetVariableInfo
now returns FQCN as type.GetVariableInfo
support for attributes (methods and the like).- Test process now uses non-interactive GUI for test business process
- Test process: new data, simplified code.
- Log trace events enabled by default.
Removed
- Test methods GetRandom, GetRandomSimple, SimpleStringFull from callout API
Complete list of changes at CHANGELOG.md.
Installation instructions
See README.md
Update instructions (from v0.6):
- Load new code and library.
- PythonLib setting should be reset again if it was set before the update.
- All processes using RAW data ingestion method must be recompiled.
- It's now a requirement to install dill module:
pip install dill
. - Reload test data:
do ##class(isc.py.test.CannibalizationData).Import()
Mac OS X support
New features:
- Queries - load data from query without xDBC
- Linux - added ability to load Python library explicitly
- Test process now works in 3 modes: RAW, ODBC, JDBC
- Mac OS X support
- Added exception handling to Callout interface
- Added Main interface utility methods
Streams support
Streams up to 2,147,483,647 bytes (~2Gb) now can be passed inside to python context and retrieved (up to IRIS limit) from it.
Context persistence uses streams.
New class isc.py.Main
as a public interface.
Mask and MaxLength conditions added to context persistence.
Stream length also depends on available process memory, so real limits may be lower.
Pass limit raized to 3 641 144 characters, context persistence, error reporting
Now it works!
Both input and output are now limited to 3 641 144 characters which is a maximum for callout library.
Context now can be persisted, displayed and restored. See readme for details.
Get errors with set sc = ##class(isc.py.Callout).GetStatus()
Refactored interoperability messages. All processes now must utilize the new request and response classes instead of the old ones:
isc.py.ens.Request
→isc.py.msg.ExecutionRequest
isc.py.ens.Response
→isc.py.msg.ExecutionResponse
Pass limit raized to 3 641 144 characters, context persistence, error reporting
Both input and output are now limited to 3 641 144 characters which is a maximum for callout library.
Context now can be persisted, displayed and restored. See readme for details.
Get errors with set sc = ##class(isc.py.Callout).GetStatus()
Refactored interoperability messages. All processes now must utilize the new request and response classes instead of the old ones:
isc.py.ens.Request
→isc.py.msg.ExecutionRequest
isc.py.ens.Response
→isc.py.msg.ExecutionResponse
Context persistence, serialization types, unit tests
v0.4 Typo fix
Removed initialization, transfer limit raized to 3 641 144 characters
v0.3 Merge branch 'master' of https://github.com/intersystems-ru/PythonAda…
Removed debug
v0.2 Removed SHOWCASE004.cls.xml
Return values handling
Do not fail if requested variable does not exist Fixed https://github.com/intersystems-ru/PythonAdapter/issues/1 https://github.com/intersystems-ru/PythonAdapter/issues/6