The Python software Foundation has secured a grant of $170,000 to finish the development and deployment of Warehouse, a new codebase that is to replace the Python Packaging Index (PyPI).

The funding comes from by way of the Foundational Technology track of the Mozilla Open Source Support (MOSS) funding program. As we reported when MOSS was initiated in 2015 its aim is to bolster open source projects that contribute both to Mozilla's own work and to the overall health of the Internet.

In the case of the Foundational Technology track, award requests should be for the amount of financial support that helps accomplish a clear and current project goal and the PSF accordingly asked for $170,000 to funds several contributors' efforts to finish the development and deployment of Warehouse, the replacement for its legacy codebase that runs PyPI, which is being undertaken by PyPA - the Python Packaging Authority as an open source project on GitHub.

As outlined back in January 2016, when the project was already falling behind its goal to launch the new Warehouse codebase by early 2016, the design goals for the new Warehouse website, a demo of which is already online were:

To update the visual identity

To make packages more discoverable

To accommodate the needs of both users and package maintainers

To give the project the same level of professionalism as a commercial project of the same scale

To ensure that the user experience reflects the Python community–a community that is welcoming, helpful and inclusive

At that point in time, the biggest contributions to the project had come from web-design specialist, Nicole Harris and lead developer Donald Stufft, a core contributor to PyPI, however Stufft's job change at the end of 2016 has meant a significant decrease in his paid time to work on PyPI.

The current situation is that PyPI is the principal repository of software packages for the Python programming language from which over 100 million Python packages are downloaded from PyPI every week. However, while the Python community (and indeed the wider technical community) depends on PyPI for the ongoing functioning of the entire Python ecosystem there are no paid staff at the PSF who work on PyPI and only a handful of people who contribute regularly.

As the PSF explains:

This leads to a situation where we have to depend on volunteers to be on-call for outages and respond to critical security vulnerabilities in core Python Infrastructure. ... This isn't a tenable situation for the long term, and we hope that this grant will help us start to change this.

The problem with running PyPI is exacerbated by the fact that its codebase is old, lacking in automated test coverage and other common best practices, and not written in a modern framework. This makes it very difficult for new would-be contributors to understand. The new Warehouse code base is built with Pyramid with a view to overcoming the problem of repelling would-be contributors, allowing PyPI to attract enough new contributors to assure its sustainability.

Last year MOSS made a grant of $200,000 to pay for four core developers to work half-time on PyPy, the Python interpreter, to add Python 3.5 features, and address performance and interoperability issues, bringing it up to scratch as a pillar of the infrastructure of the Internet.

The 20th anniversary of Open Source Software is being celebrated on February 3rd at FOSDEM, taking place in Brussels, Belgium. A new website has been launched by the Open Source Initiative in connecti [ ... ]