Skip to content

Updating DECIMER to be compatible with Python 3.12 #8

@mam4000

Description

@mam4000

Hi DECIMER team,

I have run DECIMER on your web site, and it worked well for a small portion of a document. Now I want to install it on my system so I can process full documents.

I’m trying to run DECIMER/DECIMER-Segmentation in Google Colab, which currently provides Python 3.12 by default. The current packages appear to require the TF/Keras 2.15 stack, which isn’t available as wheels for Python 3.12, and also conflicts with Keras 3. I consistently hit:

  • AttributeError: module 'keras.callbacks' has no attribute 'experimental' (Keras 3 removal)
  • ImportError: numpy.core.umath failed to import (NumPy/ABI mismatch when newer NumPy is pulled with Py3.12)
  • ModuleNotFoundError: decimer_segmentation (when falling back to module entry points without compatible installs)

Environment:

  • Python: 3.12 (Colab default)
  • Desired: wheels for Linux x86_64 (Colab), CPU is fine
  • Current Colab pulls Keras 3 / NumPy ≥ 2.0 by default

Request: Publish DECIMER and DECIMER-Segmentation versions that:

  1. Support Python 3.12 (publish wheels on PyPI),
  2. Run on a TensorFlow/Keras version with official Py3.12 wheels (e.g., TF ≥ 2.16/2.17/2.18),
  3. Are updated for Keras 3 (remove keras.callbacks.experimental.* and any other deprecated APIs),
  4. Work with NumPy ≥ 2.0 (or pin a compatible NumPy in install_requires and ship matching wheels).

Why this matters: Colab users increasingly have no option to select Python 3.10/3.11. A Py3.12-compatible release would let us run DECIMER without fragile environment pinning or downgrades.

I can provide a minimal Colab repro notebook if helpful. Thanks!

Metadata

Metadata

Assignees

Labels

wontfixThis will not be worked on

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions