4246 Commits

Author SHA1 Message Date
Tesselmax
46cc281099 Add py_Callbacks.open_file hook for embedder file-access policy
Adds an optional open_file callback to py_Callbacks, consulted before
script-reachable file operations:

  - io.FileIO(path, mode): called with the fopen mode string before the open
  - os.remove(path): called with the literal "delete"

Returning false rejects the operation and raises OSError; returning true
(or leaving the callback NULL, which is the default) allows it. Existing
embedders are unaffected -- the default is NULL and behavior is unchanged.

This lets an embedder enforce its own path policy using its own
canonicalization instead of reimplementing path checks inside the VM.
2026-07-16 12:51:12 -07:00
thermalPasteMilkshake
e144785436
re-checking (#531) 2026-07-11 10:25:27 +08:00
blueloveTH
27fde79de6 Update py_object.c 2026-07-09 12:46:04 +08:00
blueloveTH
21ff0751dc fix error name 2026-07-06 17:42:01 +08:00
felfoldy
21248a0baf
Add inspect.signature (#526)
* Add inspect.signature tests

* Implement inspect.signature
2026-07-06 12:00:58 +08:00
Hezekiah M. Carty
5d20084db7
Update orxpy repository link (#525)
The pocketpy extension for orx has been merged upstream and is included with the engine out of the box, so my fork is no longer required to use pocketpy + orx.
2026-07-04 09:07:25 +08:00
Rob McMullen
ea82f56373
Fixed missing '\u85' line separator from str.splitlines (#524)
Very thanks! Your contribution is professional and exceptional.
2026-07-01 11:43:16 +08:00
Rob McMullen
664ce091f8
Added str.splitlines (#523)
* uses same algorithm as CPython, supports all CPython eol characters
  in https://docs.python.org/3/library/stdtypes.html#str.splitlines
2026-06-28 21:56:47 +08:00
Copilot
66ff339bb9
Add dedicated CONTRIBUTING guide and wire it from README (#521)
* Initial plan

* docs: add contributing guide and link from README

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-24 16:55:59 +08:00
blueloveTH
94e71d8581 expose divmod 2026-06-24 16:38:18 +08:00
Steve Chen
894ace2963
Fix JSON integer and float serialization. (#519)
* Fix JSON integer and float serialization.

* Simplify float serialization round-trip fix

* fix round trip check

* fix lexer EOF OOB read and list.sort comparator signature

* revert

* fix cases

* Update os.c

* add `long_v1`

---------

Co-authored-by: blueloveTH <blueloveTH@foxmail.com>
2026-06-18 11:39:41 +08:00
blueloveTH
338547dc8d Update 723_msgpack.py 2026-06-18 09:27:39 +08:00
blueloveTH
d527b4dbc9 fix msgpack 2026-06-17 16:30:17 +08:00
blueloveTH
8c4ed3bc34 fix a bug of str 2026-06-02 20:42:03 +08:00
BLUELOVETH
c624833cfb
Add more gc control to improve performance (#510)
* add more gc control

* fix

* Update gc.c

* Update ceval.c

* [no ci] Update 711_gc.py
2026-04-29 13:55:41 +08:00
blueloveTH
c39d86e999 add __mod__ 2026-04-29 12:54:04 +08:00
blueloveTH
826b6f40f9 Update 930_deterministic_float.py 2026-04-23 11:06:38 +08:00
blueloveTH
33b26ebd95 Update 930_deterministic_float.py
temp fix

Update math.c
2026-04-22 18:31:23 +08:00
BLUELOVETH
f67b24450b
Merge pull request #504 from pocketpy/test-math-py34
[no ci] Add math tests from python 3.4
2026-04-22 18:15:10 +08:00
BLUELOVETH
432e1b4ae3
Merge pull request #502 from ngoyal88/main
fix(debugger): prevent memory leak in DAP setBreakpoints error path
2026-04-21 22:04:04 +08:00
Nikhil Goyal
b99d18a9f6 fix(debugger): prevent memory leak in DAP setBreakpoints error path 2026-04-21 17:35:46 +05:30
BLUELOVETH
8424d29fb2
Merge pull request #500 from ngoyal88/main
fix(core): prevent memory leak in py_execo error path
2026-04-19 12:45:13 +08:00
Nikhil Goyal
973bbdfea4 fix(core): prevent memory leak in py_execo error path 2026-04-17 20:45:27 +05:30
blueloveTH
5d30381e19 fix #498 2026-04-17 11:10:55 +08:00
blueloveTH
d62b1b4eec remove linalg compat script 2026-04-07 10:58:12 +08:00
BLUELOVETH
bdf2a61b12
Merge pull request #494 from hcarty/typing-override-typeisguard
Add typing.(override, TypeIs, TypeGuard)
2026-04-07 10:53:52 +08:00
Hezekiah M. Carty
94c67437a8 Add typing.(override, TypeIs, TypeGuard) 2026-04-04 09:27:33 -06:00
blueloveTH
2600eb5352 Update lz4.c 2026-04-04 16:09:06 +08:00
blueloveTH
2a2e9ae1f2 Update lz4.c 2026-04-04 15:41:15 +08:00
blueloveTH
6e3ed84a9e fix stdc.memcpy 2026-04-04 13:24:25 +08:00
blueloveTH
9a57b281e8 add := fix #446 2026-03-28 17:53:39 +08:00
BLUELOVETH
7d9c3c3df0
feat: implement itemgetter and typing placeholders #486 (#487) 2026-03-26 11:29:35 +08:00
Steve
37780ed884 feat: implement itemgetter and typing placeholders #486 2026-03-25 23:17:43 -04:00
blueloveTH
005a2725a1 add PK_ENABLE_DLL 2026-03-24 11:02:34 +08:00
Daniel Calderón
d03b067666
adding missing header guard (#483) 2026-03-23 11:58:33 +08:00
Jason Matthew Suhari
0676b21da2
fix: save stack checkpoint before pushing args in operator() (#479)
* fix: capture stack checkpoint before pushing args in operator() (#469)

* test: add regression test for operator() python error propagation (#469)
2026-03-20 13:22:25 +08:00
blueloveTH
a2f16e5f1f pre-release v2.1.8 2026-03-18 15:10:24 +08:00
blueloveTH
a69cca59f4 post fix
Update dll.c

Update dll.c
2026-03-18 15:04:26 +08:00
kushagra-1809
7614bdcc4a
Wrong formulas (#470)
The correct formulas for complex trigonometry require
cos(z) = (exp(iz) + exp(-iz)) / 2
sin(z) = (exp(iz) - exp(-iz)) / (2i)
2026-03-18 14:58:23 +08:00
wdskuki
984c0eefcc
Fix C extension module import on Linux (#472)
* Fix C extension module import on Linux

* minor fix

---------

Co-authored-by: wdsmini <wdsmini@wdsmini.local>
Co-authored-by: blueloveTH <blueloveTH@foxmail.com>
2026-03-18 14:55:38 +08:00
blueloveTH
cf70668a2f improve py_inspect_currentfunction 2026-03-13 22:05:52 +08:00
blueloveTH
35917fc5f4 fix #468 2026-03-04 14:30:35 +08:00
Tanisha Vasudeva
1d33267092
feat: implement dict.popitem() method (#443) (#467)
* Added popitem()

* fix

---------

Co-authored-by: blueloveTH <blueloveTH@foxmail.com>
2026-03-03 14:55:56 +08:00
blueloveTH
5f9d44f451 Update pocketpy.h 2026-02-27 18:16:14 +08:00
blueloveTH
fe56ceb82e Update pocketpy.h 2026-02-27 18:11:38 +08:00
blueloveTH
6dd3a6dbb3 up 2026-02-24 15:23:56 +08:00
blueloveTH
440acd82f8 refactor chunked_array2d 2026-02-23 00:35:00 +08:00
blueloveTH
1d567445ed Update vmath.pyi 2026-02-22 21:52:56 +08:00
blueloveTH
427d2293e0 add vec4i 2026-02-22 21:47:34 +08:00
blueloveTH
05c0337ba0 Update _log_spline_tbl.h 2026-02-21 21:32:52 +08:00