Skip to content

Conversation

@0x78f1935
Copy link

@0x78f1935 0x78f1935 commented Oct 28, 2025

  • Bumped CONNECTOR_VERSION to the latest version 3.4.1 -> 3.4.7
  • Bumped Django version to the latest version 4.2.16 -> 5.2.7
  • Added Python 3.14 in matrix strategy

I did not intend to change " to ' in certain cases but my IDE insisted.


Why this PR?

I've decided to upgrade my Django stack from Python 3.13.3 to 3.14.0 and this package is one of those packages which have not been updated yet to support Python 3.14.0.

  × Building wheel for mysqlclient (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [81 lines of output]
      C:\Users\ME\AppData\Local\Temp\pip-build-env-iqxgzq2g\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
      !!

              ********************************************************************************
              Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).        

              By 2026-Feb-18, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        corresp(dist, value, root_dir)
      C:\Users\ME\AppData\Local\Temp\pip-build-env-iqxgzq2g\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        dist._finalize_license_expression()
      C:\Users\ME\AppData\Local\Temp\pip-build-env-iqxgzq2g\overlay\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      # Options for building extension module:
        library_dirs: ['C:/mariadb-connector\\lib\\mariadb', 'C:/mariadb-connector\\lib']
        libraries: ['kernel32', 'advapi32', 'wsock32', 'shlwapi', 'Ws2_32', 'crypt32', 'secur32', 'bcrypt', 'mariadbclient']
        extra_link_args: ['/MANIFEST']
        include_dirs: ['C:/mariadb-connector\\include\\mariadb', 'C:/mariadb-connector\\include\\mysql', 'C:/mariadb-connector\\include']
        extra_objects: []
        define_macros: [('version_info', (2, 2, 7, 'final', 0)), ('__version__', '2.2.7')]
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\connections.py -> build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\converters.py -> build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\cursors.py -> build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\release.py -> build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\times.py -> build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\_exceptions.py -> build\lib.win-amd64-cpython-314\MySQLdb
      copying src\MySQLdb\__init__.py -> build\lib.win-amd64-cpython-314\MySQLdb
      creating build\lib.win-amd64-cpython-314\MySQLdb\constants
      copying src\MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-cpython-314\MySQLdb\constants
      copying src\MySQLdb\constants\CR.py -> build\lib.win-amd64-cpython-314\MySQLdb\constants
      copying src\MySQLdb\constants\ER.py -> build\lib.win-amd64-cpython-314\MySQLdb\constants
      copying src\MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-cpython-314\MySQLdb\constants
      copying src\MySQLdb\constants\FLAG.py -> build\lib.win-amd64-cpython-314\MySQLdb\constants
      copying src\MySQLdb\constants\__init__.py -> build\lib.win-amd64-cpython-314\MySQLdb\constants
      running egg_info
      writing src\mysqlclient.egg-info\PKG-INFO
      writing dependency_links to src\mysqlclient.egg-info\dependency_links.txt
      writing top-level names to src\mysqlclient.egg-info\top_level.txt
      reading manifest file 'src\mysqlclient.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'src\mysqlclient.egg-info\SOURCES.txt'
      copying src\MySQLdb\_mysql.c -> build\lib.win-amd64-cpython-314\MySQLdb
      running build_ext
      building 'MySQLdb._mysql' extension
      creating build\temp.win-amd64-cpython-314\Release\src\MySQLdb
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.41.34120\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-Dversion_info=(2, 2, 7, 'final', 0)" -D__version__=2.2.7 -IC:/mariadb-connector\include\mariadb -IC:/mariadb-connector\include\mysql -IC:/mariadb-connector\include -ID:\work\Project\APP-Backend\venv\include -IC:\Users\ME\AppData\Local\Programs\Python\Python314\include -IC:\Users\ME\AppData\Local\Programs\Python\Python314\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.41.34120\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcsrc/MySQLdb/_mysql.c /Fobuild\temp.win-amd64-cpython-314\Release\src\MySQLdb\_mysql.obj
      _mysql.c
      src/MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.41.34120\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mysqlclient
Failed to build mysqlclient

Solution?

I've compiled mysqlclient.whl for my windows system running Python 3.14.0, Django 5.2.7 and MariaDB C Connector 3.4.7
dist.zip and it works.

I've bumped versions in the CI/CD Pipeline in the hopes the pip issue will resolve once the correct build for the mysqlclient wheel package is available on pip. However, it seems to me that the Pipeline is not responsible for publishing to PyPi.

@codecov
Copy link

codecov bot commented Oct 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.84%. Comparing base (e2a908b) to head (25877ba).
⚠️ Report is 29 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #767      +/-   ##
==========================================
- Coverage   88.86%   88.84%   -0.02%     
==========================================
  Files           7        7              
  Lines         548      556       +8     
==========================================
+ Hits          487      494       +7     
- Misses         61       62       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@0x78f1935 0x78f1935 marked this pull request as draft October 28, 2025 18:09
@0x78f1935
Copy link
Author

Even while downgrading back to the default "LTS" tests, the tests fail. But 5.2.7 should be LTS, so those tests are outdated? I don't know

@0x78f1935 0x78f1935 marked this pull request as ready for review October 28, 2025 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant