pymport

Use Python libraries from Node.js

ISC License

Downloads
542
Stars
74
Committers
4

Bot releases are hidden (Show)

pymport - v1.1.0-rc.0

Published by mmomtchev almost 2 years ago

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
  • (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
pymport - v1.1.0-beta.2

Published by mmomtchev almost 2 years ago

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
  • (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
pymport - v1.1.0-beta.1

Published by mmomtchev almost 2 years ago

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
  • 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
  • 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
  • (internals) New automatic reference counting

Bug Fixes

  • Fix [#6], proxified objects are wrongly caching values returned by getters
pymport - v1.1.0-beta.0

Published by mmomtchev almost 2 years ago

  • 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
  • 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
  • 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
  • (internals) New automatic reference counting
pymport - v1.0.1

Published by mmomtchev almost 2 years ago

  • Enable TypeScript strict mode
  • Fix #1, always consume Python exceptions
pymport - v1.0.0

Published by mmomtchev almost 2 years ago

First official release

pymport - v1.0.0-rc.4

Published by mmomtchev almost 2 years ago

  • [macOS] Fix pympip3 not loading the Python shared library from the correct path when using the built-in environment
pymport - v1.0.0-rc.3

Published by mmomtchev almost 2 years ago

  • Various fixes on al OS related to the built-in Python interpreter
pymport - v1.0.0-rc.2

Published by mmomtchev almost 2 years ago

  • Fix path of the built-in Python environment
  • [macOS] fix linking path