* Show stdin traceback lines; omit StopIteration None args
Register interactive <stdin> source in linecache so REPL
tracebacks include the source line and caret. Build
StopIteration with empty args when the value is None, and
wrap monitoring STOP_ITERATION the same way.
Unskip REPL stderr flush tests and pdb Flaky doctests.
Assisted-by: Grok:4.6
* Take &Py<PyCode> in register_code_in_linecache
Assisted-by: Grok:4.6
* Count Unknown closing braces in tokenize EOF check
`$` inside an f-string interpolation is TokenKind::Unknown, so
the matching `}` is Unknown rather than Rbrace and generate_tokens
raised TokenError. Also convert &Py<PyCode> to PyObjectRef
explicitly when registering linecache.
Assisted-by: Grok:4.6
* Unskip test_pdb.PdbTestCase.test_zipimport
The test now passes, so the expectedFailure is an unexpected
success under CI.
Assisted-by: Grok:4.6
* Park STW threads; poll sockets after timeout deadline
Check per-thread stop_requested in eval_breaker_tripped so
workers still park when another interpreter clears STOP_BIT.
Start socket timeout after the fd snapshot, and poll once with
timeout 0 when the deadline has already passed, so a readable
socket is not dropped as timed out.
Assisted-by: Grok:4.6
This directory contains all of the Python files that make up the standard
library for RustPython.
Most of these files are copied over from the CPython repository (the 3.7
branch), with slight modifications to allow them to work under RustPython. The
current goal is to complete the standard library with as few modifications as
possible. Current modifications are just temporary workarounds for bugs/missing
feature within the RustPython implementation.
The first big module we are targeting is unittest, so we can leverage the
CPython test suite.