GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — update_lib todo also shows test todo by youknowone · Pull Request #6859 · RustPython/RustPython

Conversation

@youknowone

@youknowone youknowone commented Jan 24, 2026 •
edited by coderabbitai Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

also tracking untracked files considered in #6775
cc @terryluan12

$ python scripts/update_lib todo
- [x] [no deps] types (38 dependents)
  - [ ] test_types (10 TODO)
- [x] [no deps] stat (14 dependents)
  - [ ] test_stat
- [x] [no deps] operator (13 dependents)
  - [ ] test_operator (3 TODO)
- [ ] [no deps] codecs (8 dependents)
  - [ ] test_codecs (98 TODO)
- [ ] [no deps] ast (6 dependents)
  - [ ] test_ast (104 TODO)
- [x] [no deps] string (5 dependents)
  - [ ] test_string
- [ ] [no deps] hashlib (2 dependents)
  - [ ] test_hashlib (10 TODO)
- [ ] [no deps] hmac (2 dependents)
  - [ ] test_hmac (18 TODO)
- [ ] [no deps] timeit
  - [ ] test_timeit
- [ ] [no deps] zipimport
  - [ ] test_zipimport (2 TODO)
- [ ] [0/3 deps] os (72 dependents)
  - [ ] test_os (18 TODO)
- [ ] [0/4 deps] collections (31 dependents)
  - [x] test_collections (3 TODO)
- [x] [0/1 deps] warnings (22 dependents)
  - [ ] test_warnings (40 TODO)
- [ ] [0/1 deps] enum (16 dependents)
  - [ ] test_enum (15 TODO)
- [x] [0/1 deps] abc (13 dependents)
  - [ ] test_abc (1 TODO)
- [ ] [0/2 deps] weakref (13 dependents)
  - [ ] test_weakref (28 TODO)
- [ ] [0/1 deps] datetime (12 dependents)
  - [ ] test_datetime
- [x] [0/1 deps] base64 (8 dependents)
  - [ ] test_base64
- [ ] [0/1 deps] textwrap (6 dependents)
  - [ ] test_textwrap
- [ ] [0/2 deps] codeop (3 dependents)
  - [ ] test_codeop (5 TODO)
- [ ] [0/2 deps] html (2 dependents)
  - [x] test_html
- [ ] [0/3 deps] decimal (2 dependents)
  - [ ] test_decimal (2 TODO)
- [ ] [0/4 deps] fractions (1 dependents)
  - [ ] test_fractions (1 TODO)
- [ ] [0/1 deps] opcode (1 dependents)
- [ ] [0/1 deps] nturl2path
  - [ ] test_nturl2path
- [x] [0/4 deps] rlcompleter
  - [ ] test_rlcompleter (1 TODO)
- [x] [1/3 deps] re (41 dependents)
  - [ ] test_re (19 TODO)
- [x] [1/5 deps] functools (32 dependents)
  - [ ] test_functools (11 TODO)
- [x] [1/2 deps] threading (17 dependents)
  - [ ] test_threading (20 TODO)
- [ ] [1/3 deps] copy (9 dependents)
  - [ ] test_copy
- [ ] [1/3 deps] posixpath (6 dependents)
  - [x] test_posixpath (4 TODO)
- [ ] [1/4 deps] random (6 dependents)
  - [ ] test_random
- [x] [1/1 deps] signal (5 dependents)
  - [ ] test_signal (3 TODO)
- [x] [1/6 deps] typing (5 dependents)
  - [ ] test_typing (21 TODO)
- [ ] [1/4 deps] queue (4 dependents)
  - [ ] test_queue
- [ ] [1/4 deps] json (4 dependents)
  - [ ] test_json (18 TODO)
- [ ] [1/2 deps] gettext (3 dependents)
  - [ ] test_gettext (7 TODO)
- [ ] [1/1 deps] shlex (3 dependents)
  - [ ] test_shlex (4 TODO)
- [ ] [1/8 deps] dataclasses (3 dependents)
  - [ ] test_dataclasses (10 TODO)
- [ ] [1/3 deps] difflib (2 dependents)
  - [ ] test_difflib
- [x] [1/2 deps] genericpath (2 dependents)
  - [ ] test_genericpath (1 TODO)
- [ ] [1/3 deps] locale (2 dependents)
  - [ ] test_locale
- [ ] [1/2 deps] ntpath (1 dependents)
  - [ ] test_ntpath
- [x] [1/1 deps] pyclbr (1 dependents)
  - [ ] test_pyclbr (3 TODO)
- [ ] [1/1 deps] profile (1 dependents)
  - [ ] test_profile
- [ ] [1/3 deps] site (1 dependents)
  - [ ] test_site (5 TODO)
- [ ] [1/6 deps] tomllib
  - [ ] test_tomllib
- [ ] [1/2 deps] csv
  - [ ] test_csv (27 TODO)
- [x] [1/2 deps] fileinput
  - [ ] test_fileinput (1 TODO)
- [ ] [1/1 deps] ftplib
  - [x] test_ftplib (4 TODO)
- [ ] [1/1 deps] optparse
  - [ ] test_optparse
- [ ] [1/2 deps] poplib
  - [ ] test_poplib
- [ ] [1/2 deps] pty
  - [ ] test_pty (4 TODO)
- [ ] [1/2 deps] wave
  - [ ] test_wave
- [ ] [1/1 deps] curses
  - [ ] test_curses
- [ ] [2/5 deps] io (48 dependents)
  - [ ] test_io (60 TODO)
- [x] [2/6 deps] contextlib (19 dependents)
  - [ ] test_contextlib (5 TODO)
- [ ] [2/7 deps] pickle (8 dependents)
  - [ ] test_pickle (26 TODO)
- [ ] [2/4 deps] fnmatch (7 dependents)
  - [ ] test_fnmatch
- [ ] [2/4 deps] sysconfig (6 dependents)
  - [ ] test_sysconfig (8 TODO)
- [x] [2/4 deps] annotationlib (3 dependents)
  - [ ] test_annotationlib
- [ ] [2/2 deps] code (3 dependents)
  - [ ] test_code (11 TODO)
- [ ] [2/4 deps] platform (3 dependents)
  - [ ] test_platform
- [ ] [2/3 deps] pprint (2 dependents)
  - [ ] test_pprint
- [ ] [2/7 deps] glob (2 dependents)
  - [ ] test_glob
- [x] [2/2 deps] runpy (2 dependents)
  - [ ] test_runpy (3 TODO)
- [ ] [2/2 deps] tabnanny (1 dependents)
  - [ ] test_tabnanny (6 TODO)
- [ ] [2/6 deps] encodings (1 dependents)
- [ ] [2/2 deps] getopt
  - [ ] test_getopt
- [ ] [2/3 deps] getpass
  - [ ] test_getpass
- [ ] [2/2 deps] imaplib
  - [ ] test_imaplib
- [ ] [2/2 deps] symtable
  - [ ] test_symtable (17 TODO)
- [ ] [2/2 deps] uuid
  - [ ] test_uuid
- [ ] [2/2 deps] cProfile
- [ ] [2/4 deps] tracemalloc
  - [ ] test_tracemalloc
- [ ] [2/6 deps] wsgiref
  - [ ] test_wsgiref (1 TODO)
- [ ] [3/3 deps] socket (13 dependents)
  - [ ] test_socket (12 TODO)
- [ ] [3/4 deps] shutil (9 dependents)
  - [ ] test_shutil
- [ ] [3/8 deps] subprocess (7 dependents)
  - [ ] test_subprocess (10 TODO)
- [ ] [3/6 deps] tokenize (7 dependents)
  - [ ] test_tokenize (2 TODO)
- [ ] [3/4 deps] dis (4 dependents)
  - [ ] test_dis (53 TODO)
- [x] [3/5 deps] socketserver (4 dependents)
  - [ ] test_socketserver (1 TODO)
- [ ] [3/6 deps] bdb (2 dependents)
  - [ ] test_bdb (33 TODO)
- [ ] [3/4 deps] pkgutil (2 dependents)
  - [ ] test_pkgutil (1 TODO)
- [ ] [3/6 deps] configparser (1 dependents)
  - [ ] test_configparser (1 TODO)
- [ ] [3/3 deps] py_compile (1 dependents)
  - [ ] test_py_compile (2 TODO)
- [x] [3/4 deps] sqlite3 (1 dependents)
  - [ ] test_sqlite3 (82 TODO)
- [ ] [3/5 deps] pickletools
  - [ ] test_pickletools (8 TODO)
- [ ] [3/6 deps] compileall
  - [ ] test_compileall (3 TODO)
- [ ] [3/5 deps] pstats
  - [ ] test_pstats
- [ ] [3/3 deps] modulefinder
  - [ ] test_modulefinder
- [ ] [4/9 deps] traceback (12 dependents)
  - [ ] test_traceback (71 TODO)
- [ ] [4/6 deps] tkinter (3 dependents)
  - [ ] test_tkinter
- [ ] [4/5 deps] webbrowser (2 dependents)
  - [ ] test_webbrowser
- [ ] [4/8 deps] ctypes (1 dependents)
  - [ ] test_ctypes (14 TODO)
- [ ] [4/6 deps] zipapp
  - [ ] test_zipapp
- [ ] [4/6 deps] ssl
  - [ ] test_ssl (21 TODO)
- [ ] [4/8 deps] statistics
  - [ ] test_statistics (1 TODO)
- [ ] [4/7 deps] tarfile
  - [ ] test_tarfile (4 TODO)
- [x] [4/7 deps] dbm
  - [ ] test_dbm
- [ ] [5/8 deps] tempfile (7 dependents)
  - [ ] test_tempfile (1 TODO)
- [ ] [5/10 deps] pathlib (7 dependents)
  - [ ] test_pathlib (2 TODO)
- [ ] [5/10 deps] zipfile (2 dependents)
  - [ ] test_zipfile (16 TODO)
