Tuesday, August 26, 2025

pypistats.org is now operated by the Python Software Foundation

For a little over six years pypistats.org has been maintained and operated by Christopher Flynn on a volunteer basis. After a recent extended outage made clear the importance of this service to the Python community, and in coordination with Christopher, the Python Software Foundation (PSF) has adopted the project into our GitHub organization and migrated the service to run from our infrastructure.

So what has changed? As far as the day-to-day operations of the service goes the PSF Infrastructure Team will now make sure that pypistats.org’s backing infrastructure, costs, and domain registration are all maintained. Otherwise, there is no material change to the service. The project remains open source and community maintained. We are appreciative that Christopher has stated his intention to stay on as maintainer of the project and we welcome the community to get involved.

We're also grateful to Christopher for his long-term volunteer contribution maintaining this service! As an organization, we are excited to have the opportunity to support pypistats.org and ensure it remains available to the community. Stories like this –under-resourced, but highly depended upon services– are not a new story for the open source community, and we are glad that this story had a positive outcome.

The PSF’s Infrastructure Team is excited to be in a place to adopt services like these into our burgeoning community infrastructure along with services like the PyLadiesCon Portal and memory.python.org. This new community infrastructure, supported by AWS Open Source via their credits program, is backed by the same tooling that delivers pypi.org, python.org, and us.pycon.org along with many other PSF hosted services. We look forward to sharing more in the coming months– not only what we're up to but also how you can get involved!

Monday, August 18, 2025

The 2024 Python Developer Survey Results are here!

We are excited to share the results of the eighth official annual Python Developers Survey. This survey is done yearly as a collaborative effort between the Python Software Foundation and JetBrains. Check out Michael Kennedy's The State of Python 2025 blog post, on the JetBrains blog, which reflects his personal analysis and opinions on the data. Responses were collected October and November of 2024. More than 30,000 Python developers and enthusiasts from almost 200 countries and regions participated in the survey to reveal the current state of the language and the ecosystem around it.

Check out the survey results!

The survey aims to map the Python landscape and covers the following topics:

  • General Python usage

  • Purpose for using Python

  • Python versions

  • Frameworks and Libraries

  • Cloud Platforms

  • Data science

  • Development tools

  • Python packaging

  • Demographics

We encourage you to check out the methodology and the raw data for this year's Python Developers Survey, as well as those from past years (2023, 2022, 2021, 2020, 2019, 2018, and 2017). We would love to hear about what you learn by digging into the numbers! Share your results and comments with us on social media by mentioning JetBrains (LinkedIn, X) and the PSF (Mastodon, LinkedIn, X) using the #pythondevsurvey hashtag. Based on the feedback we received last year, we made adjustments to the 2024 survey- so we welcome suggestions and feedback that could help us improve again for next year!

Thursday, August 14, 2025

Announcing the PSF Board Candidates for 2025!

What an exciting list! Please take a look at who is running for the PSF Board this year on the 2025 Nominees page. This year there are 4 seats open on the PSF Board. You can see who is currently on the board on the PSF Officers & Directors page. (Dawn Wages, Jannis Leidel, Kushal Das, and Simon Willison are at the end of their current terms.) 

Board Election Timeline:

  • Nominations open: Tuesday, July 29th, 2:00 pm UTC
  • Nomination cut-off: Tuesday, August 12th, 2:00 pm UTC
  • Announce candidates: Thursday, August 14th
  • Voter affirmation cut-off: Tuesday, August 26th, 2:00 pm UTC
  • Voting start date: Tuesday, September 2nd, 2:00 pm UTC
  • Voting end date: Tuesday, September 16th, 2:00 pm UTC

Not sure what UTC is for you locally? Check this time converter

Reminder to affirm your intention to vote!

If you wish to vote in this year’s election, you must affirm your intention to vote no later than Tuesday, August 26th, 2:00 pm UTC, to participate in this year’s election. This year’s Board Election vote begins Tuesday, September 2nd, 2:00 pm UTC, and closes on Tuesday, September 16th, 2:00 pm UTC. 


Every PSF Voting Member (Supporting, Contributing, and Fellow) needs to affirm their membership to vote in this year’s election. You should have received an email from "psf@psfmember.org <Python Software Foundation>" with the subject "[Action Required] Affirm your PSF Membership voting intention for 2025 PSF Board Election" that contains information on how to affirm your voting status. 

