We are delighted to announce a two-year grant from the Chan Zuckerberg Initiative (CZI) in support of the Scientific Python project. This grant will support work on common web themes, joint infrastructure and practices, accessibility, and interactivity of core library documentation. We are particularly excited that, through this work, we may expand global participation of scientific communities in using and contributing to Python tools. It is, to the best of our knowledge, the first time that a scientific open source community has received significant support for accessibility and internationalization efforts.
CZI & Scientific Python
CZI continues to support many impactful and innovative projects in the scientific Python community through its Essential Open Source Software for Science (EOSS) program. Today, they announced the 5th funding cycle of that program. This grant to Scientific Python, while outside the EOSS program, complements it well. Among other things, the Scientific Python project aims to support, document, and make accessible common practices & infrastructure. Such infrastructure will benefit not only the projects at the core of the ecosystem, but also those well beyond it.
“We are thrilled to partner with the Scientific Python project, an effort to harmonize a critical set of open source research software projects widely used across all the areas of biomedical research that CZI supports. The distributed nature of the scientific open source ecosystem will greatly benefit from their efforts to standardize best practices and focus on ecosystem-level initiatives,” said Dario Taraborelli, Science Program Officer at the Chan Zuckerberg Initiative.
What will we be working on?
This grant will support core scientific Python projects by doing release management, writing documentation, building and supporting joint infrastructure, and by measuring and publishing metrics on community involvement and project health. In addition, here are some specific deliverables:
Common web themes
There are two web themes commonly deployed on community sites: the Scientific Python Hugo Theme—for project websites, and the pydata-sphinx-theme—for documentation. We will improve these themes, effectively upgrading several project websites simultaneously. By fostering theme adoption, we will help the ecosystem present a more unified front to users, while reducing the web maintenance burden on developers. Other theme work includes better responsive layouts (important for use on mobile and tables), blogging facilities, increased usability, and accessibility compliance.
Adopting and promoting access-centered practices
Better accessibility of online resources increases usability for everyone, while fostering community participation and inclusion. The Scientific Python Hugo Theme and pydata-sphinx-theme are natural conduits for introducing accessibility standards and best practices to the broader ecosystem. We will develop access-centered best practices and contribution guidelines, organize online workshops, and work with other maintainers to improve their projects’ documentation and homepage accessibility. A set of access-centered practices will be written up as a Scientific Python Ecosystem Coordination document (or SPEC, for short), to provide guidance to those projects we cannot support directly.
A key aim of this work is to have web and documentation themes, as well as core scientific Python project websites, meet the applicable Web Content Accessibility Guidelines.
Interactive documentation & translations
Documentation is key to a project’s success, and good documentation is approachable to end users with a wide range of backgrounds and skills. While most scientific Python projects value documentation and work hard at it, there is still much room for improvement.
One such improvement is translation and localization. Development takes place in English, as reflected by project websites and documentation. While many contributors are comfortable with English as a first, second, or even third language, the language barrier excludes especially users that are very young, are new to the community, have learning disabilities, or are from the Global South—all potential future contributors and leaders in the scientific Python community! We will therefore translate key pages of core project websites, and provide translation infrastructure for the web themes.
A second area of improvement is interactivity. Interactive project documentation has the potential to engage less experienced users, making it easier to experiment with and teach ecosystem libraries. We will work on documentation interactivity by providing seamless, in-browser execution of code via JupyterLite, a WebAssembly Jupyter distribution.
Who will be involved
The four PI’s for this grant are Stéfan van der Walt (UC Berkeley; NumPy, scikit-image, SciPy; Scientific Python Hugo Theme), Tania Allard (Quansight Labs; JupyterHub, NumFOCUS DISC, Jupyter accessibility), Jarrod Millman (Scientific Python; NetworkX; scikit-image; Scientific Python Hugo Theme, pydata-sphinx-theme), and Ralf Gommers (Quansight Labs; SciPy, NumPy, data-apis.org). Melissa Weber Mendonça (Quansight Labs; NumPy, SciPy) and Chris Holdgraf (2i2c; Project Jupyter, MyST, pydata-sphinx-theme) will participate as key personnel, providing expertise in documentation and Sphinx themes in particular. Jarrod and Stéfan are co-creators of the Scientific Python project, and everyone on the grant has been involved in the larger scientific Python ecosystem and community for many years.
Today was announcement day, but the real work starts in December. Some topics we’ll be able to dive straight into; others will require hiring—and we’re excited to involve new web designers, accessibility experts, and engineers in this journey. Stay tuned—there’s a lot more to come!
To connect with the team, and to follow job posts, please join us at https://discuss.scientific-python.org.