- [x] [5/7 deps] plistlib (1 dependents)
  - [ ] test_plistlib (7 TODO)
- [ ] [5/5 deps] turtledemo (1 dependents)
- [ ] [5/10 deps] zoneinfo
  - [ ] test_zoneinfo (4 TODO)
- [x] [5/9 deps] mailbox
  - [ ] test_mailbox
- [ ] [5/7 deps] smtplib
  - [x] test_smtplib (2 TODO)
- [ ] [6/7 deps] venv
  - [ ] test_venv (4 TODO)
- [ ] [6/10 deps] trace
  - [ ] test_trace (20 TODO)
- [ ] [6/9 deps] xml
- [x] [7/16 deps] inspect (13 dependents)
  - [ ] test_inspect (56 TODO)
- [ ] [7/14 deps] logging (4 dependents)
  - [ ] test_logging (9 TODO)
- [ ] [7/15 deps] email (3 dependents)
  - [ ] test_email (12 TODO)
- [ ] [7/10 deps] turtle (1 dependents)
  - [ ] test_turtle
- [ ] [7/16 deps] urllib (1 dependents)
  - [ ] test_urllib
- [ ] [7/13 deps] doctest
  - [ ] test_doctest (13 TODO)
- [ ] [7/12 deps] xmlrpc
  - [ ] test_xmlrpc (5 TODO)
- [ ] [8/11 deps] concurrent
- [ ] [9/16 deps] http
- [ ] [10/20 deps] importlib (3 dependents)
  - [ ] test_importlib (29 TODO)
- [ ] [10/16 deps] pydoc (1 dependents)
  - [ ] test_pydoc
- [ ] [12/23 deps] unittest (2 dependents)
  - [ ] test_unittest (15 TODO)
- [ ] [12/26 deps] multiprocessing (1 dependents)
- [ ] [13/29 deps] asyncio (2 dependents)
  - [ ] test_asyncio
- [ ] [16/30 deps] pdb (1 dependents)
  - [ ] test_pdb
- [ ] [22/39 deps] idlelib

## Standalone Tests
- [ ] test___all__ (1 TODO)
- [ ] test__interpchannels
- [ ] test__interpreters
- [ ] test__locale
- [ ] test__osx_support
- [ ] test_abstract_numbers
- [ ] test_android
- [ ] test_apple
- [ ] test_array (5 TODO)
- [ ] test_asdl_parser
- [ ] test_asyncgen (1 TODO)
- [ ] test_atexit
- [ ] test_audit
- [ ] test_baseexception
- [ ] test_bigmem (5 TODO)
- [ ] test_binascii (1 TODO)
- [ ] test_binop
- [ ] test_bool
- [ ] test_buffer
- [ ] test_bufio (2 TODO)
- [ ] test_build_details
- [ ] test_builtin (18 TODO)
- [ ] test_bytes (17 TODO)
- [ ] test_c_locale_coercion (1 TODO)
- [ ] test_call (1 TODO)
- [ ] test_capi
- [ ] test_cext
- [ ] test_charmapcodec
- [ ] test_class (14 TODO)
- [ ] test_clinic
- [ ] test_cmd_line (24 TODO)
- [ ] test_cmd_line_script (17 TODO)
- [ ] test_code_module (6 TODO)
- [ ] test_codeccallbacks (11 TODO)
- [ ] test_codecencodings_cn
- [ ] test_codecencodings_hk
- [ ] test_codecencodings_iso2022
- [ ] test_codecencodings_jp
- [ ] test_codecencodings_kr
- [ ] test_codecencodings_tw
- [ ] test_codecmaps_cn
- [ ] test_codecmaps_hk
- [ ] test_codecmaps_jp
- [ ] test_codecmaps_kr
- [ ] test_codecmaps_tw
- [ ] test_compile (26 TODO)
- [ ] test_compiler_assemble
- [ ] test_compiler_codegen
- [ ] test_complex (2 TODO)
- [ ] test_concurrent_futures (18 TODO)
- [ ] test_contains
- [ ] test_context (6 TODO)
- [ ] test_contextlib_async (5 TODO)
- [ ] test_coroutines
- [ ] test_cppext
- [ ] test_cprofile
- [ ] test_crossinterp
- [ ] test_dbm_gnu
- [ ] test_dbm_ndbm
- [ ] test_decorators (1 TODO)
- [ ] test_deque (3 TODO)
- [ ] test_descr (44 TODO)
- [ ] test_descrtut (1 TODO)
- [ ] test_dict (4 TODO)
- [ ] test_dictcomps (1 TODO)
- [ ] test_dictviews (2 TODO)
- [ ] test_docxmlrpc (7 TODO)
- [ ] test_dtrace (8 TODO)
- [ ] test_dynamic (1 TODO)
- [ ] test_dynamicclassattribute
- [ ] test_embed
- [ ] test_errno
- [ ] test_except_star (1 TODO)
- [ ] test_exception_group (2 TODO)
- [ ] test_exception_hierarchy (2 TODO)
- [ ] test_exception_variations (1 TODO)
- [ ] test_exceptions (29 TODO)
- [ ] test_extcall
- [ ] test_external_inspection
- [ ] test_faulthandler (30 TODO)
- [ ] test_fcntl
- [ ] test_file
- [ ] test_file_eintr (1 TODO)
- [ ] test_fileio
- [ ] test_fileutils
- [ ] test_finalization
- [ ] test_float (5 TODO)
- [ ] test_flufl
- [ ] test_fork1
- [ ] test_format (5 TODO)
- [ ] test_frame
- [ ] test_free_threading
- [ ] test_frozen
- [ ] test_fstring (29 TODO)
- [ ] test_funcattrs (6 TODO)
- [ ] test_future_stmt (6 TODO)
- [ ] test_gc
- [ ] test_gdb
- [ ] test_generated_cases
- [ ] test_generator_stop
- [ ] test_generators (6 TODO)
- [ ] test_genericalias (5 TODO)
- [ ] test_genericclass (1 TODO)
- [ ] test_genexps
- [ ] test_getpath
- [ ] test_global (3 TODO)
- [ ] test_grammar (19 TODO)
- [ ] test_hash (4 TODO)
- [ ] test_htmlparser
- [ ] test_http_cookiejar
- [ ] test_http_cookies
- [ ] test_httplib
- [ ] test_httpservers (13 TODO)
- [ ] test_idle
- [ ] test_import (22 TODO)
- [ ] test_int (6 TODO)
- [ ] test_interpreters
- [ ] test_ioctl
- [ ] test_isinstance
- [ ] test_iter (1 TODO)
- [ ] test_itertools (27 TODO)
- [ ] test_largefile
- [ ] test_launcher
- [ ] test_list (5 TODO)
- [ ] test_listcomps (2 TODO)
- [ ] test_lltrace
- [ ] test_long (4 TODO)
- [ ] test_marshal (21 TODO)
- [ ] test_memoryio (26 TODO)
- [ ] test_memoryview (6 TODO)
- [ ] test_metaclass
- [ ] test_minidom
- [ ] test_mmap (3 TODO)
- [ ] test_module (4 TODO)
- [ ] test_monitoring
- [ ] test_msvcrt
- [ ] test_multibytecodec
- [ ] test_multiprocessing_fork (79 TODO)
- [ ] test_multiprocessing_forkserver (38 TODO)
- [ ] test_multiprocessing_spawn (34 TODO)
- [ ] test_named_expressions (18 TODO)
- [ ] test_opcache
- [ ] test_opcodes
- [ ] test_optimizer
- [ ] test_ordered_dict (4 TODO)
- [ ] test_osx_env
- [ ] test_patma (20 TODO)
- [ ] test_peepholer (33 TODO)
- [ ] test_peg_generator
- [ ] test_pep646_syntax
- [ ] test_perf_profiler
- [ ] test_perfmaps
- [ ] test_picklebuffer (12 TODO)
- [ ] test_pkg
- [ ] test_poll (1 TODO)
- [ ] test_popen
- [ ] test_positional_only_arg (6 TODO)
- [ ] test_posix (8 TODO)
- [ ] test_print (7 TODO)
- [ ] test_property
- [ ] test_pulldom (4 TODO)
- [ ] test_pyexpat (28 TODO)
- [ ] test_pyrepl
- [ ] test_raise (1 TODO)
- [ ] test_range (1 TODO)
- [ ] test_readline
- [ ] test_remote_pdb
- [ ] test_repl
- [ ] test_resource (2 TODO)
- [ ] test_richcmp
- [ ] test_robotparser (1 TODO)
- [ ] test_sax
- [ ] test_scope (1 TODO)
- [ ] test_script_helper (4 TODO)
- [ ] test_select
- [ ] test_set (5 TODO)
- [ ] test_sort (2 TODO)
- [ ] test_source_encoding
- [ ] test_stable_abi_ctypes
- [ ] test_startfile
- [ ] test_str (18 TODO)
- [ ] test_strftime
- [ ] test_string_literals (5 TODO)
- [ ] test_strptime
- [ ] test_strtod (6 TODO)
- [ ] test_structseq
- [ ] test_subclassinit
- [ ] test_sundry
- [ ] test_super (4 TODO)
- [ ] test_support (4 TODO)
- [ ] test_syntax (27 TODO)
- [ ] test_sys (17 TODO)
- [ ] test_sys_setprofile (22 TODO)
- [ ] test_sys_settrace (85 TODO)
- [ ] test_syslog (2 TODO)
- [ ] test_tcl
- [ ] test_termios
- [ ] test_thread
- [ ] test_thread_local_bytecode
- [ ] test_threadedtempfile
- [ ] test_threading_local (3 TODO)
- [ ] test_threadsignals
- [ ] test_time (18 TODO)
- [ ] test_timeout
- [ ] test_tools
- [ ] test_tstring
- [ ] test_ttk
- [ ] test_ttk_textonly
- [ ] test_tuple (1 TODO)
- [ ] test_type_aliases
- [ ] test_type_annotations
- [ ] test_type_cache
- [ ] test_type_comments (16 TODO)
- [ ] test_type_params
- [ ] test_unicode_file_functions
- [ ] test_unicode_identifiers (1 TODO)
- [ ] test_unicodedata (18 TODO)
- [ ] test_unpack
- [ ] test_unpack_ex
- [ ] test_unparse
- [ ] test_urllib2
- [ ] test_urllib2_localnet (19 TODO)
- [ ] test_urllib2net
- [ ] test_urllibnet
- [ ] test_urlparse (1 TODO)
- [ ] test_userdict
- [ ] test_userlist
- [ ] test_utf8_mode (6 TODO)
- [ ] test_utf8source (2 TODO)
- [ ] test_weakset (2 TODO)
- [ ] test_winapi
- [ ] test_winconsoleio
- [ ] test_winsound
- [ ] test_with (1 TODO)
- [ ] test_wmi
- [ ] test_xml_etree (126 TODO)
- [ ] test_xml_etree_c
- [ ] test_xxlimited
- [ ] test_xxtestfuzz
- [ ] test_yield_from (10 TODO)
- [ ] test_zipimport_support

