NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1313 most downloaded on PyPI
Typing stubs for PyMySQL
Last release 11 days ago
23 Sep 2026
Release timing varies
gaps range from 1 weeks to 6 months
Most releases are documented
notes for 42 of 55 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
55 releases · first in 2021
One column per quarter.
* Update to 1.2.3
Run Pyrefly on typeshed stubs in CI
* Replace NoReturn with Never
NoReturn with Never (#16079)* Update to 1.2.*
Upgrade black to 26.5.0
Upgrade black to 26.5.0 (#15801)
Import some items from typing instead of typing_extensions
Import some items from typing instead of typing_extensions (#15711)
Part of #13782
Use dashes instead of underscores for METADATA.toml field names
Use dashes instead of underscores for METADATA.toml field names (#15614)
[PyMySQL] Add Cursor.warning_count attribute
[PyMySQL] Add Cursor.warning_count attribute (#15150)
[PyMySQL] Fix stubs for pymysql.connections.Connection.__init__
[PyMySQL] Fix stubs for pymysql.connections.Connection.__init__ (#14724)
Update mypy to 1.18.1
Update mypy to 1.18.1 (#14699)
[PyMySQL] Add stub for SSCursor.read_next
Add __slots__ to third-party packages using stubdefaulter
Add slots to third-party packages using stubdefaulter (#14619)
[PyMySQL] Fix issue with import constants attributes
[PyMySQL] Fix issue with import constants attributes (#14393)
[PyMySQL] Add missing stubs
[PyMySQL] Add missing stubs (#14335)
Replace Incomplete | None = None in third party stubs
Replace Incomplete | None = None in third party stubs (#14063)
Co-authored-by: Shamil Co-authored-by: Jelle Zijlstra
Improve pymysql stubs (#12942)
Co-authored-by: Shamil ashm.tech@proton.me Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
Update PyMySQL to 1.1.1 (#12001) Co-authored-by: Jelle Zijlstra
Update PyMySQL to 1.1.1 (#12001)
Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
Bump pyright to v1.1.360
Bump pyright to v1.1.360 (#11810)
Add an upstream_repository field to METADATA.toml
Add an upstream_repository field to METADATA.toml (#10487)
Closes: #10478
Bump PyMySQL to 1.1.*
Bump PyMySQL to 1.1.* (#10376)
Add partial_stub metadata field
Add partial_stub metadata field (#10157)
Add default values for third-party stubs beginning with 'P'
Add default values for third-party stubs beginning with 'P' (#9957)
Update Unused parameters in stubs/
Update Unused parameters in stubs/ (#9704)
Update _Unused TypeAlias
Update object | None params
Replace unused object parameters with Unused alias
Stubtest settings: change ignore_missing_stub default to false
Stubtest settings: change ignore_missing_stub default to false (#9779)
If you're reading about this commit from an autogenerated changelog entry, this should have no user-visible impact on how the stubs are interpreted by a type checker; it's just an internal change to how typeshed's tests work.
Use typing_extensions.Self instead of _typeshed.Self
Use typing_extensions.Self instead of _typeshed.Self (#9702)
Replace Any with Incomplete in many places
Replace Any with Incomplete in many places (#9558)
Remove empty __init__ methods from classes with 0 parents
Remove empty __init__ methods from classes with 0 parents (#8907)
Delete python 2 branches from third-party stubs
Delete python 2 branches from third-party stubs (#7741)
Since #7703, we no longer have third-party stubs that support Python 2, so code like if sys.version_info >= (3, 0) can be simplified.
Update PyMySQL constants
Update PyMySQL constants (#7670)
Python 3 stubs: use str instead of typing.Text
Use TypeAlias where possible for type aliases
Use TypeAlias where possible for type aliases (#7630)
Third-party stubs: Improve several __exit__ methods
Third-party stubs: Improve several __exit__ methods (#7575)
Use PEP 604 syntax wherever possible
Use PEP 604 syntax wherever possible (#7493)
Add __enter__/__exit__ to pymysql.Connection
Add enter/exit to pymysql.Connection (#7069)
Nothing published for this version
Always use _typeshed.Self, where applicable
Always use _typeshed.Self, where applicable (#6880)
Always use _typeshed.Self, where applicable
Revert changes to google-cloud-ndb (ambiguous)
Remove empty line added by script
Revert changes to stubs/python-dateutil/dateutil/relativedelta.pyi
Manually add a few more that the script missed
Improve filelock annotation
Source code here: https://github.com/tox-dev/py-filelock/blob/79ec7b2826e33b982fe83b057f359448b9d966ba/src/filelock/_api.py#L207
opentracing/scope annotationSource code here: https://github.com/opentracing/opentracing-python/blob/3e1d357a348269ef54d67f761302fab93dbfc0f7/opentracing/scope.py#L71
redis/client stubSource code here: https://github.com/redis/redis-py/blob/15f315a496c3267c8cbcc6d6d9c6005ea4d4a4d5/redis/client.py#L1217
redis/lock annotationSource code here: https://github.com/redis/redis-py/blob/15f315a496c3267c8cbcc6d6d9c6005ea4d4a4d5/redis/lock.py#L155
requests/models annotationSource code here: https://github.com/psf/requests/blob/d718e753834b84018014a23d663369ac27d1ab9c/requests/models.py#L653
Use lowercase type everywhere
Use lowercase type everywhere (#6853)
Nothing published for this version
Use PEP 585 syntax wherever possible
Use PEP 585 syntax wherever possible (#6717)
Co-authored-by: Alex Waygood Co-authored-by: Jelle Zijlstra Co-authored-by: Sebastian Rittau Co-authored-by: Akuli
Use stubtest 0.920 (#6589)
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com Co-authored-by: Sebastian Rittau srittau@rittau.biz Co-authored-by: Akuli akuviljanen17@gmail.com
Add mypy error codes to '# type: ignore' comments
Add mypy error codes to '# type: ignore' comments (#6379)
Improve pymysql.converters stubs
Improve pymysql.converters stubs (#6267)
I spent far too much time being confused about why pyanalyze thought pymysql.converters.escape_dict only takes two arguments.
I rewrote the stubs from scratch using the implementation: https://github.com/PyMySQL/PyMySQL/blob/main/pymysql/converters.py.
The "charset" argument is ignored as far as I can tell; it gets passed to other functions but no function actually uses it.
Co-authored-by: Sebastian Rittau srittau@rittau.biz
Use lowercase tuple where possible
Use lowercase tuple where possible (#6170)
Add star to all non-0.1 versions
Add star to all non-0.1 versions (#6146)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →