Skip to content
Draft
Changes from 1 commit
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
14021a7
export c api
bschoenmaeckers Apr 4, 2026
db17f41
type mapping v1
bschoenmaeckers Apr 5, 2026
0855a91
Type mapping v2
bschoenmaeckers Apr 5, 2026
3e3947e
Implement type flags
bschoenmaeckers Apr 5, 2026
0a68d35
Implement `PyUnicode_FromStringAndSize`
bschoenmaeckers Apr 5, 2026
0d9c033
Do not use `C-unwind`
bschoenmaeckers Apr 5, 2026
030fce9
implement `PyLong_AsLong`
bschoenmaeckers Apr 5, 2026
d5e66d0
Add `with_vm` helper
bschoenmaeckers Apr 5, 2026
7062bd2
Move `PyThreadState` to `pystate.rs`
bschoenmaeckers Apr 5, 2026
ba980c6
Basic multi-threading support
bschoenmaeckers Apr 5, 2026
f3def84
Cleanup
bschoenmaeckers Apr 5, 2026
e89d0b5
Attach thread in `Py_InitializeEx`
bschoenmaeckers Apr 5, 2026
e599708
Map RustPython type flags to CPython type flags
bschoenmaeckers Apr 7, 2026
33901cf
Use `*const Py<PyType>` instead of `*mut PyTypeObject`
bschoenmaeckers Apr 7, 2026
c17c8e7
Implement `PyUnicode_AsUTF8AndSize`
bschoenmaeckers Apr 7, 2026
39f4e24
Implement `PyType_GetName`
bschoenmaeckers Apr 7, 2026
19eaccf
Implement alternative `PyLong` constructors
bschoenmaeckers Apr 7, 2026
e01bb90
Move `init_static_type_pointers` to `pylifecycle.rs`
bschoenmaeckers Apr 7, 2026
14a41e6
Add support for `None`, `True`, `False`, `Ellipsis` & `NotImplemented`
bschoenmaeckers Apr 7, 2026
24b4bb2
Add support for PyBytes
bschoenmaeckers Apr 8, 2026
5fa14a0
Add basic exception support
bschoenmaeckers Apr 8, 2026
bee34dd
Add import support
bschoenmaeckers Apr 8, 2026
f4a091d
Add basic call support
bschoenmaeckers Apr 8, 2026
93ca2ba
Use pyo3 as test harness
bschoenmaeckers Apr 8, 2026
7f7e9e4
Fix pyo3 by correctly setting `PYO3_CONFIG_FILE`
bschoenmaeckers Apr 9, 2026
26524f2
Fix python bool creation test
bschoenmaeckers Apr 9, 2026
54c7aa3
Implement `PyUnicode_EqualToUTF8AndSize`
bschoenmaeckers Apr 9, 2026
ae21329
Add `PyExc_SystemError`
bschoenmaeckers Apr 9, 2026
fe5279b
Compile to dynamic lib
bschoenmaeckers Apr 9, 2026
78858ac
Add test for static type pointers
bschoenmaeckers Apr 9, 2026
1a2f0b7
Streamline returning PyResult
bschoenmaeckers Apr 9, 2026
96ccb16
Fix some clippy warning
bschoenmaeckers Apr 9, 2026
4a5427b
Use bounded channel for vm request response
bschoenmaeckers Apr 9, 2026
fb1677d
Test creating a new (heap) exception type
bschoenmaeckers Apr 9, 2026
392528c
Don't check for NULL in `Py_DecRef`/`Py_IncRef`
bschoenmaeckers Apr 9, 2026
778a17b
Add basic `PyDict` support
bschoenmaeckers Apr 9, 2026
6c7139e
Implement minimal tuple functions
bschoenmaeckers Apr 9, 2026
7906689
Implement `PyObject_Repr` & `PyObject_Str`
bschoenmaeckers Apr 9, 2026
9bfe89f
Implement `PyObject_GetAttr`
bschoenmaeckers Apr 9, 2026
1e21870
Implement `PyUnicode_InternInPlace`
bschoenmaeckers Apr 9, 2026
5592515
Add support for running python source code
bschoenmaeckers Apr 10, 2026
a233441
Make all modules private
bschoenmaeckers Apr 10, 2026
da7f460
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Apr 10, 2026
e815b12
Implement `PyErr_SetString`
bschoenmaeckers Apr 10, 2026
f58b9da
Add basic support for `PyList`
bschoenmaeckers Apr 10, 2026
755e2f2
Support `PyLong_AsLong` for non `PyInt` types
bschoenmaeckers Apr 10, 2026
176e833
Add support for `PyComplex`
bschoenmaeckers Apr 10, 2026
26efedc
Implement c_variadic `PyObject_CallMethodObjArgs`
bschoenmaeckers Apr 10, 2026
e000cca
Implement `PyCapsule`
bschoenmaeckers Apr 11, 2026
a494a1c
Allow creating empty tuples
bschoenmaeckers Apr 11, 2026
0eada9b
Implement `PyCMethod_New`
bschoenmaeckers Apr 11, 2026
f97275c
Add `PyMethodPointer` union
bschoenmaeckers Apr 11, 2026
58c1fb1
Also support `NoArgs` CFunction's
bschoenmaeckers Apr 11, 2026
dbb9e00
Fix error return of `PyCFunction`
bschoenmaeckers Apr 11, 2026
6e70a3e
Add `PyDict` iter support
bschoenmaeckers Apr 11, 2026
e7f9825
Add more `Exception` type statics
bschoenmaeckers Apr 11, 2026
79220ac
Add support for `set`, `get`, & `del` on any object
bschoenmaeckers Apr 13, 2026
bc0aa87
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Apr 13, 2026
0ea2c3f
Refactor `FfiResult`
bschoenmaeckers Apr 13, 2026
505dc8d
Fix unset exception types
bschoenmaeckers Apr 13, 2026
a74e069
Add `PyBaseObject_Type` static
bschoenmaeckers Apr 13, 2026
14ed761
Add `PyObject_SetAttr`
bschoenmaeckers Apr 13, 2026
2aab0d1
Add `PyObject_GenericGetDict` & `PyObject_GenericSetDict`
bschoenmaeckers Apr 13, 2026
ce76108
Fix some clippy warning
bschoenmaeckers Apr 13, 2026
bbe3432
Merge branch 'main' into c-api
bschoenmaeckers Apr 14, 2026
7601af3
Add `PyObject_SetAttrString`
bschoenmaeckers Apr 14, 2026
e874e00
Add `PyObject_GC_UnTrack`
bschoenmaeckers Apr 14, 2026
41514e8
Implement `Py_IS_TYPE`
bschoenmaeckers Apr 15, 2026
d927aa7
Add all exception statics
bschoenmaeckers Apr 16, 2026
456189a
Implement `PyObject_Vectorcall`
bschoenmaeckers Apr 16, 2026
1b5f2dc
Add `PyObject_GetAttrString`
bschoenmaeckers Apr 16, 2026
6826831
Use custom RustPython build of `PyO3`
bschoenmaeckers Apr 17, 2026
7c058e7
Add basic support for new classes
bschoenmaeckers Apr 17, 2026
db1806d
Add support for class attributes
bschoenmaeckers Apr 17, 2026
badf780
Add basic support for PyO3 class methods
bschoenmaeckers Apr 20, 2026
1859604
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Apr 20, 2026
a2aa14c
Add `PyTuple_FromArray` & `PyTuple_Pack`
bschoenmaeckers Apr 20, 2026
dee9ef5
Add `PyFloat` support
bschoenmaeckers Apr 20, 2026
4cb55aa
Add `Py_NewRef`
bschoenmaeckers Apr 20, 2026
53925bf
Add `PyLong_AsUnsignedLongLong`
bschoenmaeckers Apr 20, 2026
9da2197
Add `PyNumber_Index`
bschoenmaeckers Apr 20, 2026
aac1055
Fix float test
bschoenmaeckers Apr 20, 2026
0121fce
Implement `PyTraceBack_Print`
bschoenmaeckers Apr 22, 2026
aff7bc8
Implement `PyUnicode_AsEncodedString`
bschoenmaeckers Apr 22, 2026
df58443
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Apr 22, 2026
5200094
Merge branch 'main' into c-api
bschoenmaeckers Apr 28, 2026
86c38de
Add `PyList_Append`
bschoenmaeckers Apr 28, 2026
0a7739c
Add type check functions
bschoenmaeckers Apr 28, 2026
57687e1
Add `PyObject_Call`
bschoenmaeckers Apr 28, 2026
1d9d0e7
Add support for `FASTCALL`/`STATIC`/`CLASS` c functions
bschoenmaeckers Apr 28, 2026
ed321ba
Add module definition support
bschoenmaeckers Apr 28, 2026
f6b9c69
Implement `PyTuple_GetSlice`
bschoenmaeckers Apr 29, 2026
7da03f1
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Apr 29, 2026
f33b2e0
Implement `Py_GetVersion`
bschoenmaeckers Apr 29, 2026
82979e2
Implement `PyCapsule_IsValid`
bschoenmaeckers Apr 29, 2026
1b01eaa
Refactor c function trampolines
bschoenmaeckers Apr 29, 2026
32d2d1e
Implement `PyList_Insert`
bschoenmaeckers Apr 30, 2026
1582081
Implement `PyList_Reverse`
bschoenmaeckers Apr 30, 2026
b180a49
Allow `PyBytes_FromStringAndSize` with uninitialized bytes
bschoenmaeckers May 1, 2026
bb44774
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 1, 2026
1d7753b
Add basic capi error support
bschoenmaeckers May 5, 2026
a47ad11
Add missing symbols to make tests compile again
bschoenmaeckers May 5, 2026
782771d
Add `pyerrors` to dictionary
bschoenmaeckers May 5, 2026
b2ef549
Return exception in `Py_GetConstantBorrowed`
bschoenmaeckers May 5, 2026
a102ebe
Remove `allow(dead_code)`
bschoenmaeckers May 5, 2026
654e4dc
Fix windows
bschoenmaeckers May 5, 2026
ec04022
Load stdlib when calling `Py_InitializeEx`
bschoenmaeckers May 5, 2026
ca0db02
Debug tests
bschoenmaeckers May 5, 2026
9b54723
Revert "Load stdlib when calling `Py_InitializeEx`"
bschoenmaeckers May 6, 2026
d96aa9e
Disable tests on windows for now
bschoenmaeckers May 6, 2026
d3c3d0c
Truncate `PyType_GetFlags` to be always 32 bits
bschoenmaeckers May 6, 2026
37b96c6
Add test for exception type checking
bschoenmaeckers May 6, 2026
6bfc1a9
Remove subclass type flags
bschoenmaeckers May 6, 2026
5bbe3d9
Update PyO3 to main branch
bschoenmaeckers May 9, 2026
4222f56
Add type check functions
bschoenmaeckers May 9, 2026
e616e24
Add bool object functions
bschoenmaeckers May 9, 2026
cf95b66
Add exact type check macros
bschoenmaeckers May 9, 2026
af687b1
Implement `PyExceptionClass_Check`
bschoenmaeckers May 9, 2026
0c1481f
Add self support to `PyNativeFunction`
bschoenmaeckers May 9, 2026
f05f2cb
Merge remote-tracking branch 'origin/main' into capi-errors
bschoenmaeckers May 9, 2026
3a93e5c
Use latest pyo3 to make test work on windows
bschoenmaeckers May 9, 2026
f44b143
Revert "Use latest pyo3 to make test work on windows"
bschoenmaeckers May 10, 2026
2d49dc9
Merge branch 'capi-errors' into c-api
bschoenmaeckers May 10, 2026
bf0f2c1
Add todo list
bschoenmaeckers May 10, 2026
e4fd4e6
Update var_arg functions
bschoenmaeckers May 11, 2026
a9ef78c
Fix `ctypes.py_object` handling
bschoenmaeckers May 11, 2026
d285db6
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 12, 2026
15673d6
Refactor `build_method_def`
bschoenmaeckers May 12, 2026
287d4a3
Implement `build_method_def` for `METH_O`
bschoenmaeckers May 12, 2026
a38acf7
Extract callable convertions from `build_method_def`
bschoenmaeckers May 12, 2026
915995f
Make PyMethodDef members public
bschoenmaeckers May 12, 2026
306aaaf
Add `PyCFunction_New` & `PyCFunction_NewEx`
bschoenmaeckers May 12, 2026
a2987e2
Fix self handling in `METH_NOARGS` functions
bschoenmaeckers May 12, 2026
967a4ee
Fix handling of self in `METH_O` functions
bschoenmaeckers May 12, 2026
cee18f6
Implement `PyObject_IsSubclass` & `PyObject_IsInstance`
bschoenmaeckers May 12, 2026
c316e31
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 12, 2026
91fdab5
Discard `self` on static functions
bschoenmaeckers May 13, 2026
3d6d32f
Merge branch 'main' into c-api
bschoenmaeckers May 18, 2026
7ff3290
Merge branch 'main' into c-api
bschoenmaeckers May 19, 2026
5ca97d3
Merge branch 'main' into c-api
bschoenmaeckers May 20, 2026
442107f
Fix `Py_GetVersion`
bschoenmaeckers May 20, 2026
05851f0
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 20, 2026
43c9c37
Rename `pycapsule`
bschoenmaeckers May 20, 2026
3b1c032
Implement remaining capsule functions
bschoenmaeckers May 20, 2026
b811067
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 20, 2026
a584491
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 21, 2026
1395435
Update todo list
bschoenmaeckers May 21, 2026
250614c
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 22, 2026
74b1d6b
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 26, 2026
4fd3f11
Merge branch 'main' into c-api
bschoenmaeckers May 26, 2026
141bc0f
Update pyo3
bschoenmaeckers May 26, 2026
7063c0b
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers May 27, 2026
2ee6678
Implement `PyDict_SetDefaultRef`
bschoenmaeckers May 27, 2026
4d02833
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jun 1, 2026
1a9338e
Add agent skill
bschoenmaeckers Jun 1, 2026
bf341fd
Add `set` object functions to c-api
bschoenmaeckers Jun 1, 2026
d181a00
Add mapping c-api functions
bschoenmaeckers Jun 1, 2026
577922f
Add number protocol functions
bschoenmaeckers Jun 1, 2026
8b1a9f5
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jun 1, 2026
bf5d210
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jun 2, 2026
bdf5eb6
Merge branch 'main' into c-api
bschoenmaeckers Jun 2, 2026
2a99072
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jun 3, 2026
5dd3361
Update todo list
bschoenmaeckers Jun 3, 2026
cd1496d
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jun 4, 2026
dfaff5f
Update todo list
bschoenmaeckers Jun 4, 2026
70ec806
Add PySlot support
bschoenmaeckers Jun 5, 2026
0cf6660
Merge branch 'main' into c-api
bschoenmaeckers Jun 10, 2026
990ae32
Use PyO3 main & enable c-api tests
bschoenmaeckers Jun 1, 2026
7408597
Enable `abi3t` support in PyO3
bschoenmaeckers Jun 4, 2026
ee95e8d
Add left over c-api functions
bschoenmaeckers Jun 4, 2026
5d5d7ba
Fix PyLong_AsUnsignedLongLongMask
bschoenmaeckers Jun 10, 2026
bdc9310
Update pyo3 to `0.29`
bschoenmaeckers Jun 12, 2026
793d41a
Add `PyInt::as_u64_mask`
bschoenmaeckers Jun 15, 2026
05c036c
Fix `PyInt::as_u32_mask`
bschoenmaeckers Jun 15, 2026
65e3909
Merge branch 'c-api-misc-tests' into c-api
bschoenmaeckers Jun 22, 2026
26a81ef
Disable type creation api's
bschoenmaeckers Jun 22, 2026
cf87b8e
Implement `PyModule_FromSlotsAndSpec` & `PyModule_Exec`
bschoenmaeckers Jun 22, 2026
7cfcc6f
Recover new type test
bschoenmaeckers Jun 24, 2026
8132f21
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jul 3, 2026
30ad20c
Merge branch 'main' into c-api
bschoenmaeckers Jul 5, 2026
803c58c
Move type c-api functions
bschoenmaeckers Jul 7, 2026
cfdbfe6
Merge branch 'c-api-move-type' into c-api
bschoenmaeckers Jul 7, 2026
b6c8ce3
Add basic type creation support
bschoenmaeckers Jul 7, 2026
b770fde
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jul 8, 2026
0c9653e
Add slot iters
bschoenmaeckers Jul 8, 2026
7ccf413
Split PySlotKind into 2 variants
bschoenmaeckers Jul 8, 2026
19670d3
Cleanup slots
bschoenmaeckers Jul 8, 2026
e6424e2
Fix clippy warnings in tests
bschoenmaeckers Jul 8, 2026
5942ae4
Cleanup slots
bschoenmaeckers Jul 8, 2026
10b6200
Merge branch 'main' into c-api
bschoenmaeckers Jul 9, 2026
aac510b
Merge branch 'main' into c-api
bschoenmaeckers Jul 17, 2026
b1da12b
Add support for members and descriptors to types
bschoenmaeckers Jul 17, 2026
bcdd0cd
Convert PySlot pointers into ref's
bschoenmaeckers Jul 17, 2026
e5978fc
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Jul 20, 2026
1060c5f
Merge branch 'main' into c-api
bschoenmaeckers Jul 21, 2026
ee7d9c3
Merge branch 'main' into c-api
bschoenmaeckers Jul 22, 2026
8d9965c
Merge branch 'main' into c-api
bschoenmaeckers Jul 23, 2026
16650f9
Merge branch 'main' into c-api
bschoenmaeckers Aug 18, 2026
3fc0306
Merge branch 'main' into c-api
bschoenmaeckers Sep 13, 2026
42fad2c
Merge remote-tracking branch 'origin/main' into c-api
bschoenmaeckers Sep 13, 2026
4b642b2
Merge branch 'main' into c-api
bschoenmaeckers Sep 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'origin/main' into c-api
  • Loading branch information
bschoenmaeckers committed Jul 8, 2026
commit b770fde9759bfe8a619efac60282b3427a90f681

This merge commit was added into this branch cleanly.

There are no new changes to show, but you can still view the diff.