Package: python3-fastkml
Version: 0.12-3
Severity: grave
Tags: upstream
Justification: renders package unusable
X-Debbugs-Cc: [email protected]
Dear Maintainer,
Since python3-pygeoif 1.4.0-1 appeared in Debian testing, fastkml cannot
be imported at all:
In [1]: import fastkml
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
File /usr/lib/python3/dist-packages/fastkml/geometry.py:39
38 from shapely.geometry import Polygon
---> 39 from shapely.geometry import asShape
40 from shapely.geometry.polygon import LinearRing
ImportError: cannot import name 'asShape' from 'shapely.geometry'
(/usr/lib/python3/dist-packages/shapely/geometry/__init__.py)
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import fastkml
File /usr/lib/python3/dist-packages/fastkml/__init__.py:34
32 from .atom import Contributor
33 from .atom import Link
---> 34 from .kml import KML
35 from .kml import Data
36 from .kml import Document
File /usr/lib/python3/dist-packages/fastkml/kml.py:46
44 import fastkml.atom as atom
45 import fastkml.config as config
---> 46 import fastkml.gx as gx
48 from .base import _BaseObject
49 from .base import _XMLObject
File /usr/lib/python3/dist-packages/fastkml/gx.py:92
89 from pygeoif.geometry import GeometryCollection
91 from .config import GXNS as NS
---> 92 from .geometry import Geometry
94 logger = logging.getLogger(__name__)
97 class GxGeometry(Geometry):
File /usr/lib/python3/dist-packages/fastkml/geometry.py:46
44 from pygeoif.geometry import MultiPoint, MultiLineString,
MultiPolygon
45 from pygeoif.geometry import LinearRing
---> 46 from pygeoif.geometry import as_shape as asShape
48 import logging
50 from pygeoif.geometry import GeometryCollection
ImportError: cannot import name 'as_shape' from 'pygeoif.geometry'
(/usr/lib/python3/dist-packages/pygeoif/geometry.py)
I believe this is because both shapely and pygeoif deprecated
asShape/as_shape respectively. The function is now called just "shape"
in both.
Unfortunately, fastkml doesn't have a newer release compatible with
recent pygeoif (or shapely) versions. There's only been a steady stream
of 1.0.alphas, most of which are broken in various ways (I have a
project that depends on fastkml so its CI has been notifying me of ways
my project breaks with those alphas and I tried to work around these for
a while but recently gave up and just pinned fastkml to 0.12).
I think it might be okay to just patch fastkml/geometry.py to
from shapely.geometry import shape as asShape
…
from pygeoif.geometry import shape as asShape
but it needs to be tested more thoroughly.
Also, fastkml 0.12 explicitly depends on pygeoif < 1.0, for good reason
apparently, so it's a bit unfortunate that this dependency is relaxed in
the Debian package. :-(
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.6.15-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_CPU_OUT_OF_SPEC, TAINT_USER
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
Versions of packages python3-fastkml depends on:
ii python3 3.11.6-1
ii python3-dateutil 2.9.0-2
ii python3-pkg-resources 68.1.2-2
ii python3-pygeoif 1.4.0-1
python3-fastkml recommends no packages.
python3-fastkml suggests no packages.
-- no debconf information
--
Tomáš "liskin" ("Pivník") Janoušek, https://lisk.in/