Blog

The CKAN on Python 3 Initiative. Get Involved!

  • Steven and Paul
  • 20 Apr 2021
One of the major initiatives the CKAN Stewards are focused on delivering in 2019 is CKAN compatibility with Python 3. In this post I’ll give an overview of what we envisage for shipping CKAN on Python 3, and how interested developers, users, and vendors can take part. The CKAN Stewards and CKAN Technical Team are aiming for a Q4 2019 CKAN 2.9 release that is Python 3 compatible. We are seeking monetary and in-kind contributions from the wider CKAN community for the CKAN on Python 3 initiative. We are also providing funding for interested developers to work on the initiative. To nominate or register your interest in helping with the CKAN on Python 3 initiative, choose the appropriate option below and we will be in touch:
  • Vendors: Do you work for a vendor that is leveraging CKAN as part of your product and service offerings? Or, can you nominate a vendor you’d like us to reach out to.
  • Users: Is your organisation using CKAN as part of its data infrastructure? Or, can you nominate organisations who are using CKAN?
  • Developers: Are you a Python developer excited about open data infrastructure, open source, or the challenges of Python 2 / 3 compatibility? Or, do you know someone who is?
Please feel free to share this information widely with Python, Open Data, and Open Source interest groups you may be involved with! Want to know more about CKAN? Read about CKAN, and view a public listing of sites running CKAN.  

Background

CKAN is built on a Python web framework called Pylons, which only supports Python 2. In 2016, Open Knowledge Foundation started work to change CKAN’s underlying web framework to Flask, to both modernize the codebase and to support both Python 2 and Python 3. Since the initial work on Flask support, the CKAN Technical Team and a range of contributors have done further work to remove Pylons from the CKAN codebase and pave the way to Python 3 support. While much work has been done, there is still important work to do so that (a) CKAN Core is Python 3 compatible, (b) the most commonly used CKAN Extensions are Python 3 compatible, and (c) the Extension ecosystem has a clear guide for migrating to Flask and Python 3 support. The CKAN Technical Team recently prepared a roadmap that details both the approach to Python 3 support, and the remaining tasks. The roadmap and approach is outlined here, and the technical tasks required are ordered and outlined here. Python 2 End of Life is January 1, 2020. Our aim is to ship CKAN 2.9, supporting both Python 2 and Python 3, by Q4 2019, and then a subsequent CKAN 3.0 release in 2020 will support Python 3 only.

Get involved!

The CKAN on Python 3 initiative requires participation from the wider developer, vendor, and user communities around CKAN. We have a unique opportunity to not only bring CKAN forward, but also to come together as a community and build our open infrastructure together! The CKAN Stewards are seeking monetary and in-kind contributions from the wider CKAN community for the CKAN on Python 3 initiative. We are also providing funding for interested developers to work on the initiative. To nominate or register your interest in helping with the CKAN on Python 3 initiative, choose the appropriate option below and we will be in touch:
  • Vendors: Do you work for a vendor that is leveraging CKAN as part of your product and service offerings? Or, can you nominate a vendor you’d like us to reach out to.
  • Users: Is your organisation using CKAN as part of its data infrastructure? Or, can you nominate organisations who are using CKAN?
  • Developers: Are you a Python developer excited about open data infrastructure, open source, or the challenges of Python 2 / 3 compatibility? Or, do you know someone who is?
Please feel free to share this information widely with Python, Open Data, and Open Source interest groups you may be involved with! Want to know more about CKAN? Read about CKAN, and view a public listing of sites running CKAN. We are open to discussions on contributions and how it can best work for everyone involved in CKAN. If you have an idea that does not exactly fit in with the options we outline above, please feel free to get in touch with Paul and Steven at stewards@ckan.org.