## Untracked Files
- _ast_unparse.py
- _pyrepl/_module_completer.py
- _pyrepl/base_eventqueue.py
- _pyrepl/terminfo.py
- _pyrepl/windows_eventqueue.py
- site-packages/README.txt

$ python scripts/update_lib todo --verbose --done
- [x] [no deps] types (38 dependents)
  - [ ] test_types (10 TODO)
  dependents: annotationlib, asyncio, concurrent, contextlib, copy, csv, ctypes, dataclasses, difflib, dis, email, enum, filecmp, fileinput, functools, graphlib, http, idlelib, importlib, inspect, logging, mailbox, multiprocessing, pdb, pickle, pprint, queue, subprocess, sysconfig, tempfile, tkinter, tomllib, turtle, typing, unittest, urllib, venv, wsgiref
- [x] [no deps] struct (16 dependents)
  - [x] test_struct (4 TODO)
  dependents: asyncio, base64, compileall, ctypes, dbm, gzip, idlelib, logging, multiprocessing, pickle, pickletools, plistlib, tarfile, wave, zipfile, zoneinfo
  native: _struct
- [x] [no deps] stat (14 dependents)
  - [ ] test_stat
  dependents: asyncio, filecmp, genericpath, glob, io, os, pathlib, pdb, posixpath, shutil, site, tarfile, zipapp, zipfile
- [x] [no deps] operator (13 dependents)
  - [ ] test_operator (3 TODO)
  dependents: collections, datetime, email, fractions, functools, gettext, glob, importlib, inspect, pathlib, random, statistics, typing
  native: builtins
- [x] [no deps] linecache (8 dependents)
  - [x] test_linecache
  dependents: asyncio, doctest, idlelib, inspect, pdb, trace, traceback, tracemalloc
- [ ] [no deps] codecs (8 dependents)
  - [ ] test_codecs (98 TODO)
  dependents: encodings, io, json, pickle, pickletools, plistlib, tokenize, xml
  native: builtins, sys
- [x] [no deps] keyword (7 dependents)
  - [x] test_keyword
  dependents: annotationlib, collections, dataclasses, idlelib, inspect, rlcompleter, traceback
- [x] [no deps] copyreg (6 dependents)
  - [x] test_copyreg
  dependents: copy, idlelib, multiprocessing, pickle, re, typing
- [ ] [no deps] ast (6 dependents)
  - [ ] test_ast (104 TODO)
  dependents: annotationlib, asyncio, dbm, inspect, pyclbr, pydoc
  native: _ast
- [x] [no deps] reprlib (6 dependents)
  - [x] test_reprlib (4 TODO)
  dependents: asyncio, collections, dataclasses, functools, idlelib, pydoc
  native: _thread, builtins, itertools
- [x] [no deps] bisect (5 dependents)
  - [x] test_bisect
  dependents: multiprocessing, random, statistics, urllib, zoneinfo
- [x] [no deps] string (5 dependents)
  - [ ] test_string
  dependents: email, http, idlelib, logging, urllib
  native: _string
- [x] [no deps] heapq (4 dependents)
  - [x] test_heapq
  dependents: asyncio, difflib, queue, sched
- [x] [no deps] token (4 dependents)
  dependents: inspect, pdb, tokenize, trace
- [ ] [no deps] hashlib (2 dependents)
  - [ ] test_hashlib (10 TODO)
  dependents: antigravity, urllib
- [ ] [no deps] hmac (2 dependents)
  - [ ] test_hmac (18 TODO)
  dependents: secrets, smtplib
- [x] [no deps] quopri (2 dependents)
  - [x] test_quopri
  dependents: email, encodings
- [x] [no deps] mimetypes (1 dependents)
  - [x] test_mimetypes
  dependents: http
- [x] [no deps] cmd (1 dependents)
  - [x] test_cmd
  dependents: pdb
  native: sys
- [x] [no deps] stringprep (1 dependents)
  - [x] test_stringprep
  dependents: encodings
  native: unicodedata
- [x] [no deps] tty (1 dependents)
  - [x] test_tty (2 TODO)
  dependents: pty
  native: termios
- [x] [no deps] colorsys
  - [x] test_colorsys
- [x] [no deps] this
- [x] [no deps] pydoc_data
  native: system.
- [ ] [no deps] timeit
  - [ ] test_timeit
  native: gc, itertools, sys, time
- [ ] [no deps] zipimport
  - [ ] test_zipimport (2 TODO)
  native: _frozen_importlib, _frozen_importlib_external, _imp, _io, marshal, sys, time
- [ ] [0/3 deps] os (72 dependents)
  - [ ] test_os (18 TODO)
  dependents: argparse, asyncio, bdb, bz2, compileall, compression, concurrent, configparser, contextlib, ctypes, curses, dbm, doctest, email, ensurepip, filecmp, fnmatch, genericpath, getopt, getpass, gettext, glob, gzip, http, idlelib, importlib, inspect, io, logging, lzma, mailbox, modulefinder, multiprocessing, netrc, ntpath, pathlib, pdb, pkgutil, platform, plistlib, posixpath, pstats, pty, py_compile, pydoc, random, runpy, shutil, site, socket, socketserver, ssl, subprocess, sysconfig, tabnanny, tarfile, tempfile, threading, tkinter, trace, turtle, turtledemo, unittest, urllib, uuid, venv, webbrowser, xml, xmlrpc, zipapp, zipfile, zoneinfo
  python: _collections_abc, abc, stat
  native: os.path, sys
- [ ] [0/4 deps] collections (31 dependents)
  - [x] test_collections (3 TODO)
  dependents: asyncio, concurrent, configparser, contextlib, difflib, dis, doctest, email, functools, idlelib, importlib, inspect, multiprocessing, pkgutil, platform, pprint, pydoc, queue, sched, selectors, shutil, ssl, statistics, tkinter, tokenize, typing, unittest, urllib, wave, xml, zoneinfo
  python: _collections_abc, keyword, operator, reprlib
  native: _weakref, itertools, sys
- [x] [0/1 deps] warnings (22 dependents)
  - [ ] test_warnings (40 TODO)
  dependents: asyncio, codeop, ctypes, idlelib, importlib, mailbox, multiprocessing, nturl2path, pdb, pydoc, rlcompleter, sre_compile, sre_constants, sre_parse, ssl, subprocess, tempfile, traceback, unittest, urllib, wsgiref, xml
  python: _py_warnings
  native: _contextvars, _thread, sys
- [ ] [0/1 deps] enum (16 dependents)
  - [ ] test_enum (15 TODO)
  dependents: annotationlib, asyncio, calendar, compression, http, inspect, plistlib, pstats, py_compile, re, signal, socket, ssl, symtable, tkinter, uuid
  python: types
  native: builtins, sys
- [x] [0/1 deps] abc (13 dependents)
  - [ ] test_abc (1 TODO)
  dependents: contextlib, dataclasses, email, functools, importlib, inspect, io, multiprocessing, numbers, os, pathlib, selectors, typing
  python: _weakrefset
- [ ] [0/2 deps] weakref (13 dependents)
  - [ ] test_weakref (28 TODO)
  dependents: asyncio, bdb, concurrent, copy, gzip, inspect, multiprocessing, pdb, symtable, tempfile, unittest, xml, zoneinfo
  python: _collections_abc, _weakrefset
  native: _weakref, itertools, sys
- [ ] [0/1 deps] datetime (12 dependents)
  - [ ] test_datetime
  dependents: calendar, email, http, imaplib, plistlib, smtplib, sqlite3, tomllib, turtle, turtledemo, xmlrpc, zoneinfo
  python: operator
  native: math, sys, time
- [x] [0/1 deps] base64 (8 dependents)
  - [ ] test_base64
  dependents: email, encodings, multiprocessing, secrets, smtplib, ssl, urllib, xmlrpc
  python: struct
  native: binascii
- [ ] [0/1 deps] textwrap (6 dependents)
  - [ ] test_textwrap
  dependents: idlelib, importlib, pdb, pydoc, sqlite3, traceback
  python: re
- [ ] [0/2 deps] codeop (3 dependents)
  - [ ] test_codeop (5 TODO)
  dependents: code, pdb, traceback
  python: __future__, warnings
- [x] [0/1 deps] numbers (3 dependents)
  dependents: decimal, fractions, statistics
  python: abc
- [x] [0/1 deps] contextvars (3 dependents)
  dependents: asyncio, decimal, unittest
  python: _collections_abc
  native: _contextvars
- [ ] [0/2 deps] html (2 dependents)
  - [x] test_html
  dependents: http, xmlrpc
  python: _markupbase, re
  native: html.entities
- [ ] [0/3 deps] decimal (2 dependents)
  - [ ] test_decimal (2 TODO)
  dependents: statistics, xmlrpc
  python: contextvars, numbers, re
  native: math, sys
