Skip to content

Releases: mmomtchev/pymport

v1.3.0

22 Dec 21:13
Compare
Choose a tag to compare

New Features

  • Builtin Python 3.10.9
  • Multithreading safety
  • callAsync method allowing asynchronous calling of Python functions
  • On Linux and macOS, the builtin Python interpreter includes static versions of OpenSSL and libffi, this ensures better compatibility at the price of disabling the OpenSSL extensions supporting dedicated crypto hardware - this restriction does not apply if pymport is rebuilt from source
  • Named ES6 exports
  • Add PyObject.with implementing Python with
  • Return the Python exception object and its constructor in PythonError.pythonValue and PythonError.pythonType

Bug Fixes

  • Fix #27, a function as a single argument is considered a kwargs object
  • Fix #33, PyObject.prototype.constr has wrong TypeScript type

v1.3.0-rc.3

17 Dec 12:02
Compare
Choose a tag to compare
v1.3.0-rc.3 Pre-release
Pre-release

New Features

  • Builtin Python 3.10.9
  • Multithreading safety
  • callAsync method allowing asynchronous calling of Python functions
  • On Linux and macOS, the builtin Python interpreter includes static versions of OpenSSL and libffi, this ensures better compatiblity at the price of disabling the OpenSSL extensions supporting dedicated crypto hardware - this restriction does not apply if pymport is rebuilt from source
  • Named ES6 exports
  • Add PyObject.with implementing Python with
  • Return the Python exception object and its constructor in PythonError.pythonValue and PythonError.pythonType

Bug Fixes

  • Fix #33, PyObject.prototype.constr has wrong TypeScript type
  • Fix #27, a function as a single argument is considered a kwargs object

v1.3.0-rc.2

14 Dec 20:25
Compare
Choose a tag to compare
v1.3.0-rc.2 Pre-release
Pre-release

New Features

  • Builtin Python 3.11.1
  • Multithreading safety
  • callAsync method allowing asynchronous calling of Python functions
  • On Linux, builtin Python interpreter includes static versions of OpenSSL and libffi
  • Named ES6 exports
  • Add PyObject.with implementing Python with
  • Return the Python exception object and its constructor in PythonError.pythonValue and PythonError.pythonType

Bug Fixes

  • Fix #33, PyObject.prototype.constr has wrong TypeScript type

v1.3.0-rc.1

14 Dec 14:27
Compare
Choose a tag to compare
v1.3.0-rc.1 Pre-release
Pre-release

New Features

  • Builtin Python 3.11.1
  • Multithreading safety
  • callAsync method allowing asynchronous calling of Python functions
  • On Linux, builtin Python interpreter includes static versions of OpenSSL and libffi
  • Named ES6 exports
  • Add PyObject.with implementing Python with
  • Return the Python exception object and its constructor in PythonError.pythonValue and PythonError.pythonType

Bug Fixes

  • Fix #33, PyObject.prototype.constr has wrong TypeScript type

v1.3.0-rc.0

13 Dec 18:08
Compare
Choose a tag to compare
v1.3.0-rc.0 Pre-release
Pre-release

New Features

  • Builtin Python 3.11.1
  • Multithreading safety
  • callAsync method allowing asynchronous calling of Python functions
  • Named ES6 exports
  • Add PyObject.with implementing Python with
  • Return the Python exception object and its constructor in PythonError.pythonValue and PythonError.pythonType

Bug Fixes

  • Fix #33, PyObject.prototype.constr has wrong TypeScript type

v1.2.0

25 Nov 16:36
Compare
Choose a tag to compare

New Features

  • Automatically proxified methods in pymport/proxified
  • Proxified objects also proxify the input arguments of passed JS callbacks
  • (BREAKING) Conversion of arguments in JS callbacks of Python code is now automatic only if it can be correctly deduced from the context, toJS() must be called in all other cases
  • Implement Python type coercion
  • Support Python sets

Bug Fixes

  • Fix #25, type-ahead provokes a crash in Node.js 14.x REPL

v1.2.0-rc.1

23 Nov 18:57
Compare
Choose a tag to compare
v1.2.0-rc.1 Pre-release
Pre-release

New Features

  • Automatically proxified methods in pymport/proxified
  • Proxified objects also proxify the input arguments of passed JS callbacks
  • (BREAKING) Conversion of arguments in JS callbacks of Python code is now automatic only if it can be correctly deduced from the context, toJS() must be called in all other cases
  • Implement Python type coercion
  • Support Python sets

Bug Fixes

  • Fix #25, type-ahead provokes a crash in Node.js 14.x REPL

v1.2.0-rc.0

23 Nov 18:11
Compare
Choose a tag to compare
v1.2.0-rc.0 Pre-release
Pre-release

New Features

  • Automatically proxified methods in pymport/proxified
  • Proxified objects also proxify the input arguments of passed JS callbacks
  • (BREAKING) Conversion of arguments in JS callbacks of Python code is now automatic only if it can be correctly deduced from the context, toJS() must be called in all other cases
  • Implement Python type coercion
  • Support Python sets

Bug Fixes

  • Fix #25, type-ahead provokes a crash in Node.js 14.x REPL

v1.1.1

11 Nov 17:31
Compare
Choose a tag to compare
  • Fix #14, toJS() converts Python bool to JS number
  • Restore the JS function when converting a pymport.js_function back to JS
  • Fix #17, PYTHONHOME is ignored
  • In the version reporting, replace the "undefined" suffix with a "" when there is no version suffix

v1.1.0

08 Nov 10:21
Compare
Choose a tag to compare

New Features

  • Converting JS functions to Python callables
  • Expiring of function objects
  • Converting of bytes and bytearray to Buffer and Buffer to bytearray
  • Converting between TypedArray and array
  • Convert Python iterators and generators to JavaScript Symbol.iterator
  • Basic tracking of the memory held by Python objects referenced in JS by the V8 GC
  • proxifyed object do not intercept and redirect calls to PyObject methods if the Python object has a method with the same name - ie. calling item() on a non-proxified PyObject invokes PyObject.item() but if the underlying Python object of a proxified object also has an item() function, calling item() on the proxified object will invoke the Python method
  • profixy always return the same reference if called with a previously seen PyObject reference
  • Support BigInt
  • PyObject.slice accepts named arguments
  • Return the Python traceback in pythonTrace and add a PythonError TypeScript type
  • Do not allow PYTHONPATH to override PYTHONHOME when using the builtin
  • Ignore the last argument of a Python function call if it is undefined - this allows to pass a last argument as a dictionary by calling fn(obj, undefined) instead of fn(obj) which will transform obj into named kw arguments
  • Support PyObject.keys and PyObject.values on profixyed objects
  • Support building against a prebuilt Python tree in a non-standard location
  • (internals) New automatic reference counting

Bug Fixes

  • Fix #6, proxified objects are wrongly caching values returned by getters
  • Fix #8, Infinity is not recognized as a float by the automatic conversion
  • Fix #11, npm install --build-from-source fails