Migrating a universe without changing anyone’s bank balance

EVE has 2.4 million lines of Python and 23 years of player history to preserve. A migration bug can change a wallet, an asset or the outcome of a fight.

The first scan looked encouraging: 95.9% of roughly 20,000 files already compiled under both Python 2 and Python 3. Only around 3,300 lines blocked parsing.

The harder number was roughly 20,000 lines that compile under both but can behave differently. Integer division is the neat example: 1 / 2 changes from 0 to 0.5. Whether that change is correct depends on what the number represents.

The team is first making the code compatible with both interpreters while production continues on Python 2. Mechanical cleanup clears space for decisions about behavior and persisted data.

Simon also points to the separate scheduling work already done for EVE Frontier. That is useful precedent, but this announcement does not specify EVE Online’s full Stackless replacement plan.

The desired user experience is wonderfully unglamorous: nobody notices, and everything they owned yesterday is still theirs.