- [x] [0/1 deps] ipaddress (1 dependents)
  - [x] test_ipaddress
  dependents: urllib
  python: functools
- [ ] [0/4 deps] fractions (1 dependents)
  - [ ] test_fractions (1 TODO)
  dependents: statistics
  python: functools, numbers, operator, re
  native: math, sys
- [ ] [0/1 deps] opcode (1 dependents)
  dependents: dis
  python: _opcode_metadata
  native: _opcode, builtins
- [x] [0/1 deps] graphlib
  - [x] test_graphlib
  python: types
- [ ] [0/1 deps] nturl2path
  - [ ] test_nturl2path
  python: warnings
- [x] [0/2 deps] sre_compile
  python: re, warnings
- [x] [0/2 deps] sre_constants
  python: re, warnings
- [x] [0/2 deps] sre_parse
  python: re, warnings
- [x] [0/4 deps] rlcompleter
  - [ ] test_rlcompleter (1 TODO)
  python: inspect, keyword, re, warnings
  native: __main__, atexit, builtins
- [x] [1/3 deps] re (41 dependents)
  - [ ] test_re (19 TODO)
  dependents: argparse, configparser, ctypes, dataclasses, decimal, doctest, email, fnmatch, fractions, glob, html, http, idlelib, importlib, inspect, json, logging, pdb, pickletools, platform, plistlib, poplib, pstats, pydoc, rlcompleter, smtplib, sre_compile, sre_constants, sre_parse, tarfile, textwrap, tkinter, tokenize, tomllib, unittest, urllib, wsgiref, xml, xmlrpc, zipfile, zoneinfo
  python: copyreg, enum, functools
  native: _sre
- [x] [1/5 deps] functools (32 dependents)
  - [ ] test_functools (11 TODO)
  dependents: asyncio, compileall, concurrent, configparser, contextlib, doctest, email, fnmatch, fractions, glob, idlelib, importlib, inspect, ipaddress, locale, logging, multiprocessing, pickle, pkgutil, platform, pstats, re, statistics, tempfile, tokenize, tomllib, tracemalloc, typing, unittest, urllib, xmlrpc, zoneinfo
  python: abc, collections, operator, reprlib, types
  native: _thread
- [x] [1/2 deps] threading (17 dependents)
  - [ ] test_threading (20 TODO)
  dependents: asyncio, bdb, concurrent, http, idlelib, logging, multiprocessing, pdb, queue, sched, socketserver, subprocess, sysconfig, trace, unittest, webbrowser, zipfile
  python: _weakrefset, os
  native: _contextvars, _thread, itertools, sys, time
- [ ] [1/3 deps] copy (9 dependents)
  - [ ] test_copy
  dependents: dataclasses, email, http, logging, mailbox, smtplib, tarfile, turtle, xml
  python: copyreg, types, weakref
- [ ] [1/3 deps] posixpath (6 dependents)
  - [x] test_posixpath (4 TODO)
  dependents: fnmatch, http, importlib, pathlib, wsgiref, zipfile
  python: genericpath, os, stat
  native: errno, sys
- [ ] [1/4 deps] random (6 dependents)
  - [ ] test_random
  dependents: email, secrets, statistics, tempfile, turtle, turtledemo
  python: _collections_abc, bisect, operator, os
  native: _random, itertools, math
- [x] [1/1 deps] signal (5 dependents)
  - [ ] test_signal (3 TODO)
  dependents: asyncio, multiprocessing, pdb, subprocess, unittest
  python: enum
  native: _signal
- [x] [1/6 deps] typing (5 dependents)
  - [ ] test_typing (21 TODO)
  dependents: importlib, pathlib, pdb, tomllib, wsgiref
  python: abc, collections, copyreg, functools, operator, types
  native: _typing, collections.abc, sys
- [ ] [1/4 deps] queue (4 dependents)
  - [ ] test_queue
  dependents: concurrent, idlelib, logging, multiprocessing
  python: collections, heapq, threading, types
  native: time
- [ ] [1/4 deps] json (4 dependents)
  - [ ] test_json (18 TODO)
  dependents: importlib, multiprocessing, pdb, sysconfig
  python: _colorize, argparse, codecs, re
  native: json.tool, sys
- [x] [1/2 deps] selectors (4 dependents)
  - [x] test_selectors
  dependents: asyncio, multiprocessing, pdb, socketserver
  python: abc, collections
  native: collections.abc, math, select, sys
- [ ] [1/2 deps] gettext (3 dependents)
  - [ ] test_gettext (7 TODO)
  dependents: argparse, getopt, optparse
  python: operator, os
  native: sys
- [ ] [1/1 deps] shlex (3 dependents)
  - [ ] test_shlex (4 TODO)
  dependents: idlelib, venv, webbrowser
  python: io
  native: sys
- [ ] [1/8 deps] dataclasses (3 dependents)
  - [ ] test_dataclasses (10 TODO)
  dependents: asyncio, pstats, unittest
  python: abc, annotationlib, copy, inspect, keyword, re, reprlib, types
  native: itertools, sys
- [ ] [1/3 deps] difflib (2 dependents)
  - [ ] test_difflib
  dependents: doctest, unittest
  python: collections, heapq, types
- [x] [1/2 deps] genericpath (2 dependents)
  - [ ] test_genericpath (1 TODO)
  dependents: ntpath, posixpath
  python: os, stat
- [ ] [1/3 deps] locale (2 dependents)
  - [ ] test_locale
  dependents: calendar, subprocess
  python: _collections_abc, encodings, functools
  native: builtins, encodings.aliases, sys
- [x] [1/3 deps] filecmp (1 dependents)
  - [x] test_filecmp
  dependents: compileall
  python: os, stat, types
  native: itertools
- [ ] [1/2 deps] ntpath (1 dependents)
  - [ ] test_ntpath
  dependents: pathlib
  python: genericpath, os
  native: sys
- [x] [1/1 deps] pyclbr (1 dependents)
  - [ ] test_pyclbr (3 TODO)
  dependents: idlelib
  python: ast
  native: importlib.util, sys
- [ ] [1/1 deps] profile (1 dependents)
  - [ ] test_profile
  dependents: cProfile
  python: io
  native: importlib.machinery, marshal, sys, time
- [ ] [1/3 deps] site (1 dependents)
  - [ ] test_site (5 TODO)
  dependents: asyncio
  python: _sitebuiltins, os, stat
  native: _io, builtins, errno, sys
- [x] [1/1 deps] netrc
  - [x] test_netrc
  python: os
- [ ] [1/6 deps] tomllib
  - [ ] test_tomllib
  python: __future__, datetime, functools, re, types, typing
- [ ] [1/2 deps] csv
  - [ ] test_csv (27 TODO)
  python: io, types
  native: _csv
- [x] [1/2 deps] fileinput
  - [ ] test_fileinput (1 TODO)
  python: io, types
  native: sys
- [ ] [1/1 deps] ftplib
  - [x] test_ftplib (4 TODO)
  python: socket
  native: sys
- [ ] [1/1 deps] optparse
  - [ ] test_optparse
  python: gettext
  native: sys
- [ ] [1/2 deps] poplib
  - [ ] test_poplib
  python: re, socket
  native: errno, sys
- [ ] [1/2 deps] pty
  - [ ] test_pty (4 TODO)
  python: os, tty
  native: select, sys
- [x] [1/3 deps] sched
  - [x] test_sched
  python: collections, heapq, threading
  native: itertools, time
- [ ] [1/2 deps] wave
  - [ ] test_wave
  python: collections, struct
  native: builtins, sys
- [ ] [1/1 deps] curses
  - [ ] test_curses
  python: os
  native: _curses, _curses_panel, curses.ascii, sys
- [ ] [2/5 deps] io (48 dependents)
  - [ ] test_io (60 TODO)
  dependents: asyncio, bz2, cProfile, compression, configparser, csv, dbm, dis, doctest, email, encodings, fileinput, getpass, gzip, http, idlelib, imaplib, importlib, logging, lzma, mailbox, modulefinder, multiprocessing, pathlib, pdb, pickle, pickletools, plistlib, pprint, profile, pydoc, runpy, shelve, shlex, smtplib, socket, socketserver, subprocess, tarfile, tempfile, tokenize, trace, traceback, unittest, urllib, xml, xmlrpc, zipfile
  python: _collections_abc, abc, codecs, os, stat
  native: _io, _thread, errno, sys
- [x] [2/6 deps] contextlib (19 dependents)
  - [ ] test_contextlib (5 TODO)
  dependents: asyncio, bdb, configparser, dbm, ensurepip, getpass, glob, idlelib, importlib, mailbox, pdb, subprocess, traceback, turtle, unittest, urllib, xml, zipapp, zipfile
  python: _collections_abc, abc, collections, functools, os, types
  native: sys
- [ ] [2/7 deps] pickle (8 dependents)
  - [ ] test_pickle (26 TODO)
  dependents: concurrent, idlelib, logging, multiprocessing, pickletools, shelve, trace, tracemalloc
  python: _compat_pickle, codecs, copyreg, functools, io, struct, types
  native: itertools, sys
- [ ] [2/4 deps] fnmatch (7 dependents)
  - [ ] test_fnmatch
  dependents: bdb, glob, idlelib, shutil, tkinter, tracemalloc, unittest
  python: functools, os, posixpath, re
  native: itertools
- [ ] [2/4 deps] sysconfig (6 dependents)
  - [ ] test_sysconfig (8 TODO)
  dependents: ctypes, ensurepip, pydoc, trace, venv, zoneinfo
  python: json, os, threading, types
  native: os.path, sys
- [x] [2/3 deps] argparse (5 dependents)
  - [x] test_argparse
  dependents: asyncio, ensurepip, json, sqlite3, unittest
  python: gettext, os, re
  native: sys
- [x] [2/4 deps] annotationlib (3 dependents)
  - [ ] test_annotationlib
  dependents: dataclasses, inspect, pydoc
  python: ast, enum, keyword, types
  native: builtins, sys
- [ ] [2/2 deps] code (3 dependents)
  - [ ] test_code (11 TODO)
  dependents: idlelib, pdb, sqlite3
  python: codeop, traceback
  native: builtins, sys
- [ ] [2/4 deps] platform (3 dependents)
  - [ ] test_platform
  dependents: idlelib, pydoc, wsgiref
  python: collections, functools, os, re
  native: itertools, sys
- [ ] [2/3 deps] pprint (2 dependents)
  - [ ] test_pprint
  dependents: pdb, unittest
  python: collections, io, types
  native: sys
- [ ] [2/7 deps] glob (2 dependents)
  - [ ] test_glob
  dependents: pathlib, pdb
  python: contextlib, fnmatch, functools, operator, os, re, stat
  native: itertools, sys
- [x] [2/2 deps] bz2 (2 dependents)
  - [x] test_bz2 (2 TODO)
  dependents: compression, encodings
  python: io, os
  native: _bz2, builtins, compression._common
- [x] [2/2 deps] runpy (2 dependents)
  - [ ] test_runpy (3 TODO)
  dependents: ensurepip, multiprocessing
  python: io, os
  native: importlib.machinery, importlib.util, sys
- [x] [2/3 deps] secrets (1 dependents)
  - [x] test_secrets
  dependents: multiprocessing
  python: base64, hmac, random
- [ ] [2/2 deps] tabnanny (1 dependents)
  - [ ] test_tabnanny (6 TODO)
  dependents: idlelib
  python: os, tokenize
  native: sys
- [x] [2/2 deps] lzma (1 dependents)
  - [x] test_lzma (51 TODO)
  dependents: compression
  python: io, os
  native: _lzma, builtins, compression._common
- [ ] [2/6 deps] encodings (1 dependents)
  dependents: locale
  python: base64, bz2, codecs, io, quopri, stringprep
  native: _codecs_cn, _codecs_hk, _codecs_iso2022, _codecs_jp, _codecs_kr, _codecs_tw, _multibytecodec, binascii, sys, unicodedata, zlib
- [x] [2/2 deps] antigravity
  python: hashlib, webbrowser
- [ ] [2/2 deps] getopt
  - [ ] test_getopt
  python: gettext, os
- [ ] [2/3 deps] getpass
  - [ ] test_getpass
  python: contextlib, io, os
  native: sys
- [ ] [2/2 deps] imaplib
  - [ ] test_imaplib
  python: datetime, io
  native: binascii
- [x] [2/2 deps] shelve
  - [x] test_shelve
  python: io, pickle
  native: collections.abc
- [ ] [2/2 deps] symtable
  - [ ] test_symtable (17 TODO)
  python: enum, weakref
  native: _symtable
- [ ] [2/2 deps] uuid
  - [ ] test_uuid
  python: enum, os
  native: sys, time
- [ ] [2/2 deps] cProfile
  python: io, profile
  native: _lsprof, importlib.machinery, importlib.util
- [ ] [2/4 deps] tracemalloc
  - [ ] test_tracemalloc
  python: fnmatch, functools, linecache, pickle
  native: _tracemalloc, collections.abc, os.path
- [ ] [2/6 deps] wsgiref
  - [ ] test_wsgiref (1 TODO)
  python: platform, posixpath, re, types, typing, warnings
  native: collections.abc, http.server, sys, urllib.parse, wsgiref.handlers
- [ ] [3/3 deps] socket (13 dependents)
  - [ ] test_socket (12 TODO)
  dependents: asyncio, ftplib, http, idlelib, logging, mailbox, multiprocessing, pdb, poplib, smtplib, socketserver, ssl, urllib
  python: enum, io, os
  native: _socket, sys
- [ ] [3/4 deps] shutil (9 dependents)
  - [ ] test_shutil
  dependents: ctypes, ensurepip, http, tarfile, tempfile, venv, webbrowser, zipapp, zipfile
  python: collections, fnmatch, os, stat
  native: errno, sys
- [ ] [3/8 deps] subprocess (7 dependents)
  - [ ] test_subprocess (10 TODO)
  dependents: asyncio, ctypes, ensurepip, idlelib, multiprocessing, venv, webbrowser
  python: contextlib, io, locale, os, signal, threading, types, warnings
  native: builtins, errno, sys, time
- [ ] [3/6 deps] tokenize (7 dependents)
  - [ ] test_tokenize (2 TODO)
  dependents: idlelib, inspect, pdb, pydoc, tabnanny, trace, traceback
  python: codecs, collections, functools, io, re, token
  native: _tokenize, builtins, itertools, sys
- [ ] [3/4 deps] dis (4 dependents)
  - [ ] test_dis (53 TODO)
  dependents: inspect, modulefinder, pdb, trace
  python: collections, io, opcode, types
  native: _opcode, sys
- [x] [3/5 deps] socketserver (4 dependents)
  - [ ] test_socketserver (1 TODO)
  dependents: http, idlelib, logging, xmlrpc
  python: io, os, selectors, socket, threading
  native: sys, time
- [x] [3/3 deps] calendar (3 dependents)
  - [x] test_calendar
  dependents: http, mailbox, zoneinfo
  python: datetime, enum, locale
  native: itertools, sys
- [ ] [3/6 deps] bdb (2 dependents)
  - [ ] test_bdb (33 TODO)
  dependents: idlelib, pdb
  python: contextlib, fnmatch, inspect, os, threading, weakref
  native: sys
- [ ] [3/4 deps] pkgutil (2 dependents)
  - [ ] test_pkgutil (1 TODO)
  dependents: pydoc, unittest
  python: collections, functools, importlib, os
  native: importlib.machinery, importlib.util, os.path, sys
- [ ] [3/6 deps] configparser (1 dependents)
  - [ ] test_configparser (1 TODO)
  dependents: idlelib
  python: collections, contextlib, functools, io, os, re
  native: collections.abc, itertools, sys
- [x] [3/4 deps] gzip (1 dependents)
  - [x] test_gzip (1 TODO)
  dependents: compression
  python: io, os, struct, weakref
  native: builtins, compression._common, sys, time, zlib
- [ ] [3/3 deps] py_compile (1 dependents)
  - [ ] test_py_compile (2 TODO)
  dependents: compileall
  python: enum, os, traceback
  native: importlib._bootstrap_external, importlib.machinery, importlib.util, os.path, sys
- [x] [3/4 deps] sqlite3 (1 dependents)
  - [ ] test_sqlite3 (82 TODO)
  dependents: dbm
  python: argparse, code, datetime, textwrap
  native: _sqlite3, collections.abc, sqlite3.dbapi2, sys, time
- [ ] [3/5 deps] pickletools
  - [ ] test_pickletools (8 TODO)
  python: codecs, io, pickle, re, struct
  native: sys
- [ ] [3/6 deps] compileall
  - [ ] test_compileall (3 TODO)
  python: filecmp, functools, os, pathlib, py_compile, struct
  native: importlib.util, sys
- [ ] [3/5 deps] pstats
  - [ ] test_pstats
  python: dataclasses, enum, functools, os, re
  native: marshal, sys, time
- [ ] [3/3 deps] modulefinder
  - [ ] test_modulefinder
  python: dis, io, os
  native: importlib._bootstrap_external, importlib.machinery, marshal, sys
- [x] [3/6 deps] compression
  python: bz2, enum, gzip, io, lzma, os
  native: _zstd, compression._common, compression.zstd._zstdfile, sys, zlib
- [ ] [4/9 deps] traceback (12 dependents)
  - [ ] test_traceback (71 TODO)
  dependents: asyncio, code, concurrent, doctest, idlelib, logging, multiprocessing, pdb, py_compile, pydoc, unittest, xmlrpc
  python: _colorize, codeop, contextlib, io, keyword, linecache, textwrap, tokenize, warnings
  native: collections.abc, itertools, sys
- [ ] [4/6 deps] tkinter (3 dependents)
  - [ ] test_tkinter
  dependents: idlelib, turtle, turtledemo
  python: collections, enum, fnmatch, os, re, types
  native: _tkinter, itertools, sys, tkinter.commondialog, tkinter.constants, tkinter.dialog, tkinter.simpledialog
- [ ] [4/5 deps] webbrowser (2 dependents)
  - [ ] test_webbrowser
  dependents: antigravity, idlelib
  python: os, shlex, shutil, subprocess, threading
  native: sys
- [ ] [4/8 deps] ctypes (1 dependents)
  - [ ] test_ctypes (14 TODO)
  dependents: multiprocessing
  python: os, re, shutil, struct, subprocess, sysconfig, types, warnings
  native: _ctypes, ctypes._endian, ctypes.macholib.dylib, ctypes.macholib.framework, itertools, sys
- [ ] [4/6 deps] zipapp
  - [ ] test_zipapp
  python: contextlib, os, pathlib, shutil, stat, zipfile
  native: sys
- [ ] [4/6 deps] ssl
  - [ ] test_ssl (21 TODO)
  python: base64, collections, enum, os, socket, warnings
  native: _ssl, errno, sys
- [ ] [4/8 deps] statistics
  - [ ] test_statistics (1 TODO)
  python: bisect, collections, decimal, fractions, functools, numbers, operator, random
  native: itertools, math, sys
- [ ] [4/7 deps] tarfile
  - [ ] test_tarfile (4 TODO)
  python: copy, io, os, re, shutil, stat, struct
  native: builtins, sys, time
- [x] [4/7 deps] dbm
  - [ ] test_dbm
  python: ast, contextlib, io, os, pathlib, sqlite3, struct
  native: _dbm, _gdbm, collections.abc, sys
- [ ] [5/8 deps] tempfile (7 dependents)
  - [ ] test_tempfile (1 TODO)
  dependents: asyncio, ensurepip, idlelib, importlib, multiprocessing, pdb, urllib
  python: functools, io, os, random, shutil, types, warnings, weakref
  native: _thread, errno, sys
- [ ] [5/10 deps] pathlib (7 dependents)
  - [ ] test_pathlib (2 TODO)
  dependents: compileall, dbm, ensurepip, importlib, turtle, zipapp, zipfile
  python: _collections_abc, abc, glob, io, ntpath, operator, os, posixpath, stat, typing
  native: errno, itertools, pathlib._os, sys
- [ ] [5/10 deps] zipfile (2 dependents)
  - [ ] test_zipfile (16 TODO)
  dependents: importlib, zipapp
  python: contextlib, io, os, pathlib, posixpath, re, shutil, stat, struct, threading
  native: binascii, importlib.util, itertools, sys, time
- [x] [5/7 deps] plistlib (1 dependents)
  - [ ] test_plistlib (7 TODO)
  dependents: idlelib
  python: codecs, datetime, enum, io, os, re, struct
  native: binascii, itertools, xml.parsers.expat
- [ ] [5/5 deps] turtledemo (1 dependents)
  dependents: turtle
  python: datetime, os, random, tkinter, turtle
  native: idlelib.colorizer, idlelib.percolator, idlelib.textview, math, sys, time
- [ ] [5/10 deps] zoneinfo
  - [ ] test_zoneinfo (4 TODO)
  python: bisect, calendar, collections, datetime, functools, os, re, struct, sysconfig, weakref
- [x] [5/9 deps] mailbox
  - [ ] test_mailbox
  python: calendar, contextlib, copy, email, io, os, socket, types, warnings
  native: email.generator, email.message, errno, time
- [ ] [5/7 deps] smtplib
  - [x] test_smtplib (2 TODO)
  python: base64, copy, datetime, hmac, io, re, socket
  native: email.base64mime, email.generator, email.message, email.utils, sys
- [ ] [6/7 deps] venv
  - [ ] test_venv (4 TODO)
  python: logging, os, shlex, shutil, subprocess, sysconfig, types
  native: sys
- [ ] [6/10 deps] trace
  - [ ] test_trace (20 TODO)
  python: dis, inspect, io, linecache, os, pickle, sysconfig, threading, token, tokenize
  native: gc, sys, time
- [ ] [6/9 deps] xml
  python: codecs, collections, contextlib, copy, io, os, re, warnings, weakref
  native: collections.abc, pyexpat, sys, urllib.parse, xml.dom, xml.dom.NodeFilter, xml.dom.minicompat, xml.dom.minidom, xml.dom.xmlbuilder, xml.etree.ElementTree, xml.parsers, xml.sax, xml.sax._exceptions, xml.sax.handler
- [x] [7/16 deps] inspect (13 dependents)
  - [ ] test_inspect (56 TODO)
  dependents: asyncio, bdb, dataclasses, doctest, idlelib, importlib, pdb, pydoc, rlcompleter, trace, turtle, unittest, xmlrpc
  python: abc, annotationlib, ast, collections, dis, enum, functools, keyword, linecache, operator, os, re, token, tokenize, types, weakref
  native: builtins, collections.abc, importlib.machinery, itertools, sys
- [ ] [7/14 deps] logging (4 dependents)
  - [ ] test_logging (9 TODO)
  dependents: asyncio, concurrent, unittest, venv
  python: copy, functools, io, os, pickle, queue, re, socket, socketserver, string, struct, threading, traceback, types
  native: atexit, errno, logging.handlers, sys, time
- [ ] [7/15 deps] email (3 dependents)
  - [ ] test_email (12 TODO)
  dependents: importlib, mailbox, urllib
  python: abc, base64, collections, copy, datetime, functools, io, operator, os, quopri, random, re, string, types, urllib
  native: binascii, email._encoded_words, email._parseaddr, email._policybase, email.base64mime, email.charset, email.contentmanager, email.encoders, email.errors, email.feedparser, email.headerregistry, email.message, email.mime.base, email.mime.nonmultipart, email.policy, email.quoprimime, email.utils, sys, time, urllib.parse
- [ ] [7/10 deps] turtle (1 dependents)
  - [ ] test_turtle
  dependents: turtledemo
  python: contextlib, copy, datetime, inspect, os, pathlib, random, tkinter, turtledemo, types
  native: idlelib.colorizer, idlelib.percolator, idlelib.textview, math, os.path, sys, time
- [ ] [7/16 deps] urllib (1 dependents)
  - [ ] test_urllib
  dependents: email
  python: base64, bisect, collections, contextlib, email, functools, hashlib, io, ipaddress, os, re, socket, string, tempfile, types, warnings
  native: http.client, math, sys, time, urllib.error, urllib.parse, urllib.request, urllib.response
- [ ] [7/13 deps] doctest
  - [ ] test_doctest (13 TODO)
  python: __future__, _colorize, collections, difflib, functools, inspect, io, linecache, os, pdb, re, traceback, unittest
  native: sys
- [x] [7/10 deps] ensurepip
  - [x] test_ensurepip
  python: argparse, contextlib, importlib, os, pathlib, runpy, shutil, subprocess, sysconfig, tempfile
  native: sys
- [ ] [7/12 deps] xmlrpc
  - [ ] test_xmlrpc (5 TODO)
  python: base64, datetime, decimal, functools, html, inspect, io, os, pydoc, re, socketserver, traceback
  native: errno, http.client, http.server, sys, time, urllib.parse, xml.parsers, xmlrpc.client
- [ ] [8/11 deps] concurrent
  python: collections, functools, logging, multiprocessing, os, pickle, queue, threading, traceback, types, weakref
  native: _interpqueues, _interpreters, concurrent.futures, concurrent.futures._base, itertools, multiprocessing.connection, multiprocessing.queues, sys, time
- [ ] [9/16 deps] http
  python: calendar, copy, datetime, enum, html, io, mimetypes, os, posixpath, re, shutil, socket, socketserver, string, threading, types
  native: collections.abc, email.message, email.parser, email.utils, errno, http.client, itertools, select, sys, time, urllib.parse
- [ ] [10/20 deps] importlib (3 dependents)
  - [ ] test_importlib (29 TODO)
  dependents: ensurepip, idlelib, pkgutil
  python: __future__, abc, collections, contextlib, email, functools, inspect, io, json, operator, os, pathlib, posixpath, re, tempfile, textwrap, types, typing, warnings, zipfile
  native: _imp, _io, _warnings, collections.abc, email.message, importlib.abc, itertools, marshal, sys
- [ ] [10/16 deps] pydoc (1 dependents)
  - [ ] test_pydoc
  dependents: xmlrpc
  python: __future__, annotationlib, ast, collections, inspect, io, os, pkgutil, platform, re, reprlib, sysconfig, textwrap, tokenize, traceback, warnings
  native: _pyrepl.pager, builtins, importlib._bootstrap, importlib._bootstrap_external, importlib.machinery, importlib.util, sys, system., time, urllib.parse
- [ ] [12/23 deps] unittest (2 dependents)
  - [ ] test_unittest (15 TODO)
  dependents: doctest, idlelib
  python: _colorize, argparse, asyncio, collections, contextlib, contextvars, dataclasses, difflib, fnmatch, functools, inspect, io, logging, os, pkgutil, pprint, re, signal, threading, traceback, types, warnings, weakref
  native: builtins, os.path, sys, time, unittest.util
- [ ] [12/26 deps] multiprocessing (1 dependents)
  dependents: concurrent
  python: _weakrefset, abc, base64, bisect, collections, copyreg, ctypes, functools, io, json, os, pickle, queue, runpy, secrets, selectors, signal, socket, struct, subprocess, tempfile, threading, traceback, types, warnings, weakref
  native: _multiprocessing, _winapi, array, atexit, collections.abc, errno, itertools, mmap, msvcrt, sys, time
- [ ] [13/29 deps] asyncio (2 dependents)
  - [ ] test_asyncio
  dependents: pdb, unittest
  python: _colorize, argparse, ast, collections, contextlib, contextvars, dataclasses, enum, functools, heapq, inspect, io, linecache, logging, os, reprlib, selectors, signal, site, socket, stat, struct, subprocess, tempfile, threading, traceback, types, warnings, weakref
  native: _overlapped, _pyrepl.console, _remote_debugging, _winapi, asyncio.tools, collections.abc, concurrent.futures, errno, itertools, math, msvcrt, sys, time
- [ ] [16/30 deps] pdb (1 dependents)
  - [ ] test_pdb
  dependents: doctest
  python: _colorize, asyncio, bdb, cmd, code, codeop, contextlib, dis, glob, inspect, io, json, linecache, os, pprint, re, selectors, signal, socket, stat, tempfile, textwrap, threading, token, tokenize, traceback, types, typing, warnings, weakref
  native: _pyrepl.utils, atexit, builtins, itertools, sys
- [ ] [22/39 deps] idlelib
  python: bdb, code, collections, configparser, contextlib, copyreg, fnmatch, functools, importlib, inspect, io, keyword, linecache, os, pickle, platform, plistlib, pyclbr, queue, re, reprlib, shlex, socket, socketserver, string, struct, subprocess, tabnanny, tempfile, test, textwrap, threading, tkinter, tokenize, traceback, types, unittest, warnings, webbrowser
  native: __main__, _thread, _tkinter, builtins, html.parser, idlelib.autocomplete, idlelib.autocomplete_w, idlelib.autoexpand, idlelib.browser, idlelib.codecontext, idlelib.colorizer, idlelib.config, idlelib.config_key, idlelib.configdialog, idlelib.debugobj, idlelib.delegator, idlelib.dynoption, idlelib.editor, idlelib.filelist, idlelib.format, idlelib.help, idlelib.history, idlelib.hyperparser, idlelib.idle_test.mock_idle, idlelib.idle_test.mock_tk, idlelib.idle_test.tkinter_testing_utils, idlelib.multicall, idlelib.outwin, idlelib.parenmatch, idlelib.percolator, idlelib.pyshell, idlelib.query, idlelib.redirector, idlelib.replace, idlelib.run, idlelib.scrolledlist, idlelib.searchbase, idlelib.searchengine, idlelib.sidebar, idlelib.squeezer, idlelib.textview, idlelib.tooltip, idlelib.tree, idlelib.undo, idlelib.util, idlelib.window, importlib.abc, importlib.machinery, importlib.util, itertools, marshal, module, os.path, select, sys, test.support, time, tkinter.constants, tkinter.font, tkinter.messagebox, tkinter.simpledialog, tkinter.ttk, unittest.mock

