Skip to content

[BUG] installation fails in Python3.13 #514

Description

@CarlosEpia

Summary

Installing eDisGo (tested on branch project/LoMa) under Python 3.13 fails while building the
pygeos dependency.

Current behavior

pip install aborts when building the pygeos wheel:

File ".../pygeos.../versioneer.py", line 342, in get_config_from_root
    parser = configparser.SafeConfigParser()
AttributeError: module 'configparser' has no attribute 'SafeConfigParser'. Did you mean: 'RawConfigParser'?
ERROR: Failed to build 'pygeos' when getting requirements to build wheel

Cause

configparser.SafeConfigParser was deprecated since Python 3.2 and removed in Python 3.12+. The
versioneer.py bundled with pygeos still calls it, so pygeos can no longer be built on 3.13.
pygeos itself is deprecated/unmaintained — its functionality was merged into Shapely 2.0 — so
it should no longer be a dependency.

Expected behavior

eDisGo installs cleanly on the supported Python versions, including 3.13 — or the supported range is
explicitly declared and enforced.

Proposed fix

  • Remove the pygeos dependency (direct or transitive); ensure geopandas uses the Shapely 2.0 backend
  • Identify which requirement pulls in pygeos — likely the old pins in setup.py (geopandas >=0.12.0,<1.2.0, pandas >=1.4.0,<2.2.0) — and loosen/update them
  • Declare the supported Python range via python_requires in setup.py (currently unset) and enforce it in CI
  • Smoke-test install on Python 3.11 / 3.12 / 3.13

Affected files

  • setup.py (dependency pins; no python_requires set)
  • .github/workflows/ (CI Python matrix)

Acceptance criteria

  • Fresh pip install succeeds on Python 3.13 (and all declared supported versions)
  • pygeos no longer appears in the resolved dependency tree

Environment

  • Branch: project/LoMa · Python: 3.13

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions