-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Comparing changes
Open a pull request
base repository: python/mypy
base: c60e8bf
head repository: python/mypy
compare: 145a062
- 11 commits
- 26 files changed
- 5 contributors
Commits on Apr 21, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 27096ba - Browse repository at this point
Copy the full SHA 27096baView commit details -
Use WAL with SQLite cache, fix close (#21154)
This is the more modern way to manage concurrency with SQLite. Relevant to current discussion, it means concurrent mypy runs using the cache will wait for each other, rather than fail SQLite also claims this is significantly faster, but I haven't yet done a good profile (If you are profiling this, note that WAL is a persistent setting, so you will want to delete the cache). This might also allow removing the `PRAGMA synchronous=OFF` Finally, I also explicitly close the connection in main. This is relevant to this change, because it forces checkpointing of the WAL, which keeps reads fast, reduces disk space and means the cache.db remains a single self-contained file under regular use Fixes #21136, see also discussion in #13916 For what it's worth, I feel there are many legitimate uses of concurrent mypy. At work, we often share cache between multiple projects. At home, I often end up having parallel runs with a debugger while working on mypy (although this PR just makes those ones hang waiting for the lock lol) --------- Co-authored-by: Ivan Levkivskyi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 79a3ec6 - Browse repository at this point
Copy the full SHA 79a3ec6View commit details -
Only set journal mode in coordinator (#21217)
This should reduce test flakiness (esp. on Windows). IIUC this setting is per database, so setting it only in coordinator (main process) should be enough.
Configuration menu - View commit details
-
Copy full SHA for c34530e - Browse repository at this point
Copy the full SHA c34530eView commit details -
Correctly aggregate narrowing information on parent expressions (#21206)
Configuration menu - View commit details
-
Copy full SHA for 210f518 - Browse repository at this point
Copy the full SHA 210f518View commit details -
Fix is_overlapping_types for generic callables (#21208)
Fixes #21182 This issue exposed this pre-existing deficiency in is_overlapping_types
Configuration menu - View commit details
-
Copy full SHA for 0dcbfaa - Browse repository at this point
Copy the full SHA 0dcbfaaView commit details -
Avoid widening types in conditional_types (#21242)
Fixes #21181 Another pre-existing issue exposed by narrowing improvements
Configuration menu - View commit details
-
Copy full SHA for 92b74f2 - Browse repository at this point
Copy the full SHA 92b74f2View commit details -
Fix match statement semantics for "or" pattern (#21156)
Fixes mypyc/mypyc#1166 Authored by Codex
Configuration menu - View commit details
-
Copy full SHA for 7b0e09f - Browse repository at this point
Copy the full SHA 7b0e09fView commit details -
Initial support for Python 3.15.0a8 (#21255)
Some minor changes to be able to compile mypy with mypyc on Python 3.15.0a8. - Update `typing-extensions` to `>=4.14.0` for Python `>=3.15` due to the removal of `typing.no_type_check_decorator` python/cpython#133601 https://docs.python.org/3/library/typing.html#typing.no_type_check_decorator https://github.com/python/typing_extensions/blob/4.14.0/CHANGELOG.md - `TypeAliasType.__qualname__` was added in python/cpython#139817 - Some new FutureWarnings for b64_decode python/cpython#125346 python/cpython#141128
Configuration menu - View commit details
-
Copy full SHA for ba28610 - Browse repository at this point
Copy the full SHA ba28610View commit details -
[mypyc] Set dunder attrs when adding module to sys.modules (#21275)
Recently there was a change to add native modules to `sys.modules` before they are executed to be able to detect circular imports. This introduced a regression when the module is a package that imports objects from other files within the package, eg. `from pkg.file import something` inside `pkg/__init__.py`. Such imports result in an exception `ModuleNotFoundError: No module named 'pkg.file'; 'pkg' is not a package.`, for example when trying to upgrade mypy in [black](https://github.com/psf/black/actions/runs/23933086642/job/69803937853?pr=5071). This error is raised because Python expects the parent module of `file` to have the `__path__` attribute set when [resolving the import](https://github.com/python/cpython/blob/main/Lib/importlib/_bootstrap.py#L1226) but we don't set this attribute before adding the `pkg` module to `sys.modules`. So use existing functions to set relevant dunder attributes (`__path__` for packages and `__file__`, `__spec__`, and `__package__` for all) before registering the module in `sys.modules`. Don't skip compilation for `__init__.py` files in separate compilation mode to make this possible to test. Use `Py_CLEAR` instead of `Py_DECREF` on the import object on failure in `CPyImport_ImportNative` as the import object might be freed when deleting it from `sys.modules`. This triggered an assertion when running tests with a debug build of cpython.
Configuration menu - View commit details
-
Copy full SHA for 908d344 - Browse repository at this point
Copy the full SHA 908d344View commit details -
Fix slicing with nonstrict optional (#21282)
Fixes #21261 I didn't add a regression test because you need custom fixtures and I just don't think any nonstrict optional change is worth the trouble
Configuration menu - View commit details
-
Copy full SHA for 81cd492 - Browse repository at this point
Copy the full SHA 81cd492View commit details -
Configuration menu - View commit details
-
Copy full SHA for 145a062 - Browse repository at this point
Copy the full SHA 145a062View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff c60e8bf...145a062