Skip to content

Commit 56cb0fe

Browse files
committed
WL#15036: Support for type hints
This worklog is the first effort of more to come, to incorporate type hints over the Connector/Python codebase. With this edition, type hints are added to methods and class attributes of files included in the lib/mysql folder. This worklog delivers a good starting annotations baseline, and these can be improved gradually. To reach even higher annotations support, a code refactory should be made. Finally, a pre-commit hook was set for Mypy which is a static type checker used to assess annotations' correctness. Change-Id: I722f2df2a686437ed081558500bdb800107cfac7
1 parent 6dac476 commit 56cb0fe

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2391
-1457
lines changed

.pre-commit-config.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,22 @@ repos:
3535
rev: 5.10.1
3636
hooks:
3737
- id: isort
38+
- repo: https://github.com/pre-commit/mirrors-mypy
39+
rev: v0.981
40+
hooks:
41+
- id: mypy
42+
additional_dependencies: [
43+
django-stubs,
44+
gssapi==1.8.1,
45+
dnspython==2.1.0,
46+
]
47+
files: lib/mysql
48+
args: [
49+
--disallow-untyped-defs,
50+
--show-error-codes,
51+
--no-warn-unused-ignores,
52+
--ignore-missing-imports,
53+
--allow-redefinition,
54+
--no-strict-optional,
55+
--no-implicit-optional,
56+
]

CHANGES.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ Copyright (c) 2009, 2022, Oracle and/or its affiliates.
88
Full release notes:
99
http://dev.mysql.com/doc/relnotes/connector-python/en/
1010

11+
v8.0.32
12+
=======
13+
14+
- WL#15036: Support for type hints
15+
1116
v8.0.31
1217
=======
1318

cpydist/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ def finalize_options(self):
214214
install.extra_link_args = self.extra_link_args
215215
install.skip_vendor = self.skip_vendor
216216

217+
self.distribution.package_data = {"mysql.connector": ["py.typed"]}
217218
if not cmd_build_ext.skip_vendor:
218219
self._copy_vendor_libraries()
219220

@@ -460,7 +461,10 @@ def _copy_vendor_libraries(self):
460461
"vendor/plugin/*",
461462
"vendor/private/*",
462463
"vendor/private/sasl2/*",
463-
]
464+
],
465+
"mysql.connector": [
466+
"py.typed",
467+
],
464468
}
465469

466470

cpydist/data/msi/PY310.wxs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@
214214
Source="$(var.BDist310)\mysql\connector\custom_types.$(var.PyExt)" DiskId="1"/>
215215
<File Id="abstractspy310" Name="abstracts.$(var.PyExt)"
216216
Source="$(var.BDist310)\mysql\connector\abstracts.$(var.PyExt)" DiskId="1"/>
217+
<File Id="typespy310" Name="types.$(var.PyExt)"
218+
Source="$(var.BDist310)\mysql\connector\types.$(var.PyExt)" DiskId="1"/>
219+
<File Id="pytyped310" Name="py.typed"
220+
Source="$(var.BDist310)\mysql\connector\py.typed" DiskId="1"/>
217221

218222
<?if $(var.HaveCExt310) = 1 ?>
219223
<File Id="connectioncextpy310" Name="connection_cext.$(var.PyExt)"

cpydist/data/msi/PY311.wxs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@
214214
Source="$(var.BDist311)\mysql\connector\custom_types.$(var.PyExt)" DiskId="1"/>
215215
<File Id="abstractspy311" Name="abstracts.$(var.PyExt)"
216216
Source="$(var.BDist311)\mysql\connector\abstracts.$(var.PyExt)" DiskId="1"/>
217+
<File Id="typespy311" Name="types.$(var.PyExt)"
218+
Source="$(var.BDist311)\mysql\connector\types.$(var.PyExt)" DiskId="1"/>
219+
<File Id="pytyped311" Name="py.typed"
220+
Source="$(var.BDist311)\mysql\connector\py.typed" DiskId="1"/>
217221

218222
<?if $(var.HaveCExt311) = 1 ?>
219223
<File Id="connectioncextpy311" Name="connection_cext.$(var.PyExt)"

cpydist/data/msi/PY37.wxs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@
214214
Source="$(var.BDist37)\mysql\connector\custom_types.$(var.PyExt)" DiskId="1"/>
215215
<File Id="abstractspy37" Name="abstracts.$(var.PyExt)"
216216
Source="$(var.BDist37)\mysql\connector\abstracts.$(var.PyExt)" DiskId="1"/>
217+
<File Id="typespy37" Name="types.$(var.PyExt)"
218+
Source="$(var.BDist37)\mysql\connector\types.$(var.PyExt)" DiskId="1"/>
219+
<File Id="pytyped37" Name="py.typed"
220+
Source="$(var.BDist37)\mysql\connector\py.typed" DiskId="1"/>
217221

218222
<?if $(var.HaveCExt37) = 1 ?>
219223
<File Id="connectioncextpy37" Name="connection_cext.$(var.PyExt)"

cpydist/data/msi/PY38.wxs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@
214214
Source="$(var.BDist38)\mysql\connector\custom_types.$(var.PyExt)" DiskId="1"/>
215215
<File Id="abstractspy38" Name="abstracts.$(var.PyExt)"
216216
Source="$(var.BDist38)\mysql\connector\abstracts.$(var.PyExt)" DiskId="1"/>
217+
<File Id="typespy38" Name="types.$(var.PyExt)"
218+
Source="$(var.BDist38)\mysql\connector\types.$(var.PyExt)" DiskId="1"/>
219+
<File Id="pytyped38" Name="py.typed"
220+
Source="$(var.BDist38)\mysql\connector\py.typed" DiskId="1"/>
217221

218222
<?if $(var.HaveCExt38) = 1 ?>
219223
<File Id="connectioncextpy38" Name="connection_cext.$(var.PyExt)"

cpydist/data/msi/PY39.wxs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@
214214
Source="$(var.BDist39)\mysql\connector\custom_types.$(var.PyExt)" DiskId="1"/>
215215
<File Id="abstractspy39" Name="abstracts.$(var.PyExt)"
216216
Source="$(var.BDist39)\mysql\connector\abstracts.$(var.PyExt)" DiskId="1"/>
217+
<File Id="typespy39" Name="types.$(var.PyExt)"
218+
Source="$(var.BDist39)\mysql\connector\types.$(var.PyExt)" DiskId="1"/>
219+
<File Id="pytyped39" Name="py.typed"
220+
Source="$(var.BDist39)\mysql\connector\py.typed" DiskId="1"/>
217221

218222
<?if $(var.HaveCExt39) = 1 ?>
219223
<File Id="connectioncextpy39" Name="connection_cext.$(var.PyExt)"

0 commit comments

Comments
 (0)