Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python Packaging in Fedora
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Petr Viktorin
August 02, 2016
Technology
460
0
Share
Python Packaging in Fedora
For Flock (Fedora contributors' conference) in Krakow
Petr Viktorin
August 02, 2016
More Decks by Petr Viktorin
See All by Petr Viktorin
Komunitní kurzy
encukou
0
240
Jak postavit slovník z jedniček a nul
encukou
0
720
Python in Fedora
encukou
0
120
Essential Testing Concepts
encukou
0
120
Import Deep Dive
encukou
0
88
Dynamic Time Warping & Synchronizace videí
encukou
0
110
Python 3.4
encukou
0
120
Extending FreeIPA
encukou
0
420
import asyncio
encukou
0
580
Other Decks in Technology
See All in Technology
非エンジニア職からZOZOへ 〜登壇がキャリアに与えた影響〜
penpeen
0
180
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
600
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
6
7.6k
Strands Agents × Amazon Bedrock AgentCoreで パーソナルAIエージェントを作ろう
yokomachi
2
270
Hello UUID
mimifuwacc
0
130
AI前提とはどういうことか
daisuketakeda
0
180
Digitization部 紹介資料
sansan33
PRO
1
7.2k
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
340
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
170
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
570
DIPS2.0データに基づく森林管理における無人航空機の利用状況
naokimuroki
0
190
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
180
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
300
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
480
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
870
Transcript
Python Packaging in Fedora Petr Viktorin
[email protected]
Flock, 2016-08-02
None
I. Python 3
Python 1991 Java 1995
Python 1991 Java 1995 Python 3.0 2008 Node.js 2009
Python 1991 Java 1995 Python 3.0 2008 Node.js 2009 Python
3.5 2015
Python 1991 Java 1995 Python 3.0 2008 Node.js 2009 Python
3.5 2015 Python 2 EOL 2020
Python 3 Porting Database http://fedora.portingdb.xyz
None
at least 49,9% of Python software packaged in Fedora supports
Python 3
at least 49,9% of Python software packaged in Fedora supports
Python 3 45,5% has the Py 3 version packaged
Help us port! 3 PYTHON3 PYTHON3 PYTHON http://fedora.portingdb.xyz
None
Fedora infra Desktop toolkits Big non-Python apps
I. Python 3 II. Automating Packaging
A packager should: 1. Make sure SW plays nice 2.
Integrate with rest of system 3. Check licenses, patents, etc.
A packager should: 1. Make sure SW plays nice 2.
Integrate with rest of system 3. Check licenses, patents, etc. 4. Read 50 pages of guidelines 5. Know a weird macro language
%global pypi_name mypkg Name: python -%{pypi_name} Version: 2.4.25.1 Release: 1%{?dist}
License: Python URL: https://github.com /%{pypi_name}/%{pypi_name} Source0: https://pypi.python .org/packages/source/p/%{ pypi_name}/%{pypi_name}-%{version }.tar.gz
%if 0%{?rhel} && 0%{?rhel} <= 6 %{!?__python2: %global \ __python2
/usr/bin/python2} %{!?python2_sitelib: %global \ python2_sitelib %(%{__python2} -c %endif %if 0%{?fedora} > 12 || 0%{?rhel} > %global with_python3 1 %global __python3 python3 %endif
from distutils.core import setup setup( name='mypkg ', version='2.4.25.1', author='Me', url='github.com/me/mypkg/',
packages=['mypkg '], install_requires=['six '], )
Enter pyp2rpm # dnf install /usr/bin/pyp2rpm $ pyp2rpm mypkg
Enter pyp2rpm # dnf install /usr/bin/pyp2rpm $ pyp2rpm mypkg It
might actually work!
We can use pyp2rpm to... Auto-build all of PyPI in
COPR!
We can use pyp2rpm to... Auto-build all of PyPI in
COPR! Why?
We can use pyp2rpm to... Auto-build all of PyPI in
COPR! Why? - Test pyp2rpm
We can use pyp2rpm to... Auto-build all of PyPI in
COPR! Why? - Test pyp2rpm - Run upstream tests
We can use pyp2rpm to... Auto-build all of PyPI in
COPR! Why? - Test pyp2rpm - Run upstream tests - Provide a repository
dnf pip install -r requirements.txt (hypothetical command)
“PyPI” name Fedora pkg pyopencl python3-pyopencl mypy-lang python3-mypy
“PyPI” name Fedora pkg pyopencl python3-pyopencl mypy-lang python3-mypy $ dnf
repoquery --provides python3 -pyopencl ... python3.5dist(pyopencl) = 2015.2 ...
“PyPI” name Fedora pkg pyopencl python3-pyopencl mypy-lang python3-mypy $ dnf
repoquery --provides python3 -pyopencl ... python3.5dist(pyopencl) = 2015.2 ... Live in Fedora 25!
I. Python 3 II. Automating Packaging III. System Python
System Python /usr/libexec/system-python An effort to minimize minimal installs (cloud
images)
Python stdlib by disk size test asyncio email tkinter encodings
distutils unittest pydoc_data ensurepip ctypes lib2to3 idlelib individual modules
System Python libs /usr/libexec/system-python /usr/lib/python3.5/ lib2to3 unittest venv ensurepip pydoc
encodings sqlite3 collections logging distutils html test tkinter turtledemo idlelib system-python-libs python3-libs python3-test python3-tkinter python3 system-python /usr/bin/python3
Possible users: DNF, cloud-init
Possible users: DNF, cloud-init Future: Isolation of system tools?
I. Python 3 II. Automating Packaging III. System Python IV.
Python 3.6
Python 3.6 * Format Strings * Large Speedups * Advanced
class creation tools
Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09
Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09
Python 3.6 Beta 1 2016-09-12 Fedora 25 Beta Freeze 2016-09-20
Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09
Python 3.6 Beta 1 2016-09-12 Fedora 25 Beta Freeze 2016-09-20 Python 3.6 RC 1 2016-12-05 Fedora 25 Final Freeze 2016-10-25
Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09
Python 3.6 Beta 1 2016-09-12 Fedora 25 Beta Freeze 2016-09-20 Python 3.6 RC 1 2016-12-05 Fedora 25 Final Freeze 2016-10-25 Python 3.6 Final 2016-12-16 Fedora 26 Branches 2016-12-???
I. Python 3 II. Automating Packaging III. System Python IV.
Python 3.6 V. Who's “we”?
python-maint @ Red Hat
python-maint @ Red Hat
python-maint @ Red Hat
python-maint @ Red Hat
python-maint @ Red Hat
python-maint @ Red Hat
Sorry! We'll do better!
We're Python SIG python-devel @lists.fedoraproject.org #fedora-python on Freenode fedora-python on
Github
I. Python 3 II. Automating Packaging III. System Python IV.
Python 3.6 V. Who's “we”?