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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions