Pinned geospatial dependencies have no wheels for Python 3.14 (CKAN 2.12); fiona has none in any release

未关闭
#340 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
pandas, python
领域
backend, databases

调研方向

Start with requirements.txt and inspect the four pinned geospatial dependencies against Python 3.14 wheel availability. The issue proposes relaxing pins and replacing Fiona with Pyogrio, but asks whether that change is welcome; first confirm the CKAN 2.12/Python 3.14 support direction with maintainers. Done should include an agreed dependency approach and CI coverage, with spatial file handling validated rather than assuming installation proves runtime compatibility.

由索引模型根据 Issue 内容生成。

描述

Summary

Installing datapusher-plus on CKAN 2.12 fails at dependency resolution. Upstream ships 2.12 only as ckan/ckan-base:2.12-py3.14, and the exact pins in requirements.txt predate Python 3.14 wheels, so pip builds each from source and stops at the first one that needs native headers.

This is the same root cause as #334 (pandas 2.2.3 from source on 3.15), one interpreter version earlier. The pins are unchanged on main, so it applies to both the 2.x and 3.x lines.

Environment

  • CKAN 2.12.0 on ckan/ckan-base:2.12.0-py3.14 (Debian, Python 3.14)
  • datapusher-plus at 1825d62 (2.x line); main has the same four pins
  • qsv 5.1.0

Steps to reproduce

  1. Start from ckan/ckan-base:2.12-py3.14.
  2. pip install -r requirements.txt from datapusher-plus.

Expected behaviour

Dependencies resolve to wheels, as they do on Python 3.10-3.13.

Actual behaviour

pip downloads source tarballs and fails building them. First pyproj==3.7.1 (proj executable not found), and with PROJ present, fiona==1.10.1 (gdal-config not found; then cannot execute 'cc1plus' for fiona/_transform.cpp).

Wheel availability for the four pins, checked against PyPI on 15 September 2026:

pin cp312 cp313 cp314 earliest release with a cp314 wheel
fiona==1.10.1 yes yes no none - no fiona release has one
pandas==2.2.3 yes yes no 2.3.3
shapely==2.1.0 yes yes no 2.1.2
pyproj==3.7.1 yes yes no 3.7.2

What does install

With pandas==2.3.3, shapely==2.1.2 and pyproj==3.8.0 (all wheels), libgdal-dev and g++ in the image so fiona==1.10.1 compiles, and datapusher-plus installed with --no-deps, the image builds: datapusher-plus 2.0.0 alongside CKAN 2.12.0. I have not run it yet, so this shows only that the dependency set can resolve, not that datapusher-plus works on 2.12.

Questions

  1. Is CKAN 2.12 / Python 3.14 on the roadmap, and on which line? #329 and #338 suggest 3.x is the one that pairs with 2.12's SQLAlchemy 2, while CI currently targets 2.11 on 3.10 only. (#336 would also make 3.x runnable without Prefect, which changes the picture for deployments like ours that run an RQ-style worker today.)
  2. Would a pull request be welcome that relaxes the four pins to minimums (>=) and replaces fiona with pyogrio, which does ship cp314 wheels? The pin change is trivial. The pyogrio change touches the spatial file handling, so I would rather ask first. It would come with a CI matrix entry for 2.12/3.14, since the existing workflows would not otherwise exercise it.

Beyond installability, the change I expect to matter most on 2.12 is reading uploaded resources through the new configurable storage layer rather than a local filesystem path, since that is what lets datapusher-plus work when the filestore is not on local disk. Happy to contribute towards that as well if it is not already underway.

主要语言
Python
星标
47
派生
33
平均合并
2 小时 28 分钟
30 天内合并 PR
10

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

dathere/datapusher-plus 的其他 Issue

查看 dathere/datapusher-plus 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。