## Standalone Tests
- [ ] test___all__ (1 TODO)
- [x] test__colorize
- [ ] test__interpchannels
- [ ] test__interpreters
- [ ] test__locale
- [x] test__opcode (2 TODO)
- [ ] test__osx_support
- [ ] test_abstract_numbers
- [ ] test_android
- [ ] test_apple
- [ ] test_array (5 TODO)
- [ ] test_asdl_parser
- [ ] test_asyncgen (1 TODO)
- [ ] test_atexit
- [ ] test_audit
- [x] test_augassign
- [ ] test_baseexception
- [x] test_bigaddrspace
- [ ] test_bigmem (5 TODO)
- [ ] test_binascii (1 TODO)
- [ ] test_binop
- [ ] test_bool
- [ ] test_buffer
- [ ] test_bufio (2 TODO)
- [ ] test_build_details
- [ ] test_builtin (18 TODO)
- [ ] test_bytes (17 TODO)
- [ ] test_c_locale_coercion (1 TODO)
- [ ] test_call (1 TODO)
- [ ] test_capi
- [ ] test_cext
- [ ] test_charmapcodec
- [ ] test_class (14 TODO)
- [ ] test_clinic
- [x] test_cmath
- [ ] test_cmd_line (24 TODO)
- [ ] test_cmd_line_script (17 TODO)
- [ ] test_code_module (6 TODO)
- [ ] test_codeccallbacks (11 TODO)
- [ ] test_codecencodings_cn
- [ ] test_codecencodings_hk
- [ ] test_codecencodings_iso2022
- [ ] test_codecencodings_jp
- [ ] test_codecencodings_kr
- [ ] test_codecencodings_tw
- [ ] test_codecmaps_cn
- [ ] test_codecmaps_hk
- [ ] test_codecmaps_jp
- [ ] test_codecmaps_kr
- [ ] test_codecmaps_tw
- [x] test_compare
- [ ] test_compile (26 TODO)
- [ ] test_compiler_assemble
- [ ] test_compiler_codegen
- [ ] test_complex (2 TODO)
- [ ] test_concurrent_futures (18 TODO)
- [ ] test_contains
- [ ] test_context (6 TODO)
- [ ] test_contextlib_async (5 TODO)
- [ ] test_coroutines
- [ ] test_cppext
- [ ] test_cprofile
- [ ] test_crossinterp
- [x] test_dbm_dumb
- [ ] test_dbm_gnu
- [ ] test_dbm_ndbm
- [x] test_dbm_sqlite3
- [ ] test_decorators (1 TODO)
- [x] test_defaultdict
- [ ] test_deque (3 TODO)
- [ ] test_descr (44 TODO)
- [ ] test_descrtut (1 TODO)
- [x] test_devpoll
- [ ] test_dict (4 TODO)
- [ ] test_dictcomps (1 TODO)
- [ ] test_dictviews (2 TODO)
- [ ] test_docxmlrpc (7 TODO)
- [ ] test_dtrace (8 TODO)
- [ ] test_dynamic (1 TODO)
- [ ] test_dynamicclassattribute
- [x] test_eintr
- [ ] test_embed
- [x] test_enumerate
- [x] test_eof (6 TODO)
- [x] test_epoll
- [ ] test_errno
- [ ] test_except_star (1 TODO)
- [ ] test_exception_group (2 TODO)
- [ ] test_exception_hierarchy (2 TODO)
- [ ] test_exception_variations (1 TODO)
- [ ] test_exceptions (29 TODO)
- [ ] test_extcall
- [ ] test_external_inspection
- [ ] test_faulthandler (30 TODO)
- [ ] test_fcntl
- [ ] test_file
- [ ] test_file_eintr (1 TODO)
- [ ] test_fileio
- [ ] test_fileutils
- [ ] test_finalization
- [ ] test_float (5 TODO)
- [ ] test_flufl
- [ ] test_fork1
- [ ] test_format (5 TODO)
- [ ] test_frame
- [ ] test_free_threading
- [ ] test_frozen
- [ ] test_fstring (29 TODO)
- [ ] test_funcattrs (6 TODO)
- [ ] test_future_stmt (6 TODO)
- [ ] test_gc
- [ ] test_gdb
- [ ] test_generated_cases
- [ ] test_generator_stop
- [ ] test_generators (6 TODO)
- [ ] test_genericalias (5 TODO)
- [ ] test_genericclass (1 TODO)
- [ ] test_genexps
- [ ] test_getpath
- [ ] test_global (3 TODO)
- [ ] test_grammar (19 TODO)
- [x] test_grp
- [ ] test_hash (4 TODO)
- [ ] test_htmlparser
- [ ] test_http_cookiejar
- [ ] test_http_cookies
- [ ] test_httplib
- [ ] test_httpservers (13 TODO)
- [ ] test_idle
- [ ] test_import (22 TODO)
- [x] test_index
- [ ] test_int (6 TODO)
- [x] test_int_literal
- [ ] test_interpreters
- [ ] test_ioctl
- [ ] test_isinstance
- [ ] test_iter (1 TODO)
- [x] test_iterlen
- [ ] test_itertools (27 TODO)
- [x] test_keywordonlyarg (1 TODO)
- [x] test_kqueue
- [ ] test_largefile
- [ ] test_launcher
- [ ] test_list (5 TODO)
- [ ] test_listcomps (2 TODO)
- [ ] test_lltrace
- [ ] test_long (4 TODO)
- [x] test_longexp
- [ ] test_marshal (21 TODO)
- [x] test_math
- [x] test_math_property
- [ ] test_memoryio (26 TODO)
- [ ] test_memoryview (6 TODO)
- [ ] test_metaclass
- [ ] test_minidom
- [ ] test_mmap (3 TODO)
- [ ] test_module (4 TODO)
- [ ] test_monitoring
- [ ] test_msvcrt
- [ ] test_multibytecodec
- [ ] test_multiprocessing_fork (79 TODO)
- [ ] test_multiprocessing_forkserver (38 TODO)
- [x] test_multiprocessing_main_handling
- [ ] test_multiprocessing_spawn (34 TODO)
- [ ] test_named_expressions (18 TODO)
- [x] test_numeric_tower
- [ ] test_opcache
- [ ] test_opcodes
- [x] test_openpty
- [ ] test_optimizer
- [ ] test_ordered_dict (4 TODO)
- [ ] test_osx_env
- [ ] test_patma (20 TODO)
- [ ] test_peepholer (33 TODO)
- [ ] test_peg_generator
- [ ] test_pep646_syntax
- [ ] test_perf_profiler
- [ ] test_perfmaps
- [ ] test_picklebuffer (12 TODO)
- [ ] test_pkg
- [ ] test_poll (1 TODO)
- [ ] test_popen
- [ ] test_positional_only_arg (6 TODO)
- [ ] test_posix (8 TODO)
- [x] test_pow
- [ ] test_print (7 TODO)
- [ ] test_property
- [ ] test_pulldom (4 TODO)
- [x] test_pwd
- [ ] test_pyexpat (28 TODO)
- [ ] test_pyrepl
- [ ] test_raise (1 TODO)
- [ ] test_range (1 TODO)
- [ ] test_readline
- [x] test_regrtest (11 TODO)
- [ ] test_remote_pdb
- [ ] test_repl
- [ ] test_resource (2 TODO)
- [ ] test_richcmp
- [ ] test_robotparser (1 TODO)
- [ ] test_sax
- [ ] test_scope (1 TODO)
- [ ] test_script_helper (4 TODO)
- [ ] test_select
- [ ] test_set (5 TODO)
- [x] test_setcomps (1 TODO)
- [x] test_slice (1 TODO)
- [x] test_smtpnet
- [ ] test_sort (2 TODO)
- [ ] test_source_encoding
- [ ] test_stable_abi_ctypes
- [ ] test_startfile
- [ ] test_str (18 TODO)
- [ ] test_strftime
- [ ] test_string_literals (5 TODO)
- [ ] test_strptime
- [ ] test_strtod (6 TODO)
- [ ] test_structseq
- [ ] test_subclassinit
- [ ] test_sundry
- [ ] test_super (4 TODO)
- [ ] test_support (4 TODO)
- [ ] test_syntax (27 TODO)
- [ ] test_sys (17 TODO)
- [ ] test_sys_setprofile (22 TODO)
- [ ] test_sys_settrace (85 TODO)
- [ ] test_syslog (2 TODO)
- [ ] test_tcl
- [ ] test_termios
- [ ] test_thread
- [ ] test_thread_local_bytecode
- [ ] test_threadedtempfile
- [ ] test_threading_local (3 TODO)
- [ ] test_threadsignals
- [ ] test_time (18 TODO)
- [ ] test_timeout
- [ ] test_tools
- [ ] test_tstring
- [ ] test_ttk
- [ ] test_ttk_textonly
- [ ] test_tuple (1 TODO)
- [ ] test_type_aliases
- [ ] test_type_annotations
- [ ] test_type_cache
- [ ] test_type_comments (16 TODO)
- [ ] test_type_params
- [x] test_typechecks
- [x] test_ucn (4 TODO)
- [x] test_unary
- [x] test_unicode_file
- [ ] test_unicode_file_functions
- [ ] test_unicode_identifiers (1 TODO)
- [ ] test_unicodedata (18 TODO)
- [x] test_univnewlines
- [ ] test_unpack
- [ ] test_unpack_ex
- [ ] test_unparse
- [ ] test_urllib2
- [ ] test_urllib2_localnet (19 TODO)
- [ ] test_urllib2net
- [x] test_urllib_response
- [ ] test_urllibnet
- [ ] test_urlparse (1 TODO)
- [ ] test_userdict
- [ ] test_userlist
- [x] test_userstring
- [ ] test_utf8_mode (6 TODO)
- [ ] test_utf8source (2 TODO)
- [x] test_wait3
- [x] test_wait4
- [ ] test_weakset (2 TODO)
- [ ] test_winapi
- [ ] test_winconsoleio
- [x] test_winreg
- [ ] test_winsound
- [ ] test_with (1 TODO)
- [ ] test_wmi
- [x] test_xml_dom_minicompat
- [x] test_xml_dom_xmlbuilder
- [ ] test_xml_etree (126 TODO)
- [ ] test_xml_etree_c
- [ ] test_xxlimited
- [ ] test_xxtestfuzz
- [ ] test_yield_from (10 TODO)
- [x] test_zipfile64
- [ ] test_zipimport_support
- [x] test_zlib (2 TODO)
- [x] test_zstd

