Introduction

Funding is critical to the success of any nonprofit organization. In this blog post, I’ll outline pyOpenSci’s sustainability plan. We define sustainability as building a diverse funding “portfolio” that includes grants and internally generated revenue sources to support our mission, growth, and core activities.

How funding has propelled pyOpenSci forward

Funding from Sloan Foundation catalyzed pyOpenSci’s growth by enabling me to dedicate full-time effort to growing the organization’s impact in September 2022. This full-time commitment, paired with support from a fiscal sponsor, catalyzed pyOpenSci’s recent growth and success.

An image titled pyOpenSci timeline. showing key milestones from 2018 to 2024. The timeline is marked with flower icons and a small rocket to represent significant events. Key points include: 2018: Community Meetings Begin, 2019: Software Peer Review Launch,2021-2022: Sloan Funding, Fall 2022: Packaging Guide Rewrite Begins, January 2023: Peer Review Relaunched, Fall 2023: CZI funds pyOpenSci, Spring 2024: pyOpenSci launches training and tutorials. The timeline progresses diagonally from the bottom left to the top right, with a rocket heading toward a bright light in the top right corner.
I founded pyOpenSci in 2018. It was mostly a side effort at the time driven forward by small community meetings and a pilot of a scientific Python peer review process.

For example, our scientific Python software peer review program significantly expanded after we reopened it in early 2023, following our governance and documentation improvements. Today, we average 10-14 packages in our review queue at any given time and have 18 volunteer editors and dozens of reviewers who drive peer review forward.

You can see this profound impact in the plot below.

 A cumulative sum plot with months on the x-axis and number of review issues submitted on the y-axis. The curve starts with a small slope in 2019. Around January 2023, the slope becomes significantly steeper, indicating a dramatic increase in submissions when we reopened the peer review. At that point in the plot, there is a label that says 'Full-time funding'.
It is clear the impact that 1) working on our peer review guide and governance plus 2) funding, which allowed me to devote all of my professional time to pyOpenSci, had on our peer review program. It has been incredibly successful in the past year! And true success lies in the hands of the community that leads the review process. Today, on average, pyOpenSci has 10-14 packages in our software review queue.

The Sloan Foundation's early support has propelled pyOpenSci's growth, creating opportunities that ultimately helped us secure additional funding from CZI.

Today, the results of this momentum are clear. pyOpenSci has over 250 contributors and runs a vibrant global Python software peer review process led by 18 volunteer editors, 74 reviewers, and 78 open source maintainers.

Funding supports beginner-friendly open source sprints

Funding has also allowed us to run events. In the past year, over 51 people have participated in our beginner-friendly sprints, submitting 39 issues and 88 pull requests to pyOpenSci. Many of these pull requests and issues are first-time contributions from scientists and researchers who were excited about and nervous about contributing to an open source repository.

Contributions to pyOpenSci have also skyrocketed in the past two years.

 Bar chart titled 'Staff vs. Volunteer Contributor by Quarter.' The chart shows counts of contributions made by staff and volunteers from 2018 Q4 through 2024 Q3. Contributions are stacked, with purple representing staff and green representing volunteers. The chart reveals a significant growth in contributions over time, particularly from 2022 onward, with a notable increase in both staff and volunteer contributions in 2023 and 2024. The pyOpenSci logo is in the bottom-right corner.
A bar plot showing staff vs volunteer contributions on GitHub over time. Funding has allowed us to support more volunteer activity over the past 2 years.

Our Python packaging guide is making a splash

One of our most impactful activities has been developing our community-vetted Python packaging guide, which includes beginning-to-end Python packaging tutorials using Hatch. Developing our packaging guide has been a genuinely collaborative effort. We have built consensus around critical packaging decisions with numerous opinions on what is “best.” In just under a year, our packaging guide’s use has doubled, with ~20,000 unique page views in 2024.

@leahawasser @pyOpenSci clicking through and eventually found myself looking at 'what is a Python package' and involuntarily performed a standing ovation. bookmarked it as an example of great docs for an incredibly complex subject with many meanings in many different contexts

~ Mastodon Toot

Our work around Python packaging has led pyOpenSci to take a more active role in broader Python packaging discussions, contributing to conversations at events like the annual PyCon US packaging summit and the PyCon US maintainers summit.

Our work has not only made packaging more accessible to more scientists and researchers but also fostered a collaborative and inclusive community of practice where scientists, software maintainers, and Pythonistas engage, chat about open source and open science challenges, and support each other.

Diversification of funding sources

Diversifying our funding sources is essential to pyOpenSci’s success. We’ve been fortunate enough to receive two grants. This runway has given us ~three years to grow and demonstrate impact. As of September 2024, we are ~two years into that runway. We now need funding to become sustainable.

Grant-based funding is tricky as it rarely supports project operations or “maintenance.” Our long-term plan is to combine grant funding with paid training and events to support pyOpenSci’s operations.

In the short term, we need funding to develop our paid training model while continuing to develop the governance that allows our free programs, such as software peer review and development and maintenance of open education resources, to continue.

