You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Change the platform tag part of the wheel filename to `macosx_11_0_xxx` (means to support macOS 11.0 and above)
212
+
# See https://packaging.python.org/en/latest/specifications/binary-distribution-format/#file-format
213
+
# A wheel package file will only be selected by pip to install if the platform tag satisfies, regardless of whether the binary compatibility actually is.
214
+
# Otherwise, pip would fallback to compile from the source distribution.
215
+
run: |
216
+
cd ./dist/
217
+
for file in *.whl; do
218
+
mv "$file" "$(echo "$file" | sed -E 's/macosx_[0-9]+_[0-9]+/macosx_11_0/')";
[](https://github.com/Distributive-Network/PythonMonkey/actions/workflows/test-and-publish.yaml)
4
4
5
5
## About
6
6
[PythonMonkey](https://pythonmonkey.io) is a Mozilla [SpiderMonkey](https://firefox-source-docs.mozilla.org/js/index.html) JavaScript engine embedded into the Python Runtime,
7
7
using the Python engine to provide the Javascript host environment.
8
8
9
9
We feature JavaScript Array and Object methods implemented on Python List and Dictionaries using the cPython C API, and the inverse using the Mozilla Firefox Spidermonkey JavaScript C++ API.
10
10
11
-
This product is in an advanced stage, approximately 98% to MVP as of August 2024. It is under active development by [Distributive](https://distributive.network/).
11
+
This project has reached MVP as of September 2024. It is under maintenance by [Distributive](https://distributive.network/).
12
12
13
13
External contributions and feedback are welcome and encouraged.
14
14
@@ -73,7 +73,7 @@ Read this if you want to build a local version.
73
73
- llvm
74
74
- rust
75
75
- python3.8 or later with header files (python3-dev)
Installing `pythonmonkey` will also install the `pminit` package as a dependency. However, `pip uninstall`ing a package won't automatically remove its dependencies.
142
+
If you want to cleanly remove `pythonmonkey`from your system, do the following:
143
+
144
+
```bash
145
+
$ pip uninstall pythonmonkey pminit
146
+
```
147
+
139
148
## Debugging Steps
140
149
141
150
1. [build the project locally](#build-instructions)
Copy file name to clipboardExpand all lines: include/JSStringProxy.hh
+10-6Lines changed: 10 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,8 @@
15
15
16
16
#include<Python.h>
17
17
18
+
#include<unordered_set>
19
+
18
20
/**
19
21
* @brief The typedef for the backing store that will be used by JSStringProxy objects. All it contains is a pointer to the JSString
20
22
*
@@ -24,6 +26,8 @@ typedef struct {
24
26
JS::PersistentRootedValue *jsString;
25
27
} JSStringProxy;
26
28
29
+
extern std::unordered_set<JSStringProxy *> jsStringProxies; // a collection of all JSStringProxy objects, used during a GCCallback to ensure they continue to point to the correct char buffer
30
+
27
31
/**
28
32
* @brief This struct is a bundle of methods used by the JSStringProxy type
0 commit comments