## Untracked Files
- _ast_unparse.py
- _pyrepl/_module_completer.py
- _pyrepl/base_eventqueue.py
- _pyrepl/terminfo.py
- _pyrepl/windows_eventqueue.py
- site-packages/README.txt

Summary by CodeRabbit

  • New Features

    • Discover and analyze test modules and determine test staleness
    • Produce unified reports that combine library and test status
  • Enhancements

    • Include test metadata in todo formatting and lists
    • Prioritize and compute test-aware todo items for clearer triage and reporting

✏️ Tip: You can customize this high-level summary in your review settings.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

moreal reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
youknowone added 2 commits January 24, 2026 12:28
@youknowone
show todo
544ff28
@youknowone
update_lib todo also shows test todo
b842907
@coderabbitai

coderabbitai Bot commented Jan 24, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@youknowone has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 25 minutes and 57 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Adds test-awareness to scripts/update_lib/show_todo.py: discovers CPython test modules, computes test TODOs while ignoring "TODO: RUSTPYTHON" markers, determines test staleness, and formats combined library+test todo output via a new format_all_todo entry point.

Changes

Cohort / File(s) Change Summary
Test discovery & public API
scripts/update_lib/show_todo.py
Added public functions: get_all_tests, get_untracked_files, is_test_up_to_date, compute_test_todo_list, count_test_todos, format_test_todo_list, format_all_todo. Extended format_todo_list signature to accept test_by_lib.
Test diff & comparison helpers
scripts/update_lib/show_todo.py
Introduced private helpers: _filter_rustpython_todo, _count_rustpython_todo, _compare_file_ignoring_todo, _compare_dir_ignoring_todo. Implemented logic to compare files/dirs while ignoring "TODO: RUSTPYTHON" lines and to count/aggregate test TODOs.
Integration & formatting changes
scripts/update_lib/show_todo.py
Added format_test_todo_list and format_all_todo to merge test metadata with library entries; updated show_todo to call format_all_todo. Many helpers made private; public signatures extended.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • improve deps CI formatting and name resolution #6847: Modifies scripts/update_lib/show_todo.py and format_todo_list output—direct overlap with signature/formatting changes here.
  • [update_lib] todo subcommand #6823: Introduced the original compute_todo_list / format_todo_list / show_todo implementation that this PR extends with test-awareness.

Suggested reviewers

  • moreal
  • ShaharNaveh

Poem

🐰 I hopped through tests and files today,

Ignoring rusty TODOs along the way,
I counted, compared, and marked what’s new,
Merged tests with libs in a tidy view,
Hop hop—todo lists gleam like dew.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'update_lib todo also shows test todo' clearly and specifically describes the main change: extending the todo command to include test TODO output alongside library TODO output.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
  • X
  • Mastodon
  • Reddit
  • LinkedIn

Comment @coderabbitai help to get the list of available commands and usage tips.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions
Auto-format: ruff format
29607ef
@github-actions

github-actions Bot commented Jan 24, 2026

Copy link
Copy Markdown
Contributor

Code has been automatically formatted

The code in this PR has been formatted using:

  • ruff format
    Please pull the latest changes before pushing again:
git pull origin todo
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@youknowone
youknowone requested review from ShaharNaveh and moreal January 24, 2026 03:37
@youknowone
youknowone marked this pull request as ready for review January 24, 2026 03:38
coderabbitai[bot]
coderabbitai Bot reviewed Jan 24, 2026
View reviewed changes

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@scripts/update_lib/show_todo.py`:
- Around line 253-256: The docstring and implementation disagree on the scoring
values; update the logic that assigns the variable score in this module so it
matches the docstring: set score = 0 when the corresponding lib is up-to-date,
set score = 1 when the corresponding lib exists but is NOT up-to-date, and set
score = -1 when there is no corresponding lib (ensure any places that check or
return score use these values consistently, e.g., the score assignment sites and
any functions that consume score).
🧹 Nitpick comments (1)
scripts/update_lib/show_todo.py (1)

408-419: Redundant is_up_to_date calls double the file comparison work.

compute_todo_list internally calls is_up_to_date for each module (see line 45 in existing code). Then lines 413-414 iterate over all modules calling is_up_to_date again. This duplicates potentially expensive file comparison operations.

Consider extracting lib_status from lib_todo results instead:

♻️ Proposed refactor
     # Compute lib todo
     lib_todo = compute_todo_list(cpython_prefix, lib_prefix, include_done)

-    # Build lib status map for test scoring
-    lib_status = {}
-    for name in get_all_modules(cpython_prefix):
-        lib_status[name] = is_up_to_date(name, cpython_prefix, lib_prefix)
+    # Build lib status map from lib_todo results to avoid redundant is_up_to_date calls
+    # Note: compute_todo_list already called is_up_to_date for each module
+    lib_status = {item["name"]: item["up_to_date"] for item in lib_todo}
+    # If include_done=False, lib_todo only has non-up-to-date items; need full status
+    if not include_done:
+        from update_lib.deps import is_up_to_date
+        for name in get_all_modules(cpython_prefix):
+            if name not in lib_status:
+                lib_status[name] = True  # Not in lib_todo means it's up-to-date

Alternatively, refactor compute_todo_list to return the full status map alongside the filtered results.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread scripts/update_lib/show_todo.py
Comment on lines +253 to +256
Scoring:
- If corresponding lib is up-to-date: score = 0 (ready)
- If corresponding lib is NOT up-to-date: score = 1 (wait for lib)
- If no corresponding lib: score = -1 (independent)

@coderabbitai coderabbitai Bot Jan 24, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Docstring does not match implementation.

The docstring states scores of 0, 1, and -1, but the implementation uses 0, 2, and 1:

  • score = 0: lib is up-to-date (matches)
  • score = 2: lib NOT up-to-date (docstring says 1)
  • score = 1: no corresponding lib (docstring says -1)
📝 Proposed fix
     """Compute prioritized list of tests to update.

     Scoring:
-        - If corresponding lib is up-to-date: score = 0 (ready)
-        - If corresponding lib is NOT up-to-date: score = 1 (wait for lib)
-        - If no corresponding lib: score = -1 (independent)
+        - If corresponding lib is up-to-date: score = 0 (ready to update)
+        - If no corresponding lib: score = 1 (independent test)
+        - If corresponding lib is NOT up-to-date: score = 2 (wait for lib first)

     Returns:
         List of dicts with test info, sorted by priority
     """
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Scoring:
- If corresponding lib is up-to-date: score = 0 (ready)
- If corresponding lib is NOT up-to-date: score = 1 (wait for lib)
- If no corresponding lib: score = -1 (independent)
Scoring:
- If corresponding lib is up-to-date: score = 0 (ready to update)
- If no corresponding lib: score = 1 (independent test)
- If corresponding lib is NOT up-to-date: score = 2 (wait for lib first)
🤖 Prompt for AI Agents
In `@scripts/update_lib/show_todo.py` around lines 253 - 256, The docstring and
implementation disagree on the scoring values; update the logic that assigns the
variable score in this module so it matches the docstring: set score = 0 when
the corresponding lib is up-to-date, set score = 1 when the corresponding lib
exists but is NOT up-to-date, and set score = -1 when there is no corresponding
lib (ensure any places that check or return score use these values consistently,
e.g., the score assignment sites and any functions that consume score).

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@youknowone youknowone added the skip:ci Skip running the ci label Jan 24, 2026
youknowone and others added 5 commits January 24, 2026 12:48
@youknowone
show lib when test is not done
6daabf8
@youknowone
show untracked files
fe61dd1
@youknowone
_ast_unparse
968771d
@youknowone
better auto detection
7af6bbd
@github-actions
Auto-format: ruff format
7096b76
@youknowone
youknowone merged commit 691d281 into RustPython:main Jan 24, 2026
9 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@youknowone
youknowone deleted the todo branch January 24, 2026 07:04
@coderabbitai coderabbitai Bot mentioned this pull request Jan 24, 2026
[update_lib] deps grouping #6864
Merged
@coderabbitai coderabbitai Bot mentioned this pull request Feb 8, 2026
[update_lib] todo shows last updated date #7053
Merged
This was referenced Feb 25, 2026
update_lib test format fix + deps for atexit & eintr #7227
Merged
Reapply "ast.NodeVisitor for import tracking" #7241
Merged
More accurate test dependencies #7261
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@coderabbitai coderabbitai[bot] coderabbitai[bot] left review comments
@moreal moreal Awaiting requested review from moreal
@ShaharNaveh ShaharNaveh Awaiting requested review from ShaharNaveh

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip:ci Skip running the ci

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@youknowone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.