Find more information, including step-by-step instructions on voting affirmation, in our  ‘Affirm Your PSF Membership Voting Status” blog post. If you run into any issues, please email psf-elections@pyfound.org.

Voting: what to expect

If you are a voting member of the PSF that affirmed your intention to participate in this year’s election, you will receive an email from “OpaVote Voting Link <noreply@opavote.com>” with your ballot, the subject line will read “Python Software Foundation Board of Directors Election 2025” on September 2nd. If you don’t receive a ballot as expected, please first check your spam folder for a message from “noreply@opavote.com”. If you don’t see anything get in touch by emailing psf-elections@pyfound.org so we can look into your account and make sure we have the most up-to-date email for you.


If you have questions about your membership status or the election, please email psf-elections@pyfound.org. You are welcome to join the discussion about the 2025 PSF Board election on the Python Discuss forum.

Friday, August 08, 2025

Announcing Python Software Foundation Fellow Members for Q2 2025! 🎉

The PSF is pleased to announce its second batch of PSF Fellows for 2025! Let us welcome the new PSF Fellows for Q2! The following people continue to do amazing things for the Python community:

Hamdalah Adetunji

LinkedIn

Laís Carvalho

Mark Smith

Website, LinkedIn, Mastodon, Bluesky, GitHub 

Will McGugan

Blog, X (Twitter), Mastodon, GitHub 

Thank you for your continued contributions. We have added you to our Fellows Roster.

The above members help support the Python ecosystem by being phenomenal leaders, sustaining the growth of the Python scientific community, maintaining virtual Python communities, maintaining Python libraries, creating educational material, organizing Python events and conferences, starting Python communities in local regions, and overall being great mentors in our community. Each of them continues to help make Python more accessible around the world. To learn more about the new Fellow members, check out their links above.

Let's continue recognizing Pythonistas all over the world for their impact on our community. The criteria for Fellow members is available on our PSF Fellow Membership page. If you would like to nominate someone to be a PSF Fellow, please send a description of their Python accomplishments and their email address to psf-fellow at python.org. Quarter 3 nominations will be in review soon. We are accepting nominations for Quarter 3 of 2025 through August 20th, 2025.

Are you a PSF Fellow and want to help the Work Group review nominations? Contact us at psf-fellow at python.org.

Thursday, August 07, 2025

Unmasking Phantom Dependencies with Software Bill-of-Materials as Ecosystem Neutral Metadata

The Python Software Foundation Security Developer-in-Residence, Seth Larson, published a new white paper with Alpha-Omega about the work to solve the "Phantom Dependency" problem. The white paper details the approach, challenges, and insights into the creation and acceptance of PEP 770 and adopting Software Bill-of-Materials (SBOMs) to improve the measurability of Python packages. 

This work means that automated systems like vulnerability scanners, compliance, and policy tools will provide accurate results, even in complicated software composition and dependency graphs that are common for scientific computing, performance-critical workloads, and artificial intelligence.

Critical projects like numpy, cryptography, and pip are already evaluating adopting PEP 770 and providing cross-ecosystem dependency information through the use of SBOMs.

The Security Developer-in-Residence position is sponsored by Alpha-Omega. If you'd like to support improving Python at the ecosystem-scale contact sponsors@python.org to discuss sponsoring a Developer-in-Residence position.

Tuesday, August 05, 2025

The PSF has paused our Grants Program

TL;DR:

Effective August 1st, 2025, the PSF is temporarily pausing our Grants Program after reaching our 2025 grant budget cap earlier than expected. We know how important this program is to many in our community and making this decision was difficult. This is a necessary step to protect both the future of the program and the short- and long-term sustainability of the PSF. (If this moves you immediately to donate to the PSF, we welcome your contributions via our donations page).

The PSF Grants Program is paused

As we shared in December 2024 (specifically, part 3), the PSF implemented changes to the Grants Program in March 2025 in an effort to ensure the sustainability of the program and the foundation. PSF Staff have been checking in quarterly on our award expenditure, and at the end of Q1, we were on track. When PSF Staff reviewed approved grant awards at the end of Q2, however, we had granted close to 80% of the 2025 grant budget. The grant applications received so far through July exceed the budget ceiling. 

