Skip to content

Not compatible with Python 3.13 due to old version of pyodbc #49

@LostInDarkMath

Description

@LostInDarkMath

Hi there,
your lib is based on pyodbc~=4.0.34 which seems to be not compatible with Python 3.13:

Backend subprocess exited when trying to invoke build_wheel

    | Command '['/tmp/tmpwy63g_at/.venv/bin/python', '/home/wsontopski/.local/share/pypoetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py', 'build_wheel', '/tmp/tmpppmx1bgj']' returned non-zero exit status 1.
    | 
    | <string>:242: DeprecationWarning: The 'u' type code is deprecated and will be removed in Python 3.16
    | WARNING: '' not a valid package name; please use only .-separated package names in setup.py
    | /tmp/tmpwy63g_at/.venv/lib/python3.13/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 :: MIT License
    | 
    |         See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
    |         ********************************************************************************
    | 
    | !!
    |   self._finalize_license_expression()
    | running bdist_wheel
    | running build
    | running build_py
    | creating build/lib.linux-x86_64-cpython-313
    | copying src/pyodbc.pyi -> build/lib.linux-x86_64-cpython-313
    | running build_ext
    | building 'pyodbc' extension
    | creating build/temp.linux-x86_64-cpython-313/src
    | x86_64-linux-gnu-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -fwrapv -O2 -fPIC -DPYODBC_VERSION=4.0.39 -I/tmp/tmpwy63g_at/.venv/include -I/usr/include/python3.13 -c src/buffer.cpp -o build/temp.linux-x86_64-cpython-313/src/buffer.o -Wno-write-strings
    | In file included from src/pyodbc.h:172,
    |                  from src/buffer.cpp:12:
    | src/pyodbccompat.h: In function ‘PyObject* Text_New(Py_ssize_t)’:
    | src/pyodbccompat.h:75:12: error: ‘PyUnicode_FromUnicode’ was not declared in this scope; did you mean ‘PyUnicode_FromString’?
    |    75 |     return PyUnicode_FromUnicode(0, length);
    |       |            ^~~~~~~~~~~~~~~~~~~~~
    |       |            PyUnicode_FromString
    | src/pyodbccompat.h: At global scope:
    | src/pyodbccompat.h:79:39: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
    |    79 | inline TEXT_T* Text_Buffer(PyObject* o)
    |       |                                       ^
    | In file included from /usr/include/python3.13/unicodeobject.h:1014,
    |                  from /usr/include/python3.13/Python.h:79,
    |                  from src/pyodbc.h:45:
    | /usr/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
    |    10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
    |       |                                     ^~~~~~~~~~
    | src/pyodbccompat.h: In function ‘Py_UNICODE* Text_Buffer(PyObject*)’:
    | src/pyodbccompat.h:86:12: error: ‘PyUnicode_AS_UNICODE’ was not declared in this scope; did you mean ‘PyUnicode_AsUCS4’?
    |    86 |     return PyUnicode_AS_UNICODE(o);
    |       |            ^~~~~~~~~~~~~~~~~~~~
    |       |            PyUnicode_AsUCS4
    | src/pyodbccompat.h: In function ‘Py_ssize_t Text_Size(PyObject*)’:
    | src/pyodbccompat.h:126:40: error: ‘PyUnicode_GET_SIZE’ was not declared in this scope; did you mean ‘PyDict_GET_SIZE’?
    |   126 |     return (o && PyUnicode_Check(o)) ? PyUnicode_GET_SIZE(o) : 0;
    |       |                                        ^~~~~~~~~~~~~~~~~~
    |       |                                        PyDict_GET_SIZE
    | src/pyodbccompat.h: At global scope:
    | src/pyodbccompat.h:129:68: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
    |   129 | inline Py_ssize_t TextCopyToUnicode(Py_UNICODE* buffer, PyObject* o)
    |       |                                                                    ^
    | /usr/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
    |    10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
    |       |                                     ^~~~~~~~~~
    | src/pyodbccompat.h: In function ‘Py_ssize_t TextCopyToUnicode(Py_UNICODE*, PyObject*)’:
    | src/pyodbccompat.h:146:26: error: ‘PyUnicode_GET_SIZE’ was not declared in this scope; did you mean ‘PyDict_GET_SIZE’?
    |   146 |         Py_ssize_t cch = PyUnicode_GET_SIZE(o);
    |       |                          ^~~~~~~~~~~~~~~~~~
    |       |                          PyDict_GET_SIZE
    | src/pyodbccompat.h:147:24: error: ‘PyUnicode_AS_UNICODE’ was not declared in this scope; did you mean ‘PyUnicode_AsUCS4’?
    |   147 |         memcpy(buffer, PyUnicode_AS_UNICODE(o), cch * sizeof(Py_UNICODE));
    |       |                        ^~~~~~~~~~~~~~~~~~~~
    |       |                        PyUnicode_AsUCS4
    | src/pyodbccompat.h:147:62: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
    |   147 |         memcpy(buffer, PyUnicode_AS_UNICODE(o), cch * sizeof(Py_UNICODE));
    |       |                                                              ^~~~~~~~~~
    | /usr/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
    |    10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
    |       |                                     ^~~~~~~~~~
    | error: command '/usr/bin/x86_64-linux-gnu-g++' failed with exit code 1

Therefore, your lib does not work with Python 3.13. Could you please fix this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions