Releases
v0.1.2
v0.1.2: big updates after adapting to Nimv1/Nimv2
Latest
Compare
Sorry, something went wrong.
No results found
Changelog
0.1.2 - 2026-04-04
Added
Lib
Modules
PyTypeObject
tp_flags; feat(object/attr): type.__module__ (c895633 )
Utils
Api
main accepts init=false (e594cff )
Py_Initialize, feat(sharedlib): export symbols (ed1975d )
c: PyLong_FromDouble as newPyInt (1f63db5 )
c: generics: PySequence_Fast_GET_ITEM (24ccb78 )
c: abstract: PyObject_CallMethodObjArgs as callMethodArgs (a681fe2 )
c: PyImport_GetModule (0fd8ddd )
c: _PyStaticType_InitBuiltin as PyStaticType_InitBuiltin; placeholder: _Py_SetImmortal as Py_SetImmortal (7a0ab01 )
c: _PyUnicode_FastCopyCharacters as fastCopyCharacters... (a45d786 )
c: PyArg_ValidateKeywordArguments, _PyDict_HasOnlyStringKeys as hasOnlyStringKeys (966db9c )
c: PyObject_GetItem, PyObject_SetItem (cc125f7 )
c: PyCallable_Check as ofPyCallable (0bf985b )
c: PyLong_AsLongAndOverflow (1727dee )
c: PyUnicode_FromOrdinal (5a640a3 )
c: generics: PyIter_Next, PyNumber_BOP, PyNumber_UOP, PySequence_List, PySequence_Fast (06296c9 )
c: PyObject_RichCompare[Bool]; add Py_IS_TYPE,etc helpers (dde1dc8 )
c: PyObject_TypeCheck (768384d )
EXT: PyTuple_Collect (1dff108 )
c: PyUnicode_FSDecoder (e0fce88 )
getargs: PyArg_VaParseTupleAndKeywords, PyArg_ParseTupleAndKeywords (e8ec5dd )
getargs: PyArg_VaParseTuple (fe79482 )
c: PyRun_Xxx (break: delete runSimpleString) (1c3a83b )
c: PyParser_XxASTFromXx (4490398 )
c: PrErr_Print[Ex] (a99361c )
getargs: kwargs: PyArg_UnpackKeywords (4472524 )
dict: pop for PyStrObject (79dafc3 )
set: contains,[containsOr]incl, of[Exact]PyAnySet (c9cad25 )
inner: PyObject_LookupSpecial (a4570dd )
inner: _PyObject_CallNoArgs as call (75f496e )
inner: slot func in typeobject/wraps (890a2bf )
dict.len (be68042 )
forMro, iterMro, forMroNoSelf (mro not impl yet) (7969225 )
str: PyUnicode_CompareWithASCIIString as cmpAscii, _PyUnicode_EqualToASCIIString as eqAscii (d2ee91d )
inner: _PyWideStringList_AsList as asList (850324a )
int: toInt64Unsafe,toBiggestIntUnsafe (8b55f88 )
dict.setItem, Py_BuildValue, Py_gitversion (a63cdd9 )
int: PyNumber_Long, PyLong_FromUnicodeObject (bd2b4e8 )
int: PyLong_FromString (03aac2d )
PyUnicode_FromFormat as newPyStr&.. or newPyAscii&.. (59a53d6 )
getFullyQualifiedName (252f467 )
PyUnicode_fromStringAndSize, PyUnicode_InternMortal, ofPyTypeObject, isType (f827a82 )
pyerrors.Py_FatalError,Py_CheckSlotResult (af39671 )
newPyList(int) (PyLIst_New) (319fd2d )
UnicodeVariant.len, & with char; accept openArray[char] int (af429b4 )
structmember: PyMember_GetOne, PyMember_SetOne (e6fb490 )
modsupport: Py_VaBuildValue,Py_VaBuildTuple (89e9468 )
pyatomic (82f9010 )
warnings.warnEx (PyErr_WarnEx) (with TODOs), some new warning type (e40eea7 )
ofExactPyXxObject; add def impl of ofPyXxObject (85b67b8 )
abstract.callMethod; refact: add abstract_without_call (e4ce9ac )
pairs for Sequence (e5b54f0 )
critical_section (TODO:threads) (63407ef )
PyFloat_AsXx,asDouble; break: toInt->toIntUnsafe (6e508c9 )
inner: add Python/getargs: PyArg_UnpackTuple,unpackOptArgs (ac5c34b )
exceptions: checkArgNumAtMost, checkArgNum with min,max;... (a3e538a )
newPySet(openArray),newPyDict(openArray) (f136c95 )
PyTuple_Pack (a4a500e )
stringobject: allow init from char|cstring; asUTF8AndSize; substring (43aab68 )
Python/errors PyErr_BadArgument (e63a234 )
PyBoolObject.isPyTrue,newPyList(openArray) (98a7a66 )
toUInt,PyLong_AsSize_t,newPyInt(SomeUnsignedInt) (df05be7 )
Attr
for cell, code, function, method (a739e98 )
Attrs
traceback.tb_next,tb_frame,tb_lasti (29dc943 )
Augassign
impl a.__iXX__(b) fallback to a=a.__XX__(b) (bd0c158 )
Basic
Bltin
format; feat(magic): __format__ for str,int,float (f5c4356 )
float; fix(py): float.__new__ did nothing (9a8402e )
hasattr,setattr,delattr; fix(nimc): PyObject_GetOptionalAttr, PyObject_SetAttr, .DelAttr (9f49275 )
Builins
Builtin
Ellipsis (ast syntax ... is sup too) (f22a9e3 )
Builtins
complex (ed79d21 )
round; feat(method): int.__round__ (8e0d33e )
method: int_bytes (fd89026 )
globals locals vars (006e433 )
eval (a3e7276 )
exec (3c852e5 )
ascii; fix(py): repr (8837f35 )
method: bytes/bytearray: join (fce6a89 )
bin oct hex (c26d768 )
abs, ord, chr (0760f20 )
any, all (a5310ce )
filter (51d694c )
max, min (fcb5116 )
sorted, sum (c59abe1 )
object: list.sort (b3ba8f4 )
input (TODO: not nodejs) (d376b58 )
map (1665607 )
zip (and reg compile func) (e6f90ff )
compile (not reg yet) (0d8a0b7 )
print: sup sep,end kwargs (d47a1b4 )
reg enumerate, reversed; refact: sort registerBltinObject order (eec94e3 )
reversed (not reg yet) (78bfb2e )
enumerate (not reg yet) (4cc3065 )
object (b4c5086 )
bytes/bytearray: impl at least the same methods as tuple/list (02b51f4 )
sequence: sup method reverse (a09e670 )
sequence: sup magic iadd,mul,imul (398011f )
str: sup start, end param for index,count,find (c912730 )
getattr, setattr, delattr (1e8e734 )
next (80fa455 )
dict methods except keys,values,fromkeys,update; __delitem__ (f6e919f )
bool; fix(py): neval regarded user-define instance as false (cfed3b7 )
slice (4694fb0 )
NotImplemented (b60b6a0 )
Bytes
bltins, add __bytes__ magic (almost no magic,method impl) (5165105 )
C
api: declarePyType: allow defval (f8de9dd )
api: overload incl, contains[OrIncl] of set for PyIntObject (ae16a15 )
api: PySys_GetObject, PyLong_FromVoidPtr as newPyIntFromPtr, PyType_GetQualName as getQualName; fixup... (de8eabd )
api: PyUnstable_Object_Dump (ddd935e )
Class
Clinic
Comp
Def
default arguments, *vargs (b5a6806 )
Dict
popitem (c737859 )
all meth except fromkeys,popitem; fix(py): dict() accepted no arg (904c9ce )
Err_display
more py-like, (anchor impl missed) (99cd0fe )
Errors
ArithmeticError, OverflowError (f6cb789 )
Exc
add almost all; fix(py): __str__,__repr__,__init__ for many exc; fixup: exception attr may be stored as pyNone (dcda6c2 )
Exceptions
OSError, IOError, EOFError, BufferError (decl only) (2e1ae43 )
ModuleNotFoundError, RecursionError; fix: sub base exc dup (cad05a1 )
subclass of BaseException (wip) (7859d0c )
Float
Getargs
acc non-static string as fname (2d82357 )
sup converter as convertVia, kwOnly; fixup for PyArg_VaParseXx (clinic) (42e534a )
toval sup bool, string (36a4e30 )
Gram
ImplMagic
for binary magic allow typed params (2899ade )
Index
Inner
PyConfig.import_time (b41217e )
compat: mayNewPromise (9d06e3a )
PyTypeObject.member (28f1a80 )
exceptions: add errorIfNot,retIfExc (3432796 )
pyobject: checkTypeOrRetTE, castTypeOrRetTE (cd72950 )
abstract: add helpers: numAs*OrE, *OptArgAt (fb09b5f )
followup 0039346 : sup stop arg for Utils/sequtils.find*... (3196266 )
items, [] for list,tuple object (ea937c7 )
exceptions: obj.isExceptionOf(ExceptionToken) (f7b7285 )
pyobject: declarePyType accepts custom typeName (0ffc98c )
dedup iterable loop as pyForIn (4066821 )
Int
Iterobject
Js
import works when js (6feefbb )
io works for both node and deno, ... (fb87da3 )
browser (karax) repl (32ec604 )
sup deno; sup -d:jsAlert to gen a prompt&alert repl; sup -d:karax (but bad html style) (3584b6c )
nodejs repl (1f47848 )
nodejs run .py file (c995cb4 )
Karax
Karaxpython
ui: wrap line if overflow (f514efd )
ui: history (bug: cursor not to end on restoring) (98bea33 )
ui: edit line is focused on user entering page (d74eb62 )
add simple info line about repo url (9358d36 )
Lexer
List
setitem,deliem accept slice (f9e46c5 )
Listcomp
sup non-simple list comprehension (7b12443 )
Magic
hash for complex (4cbaa25 )
matmul, await,etc, buffer, divmod (not impl for types) (cba512b )
invert rshift lshift irshift, ilshift (not impl for types yet) (d63dba4 )
del (f030ed0 )
MemberDescr __get__ __set__ (c35ed86 )
iXX (e.g. __iadd__) (9a400c9 )
Members
slice exceptions funcobject (ff2e3cc )
Meth
float.hex,fromhex,as_integer_ratio,is_integer (0c97c4c )
all from pystrutils, unicode_case (a3dd0d1 )
startswith,endswith for str,bytes,bytearray (85b4399 )
bytes/bytearray meth from pkg/pystrutils (a960afe )
str methods from pkg/pystrutils (d940897 )
Method
Module
sys: get_int_max_str_digits, set_int_max_str_digits (dd55fd8 )
sys: xx_info (b6dcd4a )
sys: excepthook, PySys_EchoStderr, PySys_XxAttr (5db7e40 )
builtins (2b43b46 )
sys (can import as builtin module); feat(import): respect sys.path (31ccd49 )
sys (not all apis) (bafda8e )
unicodedata.decimal (ef92406 )
sysmodule (audit) (f12258c )
Object
float: sup mixin ops with float (ae20ee1 )
SimpleNamespace, structseq(named tuple) (99dc76b )
attr: code.co_xx, frame.f_xx (not complete) (0726355 )
module md_def as def (55369e7 )
Opcode
FORMAT_SIMPLE, FORMAT_WITH_SPEC, BUILD_INTERPOLATION; sup eval BuildString (564f578 )
add some since 3.14; feat(inner): neval_debug (093cb4a )
Parser
sup implicit line continuation for (), [], {} (bc8cca8 )
Platform
Py
Pyobject_apis
Readme
add link for docs and history wiki [skip ci] (68c4974 )
add badge; fixup: update feature status about import (665228c )
Repl
use linenoise when UNIX (sup ^C, ^D) (b3ee4c0 )
Rt
int: int.__new__ supports base, suffix, unicode and subtype (ad789e9 )
Set
all method (not test) (60e85b6 )
new (some methods not impl yet); ... (913b781 )
Str
sequence methods and .find (f10a906 )
UCS-4 or UCS-1 based over only UCS-1(ascii) (675a496 )
fallback to call __repr__ if no __str__ (1c5f52b )
Strformat
Sugar
clinicGenMethod (88d2fcf )
declarePyType sup singleton (26d4905 )
implMethod/Magic sup defval (ee6f9ac )
declarePyType sup IntFlag as field type (7524856 )
declarePyType: allow nil2none field pragma (6cd96f4 )
declarePyType: allow nil2none field pragma (a1785d4 )
reprLockWithMsgExpr; feat(api/c): overload updateImpl acc PyDictObject, _PyErr_SetString as setString (fba1d61 )
descr: {.member,readonly.} for seq[PyObject] (auto gen getter) (76fb277 )
sup {.member"xxx".} (callStrLit) (41ec0bd )
genProperty; fix: module.__name__ cannot get (d138350 )
declarePyType sup private; implXxXxx accept str for define dunder (3d65493 )
Syntax
complex literal (1a5cf00 )
fstring: sup multiline in middle (a213c77 )
fstring: sup expr in :format_spec (not sup multiline) (3d2eb91 )
fstring: raw :format_spec (c6d6c5b )
fstring: (todo: :format_spec, multiline) (ba5566d )
with: new. (TODO:traceback) (d273fbc )
lambda (fc77523 )
inline if (condition expression) (85ce9e7 )
sup \ (line cont char) (facec0d )
global stmt (ee951be )
bitops (fdfba86 )
kwargs: call builtin functions (3911515 )
multiline string (triple quoted string) (a7898a0 )
int: prefix, underline (37c7eff )
import: sup as (alias), multi import in one stmt (3a9b4c8 )
import_from: sup from x import a[, ...] (38ab1db )
sup b/B prefix (66fb6e9 )
strlit: sup u/r prefix (35dcef2 )
finally: try: ... finally: ... (de4a3b0 )
except_with_name: (wrong scope in some cases) (0a322a1 )
del_name: (not work for repl) (76da220 )
DeleteAttr op (__delattr__) (e83feee )
multi-targets in del_stmt (e.g. del ls[0], ls[1]) (a1ce6fe )
DeleteSubScr op (__delitem__) (f87dafe )
indent: allow any number of spaces (tab as 8 spaces) (e904e85 )
Type
traceback (TODO: tb_next, tb_frame, tb_lasti) (e0619b0 )
memberDescr: init in bltinmodule; getattr uses PyObject_GetAttr (ad85035 )
MemberDescr (not impl __get__ __set__) (3be457a )
Utils
VersionInfo
add PyMajor,PyMinor,PyPatch (de86288 )
Warnings
nim api: warnExplicit (not complete, a simpler impl) (2d9b8e8 )
Changed
NIM-BUG
js tailing expr not returned in templ-gen-ed func (f24230a )
Objects/abstract
Objects/pyobject_apis
split into dir pyobject_apis/; feat(api): PyObject_GetOptionalAttr (c7e9285 )
PyCodeObject
code.flags is now a IntFlag (edc9435 )
Utils
trans_imp (impExp) uses pkg's (df4e9dd )
Api
use openArray over seq for BltinFunc and BltinMethod (now more like CPython vectorcall) (b1cc485 )
/Include/internal/pycore_global_string: pyId,pyDUId,Py_STR (392b33b )
Api/list
.add returns nothing now, now append returns None (86632a1 )
Ast
parse float/int and string were too slow! (e825383 )
Ast/listcomp
reduce cond branch for Token.Lsqb (3193986 )
Attr
module.__name__; modsupport: API/ABI_VERESION (69ee94e )
AttrsGeneric
Bltinmodule
Build
allow -d:nimPreviewSlimSystem (ffae3e7 )
Builtins
Bytearray
internally use seq[char] over string (55872ba )
Bytes
C/api
divmod for PyIntObject now returns PyObject over tuple (f28d8c5 )
Call
Ci
Cli
Compile
allow fileName be PyStrObject; add flags,optimize param (be699f8 )
Cpython
Dep
Dict
against rec dep (88036c8 )
ren dictobject.keys keysList;impl values,items,keys (0df2bb3 )
Dictobject
split GetItemRes to /Utils/optres (f1d2fa7 )
Exceptions
split out setString from .Impl to setter (546b22e )
split to dir (1fe118f )
Float
Floatobject
split to dir; ch import to break cycle (85f2afb )
Getargs
Gitignore
Grammar
use char for one length string (8bb81a3 )
Import
pyimport to pyimport/main (da339e7 )
Inner
PyErr_BadInternalCall (064c003 )
type_error (4c42248 )
$ for PyObject will try __repr__ or typeName (6ee9116 )
Int,float
support: a//b for int where b is big; % for int,float (cf6cc71 )
Intobject
split to dir (9b1b975 )
split to dir; fix(hole): newPyInt for SomeUnsignedInt (91eb8b3 )
Intobject/ops
split out ops_toint (to break upcoming cycle dep) (47d1b8d )
Iterobject
pyForIn return PyBaseErrorObject over PyObject (3d6679c )
Karaxpython
Kw
Lexer
License
Magic
__reversed__ (wip) (b9df2f9 )
__int__ __float__ (not impl for types yet); typeName (1d4698a )
Method
Mykarun
--includeJs for one-file html (a86b5c6 )
Neval
split pyimport; feat(import): sup cache (40fe545 )
Nimble
buildLib, buildDbg (311b3cd )
update author, desc (1ae0a99 )
sup nimble@v0.16.4's declarativeparser (389c747 )
breaks: chore(nimble): buildKarax, npython is now appname; chore(nimble): sup jsDir,appName,htmlName arg (2b5f4ac )
buildKarax (3a3d856 )
allow pass cmd args for buildJs task (7f1729d )
compile target now named npython over python (d8c06d5 )
Numobjects
split into numobjects/[floatobject, intobject] (6f7f0f2 )
Object
mv PyObject_{GetAttr,Repr,Str} to pyobject_apis (f857a0c )
Opt
Pyimport
Pyobject_apis
split to ./strings; fixup: PyObject_Repr/Str... (075b391 )
Readme
update; mv Performace, GC part to wiki (896b831 )
intro easiest install meth and nimpylib (483e51a )
update url of github & online playground; detailed "How to use", indicating multiply backends (db1225b )
update "How to use" & "Drawbacks" (99c185c )
Simp/api
PyModule_CreateInitialized (a83f7d7 )
Slice
Str
StringobjectImpl
Sugar
{.member.} in declarePyType (a3dec3b )
Syntax
Test
bltins arg pass,2 level comprehension,f_back,globals locals (6bab12b )
func code attrs (e565adc )
fstring (5bd9b38 )
Toplevel
avoid using PyIntObject at top-level (15e0417 )
Tuple
against cycle dep (e63d7b7 )
exp genGetItem, rm unused param newPyNameSimple of genCollectMagics;... (3d5e04d )
__contains__,index,count;feat(list): __eq__ (f9280c5 )
Tuple,list
Typeobject
split type_ready into dir (35616a5 )
Fixed
PyRun_XxString always returns false (ea9cc2f )
ArithmeticError, KeyError.pyType.kind was NULL (so not isThrownException) (5748cac )
PyNumber_Index discard res from __index__ (60e14a5 )
Defect
when uint too small; feat(api/c): absToUInt acc any unsigned, add toSome[Un]SignedInt (9d1c54e )
NIM-BUG
JsHasResMissingInCatchBug: fixup: HEAD~3 (b6455af )
cast[char] not trunc on JS (40297be )
None
NotImplemented
type(NotImplemented)() is not NotImplemented (02116a5 )
Parser.grammar
Af429b443
PyStrObject & char returns unicodeVariant(nil) (e0d2e71 )
Api
PyFloat_AsDouble not raised err (2f58479 )
lexer.Mode was not exported (5dae5cf )
Ast
(1,) was regarded as 1 over tuple (8733279 )
Augassign
**=,//= SyntaxError; *=,%= NotImplementedError (52a83ce )
Ba0f77ca6ab
str.find,etc no error on 4+ args (43f79e7 )
Bool
type(bool)() is not None (followup 511e0f2 ); bool [] is True (6d0f73e )
Builtins/print
default sep used '\n' over ' ' (6bd72bf )
Bytes
many meth returned default type value (b7f36f5 )
Ci
docs (proj-name changed) (3018047 )
fix playground 404 since 'npython.' subdomain was added (0ff5f23 )
Cli
header was printed even stdin is piped (7a84ba0 )
Crash
fixes #7 ; mixed type bin op crash (f7595aa )
addr0 (13d3d78 )
{<unhashable>} unhashable in set literal (b56cdf6 )
set: remove, discard on unhashable type (fd8a525 )
Sequence: __setitem__,__delitem__ (fix,break(slice): indices,toNimSlice,iterInt may OverflowDefect); fixup(break: toInt->toIntUnsafe) (142a1c9 )
Dep
Dict
__init__ ignored kw and update rejected kw (8e18d1e )
Dict.pop
Dict.update
did not raise exception but inserted (6fb26da )
Doc
exp sym to make doc runnable (a47540d )
E01f2f2bbcb
debug_text ( = in fstring ) (2569a21 )
Err_display
impl anchor and exception group display (09725d1 )
Exceptions
after __new__ attributes was nil over None (eef0879 )
F5c4356a6
echo existed; strformat for int uses intobject (7956356 )
Float
//, % may crash on zero division (ffecd83 )
Inner
$codeobject not work for OpCode.Delete* (6667a95 )
Int
Io
readLine may ps after input (4d38cef )
Js
some prc called quit over quitCompat (439d235 )
handle: spaces in browser's contenteditable may become U+00A0 (602548a )
make lefecycle.pyInit init pyConfig, too (like in C) (05f58e9 )
findExe not work CT when JS (15cd995 )
log func may be of karax's (fd30c07 )
AstNodeBase.hash crash bc cast to int from ref (3026e22 )
Js/rt
crash when try: f() ... and f raises (91d2907 )
Deno: notNode was false; crash bc of no Deno.existsSync (af3b992 )
Lexer
"" and '' crash lexer (TODO: multiline string) (e1e70e4 )
List.remove
LockError: Read failed because object is been written.; seq.delete usage wrong (56a7095 )
Method/int
to_bytes may OverflowDefect; break(api/c): as intobject does (9b605b8 )
Module
md_dict didn't store modu methods (08aea49 )
Nimble
import would fail after nimble install (09e6434 )
cannot nimble install (b181a52 )
Nimc
not compile when -d:debug (8dc97c8 )
CC:clang not compile Objects/exceptions.nim:new*Error (7f84f0d )
Object/api
bytes/bytearray's new lack openArray of non char (d04bc78 )
set: ==, +, ...(binOps) raised DictError (bc9d624 )
dict == raised DictError (005e3c0 )
newPyDict, [], []=, for str as key raises: [DictError] (8e1c1a6 )
float lacks arith op (1061903 )
Object/int
int.mod not work; feat: sup mixin ops with fixed-width (14972ab )
Prec
when C, PyLong_FromDouble will be prec & define npythonGoodIntFromBigFloat (2fd4150 )
Py
char bigger than 0x7f was regarded as ascii (6f1e00f )
hash for int/float now matches python's (f0a5af7 )
hash did not walk around -1 (6dcc0f0 )
int + float crashed (ba4de79 )
respect sign of NaN; chore(dep): nimpatch to v0.1.1 (70f69f6 )
in older nim, floatdollar wrong in js (8e705c6 )
pow(float,..) never raises (141921b )
PyEval_GetFrame might return global frame (2a374c2 )
e.g. str(None) was <xxx..> (d6c8aeb )
traceback.tb_next was not set and readonly... (8ecdfff )
frame.__repr__; frame.f_back never None but AttributeError (26732c7 )
builtins lacks __gt__ (30f1b70 )
__int__, __float__ for int, float; followup: 1d4698a (a7a710e )
ValueError if strlen > max_str_digits when int <-> str (90d259d )
binop and setitem no longer simply call magicMethods (use generic call, handles NotImplemented) (20217b1 )
bool was not subclass of int (50cd207 )
allow kwargs for enumerate (6490444 )
main: using run_file,PyRun_AnyFileExFlags (34d4919 )
chk noKw for bltin method/func (TODO: some shall allow kw) (d0cac70 )
Sequence_Check, etc; PySeqIter now works on PyObject (fc6c125 )
PyNumber_Index did not warn if ret non-exact int (d701016 )
PyObject_GenericGetAttrWithDict did not look on parents (f2c57d3 )
__name__ globals (4cc9a87 )
for get index funcs, start could be equal to seq len (760e78d )
PyFloat_AsDouble now may returns OverflowError (wip) (a668a8b )
ofPyXxObject did the same as ofExtractPyXxObject (31963f9 )
slice.__new__ (f49bf67 )
repr(obj) missing "object" before "at" (7a150f8 )
missing exception type when lookup dict, elem's __hash__, __eq__ called (ce76244 )
exceptions: __repr__ returns xxError: ... (248aa3f )
printTb was to stdout, all args was printed (427efb1 )
exceptions: no LookupError, no attrs (937dc4b )
replace toInt with toIntOrRetOF to handle overflow; impl PyNumber_[Index,AsSsize_t],PyLong_AsSsize_t (54476ff )
list(dict) was on .keys() over .items() (0909cf1 )
dict.__eq__ not content-based;;dict no tpToken (280d929 )
exceptions type names was like "stopitererror" (7616ee8 )
frozenset repr was the same as set's (662f665 )
hash worked for dict,list,set (38b6929 )
hash() was id-based over content-based (d1a27c9 )
[1][0:1] raised IndexError (91c7abf )
repr(set()) was "{}" (5982fd7 )
type name was captial e.g. Set (ba2a46d )
repr for self-containing dict,list was "..." (45085a2 )
Py/attrs
cannot get parent's member (436eaca )
Safe
raises: [] for nim's func callback: fix(crash): ... (50b8fd4 )
Strformat
newPyAscii&"{a}" crash for a: str (d8830ac )
Sugar
declarePyType: member, private must be the first and not mixed (3981a6a )
parse implXxXxx's signature: fix sup of *arg, add sup of **kw (a7d965e )
Syntax
br"xxx", "xx"xx" not compile (e486d6b )
Tuple
Ui/karax
history line margin too large (6ad848f )
Vcc
Warning
[UnreachableCode] in neval; [UnunsedImport] in methodobject (f6c958c )
Windows
lexer init not run; buildinfo contains newline (6fc25e3 )
You can’t perform that action at this time.