What does this mean? The PSF Board has voted to implement a pause, effective August 1st, 2025, on the PSF Grants Program. The PSF Board and Staff explored our options thoroughly before coming to this tough, and frankly painful, decision as we deeply understand how important the grants program is to the Python community. 

Everyone at the PSF is constantly amazed and impressed with the creativity, drive, and ingenuity of the Python community. Supporting the community’s success with our Grants Program is at the heart of our mission—and it brings so much joy to the PSF Board, our small but mighty team of staff, and the wonderful folks in our Work Groups. We are heartbroken to have to pause that work and we know this will be challenging and create more difficult decisions in turn for the many community groups that had planned to apply for the grants program. 

We will be distributing the small amount of remaining funds in the 2025 PSF Grants Program budget. To honor the time and energy spent on applications already submitted and in the spirit of equity, any applications that were received before August 1st, 2025 will be granted a uniform percentage of the award amount for which they are eligible. If you have a grant application in the system, you will receive an email from us soon with more information. Please send any urgent inquiries to grants@python.org.

The PSF aims to be as transparent as possible, and we want to have two-way conversations with the community about this change. We are holding an additional PSF Grants Program Office Hour in August on the PSF Discord. We welcome folks to join both or either session:

  • August 13th, 8-9 pm UTC
  • August 19th, 1-2 pm UTC

We also welcome your feedback, particularly how we can support you during this pause, via email to grants@python.org or on the thread we’ve started on discuss.python.org.

How we got here 

 
Since announcing Grants program changes in December 2024, grant requests have grown about 40% over last year. It’s wonderful to see long-time events continue to grow. It’s been equally inspiring to see events being revived as we move further from 2020 and the start of the COVID pandemic, alongside brand-new initiatives from new and seasoned organizers. The PSF loves seeing the growth, but the heart of the issue is that Python and its community continue to grow exponentially, while our funding has not kept pace, and in fact, has decreased.

With Python being the number one language on GitHub and rising steadily on the TIOBE index, it’s no surprise that our community continues to build and grow as well. You can see the TIOBE index shows what the growth of Python looks like over the years, and how much it’s grown in just the past year:
 

By contrast, the PSF’s available resources have decreased over the last three years and are projected to decrease again in 2025 due to increasing PyCon US and foundation costs. Much of the growth shown before 2022 in the chart below comes from grants we received that were restricted funds dedicated to specific staffing and other programs. The result is increasing global community activity against a decreasing pool of available funds. 

For example, 2023 year-end assets were $5.5M with total grants awarded at $677K. The following year, 2024 assets decreased slightly to $4.3M, but grants awarded jumped to $952K. You can see in the graph above how that negatively impacted our assets, a trend that is not sustainable even in the short term. Please check out the PSF’s 2024 Annual Impact Report for more details of our finances and our work.

The PSF Grants Program adjustments implemented earlier this year aimed to reduce total grant award spending while providing a more equitable approach, but the growth in new/revived grant applications outpaced the lowered caps and other limits. As we reviewed Q2 spending, it became clear that the unexpected influx of qualified grant proposals had already almost exhausted the total amount we had budgeted for the full year. 

We’re in this together

The PSF is in a similar position to the many other organizations and NGOs (and all of our volunteer conference and meetup organizers!) trying to support the Python community and foundation while faced with inflation, lower sponsorship, economic pressure in the tech sector, and global/local uncertainty and conflict. 

Last year, the PyCon US blog explained that PyCon US 2024 generated a significant loss; losses from PyCon US are paid for by PSF general funds that are also the financial source for the PSF Grants programs. For many years, PyCon US created a surplus used to fund Grants, PSF staff, and other programs. Based on the current numbers for PyCon US 2025, the PSF will need to fund another loss. Many factors including the lower-than-budgeted attendance, higher location costs, and the current economic and political situation contributed to the loss despite incredible efforts by staff and volunteers to control costs. 

What’s the solution?

In an ideal world, we wouldn’t need to pause the Grants Program and would instead be granting even MORE awards to our inspiring community. And while that’s not currently the case, we do think you can help us unpause the grants program and fund the PSF’s other work. The PSF needs more support and resources from the corporations that are built on and making revenue from Python. As a community, let’s ask corporations to step up and sustain the health of the community and programming language they rely on. The AI sector, for example, relies heavily on Python and is mostly untapped for the PSF, PyCon US, and our entire community. If you have potential sponsorship connections (in AI or otherwise) we welcome you to send us leads or connect us via sponsors@python.org. 

The PSF is ever grateful for our sponsors, past and current, and we do everything we can to make their sponsorships beneficial and rewarding. PSF Staff also work hard to make those sponsorship dollars stretch as far as they can. Frankly, the PSF simply needs more sponsorship to continue to support the astonishing growth of Python and its community.

The PSF is also incredibly grateful for our individual donors and PSF members. We truly couldn’t do this without you. If you’re inspired to help because of this post, we urge you to ask your employers to sponsor the PSF. Send them the PSF’s sponsorship page! We know times are financially challenging for everyone, but if you’re feeling very inspired and in a position to donate, we welcome your contributions via the PSF’s donation page. You can also join us as a PSF Supporting Member (a sliding scale is also available!), to invest in the future of Python and its community.

Some additional context

As PSF Staff reviewed the Q2 numbers for the Grants Program, we found the following:

  • Revived events. 10 out of the 75 (or about 13%) grants applications we’ve received in 2025 are for “revived” grant applications for events that weren’t run in 2024 (including one that hasn’t been run since 2015, whoa!).
  • Net new applications. 19 out of the 75 (or about 25%) grant applications we’ve received in 2025 are for totally new events and initiatives. While we did expect some growth, this is tremendous!
  • Earlier applications. We encouraged folks to apply earlier—and you did, thank you! We weren’t expecting this level of awarding by mid-year. We also expect that to continue, so we can now plan better for that in the future.
  • Higher $$ requests. Across all returning applications the amount being requested is about 13% higher than in years previous. 

While we expected more interest from the community in the PSF grants program, the amount of growth far exceeded our expectations. 

What’s next?

The PSF is working on our strategy to balance support for the worldwide Python community and funding constraints, now and in the future. The unknown and rapidly growing number of new Python events and initiatives—combined with the ongoing needs of existing events and organizations that have historically relied on the PSF Grants Program—is challenging to manage sustainably on a rolling application basis.

So, here’s our plan:

  • First, the PSF Board will continue to refine the grant program’s guiding principles and how they translate into program policy. 
  • From there, PSF Staff will research, plan, and implement a quarterly review and awarding approach for the PSF Grants Program to provide an equitable and financially sustainable process.

Moving to a quarterly review process from the rolling approval process the Grants Program currently uses will be a big change! We will do our best to implement processes that work well for the community, the Grants Workgroup, and PSF Staff. 

Even with our best efforts, we acknowledge that there will be learning opportunities around moving to a quarterly review and most likely a series of adjustments ahead of us to get things working smoothly. Your feedback as grant applicants and recipients will be extremely helpful as we take on this journey. During this process, we will determine on what timeline we can re-open the Grants Program. You can expect updates from us on the future of the PSF Grants Program in early 2026.

Thursday, July 24, 2025

PSF Board Election Nominations Opening July 29th

This year’s PSF Board Election nomination period opens next week on Tuesday, July 29th, 2:00 pm UTC and closes on Tuesday, August 12th, 2:00 pm UTC. Who runs for the board? People who care about the Python community, who want to see it flourish and grow, and also have a few hours a month to attend regular meetings, serve on committees, participate in conversations, and promote the Python community. 

This year, there are 4 seats open on the PSF Board. Check out who is currently on the PSF Board on our website. (Dawn Wages, Jannis Leidel, Kushal Das, and Simon Willison are at the end of their current terms.) Check out the following resources to learn more about the PSF, as well as what being a part of the PSF Board entails:

Board Election Timeline

  • Nominations open: Tuesday, July 29th, 2:00 pm UTC
  • Nomination cut-off: Tuesday, August 12th, 2:00 pm UTC
  • Announce candidates: Thursday, August 14th
  • Voter affirmation cut-off: Tuesday, August 26th, 2:00 pm UTC
  • Voting start date: Tuesday, September 2nd, 2:00 pm UTC
  • Voting end date: Tuesday, September 16th, 2:00 pm UTC

Not sure what UTC is for you locally? Check this UTC time converter!

Nomination details

You can nominate yourself or someone else. We encourage you to reach out to people before you nominate them to ensure they are enthusiastic about the potential of joining the Board. 

To submit a nomination for yourself or someone else, use the 2025 PSF Board Election Nomination Form on our website. The nomination form opens on Tuesday, July 29th, 2:00 pm UTC and closes on Tuesday, August 12th, 2:00 pm UTC.

To support potential candidates and nominators, the 2025 PSF Board Election team has created a nomination resource (embedded below). It includes tips, formatting instructions, and guidance on what to include in a nomination. The goal is to help nominees understand what to expect and ensure that all candidates are provided the same clear and consistent standards. 

Voting Reminder!

Every PSF Voting Member (Supporting, Contributing, and Fellow) needs to affirm their membership to vote in this year’s election. You should have received an email from "psf@psfmember.org <Python Software Foundation>" with the subject "[Action Required] Affirm your PSF Membership voting intention for 2025 PSF Board Election" that contains information on how to affirm your voting status. 

You can see your membership record and status on your PSF Member User Information page. If you are a voting-eligible member and do not already have a login, please create an account on psfmember.org first and then email psf-elections@python.org so we can link your membership to your account. 

Wednesday, July 16, 2025

Affirm Your PSF Membership Voting Status

Every PSF voting-eligible Member (Supporting, Contributing, and Fellow) needs to affirm their membership to vote in this year’s election.

If you wish to vote in this year’s PSF Board election, you must affirm your intention to vote no later than Tuesday, August 26th, 2:00 pm UTC. This year’s Board Election vote begins Tuesday, September 2nd, 2:00 pm UTC, and closes on Tuesday, September 16th, 2:00 pm UTC.

You should have received an email from "psf@psfmember.org <Python Software Foundation>" with the subject "[Action Required] Affirm your PSF Membership voting intention for 2025 PSF Board Election" that contains information on how to affirm your voting status. If you were expecting to receive the email but have not (make sure to check your spam!), please email psf-elections@pyfound.org, and we’ll assist you. Please note: If you opted out of emails related to your membership, you did not receive this email. 

Need to check your membership status?

Log on to psfmember.org and visit your PSF Member User Information page to see your membership record and status. If you are a voting-eligible member (active Supporting, Contributing, and Fellow members of the PSF) and do not already have a login, please create an account on psfmember.org and then email psf-elections@pyfound.org so we can link your membership to your account. Please ensure you have an account linked to your membership so that we can have the most up-to-date contact information for you in the future. 

How to affirm your intention to vote 

You can affirm your voting intention by following the steps in our video tutorial:

  • Log in to psfmember.org
  • Check your eligibility to vote (You must be a Contributing, Supporting, or Fellow member) 
  • Choose “Voting Affirmation” at the top right
  • Select your preferred intention for voting in 2025
  • Click the “Submit” button 

PSF Bylaws

Section 4.2 of the PSF Bylaws requires that “Members of any membership class with voting rights must affirm each year to the corporation in writing that such member intends to be a voting member for such year.”

Our motivation is to ensure that our elections can meet quorum as required by Section 3.9 of our bylaws. As our membership has grown, we have seen that an increasing number of Contributing and Fellow members with indefinite membership do not engage with our annual election, making quorum difficult to reach. 

An election that does not reach quorum is invalid. This would cause the whole voting process to be re-held, resulting in fewer voters and an undue amount of effort on the part of PSF Staff.

Recent updates to membership and voting

If you were formerly a Managing member, your membership has been updated to Contributing as of June 25th, 2025, per last year’s Bylaw change that merged Managing and Contributing memberships

Per another recent Bylaw change that allows for simplifying the voter affirmation process by treating past voting activity as intent to continue voting, if you voted last year, you will automatically be added to the 2025 voter roll. Please note: If you removed or changed your email on psfmember.org, you may not automatically be added to this year's voter roll. 

What happens next?

You’ll get an email from OpaVote with a ballot on or right before September 2nd, and then you can vote!

Check out our PSF Membership page to learn more. If you have questions about membership, nominations, or this year’s Board election, please email psf-elections@pyfound.org or join the PSF Discord for the upcoming Board Office Hours on August 12th, 9 PM UTC. You are also welcome to join the discussion about the PSF Board election on our forum.

Tuesday, July 08, 2025

Notice of Python Software Foundation Bylaws Change - Effective July 23, 2025

This post serves as notice that the Board of the Python Software Foundation has resolved to amend the Bylaws, effective July 23, 2025, to remove a condition of the Bylaws that would prevent the Foundation from complying with data privacy laws including those in effect in the European Union, the United Kingdom, and the State of California.

Section 3.8 of the Bylaws grants Voting Members the right to request the list of Voting Members’ names and email addresses. As written, this data must be given unconditionally, which would violate the previously mentioned laws. The amendment we are making grants the Foundation the ability to place conditions upon the use of that list in a way that allows us to comply with data privacy laws.

The full change can be found at https://github.com/psf/bylaws/pull/7/files

The Board determined that this change was time-sensitive and chose to amend the Bylaws without prior consultation with Voting Members. We greatly value the input of our membership in the governance of the Foundation. Therefore, we have opted to make only the most minimal change that will enable the Foundation to comply with data privacy laws and protect our members, while preserving the spirit of the text that the membership agreed to when adopting these Bylaws.

A future Bylaws update will be offered to the membership at a future election. As we are less than 3 months from the 2025 Board election, we are targeting the 2026 Board election to allow the membership to discuss further amendments for the membership to vote upon.

Thanks,

The Python Software Foundation Board

Wednesday, July 02, 2025

Thinking about running for the PSF Board? Let’s talk!

PSF Board elections are a chance for the community to choose representatives to help the PSF create a vision for and build the future of the Python community. This year, there are 4 seats open on the PSF Board. Check out who is currently on the PSF Board on our website. (Dawn Wages, Jannis Leidel, Kushal Das, and Simon Willison are at the end of their current terms.)

Office Hours Information

This year, the PSF Board is dedicating a few of their regular Office Hour sessions on the PSF Discord to the topic of the election. This is your chance to connect with current board members to ask questions and learn more about what being a part of the Board entails. 

The two upcoming Office Hour sessions will be dedicated to the topic of the election:

We welcome you to join the PSF Discord to participate in Office Hours. The server is moderated by PSF Staff and locked between office hours sessions. If you’re new to Discord, check out some Discord Basics to help you get started. 

Who runs for the Board?

Who runs for the board? People who care about the Python community, who want to see it flourish and grow, and also have a few hours a month to attend regular meetings, serve on committees, participate in conversations, and promote the Python community. Want to learn more about being on the PSF Board? Check out the following resources to learn more about the PSF, as well as what being a part of the PSF Board entails:

Nomination info

You can nominate yourself or someone else. We encourage you to reach out to people before you nominate them to ensure they are enthusiastic about the potential of joining the Board. Nominations open on Tuesday, July 29th, 2:00 pm UTC, so you have a few weeks to research the role and craft a nomination statement. The nomination period ends on Tuesday, August 12th, 2:00 pm UTC. There will be a 'call for nominations' blog post with more information and resources about nominations coming soon. 

Tuesday, June 17, 2025

The PSF's 2024 Annual Impact Report is here!

2024 was another remarkable year of growth for the Python Software Foundation! Python became the most popular language on GitHub, and worldwide community engagement was at an all-time high. We expanded our impact by welcoming our inaugural PyPI Support Specialist, Maria Ashna, the revival of the User Success and Education and Outreach Workgroups, and continued investment in grants, infrastructure, and accessibility. We’ve captured some of the key numbers, details, and information in our latest Annual Impact Report

Some highlights of what you’ll find in the report include:

  • A letter from our Executive Director, Deb Nicholson
  • Notes from our PyCon US 2025 Chair and Co-Chair, Elaine Wong and Jon Bonafato, and PSF Board of Directors Chair, Dawn Wages
  • Updates on the achievements and activities of our Developers-in-Residence: Łukasz Langa, Petr Vicktorin, Serhiy Storchaka, and Seth Larson
  • An overview of PyPI in 2024, including:
    • Impressive and ever-growing stats
    • An overview of the work and accomplishments of our PyPI Safety & Security Engineer, Mike Fiedler
  • A celebration and summary of PyCon US 2024
  • A highlight of our 20 amazing Fiscal Sponsorees 
  • Sponsors who generously supported our work and the Python ecosystem
  • An overview of PSF Financials, including a consolidated financial statement and grants data 

