Fiona project status report


Sean Gillies
 

Hi all,

I'm writing this little note to summarize where the project stands at the end of 2020, a year of uncertainty and ambiguity.

First, the status of the code base. To be frank, the rewrite of fiona's data model for 1.9/2.0 is stalled. The time I had at my day job to start the work has been eaten up by other projects in 2020. I honestly don't know when I'll be able to reverse this trend, but I am working on it. We've continued to make 1.8.x releases to fix bugs and have merged some commits into fiona's main branch, the one we have planned to release 2.0.0 from. The main branch has not merged 1.9 and has not merged maint-1.8 in some time. We have a PR that will address that last issue, and at least we will have maint-1.8 and the master branch aligned again.

Now, the status of CI and build infrastructure. As you know, Travis CI is cutting support for open source projects without a subscription. This puts fiona's CI and wheel builds in some jeopardy. At some point we will run out of credit and Travis will not build the project or its wheels. In the short term we can pare down our build matrix and petition Travis CI for more credits. I'll take the lead on the latter. In the long term, we need to explore other CI options and other wheel building infra like cibuildwheel.

Speaking of wheels, the version of GDAL we include in wheels is becoming unmaintainably old and harder to patch. Switching to GDAL 3.2 and PROJ 7.2 is a priority for early 2021. As is adding wheels for Python 3.9 and 3.10. I'm not sure whether this work is something to be done within our existing, deprecated infra, or if we should wait until we switch. I'd love to hear from other perspectives on this.

Thank you, contributors. René Buffat, Alan Snow, and Mike Taves have done especially important work this year. Fiona wouldn't be where it is without your effort!

Sincerely,

--
Sean Gillies


Alan Snow
 

Hi Sean,

Thanks for your work on Fiona and for the status update!

Here are some thoughts I have:
1. For maintainability reasons, I am wondering if fiona should bump up the pin for the supported GDAL version to 3+? 3.0.4 is the version for Ubuntu 20.04 LTS (https://packages.ubuntu.com/search?keywords=gdal).
2. GitHub Actions is pretty nice. I recommend looking into it as an alternative to Travis CI.
Potentially useful references:
- https://github.com/pyproj4/pyproj/tree/master/.github/workflows
- https://github.com/pyproj4/pyproj/issues/743
3. It wouldn't hurt to get started on transitioning the wheels with the existing infrastructure while it is still there. It would likely remove some of the complexity in the transition. But, it all depends on when you get time to work on it.