Previously, the Python development team has been submitting, tracking, and handling bugs on the official Python bug site (abbreviated as bpo or BPO), which uses the open source tool Roundup as a bug tracker.

On February 18, Python core developer Łukasz Langa announced on the Python Discourse forum: All bug data on Roundup / BPO will be migrated to GitHub, and when the migration is complete new bugs will be handled in GitHub Issues, and the former official BPO site will exist in read-only mode to avoid a host of problems caused by broken links.

Łukasz Langa

Development of CPython moved to the GitHub Python repository back in February 2017. As a result, at the 2018 Python Language Summit, core developer Mariatta Wijaya proposed “abandoning the Roundup and BPO sites and switching to GitHub Issues for bug tracking”, which led to the PEP 581, which was approved in 2019.

PEP 581

However, the migration from Roundup / BPO to GitHub is so involved and has so many technical, procedural, and legal complications that the migration will not officially start until 2022.

According to Łukasz Langa, the timeline for the migration is as follows.

  • Friday, February 18, 2022: A two-week public feedback collection period begins.
  • Friday, March 4, 2022: Final end-to-end bug data migration tests will be performed with the help of Github to collect the time required for the migration and the issues that arise. (10% of the bugs will be used for testing.)

If there are no problems with the testing process, the official migration:

  • Thursday, March 10, 2022: Migration begins, BPO goes into read-only mode, and data from BPO is exported and placed in a temporary repository on Github. (expected to take 22 hours)
  • Friday, March 11, 2022: Github transfers the bugs from the temporary repository to GitHub’s Python repository, officially completing the migration.

There are the following things to keep in mind during the migration process.

  • New issues are not allowed to be created on Github or BPO
  • Repository PRs are not affected, and new PRs can be created on Github and interacted with existing PRs
  • Interaction with migrated issues on Github is allowed, but destructive operations (changing issue titles, editing comment content, deleting comments, removing tags) are discouraged because changes in data can make it difficult to audit whether the migration has been successful.

In addition, PEP 581 explains further details of this migration plan and answers some common doubts.

What’s wrong with Roundup / bpo? Why did you give up on it?

  • Never had more than 5 maintainers
  • No CI builds whatsoever, too much pressure to review and test
  • UI was old
  • Spamming users every day and exposing their email addresses

Why not keep optimizing Roundup / bpo?

Optimization is too costly, “It’s far less work to create and maintain GitHub integration and review bots than it is to continue optimizing and maintaining Roundup.”

Why did you choose GitHub over other platforms?

GitHub is full-featured and has a much wider audience, and most programmers know how to do it, which lowers the barrier to contribution. So even though it has a ton of problems, it’s still the best solution right now.

The abandonment of Roundup / BPO also means that the infrastructure for Python development has made a complete shift from Python based open source tools (Mercurial, Roundup) to proprietary GitHub “SAAS” products (in a In a way, maybe that’s the sad thing about open source?) . But in any case, the migration will certainly attract a lot of new developers who are familiar and comfortable with GitHub to contribute, and it will certainly be good for Python’s development.