We hope you check out the report, share it with your Python friends, and let us know what you think! Find us on social media (Mastodon, Bluesky, X, LinkedIn), or share your thoughts on the Python Discuss thread. 

Thursday, June 12, 2025

2025 PSF Board Election Schedule

The PSF Board elections are a chance for the community to choose representatives to help the Python Software Foundation create a vision for and build the future of the Python community. This year, there are 4 seats open on the PSF Board. Check out who is currently on the board on the PSF's website. (Dawn Wages, Jannis Leidel, Kushal Das, and Simon Willison are at the end of their current terms.) As we previously shared, the Board election will take place a little later this year to better serve our community and ease pressure on PSF Staff. 

Board Election Timeline

  • Nominations open: Tuesday, July 29th, 2:00 pm UTC
  • Nomination cut-off: Tuesday, August 12th, 2:00 pm UTC
  • Announce candidates: Thursday, August 14th
  • Voter affirmation cut-off: Tuesday, August 26th, 2:00 pm UTC
  • Voting start date: Tuesday, September 2nd, 2:00 pm UTC
  • Voting end date: Tuesday, September 16th, 2:00 pm UTC

Voting 

You must be a Contributing, Supporting, or Fellow member by August 26th and affirm your intention to vote to participate in this election. If you are currently a Managing member, you will receive a communication soon notifying you that your membership type will be changed to Contributing per last year’s Bylaw change that merged Managing and Contributing memberships

Check out the PSF membership page to learn more about membership classes and benefits. You can affirm your voting intention by following the steps in our video tutorial:

  • Log in to psfmember.org
  • Check your eligibility to vote (You must be a Contributing, Supporting, or Fellow member) 
  • Choose “Voting Affirmation” at the top right
  • Select your preferred intention for voting in 2025
  • Click the “Submit” button

Per another recent Bylaw change that allows for simplifying the voter affirmation process by treating past voting activity as intent to continue voting, if you cast your ballot last year, you will automatically be added to the 2025 voter roll. Please note that if you removed or changed your email on psfmember.org, you may not automatically be added to this year's voter roll. 

If you have questions about membership, please email psf-elections@pyfound.org.

Run for the Board

Who runs for the board? People who care about the Python community, who want to see it flourish and grow, and also have a few hours a month to attend regular meetings, serve on committees, participate in conversations, and promote the Python community. Want to learn more about being on the PSF Board? Check out the following resources to learn more about the PSF, as well as what being a part of the PSF Board entails:

You can nominate yourself or someone else. We would encourage you to reach out to folks before you nominate them to make sure they are enthusiastic about the potential of joining the Board. Nominations open on Tuesday, July 29th, 2:00 pm UTC, so you have time to talk with potential nominees, research the role, and craft a nomination statement for yourself or others. Take a look at last year’s nomination statements for reference. 

Learn more and join the discussion

You are welcome to join the discussion about the PSF Board election on the Discuss forum. This year, we’ll also be hosting PSF Board Office Hours on the PSF Discord in July and August to answer questions about running for and serving on the board. Subscribe to the PSF blog or, if you're a member, join the psf-member-announce mailing list to receive updates leading up to the election.

The Python Language Summit 2025

The Python Language Summit 2025 occurred on May 14th in Pittsburgh, Pennsylvania. Core developers and special guests from around the world gathered in one room for an entire day of presentations and discussions about the future of the Python programming language.

The summit was organized by Emily Morehouse and Łukasz Langa, and blog posts were written by Seth Larson. Thanks to Marie Nordin, the Community Communications Manager at the Python Software Foundation, for reviewing and editing the blog posts.

This year’s set of presentations was heavily themed towards the new "free-threading" work, featuring multiple discussions about contention, concurrency, and governance.

Attendees of the Python Language Summit 2025


Please enjoy the blog posts about each topic below:




The Python Language Summit 2025: How can we make Breaking Changes Less Painful?

