Skip to content

Python 3.14 compatibility #365

@jodal

Description

@jodal

The mindee package is not importable on Python 3.14. There might be multiple issues, but the first that surfaces is that it imports _ctypes.POINTER which does not exist in Python 3.14's standard library.

On Python 3.13:

❯ uvx --python 3.13 --with mindee python -c "import mindee"
Installed 9 packages in 17ms
❯ 

On Python 3.14

❯ uvx --python 3.14 --with mindee python -c "import mindee"
Installed 9 packages in 15ms
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import mindee
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/__init__.py", line 2, in <module>
    from mindee.client import Client
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/client.py", line 4, in <module>
    from mindee.client_mixin import ClientMixin
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/client_mixin.py", line 5, in <module>
    from mindee.input import Base64Input, BytesInput, FileInput, PathInput, UrlInputSource
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/input/__init__.py", line 4, in <module>
    from mindee.input.sources.base_64_input import Base64Input
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/input/sources/__init__.py", line 1, in <module>
    from mindee.input.sources.base_64_input import Base64Input
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/input/sources/base_64_input.py", line 5, in <module>
    from mindee.input.sources.local_input_source import LocalInputSource
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/input/sources/local_input_source.py", line 14, in <module>
    from mindee.pdf.pdf_compressor import compress_pdf
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/pdf/__init__.py", line 2, in <module>
    from mindee.pdf.pdf_compressor import compress_pdf
  File "/home/jodal/.cache/uv/archive-v0/1Ec0wqMvSWCjqtgCg_auj/lib/python3.14/site-packages/mindee/pdf/pdf_compressor.py", line 9, in <module>
    from _ctypes import POINTER
ImportError: cannot import name 'POINTER' from '_ctypes' (unknown location)
❯

The fix here is probably to replace from _ctypes import POINTER with from ctypes import POINTER.

Metadata

Metadata

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