Pinned geospatial dependencies have no wheels for Python 3.14 (CKAN 2.12); fiona has none in any release
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 48/100
调研方向
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);
mainhas the same four pins - qsv 5.1.0
Steps to reproduce
- Start from
ckan/ckan-base:2.12-py3.14. pip install -r requirements.txtfrom 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
- 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.)
- 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,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
dathere/datapusher-plus 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
dathere/datapusher-plus#359 ·
维护者通常 1 天内回复
-
"Total elapsed time" in the JOB DONE line is ~1.79 billion seconds (perf_counter overwrites the time.time() start)可能已有人在做 @tino097 于 14 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 35/100
dathere/datapusher-plus#355 ·
维护者通常 1 天内回复
-
FormulaProcessing stage always skipped on CKAN 2.10+: ckan.plugins is a list, stage calls .split() on it可能已有人在做 @tino097 于 14 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 25/100
dathere/datapusher-plus#354 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 53/100
dathere/datapusher-plus#338 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 68/100
dathere/datapusher-plus#337 · 1 条评论 ·
维护者通常 1 天内回复
查看 dathere/datapusher-plus 的全部 Issue
相似的 Issue
-
needs-triage
难度 2/5 1-3 小时 新手友好度 78/100
gke-labs/kube-agents#5671 ·
维护者通常 1 天内回复
-
documentation next-release v0.9.6
难度 1/5 1 小时以内 新手友好度 88/100
khuisman/mcp-gee-sweet#1446 ·
维护者通常 1 天内回复
-
model:sonnet runtime:claude security size:S
难度 2/5 1-3 小时 新手友好度 75/100
FootprintAI/Containarium#3671 ·
维护者通常 1 天内回复
-
HolidayBase: reassigning `language` does not re-initialize translations or re-populate holidays可能已有人在做 @shikhabhadoria 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
vacanza/holidays#4116 · 1 条评论 ·
维护者通常 1 天内回复
-
bug CLI exec
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复