The first talk of the Python Language Summit was delivered by Itamar Oren. Itamar has plenty of experience at Meta deploying massive amounts of Python code to production. Itamar’s presentation focused on how Python core developers might make upgrades to Python versions smoother for users in the face of breaking changes to the language and standard library. Itamar shared that “not all breaking changes are equal” and suggested adopting a taxonomy of breaking changes and how much and when they would affect users.

Itamar made it clear that he was “not asking [Python core developers] to do fewer breaking changes”, but instead hoped to make breaking changes easier for users to work through during a Python version upgrade.

Users upgrading Python versions need to go through a flowchart for each breaking change:

  • Awareness of breaking changes
  • Finding the affected code
  • Fixing the affected code
  • Verifying fixes are correct

Starting with “Fixing”, Itamar noted that “fixing the code tends to be the easiest step, but easy at scale is still hard” and that fixing was easiest when you know where to do the fix. This was especially straightforward if the fix only used builtins or the standard library, noting that needing to take on new dependencies like packages on PyPI for removed modules was much more difficult.

“Migration guides are great, let’s do more of them”, Itamar said while thanking Barry for the imp module migration guide. Itamar called out a few suggestions for would-be migration guide authors, such as making the guide comprehensive for all removed APIs and providing an indication “whether an API is a drop-in equivalent or requires further changes”. Itamar gave the example of imp.load_module() versus importlib.import_module(), which was recommended in the migration guide but had different function signatures and couldn’t accomplish the same tasks.

Itamar noted the difficulty in finding the documentation for deprecated and removed modules because, after a module is removed, its corresponding documentation on docs.python.org is also removed for that version. Carol Willing noted that the documentation team has been working on fixing the documentation removal issue for the “past 3 months”.

Finding code that’s affected by breaking changes was the toughest challenge, as breaking changes all had different “findability” metrics ranging between “easy" and "virtually impossible”. The easiest breaking changes to find in massive codebases are statically discoverable, such as being able to parse Python source code using an Abstract Syntax Tree (AST) or regular expressions to quickly hone in on problematic code.

The next easiest class of breaking changes to find are those that manifest at “build time”, which, since Python is an interpreted language, build time is equivalent to when PYC files are compiled. Itamar noted that “real code has good coverage for these issues”, like errors that happen on import time. The example noted for this type of breaking change was the accidental dataclasses mutables change in 3.12.

The most difficult class of breaking changes manifest during runtime, such as failures that depend on type or value information for parameters. These breaking changes are most likely to cause production outages because whether you find the affected code or not is dependent on type checking and test failures, which can be “highly variable”.

Itamar finished the presentation with a handful of suggestions for core developers on how to improve the backwards-incompatible change process. These suggestions included creating a taxonomy for breaking changes in terms of discoverability and fixability, and suggesting tools for automatically fixing backwards incompatible changes during upgrades. Ruff was suggested as a potential tool for applying these automatic fixes.

Discussion

Eric Smith spoke about the dataclasses mutability change, noting that he and Raymond Hettinger had made the change and “didn’t recall getting any feedback until we released it, at which point we couldn’t fix it”. Eric wasn’t sure what he could have done for that specific case, but “thought that we are getting better at people using new versions during the beta period”. Eric also lamented that the change “would have been backed out had [he] known about the breakage”. Itamar suggested that core developers might collaborate with companies with large codebases for testing changes when core developers aren’t sure about compatibility.

Alex Waygood spoke about maintaining the typing-extensions project, which suffered from backwards compatibility issues, noting that “not many projects pin typing-extensions”, meaning the subtle changes end up breaking in surprising ways. Notably, typing-extensions broke Pydantic in the past, which caused problems for typing-extensions maintainers. Alex offered that “running the test suites of several large packages that depend on [typing-extensions] has helped catch many changes that weren’t expected to be backwards incompatible”, adding that “it would be great if there were an easier way to run the test suite of other projects”.

Carol Willing suggested working on making Python pre-releases easier to run using Continuous Integration (CI) and that this approach had been “successful” for scientific Python projects for finding and fixing breaking changes ahead of when the changes start affecting users. Itamar concurred, saying his “dream is to run global testing against [Python main branch] on a daily basis” but that this dream was “currently impossible” due to third-party dependencies. Pradyun Gedam noted that the idea of “ecosystem tests” had been discussed on the Packaging Discourse.