EVE Online starts its move to Python 3
CCP Games has started converting 2.4 million lines of Python. A first scan found that 95.9 percent of files already compile under both versions.
Illustration of a dark server hall with endless rows of racks and blue-violet status lights, created with an AI image generator.
CCP Games shipped the first stage of the Python 2.7 to Python 3 migration to the live Tranquility server on August 25, 2026, but has named no date for the switch itself.
At a glance
- Codebase: about 2.4 million lines of Python across roughly 20,000 files, built up over more than 23 years.
- In the first scan, 95.9 percent of files already compiled under both Python 2.7 and Python 3.
- Blocking syntax on about 3,300 lines, including some 1,500 old print statements and about 800 literals in 123L form.
- Around 20,000 spots compile under both versions but behave differently under Python 3.
- Stage 1 ran on the Singularity test server from July 2026 and reached Tranquility on August 25, 2026 (patch 24.01).
CCP Games has begun a job it deferred for 16 years. Patch 24.01 reached Tranquility, the live server of EVE Online, on August 25, 2026, carrying the first batch of changes that prepare a 2.4-million-line Python 2.7 codebase for Python 3. The studio has set no date for the switch itself.
Why the pressure built
EVE Online has run on Stackless Python since its 2003 launch and has sat on version 2.7 since the last big jump, 16 years ago. Python 2.7 reached end of life in 2020, which locks the game out of newer libraries, profilers and debuggers. CCP files the work under its EVE Evolved program and calls it groundwork for the next 20 years.
The first scan came back better than feared
The dev blog puts the codebase at roughly 2.4 million lines of Python spread over about 20,000 files, accumulated across more than 23 years of live operation. A first compile pass found that 95.9 percent of those files already build under both language versions. Hard syntax blockers showed up on about 3,300 lines.
The breakdown is what any long-lived Python 2 project would expect:
- about 1,500 old-style print statements
- about 800 numeric literals written as 123L
- about 600 deprecated except clauses
- 50 uses of the <> not-equal operator
The 20,000 lines that compile and still change meaning
Syntax errors announce themselves. The expensive category is code that compiles cleanly under both versions and behaves differently at runtime, and CCP counts roughly 20,000 such spots that need human review. Simon Willison points to the textbook case: 1 / 2 evaluates to 0 under Python 2 and to 0.5 under Python 3.
Stage 1 leans on Python-Future, a tool built on 2to3 that rewrites code while keeping it runnable on 2.7. Stage 2 takes on the behavioral gaps, and the studio says that part does not automate away.
Stackless is the unanswered question
Nothing in the announcement says whether CCP will also replace Stackless Python itself, the variant that supplies the micro-threads behind the EVE server. Willison notes an earlier studio talk titled "Scheduling in Carbon: Leaving Stackless Python Behind", which described swapping Stackless out of the Carbon engine for EVE Frontier in favor of the open-source carbonengine/scheduler library. Whether the same path is planned for EVE Online is not stated in either source.
What players are asked to do
Nothing changes in the game for now, and CCP asks only that anything odd be filed as a bug report. Later stages will be tested on the Singularity server, where the first changes were already running in July 2026. How many months separate stage 1 from a live Python 3 build remains open.
FAQ
Which Python version is EVE Online moving to?
From Stackless Python 2.7 to Python 3. The dev blog names neither a target release nor a date for the switch.
Will players notice anything?
Not in stage 1. CCP calls the changes invisible and asks only that players file bug reports for anything unusual.
How big is the EVE Online codebase?
About 2.4 million lines of Python in roughly 20,000 files, built up over more than 23 years of live operation.