---
title: "EVE Online Begins the Move to Python 3: The 2.4 Million Line Challenge"
source: "Simon Willison 博客（Atom）"
source_tier: "t2"
url: "https://simonwillison.net/2026/Aug/25/eve-online-move-to-python-3/"
permalink: "https://feed.astralor.com/items/itm_7b67d437667cb63c81a0052b"
published: "2026-08-25T22:59:30.000Z"
score: 71
channel: "tech"
tags: ["Carbon Engine","CCP Games","EVE Frontier","Futurize","Python 3","Stackless Python"]
---

# EVE Online Begins the Move to Python 3: The 2.4 Million Line Challenge

## AI commentary

> This is a big deal for the Python community: a Stackless Python 2.7 service that has run for twenty years is finally undergoing major surgery. Though no timeline was given, EVE Frontier has already paved the way by replacing Stackless, serving as a pilot run. For teams still on Python 2, this is a valuable real-world roadmap.

## At a glance

EVE Online has announced the start of its upgrade to Python 3, the first major version migration since moving to Stackless Python 2.7 in 2010. The team will run the futurize script over roughly 2.4 million lines of code, followed by careful manual review of about 20,000 places where Python 2 and 3 behavior differs, such as the integer division semantic change. Since EVE Online still relies on Stackless Python, the announcement does not detail how they plan to replace it, but last year they presented a talk on replacing Stackless in the Carbon engine for their newer game EVE Frontier, using the now open source carbonengine/scheduler library. That may pave the way for this migration.

## Key points

- EVE Online will run the futurize script over 2.4 million lines of code, followed by manual review of roughly 20,000 compatibility differences.
- The last major upgrade was to Stackless Python 2.7 in 2010, 16 years ago.
- The announcement does not specify how Stackless will be replaced, but EVE Frontier already replaced it using the open-source scheduler library.
- Migration difficulties include Python 2/3 behavior differences, such as `/` returning an integer in Python 2 and a float in Python 3.

## Full text

EVE Online: The Move to Python 3 Begins! EVE Online has been one of the most interesting case studies in Python at scale for over twenty years now. They've been running on Stackless Python since their launch in 2003, and their last major upgrade was 16 years ago, to Stackless Python 2.7 in 2010. Their upgrade to Python 3 will start using the futurize script against 2.4 million lines of code, followed by careful manual review of the ~20,000 places where Python 2 and 3 behavior differ - for example 1 / 2 is 0 in Python 2 but is 0.5 in Python 3. There's nothing in this announcement about how they plan to replace Stackless, but at their conference last year they presented Scheduling in Carbon: Leaving Stackless Python Behind describing how they replaced Stackless in the Carbon engine for their more recent game EVE Frontier, using their (now open source) carbonengine/scheduler library. Via Lobster.rs Tags: eve-online, migrations, python, python3, stackless

---

Verify against the original before citing; curated by Astral Feed: https://feed.astralor.com/items/itm_7b67d437667cb63c81a0052b