More on that below.

Building sustainability: pyOpenSci’s training program

pyOpenSci is building a paid training event program that supports sustainability. This training will be delivered predominately online, but we will also continue to hold in-person events such as the packaging workshop that we taught at SciPy 2024.

While we will charge for some training, access is integral to our training program. We will continue to develop ways to support broad participation and engagement in our programs, which is core to the pyOpenSci mission.

We offer scholarships to ensure that our events are inclusive. Scholarships worked well for our first successful online packaging training event and allowed five people to attend our training at no cost. For our upcoming Fall Festival (more on that below), we are also developing a sponsorship program that will allow companies, organizations, and individuals to support scholarships directly.

Open education will always be a priority for pyOpenSci

We will also continue to offer free, community-vetted, open education resources. If you know me, you also know that I am deeply committed to creating high-quality open education resources. Open education has been a part of every program that I’ve built (e.g., https://www.earthdatascience.org and NEON Data Skills.

Our Python packaging guide, which has ~80 contributors as I write this, is one successful example of community-vetted open education resources that the pyOpenSci community has co-created. It now has thousands of users.

With growth comes a need for governance

As pyOpenSci’s growth welcomes new contributors and community members, we must create space by creating processes, governance, and documentation around our programs to support continued community engagement. Doing this well requires require time and resources.

Reflecting on these accomplishments, I am committed to ensuring that pyOpenSci’s core programs and vibrant community of practice continues to thrive. The longevity of our mission hinges on developing a durable sustainability model that enables pyOpenSci to:

  • continue supporting the vibrant pyOpenSci community of practice, and
  • expand our programs to develop education resources that teach open science, reproducibility, and packaging topics.

How pyOpenSci allocates funds to support efficient growth

I like to think of pyOpenSc as a scrappy, efficient organization. Scrappy means we are deeply committed to managing our resources as efficiently as possible. Our small, core paid team optimizes our time and online infrastructure to reduce costs and maximize impact.

We minimize overhead costs by:

  • leveraging & building open source tools,
  • focusing funds on automating workflows using tools like CI (continuous integration) to reduce manual effort, and
  • prioritizing support for essential, high-impact activities that drive our mission forward.

Looking to the future, we will only grow our core team as it aligns with our core budget. This strategic approach enables pyOpenSci to maintain the quality and reach of pyOpenSci programs while building a sustainable future.

Other nonprofits have done this well

I am inspired by other organizations that have found their sustainability balance such as NumFOCUS and the Python Software Foundation. These organizations use events such as:

  • SciPy meetings,
  • PyData meetings, and
  • PyCon US

These meetings are all community-driven. Each event funds the organization’s core mission, vision, and values.

I am further inspired by the membership model that The Carpentries has successfully employed to build core sustainability.

pyOpenSci will experiment to find the balance between freedom, openness, and sustainability in our training program. I’m confident that we will succeed. I’m excited to pilot new approaches and continue evaluating how each approach impacts our sustainability goals while further developing and maintaining a diverse and inclusive community.

As always, we want to hear from you. Your feedback helps shape our programs and ensures the long-term success of pyOpenSci.

What’s next for pyOpenSci - The Road Ahead

So, what’s next for pyOpenSci’s training program? We will continue to run different types of pilot training events, experimenting with various platforms, scales and approaches. These events will include both larger event like our upcoming Fall Festival and smaller workshops like the packaging workshop that we taught in the Spring 2024.

We will experiment with a suite of training opportunities held at various price points using different types of sponsorship and scholarship models.

Along the way, we want to hear from you! We know you want pyOpenSci to succeed too. We want to understand:

  • what’s working well,
  • what could be better,
  • what topics should we cover,
  • where do you see opportunities to combine sustainability and training?

As always, we’ll collect your feedback as a part of each event. Your feedback and ideas are critical to iteratively improving upon and building out pyOpenSci so we can better serve the community. We look forward to embarking on this training program path with you.

Our next event - Fall Festival

The next pilot event in our training series is our virtual Open Science Fall Festival, October 28 - November 1 2024. This event is a combination of free talks, paid workshops, community engagement, and different sponsorship and scholarships models to ensure broad participation.

We’ve wrapped a lot together into one event!

Our goals for the Fall Festival are to:

  • empower you with technically-relevant open science skills,
  • call attention to and celebrate new and upcoming tools that support open reproducible science
  • build community, and
  • help raise funds for pyOpenSci operations that allow us to continue supporting community work.

We’re excited for this event! I’m excited to continue to test out these different approaches. And i’m excited about building and learning together with you and the broader scientific Python open science community.

You can learn more about the Open Science Fall Festival, here. Please reach out if you have any questions.

We look forward to seeing you there!

~ Leah with support from the pyOpenSci Executive Council - Tracy Teal & Karen Cranston

Get involved with pyOpenSci

You can also:

  • Keep an eye on our events page for upcoming training events.

Follow us on social platforms:

If you are on LinkedIn, checkout and subscribe to our newsletter, too.

Categories: blog-post , community

Updated:

Leave a comment