From Fedora Project Wiki
(→‎Members: added myself)
(Added section for Python 3 porting)
(35 intermediate revisions by 12 users not shown)
Line 13: Line 13:
=== Contact Info ===
=== Contact Info ===


Mailing List for general discussions: [https://lists.fedoraproject.org/mailman/listinfo/python-devel python-devel] <BR>
Mailing List: [https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/ python-devel] <BR>
IRC: #fedora-python on irc.freenode.net <BR>
IRC: #fedora-python on irc.freenode.net <BR>


Line 20: Line 20:
You can add [https://admin.fedoraproject.org/pkgdb/packager/group::python-sig/ group::python-sig] 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.
You can add [https://admin.fedoraproject.org/pkgdb/packager/group::python-sig/ group::python-sig] 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.


To apply for the group, please apply:
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].)
* at the [https://admin.fedoraproject.org/accounts/group/view/python-sig FAS group]
* for the [https://lists.fedoraproject.org/mailman/listinfo/python-sig python-sig] mailing list.
 
Unfortunately, this python-sig group is restricted because there are also security sensitive mails send out.
As this process is currently in alpha phase, we will update this section, when it is clearer how to join the python-sig...


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


=== Members ===
[[SIGs/Python/Members_list|Members of Python SIG]] <BR>
 
[[MartinBacovsky| Martin Bacovsky]] <BR>
[[User:lbazan | Luis Bazán]] <BR>
[[AurelienBompard| Aurelien Bompard]] <BR>
[[User:Ncoghlan | Nick Coghlan]] <BR>
[[User:Kushal | Kushal Das]] <BR>
[[User:Lupinix | Christian Dersch]] <BR>
[[TejasDinkar| Tejas Dinkar]] <BR>
[[User:Tadej | Tadej Janež]] <BR>
[[User:Bkabrda | Bohuslav Kabrda]] <BR>
[[User:topdog| Andrew Colin Kissa]] <BR>
[[ToshioKuratomi| Toshio Kuratomi]] <BR>
[[AlexLancaster| Alex Lancaster]] <BR>
[[TimLauridsen| Tim Lauridsen]] <BR>
[[JoseMatos| José Matos]] <BR>
[[LukeMacken| Luke Macken]] <BR>
[[User:potty | Abdel Martínez]] <BR>
[[DaveMalcolm| Dave Malcolm]]: interested in core Python runtimes and low-level implementation details <BR>
[[PaulNasrat| Paul Nasrat]] <BR>
[[User:Jamielinux | Jamie Nguyen]] <BR>
[[User:Tradej | Tomas Radej]] <BR>
[[MichelSalim| Michel Salim]] <BR>
[[FelixSchwarz| Felix Schwarz]] <BR>
[[User:Tomspur| Thomas Spura]] <BR>
[[ChristosTrochalakis| Christos Trochalakis]] <BR>
[[User:Ramkrsna | Ramakrishna Reddy Yekulla]] <BR>
[[User:Ivazquez| Ignacio Vazquez-Abrams]] <BR>
[[User:Kumarpraveen | Praveen Kumar]] <BR>
[[User:raphgro | Raphael Groner]] <BR>


=== Python packages awaiting review ===
=== Python packages awaiting review ===
* [https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&short_desc=python&bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=VERIFIED&bug_status=RELEASE_PENDING&bug_status=POST&short_desc_type=allwordssubstr&component=Package%20Review&product=Fedora List of most python packages awaiting review] - Bugzilla query for packages which have not passed review with "python" in the name or summary.
* [https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&short_desc=python&bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=VERIFIED&bug_status=RELEASE_PENDING&bug_status=POST&short_desc_type=allwordssubstr&component=Package%20Review&product=Fedora List of most python packages awaiting review] - Bugzilla query for packages which have not passed review with "python" in the name or summary.
* [https://bugzilla.redhat.com/show_bug.cgi?id=593069 pynie] - Python 3, on top of the [https://admin.fedoraproject.org/pkgdb/acls/name/parrot Parrot virtual machine]


=== Packaging Quickstart ===
=== Packaging Quickstart ===
Line 69: Line 33:
If you're just getting started with packaging python modules for Fedora, here's some hints to get you started:
If you're just getting started with packaging python modules for Fedora, here's 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 [[Packaging:Guidelines|Fedora Packaging Guidelines]] must be followed for any package.  The [[Packaging:Python|Python specific guidelines]] are a good starting point.
* You can generate a spec template for your new python package like this: <pre>yum install rpmdevtools && rpmdev-newspec -t python</pre>That will generate a spec file template that is a good starting point to making your package.
* 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.
 
* When packaging PyPI project you can generate the initial SPEC file using [https://apps.fedoraproject.org/packages/pyp2rpm pyp2rpm] tool.
=== Package requests ===
* [http://chandlerproject.org Chandler PIM] - I don't think it is such hot idea ... upstream is pinning for the fjords, and after couple of years of non-development, it is not that advanced as it used to be.
* [http://www.hforge.org/itools/ itools] - A python library that includes several useful tools, such as an ODF anonymizer that can be used to sanitize confidential documents before attaching them tp bug reports
* [http://code.google.com/p/python-multiprocessing/ python-multiprocessing] - multiprocessing backport useful for EL-5 [https://bugzilla.redhat.com/show_bug.cgi?id=716667 review request]
* [http://pypi.python.org/pypi/repoze.profile repoze.profile] - WSGI profiling middleware
* [http://code.google.com/p/tgscheduler/ tgscheduler] - TurboGears scheduler


=== Links ===
=== Links ===


[http://www.python.org/ Python website] <BR>
[http://www.python.org/ Python website] <BR>
[[Packaging:Python| Building Python packages]] <BR>
[[Packaging:Python| Python packaging Guidelines]] <BR>
[[TurboGears2| TurboGears]] <BR>
[[Packaging:Python Eggs| Packaging Python Eggs]] (outdated – needs update to <code>pip</code> & friends)<BR>
[[PackagingDrafts/TGApps|  Packaging TurboGears Applications]] <BR>
[[SIGs/Python/PythonPatches| Python Patches]] – patches to <code>python2</code> and <code>python3</code> in Fedora and EL <BR>
[[Packaging:Python Eggs| Packaging Python Eggs]] <BR>
 
Parallel installable [[Python26]] information (mainly EPEL5).<br/>
[http://farmdev.com/talks/unicode/ Unicode in Python, Completely Demystified] (somewhat outdated)
[http://farmdev.com/talks/unicode/ Unicode in Python, Completely Demystified]


[[Category:SIGs]]
[[Category:SIGs]]
Line 94: Line 51:


=== Upstream Release Schedules ===
=== Upstream Release Schedules ===
[http://www.python.org/dev/peps/pep-0429/ Python 3.4]
[https://www.python.org/dev/peps/pep-0373/ Python 2.7]
 
[https://www.python.org/dev/peps/pep-0429/ Python 3.4]
 
[https://www.python.org/dev/peps/pep-0478/ Python 3.5]
 
[https://www.python.org/dev/peps/pep-0494/ Python 3.6]


=== Python Features ===
=== Python Features ===
Line 104: Line 67:
* [[Features/PythonNamingDependingOnImplementation | Rename python packages to reflect python implementation in the name]]
* [[Features/PythonNamingDependingOnImplementation | Rename python packages to reflect python implementation in the name]]


==== Under development (Fedora 18) ====
==== Under development (Fedora 26) ====
* [[Features/Python_3.3|upgrade of the Python 3 stack to 3.3]]
* [[Changes/python3.6|Update of the Python 3 stack to 3.6]]
 
==== Added in Fedora 17 ====
* [[Features/StaticAnalysisOfPythonRefcounts| further work on static analysis of refcounting]]
 
==== Added in Fedora 16 ====
* [[Features/GccPythonPlugin|GCC plugin embedding Python, for writing GCC extensions in Python]]
* [[Features/StaticAnalysisOfCPythonExtensions|Static analysis tool to detect common mistakes made in Python extension modules written in C]]


==== Added in Fedora 15 ====
==== Older Changes ====
* [[Features/Python_3.2|upgrade of the Python 3 stack to 3.2]]
See the [[SIGs/Python/features_history| History of Python Changes]]


==== Added in Fedora 14 ====
=== Porting to Python 3 ===
* [[Features/Python_2.7|upgrade of the Python 2 stack to 2.7]]
Currently there is an ongoing effort to port packages from Python 2 to Python 3, for the packages where upstream supports Python 3, so the package can provide either two subpackages for Python 2 and Python 3 respectively, or only the Python 3 version.
* pypy was packaged, available prebuilt via rpm


==== Added in Fedora 13 ====
Contributors interested in porting packages are encouraged to read the [http://python-rpm-porting.readthedocs.io Python RPM Porting Guide]
* [[Features/Python3F13|parallel-installable Python 3 stack]]
* [[Features/EasierPythonDebugging|gdb hooks to make it easier to debug Python and extension modules]]
* [[Features/SystemtapStaticProbes#Python_2|Systemtap probe points for tracing Python function calls]]


==== Added in Fedora 11 ====
People who successfully port a number of packages are awarded the Parselmouth badge, and a separate wiki page is maintained with contributor's names and the packages they ported:  [[Open_Badges/Python3Log| Python 3 Log]]
* [[Features/Python_2.6|upgrade of the Python 2 stack to 2.6]]


==== Added in Fedora 10 ====
You can track the overall progress at [http://fedora.portingdb.xyz/ Fedora Porting Database].
* [[Features/PythonNSS|created and packaged bindings for the FIPS-validated NSS cryptographic library]]
 
==== Stalled features ====
* [[Features/SystemPythonExecutablesUseSystemPython]]


=== Python Runtimes ===
=== Python Runtimes ===
Line 144: Line 91:
'''Within EPEL:'''
'''Within EPEL:'''
* {{package|python26}} - [[Python26|Python 2.6 stack for EPEL5]], parallel-installable with the system Python 2.4 stack
* {{package|python26}} - [[Python26|Python 2.6 stack for EPEL5]], parallel-installable with the system Python 2.4 stack
* {{package|python34}} - Python 3.4 stack for EPEL7




'''Awaiting review:'''
'''Awaiting review:'''
* [https://bugzilla.redhat.com/show_bug.cgi?id=593069 pynie] - Python 3, on top of the [https://admin.fedoraproject.org/pkgdb/acls/name/parrot Parrot virtual machine]
 
'''Awaiting packaging'''
'''Awaiting packaging:'''
* IronPython
** [http://code.google.com/p/ironclad/ Ironclad] CPython extensions from IronPython
* [http://code.google.com/p/python-on-a-chip/ Python-on-a-Chip (p14p)]


=== Python Compilers ===
=== Python Compilers ===

Revision as of 12:26, 22 August 2016


Python Special Interest Group

A SIG for people who are interested in Python on Fedora. This includes:

Contact Info

Mailing List: python-devel
IRC: #fedora-python on irc.freenode.net

Python SIG FAS group

You can add group::python-sig 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 package database.

Members of Python SIG

Python packages awaiting review

Packaging Quickstart

If you're just getting started with packaging python modules for Fedora, here's 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.
  • 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.
  • When packaging PyPI project you can generate the initial SPEC file using pyp2rpm tool.

Links

Python website
Python packaging Guidelines
Packaging Python Eggs (outdated – needs update to pip & friends)
Python Patches – patches to python2 and python3 in Fedora and EL

Unicode in Python, Completely Demystified (somewhat outdated)

Upstream Release Schedules

Python 2.7

Python 3.4

Python 3.5

Python 3.6

Python Features

Future work

Under development (Fedora 26)

Older Changes

See the History of Python Changes

Porting to Python 3

Currently there is an ongoing effort to port packages from Python 2 to Python 3, for the packages where upstream supports Python 3, so the package can provide either two subpackages for Python 2 and Python 3 respectively, or only the Python 3 version.

Contributors interested in porting packages are encouraged to read the Python RPM Porting Guide

People who successfully port a number of packages are awarded the Parselmouth badge, and a separate wiki page is maintained with contributor's names and the packages they ported: Python 3 Log

You can track the overall progress at Fedora Porting Database.

Python Runtimes

Within Fedora:

Within EPEL:


Awaiting review:

Awaiting packaging:

Python Compilers

Within Fedora:

  • Package-x-generic-16.pngpyjamas - Python-to-JavaScript compiler, implemented in Python
  • Package-x-generic-16.pngshedskin - Python to C++ compiler (for a subset of Python with "implicit types")