This upcoming weekend, a group of Fedora developers are convening for the Python 3 Fedora Activity Day (FAD) to make more progress on porting Python 2 packages to Python 3. If you want to lend a hand, jump into the #fedora-python IRC channel on Freenode between [localize_time tz=”EST”]8am Nov. 14, 2015[/localize_time] and [localize_time tz=”EST”]8pm Nov. 15, 2015[/localize_time] and introduce yourself.

The Python 3 FAD is part of a larger initiative started two years ago to make Python 3 the default implementation in Fedora. Great progress has already been made, but there is still much work to do – only 32% of Python packages in Fedora are ported to Python 3. As a result, this weekend’s Python 3 Fedora Activity Day aims to accomplish improving those numbers by porting over more Python 2 software to Python 3.

 Parselmouth badge for Python 3 FAD participants, while supplies last!

Parselmouth badge, while supplies last!

Not only is this is a great opportunity to make an impact on the software that the community uses every day, but it’s also a chance to gain one of the more rare and exclusive Fedora badges, Parselmouth! To help show how you can help, Fedora Python maintainer Matej Stuchlik answered some of the Community Operations team’s questions.


In Fedora 23, Python 2 is no longer the default implementation. Why officially move to Python 3 now?

“In short: Python 3 is the future and the sooner we move to it, the better. The upstream maintainer has said that they will only support Python 2 until 2020, but even now, all the new features are being introduced to Python 3 only and Python 2 is in bugfix-only mode.

Read the original change proposal, if you haven’t already!”

What are the Top 3 advantages of Python 3 over Python 2?

When asked about what the Top 3 things new in Python 3 over Python 2, Matej had a solid list of features. In no particular order, his Top 3 picks were:

  1. Asyncio, a module enabling efficient asynchronous I/O in Python
  2. Type hints, a module to provide standard definitions and tools for function annotations
  3. Advanced unpacking (PEP 3132, PEP 0448), allowing unpacking in more areas in your code (and much more)

Additionally, he shared a link to fellow Fedora contributor and Red Hat employee Slavek Kabrda’s presentation titled “Python 3 is coming: Are you ready?“.  It’s another great reference to get a quick idea of what’s changing and what’s coming with Python 3.

For the upcoming Python 3 FAD, what are some of your goals to accomplish? What kind of skills are needed for someone to contribute to helping port packages?

“The nice thing about this FAD and the portingdb is that Python-istas of virtually any skill level can help.

If you’re just starting and you’re not very confident in your Python, you can help us update the porting database – find a package that is missing upstream data, go take a look if upstream seems to support Python 3 or not, and let us know or submit a pull request. This is described on my blog, though it’s not finished yet.

If you feel a bit more confident, join us on Freenode in #fedora-python and ask where you can help, or take a look at our Taiga and join someone in porting a package; they’ll help you out!

And last, if you feel like you can tackle porting a project yourself, go ahead! Find something that is not ported yet via portingdb, create a task in Taiga, and off you go. You’ll find help on the Freenode channel mentioned earlier.

And even if you don’t know Python at all but you like packaging, you can help package already-ported projects for Fedora.”

Get involved with Python 3 FAD

The Python 3 FAD will take place over the upcoming weekend, beginning on November 14th and ending the night of November 15th. All participants are eligible to receive the limited edition Parselmouth badge, in addition to making a major impact on the software in Fedora. The Python 3 team is looking forward to a productive weekend, and we hope to see you join us too!