Python Software Foundation revenue: $4,086,997 in 2024, and two statements that disagree
The PSF reported revenue of $4,086,997 for 2024 against expenses of $5,765,854. Its own annual report shows $4,293,000 and puts the money in opposite buckets. Unrestricted reserves are down 46.7% in two years, the public support percentage moved 26 points on one vanished line, and Sub-Saharan Africa has overtaken Europe as its largest grant region.
In this story
Quick answer. The Python Software Foundation reported total revenue of $4,086,997 for the year ended December 31, 2024, against total expenses of $5,765,854, a shortfall of $1,678,857. For 2023 the same figures were revenue $4,173,023, expenses $4,336,478 and a shortfall of $163,455. Net assets fell from $4,701,775 to $3,386,207. All figures are taken from the PSF's filed Form 990 returns for tax years 2023 and 2024 (EIN 04-3594598).
That is the number the IRS has. The Python Software Foundation also publishes its own financial statement for 2024, and it says something different: total revenue of $4,293,000 and a net loss of $1,462,000. Neither document is wrong. They are built on different bases, and the difference between them is the most interesting thing in either.
This piece reconciles the two, then goes through the parts of the 2024 return that no summary of PSF finances currently covers: a public support percentage that moved twenty six points in a single year, a $351,615 restatement with no stated reason, and a grant map in which Sub-Saharan Africa quietly became the foundation's largest overseas region.
The two statements, side by side
The PSF's 2024 Annual Impact Report carries a page headed "PSF Financials 2023-2024", subtitled CONSOLIDATED FINANCIAL STATEMENT and annotated, in the foundation's own words, "Excludes in-kind revenue & expense ($ in thousands)". Here is that statement set against the Form 990 for the identical twelve months.
Scroll to see more
| Line | Annual Report ($000) | Form 990 ($) | Form 990 ($000) | Gap ($000) |
|---|---|---|---|---|
| Total revenue | 4,293 | 4,086,997 | 4,087 | +206 |
| Total expenses | 5,755 | 5,765,854 | 5,766 | -11 |
| Net income | -1,462 | -1,678,857 | -1,679 | +217 |
| Total assets | 4,256 | 4,257,720 | 4,258 | -2 |
| Total liabilities | 806 | 871,513 | 872 | -66 |
| Total net assets | 3,450 | 3,386,207 | 3,386 | +64 |
| Accounts receivable | 444 | 444,351 | 444 | 0 |
| Accounts payable | 164 | 164,020 | 164 | 0 |
Two lines match exactly at the report's own precision. Accounts receivable is $444,351 on the return and $444 thousand in the report. Accounts payable is $164,020 and $164 thousand. Total assets differ by about two thousand dollars. These are plainly the same entity and the same year, and the balance sheet is close to identical.
The revenue composition is not.
Scroll to see more
| Revenue component | Annual Report ($000) | Form 990 ($000) |
|---|---|---|
| Program service revenue | 3,137 | 1,276 |
| Contributions, membership dues and grants | 1,077 | 2,759 |
| Other revenue | 79 | -24 |
The two documents place roughly the same total revenue in opposite buckets. The report says program service revenue is about seventy three per cent of the total. The return says contributions are 67.5 per cent of it. One organisation, one year, two descriptions of where the money came from that point in opposite directions.
What the return says, line by line. Part VIII of the 2024 Form 990 breaks the $4,086,997 down as contributions and grants $2,758,583, program service revenue $1,275,755, investment income $83,523, net income from fundraising events minus $37,517, and other revenue $6,653. Those five figures sum to $4,086,997 exactly. The program service revenue is itself only two lines: one labelled "PyCon US 2025 Revenue" at $1,125,137, and one labelled "Fiscal sponsoree revenue" at $150,618.
Two readings, and I am not going to pick one. The first is that the report's two revenue labels are transposed relative to the return. That reading works well for 2023, where the report's "Program Service Revenue" of $2,827 thousand sits close to the return's contributions of $2,902,099, and the report's contributions line of $1,135 thousand sits within seven thousand dollars of the return's program service revenue of $1,128,603. It works much less well for 2024, where the same pairing leaves gaps of $378 thousand and $198 thousand. The second reading is that the word CONSOLIDATED is doing real work: the PSF acts as a fiscal sponsor, the return recognises only $150,618 of fiscal sponsoree revenue while the report's own expense chart assigns $423 thousand of programme spending to fiscal sponsorees, and consolidating those projects would move money between the two lines. The report also states plainly that it excludes in-kind revenue and expense, which the return does not.
The honest position is that the two documents disagree on composition, that the foundation states a different basis for its own statement, and that nothing published by the PSF reconciles the two line by line. I am recording the gap rather than closing it.
The deficit, and what actually caused it
The shortfall widened by a factor of 10.3 in one year, from $163,455 to $1,678,857. It is tempting to read that as a collapse in income. It was not.
Revenue fell 2.1 per cent, from $4,173,023 to $4,086,997. Expenses rose 33.0 per cent, from $4,336,478 to $5,765,854, an increase of $1,429,376. Essentially the entire movement is on the spending side.
Scroll to see more
| Expense line (Form 990, Part IX) | 2023 | 2024 | Change |
|---|---|---|---|
| Conferences and meetings | 1,608,993 | 2,107,949 | +498,956 |
| Salaries, pension, benefits, payroll taxes | 1,423,396 | 1,906,895 | +483,499 |
| Grants and similar amounts | 686,912 | 951,942 | +265,030 |
| Information technology | 337,804 | 457,060 | +119,256 |
| Travel | 139,137 | 135,570 | -3,567 |
Four lines account for essentially all of it. Conferences and meetings alone added $498,956 and is now the single largest expense the foundation has.
Where the money goes
Expressed as shares of the 2024 total, the picture is unusually concentrated for a foundation of this size.
Scroll to see more
| Category | Amount | Share of expenses |
|---|---|---|
| Conferences and meetings | $2,107,949 | 36.56% |
| Salaries, benefits and payroll taxes | $1,906,895 | 33.07% |
| Grants and similar amounts | $951,942 | 16.51% |
| Information technology | $457,060 | 7.93% |
| Travel | $135,570 | 2.35% |
| All other lines combined | $206,438 | 3.58% |
| Total | $5,765,854 | 100.00% |
Roughly seven dollars in ten go to running a conference and paying staff. The functional split the return reports is $4,944,261 to programme services (85.75%), $604,331 to management and general (10.48%) and $217,262 to fundraising (3.77%).
The PSF's own report puts a finer point on the conference line. Its 2024 expenses-by-category chart assigns $2,491 thousand, or 50.4 per cent of programme service expenses, to PyCon US alone, with grants at $640 thousand (12.9%), packaging work group, infrastructure and other at $1,337 thousand (27.1%), fiscal sponsorees at $423 thousand (8.6%), code of conduct at $35 thousand (0.7%) and community awards at $15 thousand (0.3%). That chart is internally sound: the six amounts sum to $4,941 thousand, which is exactly the programme service expense total printed beside it, and the six percentages sum to 100.0.
There is a smaller line worth noticing because it moved the wrong way. The PSF runs a fundraising auction with PyLadies. In 2023 it grossed $51,938, of which $28,159 was treated as a charitable contribution, leaving gross revenue of $23,779 against direct expenses of $23,779: a net result of exactly zero. In 2024 the event (which the return labels "PYLADIES AUCTION 2025") grossed $69,610, of which $55,286 was treated as a charitable contribution, leaving gross revenue of $14,324 against direct expenses of $51,841, including $30,985 of food and beverage. The net line is minus $37,517. It is a small number against a $1.68 million shortfall, but it is the reason the return's "other revenue" total is negative, and it is the line my own first extraction missed.
The reserve, split three ways
Net assets of $3,386,207 against expenses of $5,765,854 works out at $15,796.86 of spending a day and 214.4 days of cover. That is the headline figure, and on its own it is comfortable.
It is also the least useful of the three ways to state it, because $1,701,946 of those net assets carry donor restrictions. Stripping them out leaves $1,684,261 of unrestricted net assets, which is 106.6 days. Counting instead the liquid assets the foundation actually holds, cash of $706,586 plus savings and temporary cash investments of $2,963,807, gives $3,670,393 and 232.3 days.
The trend under the headline is sharper than the headline. Unrestricted net assets were $3,157,967 at the start of 2023 and $1,684,261 at the end of 2024, a fall of 46.7 per cent in two years. Total net assets over the same span fell 29.4 per cent. The restricted half of the balance sheet has been far more stable than the half the foundation can spend at will.
The liabilities are not a warning sign, and it is worth saying so. Total liabilities are $871,513, of which $707,407, or 81.2 per cent, is deferred revenue, up 27.9 per cent on the year. Deferred revenue at a conference organiser is next year's registrations and sponsorships collected in advance: a forward order book, not debt. Accounts payable is $164,020 and grants payable is $86. There is no borrowing on the balance sheet at all, and the interest line in Part IX is zero.
The return explains the reserve policy in its own words in Schedule O, against Part X line 2: "The Python Software Foundation (PSF) aims to maintain cash reserves to offset the risk of lower-than-expected attendance at PyCon or fluctuations in individual and corporate giving patterns."
The twenty six point move nobody mentions
Schedule A is the part of the return that decides whether an organisation still qualifies as a publicly supported charity rather than a private foundation. It computes a public support percentage over a rolling five year window.
The PSF's figure went from 71.849 per cent in the 2023 return to 98.187 per cent in the 2024 return. That is a swing of 26.338 percentage points in one filing.
Almost none of it came from the gifts. The five year contribution totals are $13,763,377 and $13,677,061, barely a difference. The move is a single line.
Schedule A Part II line 5 deducts, from total contributions, the portion of each donor's giving that exceeds two per cent of total support. In the 2023 return that deduction is $3,727,033. In the 2024 return the element is not present at all. Total support is $13,929,660, so the two per cent threshold is $278,593.
The arithmetic confirms it exactly both ways. For 2023, $13,763,377 minus $3,727,033 gives $10,036,344, which is the printed public support figure, and $10,036,344 divided by $13,968,573 is 0.71849, the printed percentage to five decimal places. For 2024, no deduction is taken, $13,677,061 divided by $13,929,660 is 0.98187, again matching to five decimal places.
Both readings again. One is substantive: under the 2020 to 2024 window no individual donor's five year giving exceeded $278,593, where under the 2019 to 2023 window donors collectively exceeded the threshold by $3.7 million. The other is clerical: the line was simply not completed this time. The return offers nothing that distinguishes them, and I am not going to guess.
What is worth stating plainly, because a twenty six point move invites alarm it does not deserve, is that nothing here threatens the PSF's status. The test is 33.33 per cent. At 71.849 per cent the foundation cleared it comfortably; at 98.187 per cent it clears it comfortably. The 2023 return ticks the prior year box and the 2024 return ticks the current year box. Both pass.
$351,615, and a line that does not ask for an explanation
The 2024 return restates the opening position. Part XI line 8, "Prior period adjustments", carries $351,615. The 2023 return carries zero on the same line.
Both years' reconciliations foot perfectly. For 2024: opening net assets $4,701,775, less the $1,678,857 shortfall, plus $11,674 of donated services and use of facilities, plus the $351,615 adjustment, gives $3,386,207, which is the closing figure to the dollar. For 2023 the same walk closes on $4,701,775 with a $71,926 donated services line. Residual in both cases: zero.
I searched the entire 2024 return for any explanation of the $351,615. The string occurs exactly once, on the Part XI line itself. There is no Schedule O entry for Part XI, and the phrase "prior period" appears nowhere in the document.
That is not a compliance failure, and the form is the reason. Reading the official Form 990 rather than relying on memory, line 9 is "Other changes in net assets or fund balances (explain on Schedule O)" and line 8 is "Prior period adjustments" with no such instruction. The PSF put the money on line 8, which requires no narrative, and reported zero on line 9, which would have required one. It is entitled to do exactly that.
The observation worth keeping is the shape of it: the line that carries a third of a million dollars of restatement is the line the form does not ask you to explain, and the line that would have demanded an explanation is empty.
The grant map, and the region that overtook Europe
The PSF gave away $951,942 in 2024: $64,964 to domestic organisations, $378,029 to domestic individuals and $508,949 abroad. Schedule F breaks the overseas half down by region, and the ranking changed.
Scroll to see more
| Region | 2023 | 2024 | Change |
|---|---|---|---|
| Sub-Saharan Africa | $82,124 | $169,788 | +106.7% |
| Europe (including Iceland and Greenland) | $128,760 | $141,105 | +9.6% |
| East Asia and the Pacific | $90,806 | $86,348 | -4.9% |
| South America | $45,471 | $74,465 | +63.8% |
| North America (excluding the United States) | $16,327 | $13,742 | -15.8% |
| South Asia | $551 | $11,289 | +1,949% |
| Central America and the Caribbean | $4,640 | $9,071 | +95.5% |
| Middle East and North Africa | $174 | $201 | +15.5% |
| Russia and Neighboring States | $174 | $172 | -1.1% |
| Total | $369,027 | $506,181 | +37.2% |
Sub-Saharan Africa roughly doubled and is now the largest single region for PSF overseas grantmaking, ahead of Europe. The nine individually listed grants behind that region total $133,410, with the remaining $36,378 sitting below the listing threshold. The largest is not a conference at all: $40,550 to Python Ghana for, in the return's words, "37 user group events, 8 PyLadies events, 2 PyData Meetups, 2 general community events, and a 6-week bootcamp". Then come PyCon Nigeria at $20,000, PyCon Uganda at $19,200, a Cameroon workshop programme at $16,000, the PUG Ho coding bootcamp in Ghana at $11,875, PyCon Zimbabwe and PyCon Niger at $7,500 each, a Niger youth training initiative at $5,535 and a SheDevelopers workshop in Zimbabwe at $5,250.
One small discrepancy, stated because it is real. The nine regions sum to $506,181, while Part IX reports $508,949 of foreign grants, a gap of $2,768. The equivalent check on the 2023 return reconciles exactly at $369,027, so this is not a standing convention of the filing. I could not resolve the $2,768 from the return and am not going to attribute it.
The domestic individual grants are the most human numbers in the document, and they foot exactly to the $378,029 on Part IX:
Scroll to see more
| Grant programme | Recipients | Amount |
|---|---|---|
| PyCon US 2024 travel grants, Pittsburgh | 552 | $297,361 |
| CPython core dev sprints 2024, Bellevue | 19 | $53,088 |
| PyCascades 2024 travel grants, Seattle | 11 | $11,675 |
| Grant for an ASCII art library for Python | 1 | $8,000 |
| Grant for the PyMilo ML streaming project | 1 | $5,200 |
| PyOhio 2024 travel grants, Cleveland | 3 | $1,593 |
| PyLadiesCon 2024 speaker equipment grants | 4 | $612 |
| North Bay Python 2024 travel grant | 1 | $500 |
| Total | 592 | $378,029 |
The PSF paid for 552 people to attend PyCon US in 2024, against 374 the year before, a rise of 47.6 per cent. That single line is the clearest statement of what the conference is for.
Who gets paid
The compensation table has been reordered by the security work.
Scroll to see more
| Person | Role | 2023 | 2024 |
|---|---|---|---|
| Seth Larson | Security Developer-in-Residence | $116,732 | $238,657 |
| Ee Durbin | Director of Infrastructure | $191,529 | $203,105 |
| Mike Fiedler | PyPI Safety and Security Engineer | not listed | $199,219 |
| Loren Crary | Director of Resource Development | $149,697 | $155,120 |
| Deborah Nicholson | Secretary, Executive Director | $154,054 | $145,326 |
| Phyllis Dobbs | Controller | $102,764 | $109,570 |
The executive director is no longer the highest paid person at the foundation; she is fifth, and her reported compensation fell 5.7 per cent. The two highest paid people are a security engineer and the director of infrastructure, and the third is another security engineer. All of this compensation comes from the filing organisation itself: the related-organisation and other-compensation columns are zero for every person listed.
Seth Larson's reported pay rose 104.4 per cent. A part year in 2023 would explain that almost exactly, since $116,732 annualises close to $238,657, but the return does not state a start date and I am not asserting one.
Schedule O explains who pays for these roles, and it is not general donations. Against Part IX line 14 the foundation records that Amazon Web Services funded a third grant for PyPI security work, that the Linux Foundation's OpenSSF Alpha-Omega grant supports both the Security Developer-in-Residence and the PyPI Security Developer-in-Residence, that Meta grants fund the senior CPython Developer-in-Residence and that Bloomberg grants fund the deputy. The foundation's most expensive people are paid for by earmarked corporate grants, which is also why a large share of net assets carries donor restrictions.
The return reports 14 employees for 2024, down from 15, and 1,200 volunteers, up from 1,192. The annual report says "The PSF employs just 13 full-time staffers." Those are not in conflict: the 990 line counts everyone employed during the calendar year, including part year, while the report is counting full-time heads.
What everyone else is telling you
ProPublica Nonprofit Explorer. Accurate, current, and better than I expected. Its page carries revenue $4,086,997, expenses $5,765,854, net income minus $1,678,857 and net assets $3,386,207, every one matching the filing to the dollar, and it even breaks out the negative $37,517 fundraising line and the $6,653 of other revenue. Its public API is a different matter: the machine-readable filings_with_data array still stops at tax year 2023, with the 2024 return sitting in filings_without_data. That web-page-versus-API split is the normal state of this source rather than a fault, but it means anyone building on the API is a year behind the page. The fair verdict is accurate and radically incomplete: it is the Part I and Part VIII summary, with none of Schedule A, the restriction split, the grant geography or the restatement.
Cause IQ. A year behind on its organisation page, which labels the most recent tax filing 2023-12-01 and leads with revenue of $4,173,023 and expenses of $4,336,478. Google's snippet for the same site does show the 2024 comparison, so the data exists somewhere on the domain, but the page a reader lands on is the 2023 one.
Wikipedia. Its infobox still says revenue $3.9 million for 2022. That is correct for 2022 (the return says $3,856,030) and two years stale, given the 2024 return has been public since March 2025. On everything other than the infobox it is good, and better than the aggregators: it carries the 2025 National Science Foundation episode accurately, including that the PSF "ultimately withdrew the application due to a requirement in the terms to refrain from diversity, equity, and inclusion activities".
The PSF's own annual report page. This is the page that ranks first for searches about PSF revenue, and it contains no revenue figure at all. Rendered in a browser it runs to about two thousand characters, with zero occurrences of the words revenue or expense and no dollar amounts anywhere. The financial statement discussed at the top of this piece is real and reasonably detailed, but it is on page 24 of a 28 page PDF that the page links as a download, and that PDF is 29 megabytes.
What happened next
The 2024 return closes on December 31, 2024, so three later events sit outside it and are worth flagging because they change the trajectory the numbers imply.
In 2025 the PSF applied for a $1.5 million National Science Foundation grant and then withdrew the application over a condition in the terms. The precise shape matters: this was an application withdrawn, not an awarded grant refused, so the money was never revenue and would never have appeared in any return. Wikipedia records a surge of support afterwards, with 295 new supporting members paying the $99 annual fee in the first two weeks, and a $1.5 million donation from Anthropic in January 2026.
Set against a 2024 shortfall of $1,678,857 and 106.6 days of unrestricted cover, a $1.5 million gift is close to a full year of the hole. Whether it carries donor restrictions, and how it lands, will show up in the 2026 return, filed some time in 2027.
Check this yourself
Everything above comes from documents anyone can pull without an account.
The filed returns are XML, not PDFs, and they are the authoritative version. The IRS publishes quarterly archives at its Form 990 series downloads page. Each year has an index CSV listing every return with its object identifier; the PSF's 2024 return is object 202533079349302003 in the 2025_TEOS_XML_11B archive, and the 2023 return is object 202403209349326620 in 2024_TEOS_XML_11A. The archives are large (the 2025 one is roughly 495 MB) but an HTTP range request over the ZIP central directory pulls a single 108 KB return out of it in about seventeen kilobytes of transfer.
For line labels, read the official Form 990 rather than trusting a summary. That is how the Part XI line 8 point above was settled.
The comparison points are ProPublica's Nonprofit Explorer entry, the 2024 Annual Impact Report with its financial statement on page 24, and the foundation's own public records page, which states that organising documents and financial records are available on request.
Written by
Joaquin del RioJoaquin del Rio reads primary filings so you do not have to. He writes OperatorBook's revenue desk, tracing the numbers companies and non-profits actually report against the numbers the internet repeats.
Frequently asked questions
How much revenue did the Python Software Foundation have in 2024?
The PSF reported total revenue of $4,086,997 on its 2024 Form 990, against total expenses of $5,765,854, a shortfall of $1,678,857. For 2023 the figures were revenue $4,173,023 and expenses $4,336,478. Net assets fell from $4,701,775 to $3,386,207 over the year.
Why does the PSF annual report show a different revenue number?
The 2024 Annual Impact Report publishes a consolidated statement showing revenue of $4,293,000 and a net loss of $1,462,000, and it states on its face that it excludes in-kind revenue and expense. The balance sheets are close to identical, with accounts receivable and accounts payable matching the return at the report's own precision, but the revenue composition is reversed: the report puts about 73 per cent in program service revenue while the return puts 67.5 per cent in contributions. Nothing published by the PSF reconciles the two line by line.
Where does the Python Software Foundation's money go?
In 2024, conferences and meetings took $2,107,949 (36.56% of expenses), salaries and related costs $1,906,895 (33.07%), grants $951,942 (16.51%), information technology $457,060 (7.93%) and travel $135,570 (2.35%). The functional split was 85.75% to programme services, 10.48% to management and general and 3.77% to fundraising. The PSF's own report attributes $2,491,000, or 50.4 per cent of programme service expenses, to PyCon US alone.
Is the Python Software Foundation in financial trouble?
Not on the 2024 balance sheet, though the trend is real. Net assets of $3,386,207 cover 214.4 days of spending, but only $1,684,261 is unrestricted, which is 106.6 days. Unrestricted net assets fell 46.7 per cent between the start of 2023 and the end of 2024. There is no borrowing at all, and 81.2 per cent of the $871,513 of liabilities is deferred revenue, which is advance conference registration rather than debt.
Why did the PSF public support percentage jump to 98 per cent?
The public support percentage went from 71.849 per cent in the 2023 return to 98.187 per cent in the 2024 return, a swing of 26.338 points. Almost none of it came from the gifts themselves, which barely moved across the five-year window. The entire move is Schedule A Part II line 5, the deduction for contributions exceeding two per cent of total support, which was $3,727,033 in the 2023 return and is absent from the 2024 return. Either no donor crossed the $278,593 threshold, or the line was not completed. The return does not say which, and the foundation passes the 33.33 per cent test comfortably either way.
Did the PSF turn down a $1.5 million grant?
It withdrew an application rather than refusing an award. In 2025 the PSF applied for a $1.5 million National Science Foundation grant and then withdrew the application over a condition in the terms. Because it was never awarded, the money never appeared as revenue in any Form 990. Wikipedia records 295 new supporting members paying the $99 annual fee in the two weeks after the announcement, and a $1.5 million donation from Anthropic in January 2026.
How can I read the PSF's Form 990 myself?
The filed returns are XML and are published by the IRS in quarterly archives at irs.gov. The PSF's 2024 return is object 202533079349302003 in the 2025_TEOS_XML_11B archive and the 2023 return is object 202403209349326620 in 2024_TEOS_XML_11A, both under EIN 04-3594598. ProPublica's Nonprofit Explorer carries the same 2024 summary figures accurately on its web page, though its public API still stops at 2023.
More stories
Signal Foundation revenue was $29,413,537 in 2024, and its net assets went negative
Signal Foundation revenue was $29,413,537 in 2024 against $38,019,696 of expenses, and year-end net assets fell to minus $4,724,975. The Foundation also earned $6,386,666 of licensing fees, owes Brian Acton $33,810,810 against a $105,000,400 note none of which has been repaid, and paid $227,425 of federal income tax in 2023.
Software Freedom Conservancy revenue was USD 3,214,723, and no public source has it
Two of Conservancy's Form 990s are filed with the IRS and published nowhere. Revenue fell to USD 2,487,144 in the year to February 2024 and recovered to USD 3,214,723 in the year to February 2025, while unrestricted reserves more than halved. Three filings, 63 arithmetic checks, and the one dollar that does not reconcile.
Free Software Foundation revenue was $1,362,457 in FY2025, and its own audit says $1,511,523
FSF reported revenue of $1,362,457 for the year ended September 30, 2025 against $1,431,359 of expenses. Its audited statements report $1,511,523 and a surplus. Five Form 990 filings cover three years, two of them amended.