Commit Graph
100 Commits
Author SHA1 Message Date
Akuli 714ba1747b stubtest: temporary pin to python 3.10.0 (#6602) 2021-12-16 12:47:47 +02:00
Akuli dc4c9534c7 allowlists: add comment to hmac.HMAC.blocksize (#6539) 2021-12-07 13:13:35 -08:00
Akuli 91465a1d07 toposort: Make argument types less restrictive (#6531) 2021-12-07 16:26:09 +01:00
Akuli f31b49699a fix mypy_primer_comment workflow for more shards (#6533) 2021-12-07 16:12:00 +01:00
Akuli 7155bdae63 Re-export more os functions in posix, tweak availability on linux (#6529) 2021-12-07 16:10:41 +01:00
Akuli 44f71867c7 add tkinter.EventType aliases (#6516) 2021-12-07 15:10:39 +02:00
Akuli 3da1db2698 shard mypy_primer more (#6530) 2021-12-07 15:03:59 +02:00
Akuli af85e18bec tkinter Pack,Grid,Place: delete commented-out aliases and explain in allowlist (#6518) 2021-12-06 09:09:06 -08:00
Akuli 08649177f1 Add codecs.BOM* constants (#6515) 2021-12-06 17:36:09 +02:00
Akuli bc912ea472 correct traceback.print_exception and traceback.format_exception on python 3.10 (#6512) 2021-12-06 15:43:32 +01:00
AkuliandJelle Zijlstra a4118b1a09 trust_server_pasv_ipv4_address: move comments to allowlists (#6496)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-12-05 23:59:47 +02:00
Akuli 7225dfafcf add several re-exports to posix (#6495) 2021-12-05 08:45:24 -08:00
Akuli 24afb531ff stubtest_stdlib: get rid of --ignore-missing-stub (#6491)
* get rid of --ignore-missing-stub

* update allowlists based on github actions logs, with script

import re

platforms = ["linux", "win32", "darwin"]
versions = ["py36", "py37", "py38", "py39", "py310"]

entries_by_pv = {}
for p in platforms:
    for v in versions:
        p_name = {"linux": "ubuntu", "darwin": "macos", "win32": "windows"}[p]
        v_name = "3." + v.replace("py3", "")
        if v_name == "3.9":
            v_name = "3.9.7"

        entries = set()
        with open(f"la/Check stdlib with stubtest ({p_name}-latest, {v_name})/6_Run stubtest.txt") as file:
            for line in file:
                m = re.search(r"error: (.*) is not present in stub$", line.strip())
                if m:
                    entries.add(m.group(1))
        entries_by_pv[p, v] = entries

def remove_intersection(sets):
    sets = list(sets)
    result = set(sets[0])
    for s in sets[1:]:
        result &= s
    for s in sets:
        for r in result:
            s.remove(r)
    return result

common_to_all = remove_intersection(entries_by_pv.values())

common_to_version = {}
for v in versions:
    common_to_version[v] = remove_intersection([
        entries
        for (p, v2), entries in entries_by_pv.items()
        if v == v2
    ])

common_to_platform = {}
for p in platforms:
    common_to_platform[p] = remove_intersection([
        entries
        for (p2, v), entries in entries_by_pv.items()
        if p == p2
    ])

def write(fname, entries):
    with open(f"tests/stubtest_allowlists/{fname}.txt", "a") as file:
        file.write("\n# Exists at runtime, but missing from stubs\n")
        for i in sorted(entries):
            file.write(i + "\n")

write("py3_common", common_to_all)
for v, entries in common_to_version.items():
    write(v, entries)
for p, entries in common_to_platform.items():
    write(p, entries)
for (p, v), entries in entries_by_pv.items():
    write(p + "-" + v, entries)

* Manually combine __main__ attributes into a single entry

* move and comment entries manually
2021-12-04 16:58:44 -08:00
Akuli 3f281881c2 get rid of remaining references to pallets stubs (#6474) 2021-12-02 21:41:40 +02:00
AkuliandSebastian Rittau ec0051a59b ci: fix stubtest_third_party while loop (#6468)
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-12-01 19:32:33 +02:00
Akuli 50d29ef424 ci: Do not run stubtest_third_party for deleted stubs (#6467) 2021-12-01 18:15:17 +01:00
Akuli 4631b74919 Fix various issues in redis.client (#6464) 2021-12-01 17:09:48 +01:00
Akuli ea3f962860 Move all definitions except environ from posix to os (#6442) 2021-12-01 17:07:33 +01:00
Akuliandpre-commit-ci[bot] bdf906e2bc stubtest_stdlib: fail if there are unused allowlist entries (#6424)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-01 12:10:27 +02:00
deaa764915 redis: fix several stubtest warnings (#6378)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-12-01 12:00:07 +02:00
AkuliandAlex Waygood b3e8073bac Create unittest._log stub and improve _AssertLogsContext (#6428)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2021-11-30 21:39:14 -08:00
Akuli c8c5519fa6 sqlite3: stubtest fixes (#6441) 2021-11-29 11:07:20 -08:00
Akuli f29f0a5394 importlib: stubtest fixes for py310 (#6443) 2021-11-29 11:05:54 -08:00
Akuli 52559e83cf add comment about CodeType.replace to stubtest allowlists (#6447) 2021-11-29 09:01:00 -08:00
Akuli 71999b7cde operator.countOf takes Iterable (#6431) 2021-11-28 14:34:05 -08:00
Akuli 99f6e022f7 ipaddress: return unions from ip_address, ip_network, ip_interface (#6400) 2021-11-28 08:06:22 -08:00
Akuli 2b702233c6 tests/check_new_syntax.py: check order of if statements (#6423) 2021-11-28 08:04:46 -08:00
Akuli 6d54c10387 Make posix module empty on windows (#6427) 2021-11-28 07:54:30 -08:00
Akuli 524775d45e move definitions from operator to _operator (#6429) 2021-11-28 07:52:57 -08:00
Akuli 6130c2459e Delete duplicate comment (#6391) 2021-11-26 12:56:27 -08:00
Akuli 31c1865b91 Don't trigger mypy_primer from commits created by pre-commit.ci (#6385)
If pre-commit makes a change immediately after a PR has been made, it's important that the stubtest/mypy/pytype/pyright checks are run again, as line numbers might have changed. However, there's no reason to start a new run of mypy_primer, since pre-commit will make no substantive changes to a PR, only cosmetic changes, and that shouldn't affect the diff from mypy_primer.
2021-11-26 07:37:55 -08:00
Akuli a5bc1e037f Add mypy error codes to '# type: ignore' comments (#6379) 2021-11-26 07:07:56 +01:00
Akuli 32a38e787f Fix prints in stubtest_third_party (#6380) 2021-11-25 13:09:14 -08:00
Akuli 0cd1135219 Revert "do not use mypy-specific syntax in '# type: ignore' comments" (#6338) 2021-11-18 20:13:07 +02:00
Akuli 230f149539 Remove unnecessary pyrightconfig excludes (#6271) 2021-11-09 20:00:59 +02:00
Akuli ece04a288e Use TypeVar for WeakMethod (#6199) 2021-10-25 12:52:02 +02:00
Akuli 8454a48c5e allow file descriptors in os.stat wrapper functions (#6198) 2021-10-25 13:00:27 +03:00
Akuli 739cc27cc4 fix shutil.disk_usage() argument type (#6197) 2021-10-25 11:52:04 +02:00
Akuli 53087be4eb get rid of tkinter._TkinterSequence type alias (#6181) 2021-10-18 10:22:01 +02:00
Akuli 5b03ad18cc tkinter.ttk.Treeview: more Literal[""] (#6182) 2021-10-16 18:41:52 +02:00
Akuli 994b69ef8f Use lowercase tuple where possible (#6170) 2021-10-14 17:18:19 -07:00
Akuli b2082ce559 check_new_syntax.py: improve dicts in error message (#6168)
Improve error message for bad dict. Before dict[(int, str)] now dict[int, str]
2021-10-13 18:14:05 -07:00
Akuli 75ca712f3c check_new_syntax.py: check nested annotations (#6167) 2021-10-14 00:28:38 +03:00
Akuli f30b5ae363 dateparser.search.search_dates: allow arbitrary-length tuples for languages argument (#6166) 2021-10-13 23:22:58 +03:00
Akuli e72a4034bf Cleanup: use lower-case list and dict, add a test (#6161) 2021-10-13 22:59:27 +03:00
Akuli 62f27cf6b8 Remove unncessary MutableMapping overrides (#6097) 2021-09-30 18:02:38 +02:00
Akuli 3eee9e1d88 Add back and update cachetools stubs to cachetools 4.2.4 (#6096) 2021-09-30 16:53:01 +02:00
eb7b97ee78 Add types to Markdown (#6045)
Most methods and attributes were previously untyped or `Any`-typed.

Co-authored-by: PythonCoderAS <13932583+PythonCoderAS@users.noreply.github.com>
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-09-20 18:39:53 +03:00
Akuli 196f69b27e dict.__init__: support dict(string.split(sep) for string in iterable) (#6050) 2021-09-20 13:52:41 +02:00
Akuli aff3e4d1c5 Create stubs for appdirs (#6047) 2021-09-20 13:20:06 +02:00
Akuli 75c75a093e ttkthemes: allow constructing ThemedStyle with no arguments (#6046) 2021-09-19 15:11:08 -07:00
Akuli 7ed8da4415 Create stubs for toposort (#6048) 2021-09-19 14:04:23 -07:00
Akuli afad78343a change prints in scripts/create_baseline_stubs.py (#6051) 2021-09-19 12:38:23 -07:00
Akuli e69ca588ac Stubs for ttkthemes (#6024) 2021-09-10 15:59:12 +02:00
Akuli 832a24c8a1 Create send2trash stubs (#6000) 2021-09-03 22:51:03 +02:00
Akuli 6307bfd421 Delete yaml.CDangerLoader and yaml.CDangerDumper (#5990)
These no longer exist in PyYAML 4.2.
2021-09-01 10:50:30 +03:00
Akuli 8d5452e873 do not use mypy-specific syntax in '# type: ignore' comments (#5953) 2021-08-29 03:58:34 -07:00
Akuli cd90721604 Clean up tests/check_pep_604.py (#5980) 2021-08-28 21:56:53 -07:00
Akuli 9af9cca7f3 lowercase list and dict in the rest of stdlib (#5892) 2021-08-09 00:13:08 +02:00
Akuli 191aac3b0e lowercase list and dict for 3rd party stubs (#5893)
* stubs/decorator/decorator.pyi

* stubs/frozendict/frozendict.pyi

* stubs/Jinja2/jinja2/nodes.pyi

* stubs/Pygments/pygments/token.pyi

* stubs/requests/requests/models.pyi

* stubs/Werkzeug/werkzeug/http.pyi
2021-08-08 13:25:18 -07:00
Akuli 24780a3e03 imaplib, nntplib, plistlib, poplib: use lower-case list and dict (#5890) 2021-08-08 18:46:23 +02:00
Akuli ce11072dbe Big diff: use lower-case list and dict (#5888) 2021-08-08 09:26:35 -07:00
11f54c3407 add missing arguments to croniter (#5887)
Co-authored-by: Søren Bjerregaard Vrist <sbv@csis.dk>
Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-08-08 18:33:16 +03:00
Akuli b1d1551bbc tkinter.Canvas: types for addtag_foo() and find_foo() methods (#5886) 2021-08-08 17:14:45 +03:00
Akuli c0e2346346 new union syntax in CONTRIBUTING.md (#5879) 2021-08-08 15:48:56 +02:00
Akuli 1409f6e892 change ast files to use new union syntax (#5880) 2021-08-08 15:47:33 +02:00
Akuli 1154218a0e switch to new union syntax in third-party stubs (#5881) 2021-08-08 15:46:55 +02:00
Akuli c12c93ebe4 use new union syntax in stdlib/types.pyi (#5882) 2021-08-08 15:46:09 +02:00
Akuli 1395318faa use new union syntax in ctypes/__init__.pyi (#5883) 2021-08-08 15:45:28 +02:00
Akuli df6a211855 Use new union syntax in rest of stdlib (#5884) 2021-08-08 15:44:30 +02:00
Akuli ebacd320a3 support passing coordinate tuples to tkinter.Canvas.create_foobar() (#5885) 2021-08-08 15:43:28 +02:00
Akuli ef5b4b6820 setattr: Any --> object (#5877) 2021-08-08 11:12:23 +02:00
Akuli ee487304d7 Big diff: Use new "|" union syntax (#5872) 2021-08-08 11:05:21 +02:00
Akuli e3f662b648 switch to lower-case "# undocumented" comments (#5871) 2021-08-07 08:00:41 -07:00
AkuliandSebastian Rittau 1cd719ba8d Add types to some untyped tkinter.Canvas methods (#5868)
* coords
* gettags
* itemconfigure, itemconfig
* tag_raise, tag_lower, their aliases
* dtag

Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-08-07 17:01:56 +03:00
Akuli 9301131976 fix tkinter.Canvas tags option (#5866) 2021-08-07 15:53:46 +02:00
Akuli 36799fd63c tkinter.Canvas: fix dash (#5867) 2021-08-07 15:38:05 +02:00
Akuli e676fcabd3 Create pygments stubs (#5759)
* run stubgen

* replace individual lexers with __getattr__ in lexers/__init__.pyi

* replace individual styles with __getattr__ in styles/__init__.pyi

* import-export each formatter into formatters/__init__.pyi

* clean up slightly with quick and dirty script

* manual fixing
2021-07-11 16:27:35 +03:00
AkuliandJelle Zijlstra fdf073627c maybe fix stubtest (#5746)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-07-09 12:06:26 +03:00
Akuli 42247feefb use Self in async context managers (#5724) 2021-07-06 08:47:49 +02:00
Akuli b06352556d Use Literal["little", "big"] for byteorder (#5715) 2021-06-30 13:15:50 -07:00
Akuli 11b99e1141 @python2 nits (#5672)
* tiny tests/mypy_test.py cleanup

* try to make CONTRIBUTING.md less confusing
2021-06-21 21:42:45 +03:00
Akuli c5b59b9e41 Pymysql cursor types and fetching return types (#5652)
version update: stubs made based on pymysql 1.0.2
2021-06-17 20:53:22 +02:00
Akuli 515aa6fa3d pymysql: query arguments can be any value (#5653) 2021-06-17 11:02:37 +02:00
Akuli 63fd1688c5 Delete attrs (#5585)
Closes #5581
2021-06-08 16:02:38 +02:00
Akuli 200260e685 move DndSource to tkinter/dnd.pyi (#5588) 2021-06-07 07:07:57 -07:00
Akuli ec80fdaeb5 add types to most common tkinter.Entry methods (#5586)
* most common tkinter.Entry methods

* type-ignore tkinter's lsp violation
2021-06-07 11:55:35 +03:00
Akuli 4b66a9cd4e add types to tkinter invoke methods (#5582) 2021-06-06 20:32:30 +02:00
Akuli 68dbab81f4 More types for tkinter.Treeview (#5584) 2021-06-06 19:19:23 +02:00
Akuli 6159136006 finish types of tkinter.Menu (#5583) 2021-06-06 19:15:37 +02:00
Akuli ecafd6fe47 add types to tkinter.filedialog.ask* (#5579) 2021-06-06 13:05:57 +02:00
Akuli 55a2a180c6 tempfile._TemporaryFileWrapper enhancements (#5519) 2021-05-25 15:30:08 +02:00
Akuli fb5387e6e4 use comment-hider v0.3.0 (#5521) 2021-05-23 00:42:27 +02:00
Akuli 2628e77272 add _Pickler.dispatch and _Unpickler.dispatch (#5508) 2021-05-19 23:28:18 +03:00
Akuli 90e8629ed8 Add comment hider back (#5495) 2021-05-18 21:51:24 +02:00
AkuliandSebastian Rittau 17dcea4a68 Akuli and srittau: Remove Python 2 branches from Python 3 stubs (#5461)
* run script and do some manual changes (Akuli)

* do the whole thing manually (srittau)

* merge changes (Akuli)

Co-authored-by: Sebastian Rittau <srittau@rittau.biz>
2021-05-15 15:33:39 +03:00
Akuli b0ef85288d flake8: do not exclude @python2 dirs (#5457) 2021-05-15 12:05:26 +02:00
Akuli 15b0959cf8 stdlib/@python2: clean imports (#5453) 2021-05-15 01:08:37 +02:00
Akuli 5ec4f06263 clean python 3 specific stuff from stdlib/@python2 stubs (#5451) 2021-05-15 00:19:05 +02:00
Akuli 5afd250792 mypy_primer: use 'needs: mypy_primer' for comment job (#5428) 2021-05-14 22:28:34 +03:00