Skip to content

Releases: Distributive-Network/PythonMonkey

v0.3.0

26 Jan 16:06
52039ad
Compare
Choose a tag to compare

Our JS Proxies now implement all Array and Object methods on Python Lists and Dicts, and our Python List and Dict subtypes implements operators and methods on JS Arrays and Objects.

One can now do

items = [1, 2, 3, 4, 5]
result = [None]
pm.eval("(result, arr) => {result[0] = arr.some((element) => element % 2 === 0)}")(result, items)
-> result[0] == True

and going the other way

a = pm.eval("([1,2,3,4,5,6])")
b = a[1:5]
-> b == [2,3,4,5]   

We also have all the iterators returned by such methods as values() now working without making copies of the object being iterated upon

v0.2.3

20 Dec 20:30
8eded5c
Compare
Choose a tag to compare

This release adds a new type, JSArrayProxy, a subtype of list, to properly proxy JavaScript Arrays as python lists, including having all of the appropriate methods.

This release also adds new methods to JSObjectProxy to more closely match dict. It now has all the same methods as dict except for the following: keys(), items(), update(), and values(). These will be added soon in a future release.

v0.2.2

16 Nov 18:52
749fc65
Compare
Choose a tag to compare

This release includes implementations for URLSearchParams, XMLHttpRequest, atob, btoa, setTimeout, and clearTimeout. It also adds python 3.12 compatibility, better stringification for cross-language objects, and adds an event loop to pmjs. Finally, it fixes a bug preventing some users from installing pythonmonkey from source distributions.

Debugger

28 Jul 19:27
25b8ea6
Compare
Choose a tag to compare
Debugger Pre-release
Pre-release

This release includes a debugger for debugging JS code in pythonmonkey. It also exposes the new and typeof operators from Javascript as functions, as well all of the standard built-in objects.

First release!

21 Jul 13:59
09b5b37
Compare
Choose a tag to compare
First release! Pre-release
Pre-release

Our first public release.

Check out here to see how to install and use the library, or here if you would like to compile a local version and/or contribute to the project!

Basic examples can be found in the /examples directory.
More advanced examples can be found in the dedicated repository https://github.com/Distributive-Network/PythonMonkey-examples
Example of a fullstack AES encryption and decryption app that uses the crypto-js NPM package can be found at https://github.com/Distributive-Network/PythonMonkey-Crypto-JS-Fullstack-Example

🐍🐒