From Fedora Project Wiki
m (Use macros for mailing list and IRC channel)
(Fix broken/outdaated links)
Line 60: Line 60:
If you're just getting started with packaging Python modules for Fedora, here are some hints to get you started:
If you're just getting started with packaging Python modules for Fedora, here are some hints to get you started:


* The [[Packaging:Guidelines|Fedora Packaging Guidelines]] must be followed for any package.  The [[Packaging:Python|Python specific guidelines]] are a good starting point.
* The [https://docs.fedoraproject.org/en-US/packaging-guidelines/ Fedora Packaging Guidelines] must be followed for any package.  The [https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ Python specific guidelines] are a good starting point.
* When packaging PyPI project you can generate the initial SPEC file using [https://apps.fedoraproject.org/packages/pyp2rpm pyp2rpm] tool.
* When packaging PyPI project you can generate the initial SPEC file using [https://apps.fedoraproject.org/packages/pyp2rpm pyp2rpm] tool.
* You can generate a spec template for your new python package like this: <pre>dnf install rpmdevtools && rpmdev-newspec -t python</pre> That will generate a spec file template that is a good starting point to making your package. (Beware, the template might be outdated.)
* You can generate a spec template for your new python package like this: <pre>dnf install rpmdevtools && rpmdev-newspec -t python</pre> That will generate a spec file template that is a good starting point to making your package. (Beware, the template might be outdated.)
Line 68: Line 68:
You can add [https://src.fedoraproject.org/group/python-sig python-sig] group to your package so the [https://fedoraproject.org/wiki/SIGs/Python/Members_list core members] of the python-sig get notified on each bug in your Python program. This way it is possible to maintain all Python packages with the group permissions, which will simplify general Python cleanup changes.
You can add [https://src.fedoraproject.org/group/python-sig python-sig] group to your package so the [https://fedoraproject.org/wiki/SIGs/Python/Members_list core members] of the python-sig get notified on each bug in your Python program. This way it is possible to maintain all Python packages with the group permissions, which will simplify general Python cleanup changes.


If there is interest and shown familiarity with our guidelines and processes (which usually manifests in maintaining at least 5 to 10 Python packages) you can apply for having access to a broader group of packages that is commonly maintained. If you choose to apply for this, please discuss it with a sponsor of the python-sig. (You can find a list of those [https://admin.fedoraproject.org/accounts/group/members/python-sig/*/sponsor in FAS].)
If there is interest and shown familiarity with our guidelines and processes (which usually manifests in maintaining at least 5 to 10 Python packages) you can apply for having access to a broader group of packages that is commonly maintained. If you choose to apply for this, please discuss it with a sponsor of the python-sig. (You can find a list of those [https://accounts.fedoraproject.org/group/python-sig/ in FAS].)


The current list of packages maintained by the python-sig can be found at the [https://src.fedoraproject.org/group/python-sig src.fedoraproject.org].
The current list of packages maintained by the python-sig can be found at the [https://src.fedoraproject.org/group/python-sig src.fedoraproject.org].

Revision as of 05:09, 8 June 2022


Help wanted!
You can help with this stuff! Join us on #fedora-python[?] on Libera.Chat!

Python Special Interest Group (SIG)

Python is a high-level, interpreted programming language which emphasizes on code readability. Fedora loves Python and this SIG is for people who would like to see this relationship flourish. We aim to address any and all issues and tasks related to Python in Fedora, including:

and much more...

Communicate

Mailing lists

Address Function
python-devel General mailing list for all things Python related


IRC

Address Function
#fedora-python[?] Python SIG official channel
Zodbot
Read the Zodbot page for helpful IRC commands.


Core Members

See SIGs/Python/Members_list for a list of our current core members.


Join Python SIG

We're always looking for new members to join us. Whether you're a new contributor or someone that's been around since the beginning, there are definitely ways you can help. Join Python SIG and:

  • Learn how to package new Python software
  • Work with teammates from the four corners of the world
  • Broaden your scope of working in open source communities and gain experience interacting in different areas
  • Build your portfolio by working on real-world projects

Join the Python SIG now

Areas of contribution

Packaging and maintaining Python applications

If you're just getting started with packaging Python modules for Fedora, here are some hints to get you started:

  • The Fedora Packaging Guidelines must be followed for any package. The Python specific guidelines are a good starting point.
  • When packaging PyPI project you can generate the initial SPEC file using pyp2rpm tool.
  • You can generate a spec template for your new python package like this:
    dnf install rpmdevtools && rpmdev-newspec -t python
    That will generate a spec file template that is a good starting point to making your package. (Beware, the template might be outdated.)

Python SIG FAS group

You can add python-sig group to your package so the core members of the python-sig get notified on each bug in your Python program. This way it is possible to maintain all Python packages with the group permissions, which will simplify general Python cleanup changes.

If there is interest and shown familiarity with our guidelines and processes (which usually manifests in maintaining at least 5 to 10 Python packages) you can apply for having access to a broader group of packages that is commonly maintained. If you choose to apply for this, please discuss it with a sponsor of the python-sig. (You can find a list of those in FAS.)

The current list of packages maintained by the python-sig can be found at the src.fedoraproject.org.

The packaging dashboard of the Python SIG FAS group might serve as a place to start contributing.

Review Python packages

If you are one of the experienced Python packagers, you can help with the list of Python packages awaiting review.

  • Bugzilla query for packages which have not passed review with "python" in the name or summary.

Porting to Python 3

Python 2 is dead upstream as of January 2020. Thankfully the switch from Python 2 to Python 3 in Fedora is nearly finished, see our Fedora Porting Database.

If your project still doesn't work on Python 3, we recommend trying the Conservative Python 3 Porting Guide.

Other

Interested for more? Check out our github repositories for various projects related to Python and Fedora.

Upstream Release Schedules

Python 2.7

Python 3.4

Python 3.5

Python 3.6

Python 3.7

Python 3.8

Python 3.9

Python 3.10

Python Fedora Changes

See the History of Python Changes

Toolbox

Python Runtimes

Within Fedora:

Within EPEL:

  • python34 - Python 3.4 stack for EPEL6 and EPEL7
  • python36 - Python 3.6 stack for EPEL7

Python Compilers

Within Fedora:

  • pyjamas - Python-to-JavaScript compiler, implemented in Python
  • shedskin - Python to C++ compiler (for a subset of Python with "implicit types")

Important Links