# DeveloperWiki:Python Todo List

# Introduction

This article is part of the DeveloperWiki.

# Python3 transition

The final major release for the python 2 branch (2.7) is scheduled for 2010-07-03 [1]. As the python language moratorium is currently in effect [2], there will be no new language features and the transistion from 2.6 to 2.7 should be a simple one... so, lets make it difficult again by doing a python 2-to-3 transition in Arch at the same time! Just to make matters worse, we will also enable unicode (UCS4) support in python2 at the same time, which requires all python modules to be rebuilt

#### The plan

- create a new python2 package (no /usr/bin/python symlink, --enable-unicode=usc4)
- update python to python-3.1.x (/usr/bin/python points at python3.1)
- rebuild all python packages, in partcular check
  - packages which link to libpython2.6.so
  - packages with files in the python2.6 path
  - packages with python plugins

During the rebuild, care needs to be taken to make sure all rebuilt packages are really using the python2 binary. Most software does this automatically when built in a clean chroot containing only a python2 binary, but some need a sed line added to fix "/usr/bin/python" or "/usr/bin/env python" usage. All rebuilt packages will need to depend (directly or indirectly) on python2. A final scan of the repos needs to be make to ensure all cases of "/usr/bin/python" or "/usr/bin/env python" have been fixed.

#### Package naming

To avoid a major headache, no changes to package naming are to be mandated. If a package maintainer would like to or needs to maintain a version of a library for python-2 and python-3, then the packages should be named like:

     python2-imaging (for python2)
     python-imaging  (for python)

# Rebuild List

#### Linking to libpython-2.6.so

    adesklets
    adns-python
    alsa-lib
    avant-window-navigator
    biopython
    brltty
    bzr
    canorus
    cddb-py
    cinepaint
    claws-mail-extra-plugins
    clearsilver
    cx_freeze
    dia
    duplicity
    ekg
    ekg2
    emesene
    farsight2
    finch
    fontforge
    gammu
    gcompris
    gdal
    gdb
    gedit
    glom
    gnome-commander
    gnome-menus
    gnome-python
    gnome-python-desktop
    gnome-python-extras
    gnumeric
    go-openoffice
    gpsd
    gstreamer0.10-python
    guake
    gvim
    ibus-anthy
    imdbpy
    inn
    kaa-base
    kaa-imlib2
    kaa-metadata
    kdebindings-python
    kdeedu-kig
    kdeutils-superkaramba
    libdesktop-agnostic
    libdnet
    libimobiledevice
    libimobiledevice
    libopensync
    libplist
    libtorrent-rasterbar
    libxml2
    listen
    mediaproxy
    mercurial
    mirage
    miro
    mod_python
    mod_wsgi
    mysql-python
    net-snmp
    obexftp
    opencv
    openlh-client
    openlh-core
    openoffice-base
    openoffice-base-beta
    openoffice-base-devel
    picard
    postgresql
    psyco
    pycrypto
    pycups
    pygoocanvas
    pyid3lib
    pymad
    pyogg
    pyopenssl
    pyorbit
    pypanel
    pypgsql
    pyqt
    pysmbc
    pysol-sound-server
    pystatgrab
    python-bsddb
    python-certtool
    python-cheetah
    python-cjson
    python-daap
    python-egenix-mx-base
    python-fuse
    python-geoip
    python-gnutls
    python-imaging
    python-iwscan
    python-jinja
    python-lcms
    python-ldap
    python-lxml
    python-m2crypto
    python-matplotlib
    python-numarray
    python-numeric
    python-numpy
    python-openbabel
    python-psycopg2
    python-pybluez
    python-pychm
    python-pycurl
    python-pygame
    python-pyspi
    python-pysqlite
    python-pyxmpp
    python-reportlab
    python-scipy
    python-urwid
    python-vorbissimple
    python-wpactrl
    python-yaml
    pyvorbis
    pyxml
    qtiplot
    quodlibet
    rdiff-backup
    rhythmbox
    rrdtool
    scribus
    sk1
    sonata
    tagpy
    tdb
    telepathy-farsight
    thuban
    thuban-svn
    totem
    twisted
    uniconvertor
    vigra
    virtualbox-ose
    weechat
    wxpython
    xchat
    xchat-gnome
    xdelta3
    xmms2

#### Packages with files in old python paths

These packages have files in /usr/lib/python${ver}/site-packages/ or in /usr/include/python-${ver}

    adesklets
    adns-python
    alacarte
    alunn
    anki
    antlr
    asciidoc
    at-spi
    avahi
    avant-window-navigator
    awn-extras-applets
    beautiful-soup
    billreminder
    biopython
    bittorrent
    blueman
    boost
    brltty
    buildbot
    bzr
    bzrtools
    ccsm
    cddb-py
    cdemu-client
    cgmail
    cherrypy
    cinepaint
    clearsilver
    cnetworkmanager
    compizconfig-python
    cx_freeze
    dbus-python
    deluge
    denyhosts
    deskbar-applet
    diacanvas
    django
    docky
    docutils
    dot2tex
    duplicity
    ecasound
    epydoc
    eric
    eric-plugins
    everygui
    exo
    farsight2
    fetchmail
    fontforge
    freevo
    fusion-icon
    gamin
    gammu
    gaupol
    gazpacho
    gdal
    getmail
    gimmie
    git
    glipper
    glom
    gnome-applets
    gnome-blog
    gnome-doc-utils
    gnome-games
    gnome-menus
    gnome-python
    gnome-python-desktop
    gnome-python-extras
    gnuconcept
    gogh
    gourmet
    gpodder
    gpsd
    gstreamer0.10-python
    gtk-recordmydesktop
    gtk-vnc
    gufw
    gutenpy
    hamster-applet
    hgsvn
    hplip
    httplib2
    ibamtray
    ibus
    ibus-anthy
    imdbpy
    iotop
    ipython
    kaa-base
    kaa-imlib2
    kaa-metadata
    kdebase-workspace
    kdebindings-python
    kiwi
    ktoblzcheck
    kungfu
    lastfmsubmitd
    libbeagle
    libdesktop-agnostic
    libdnet
    libgpod
    libgsf
    libgsf-gnome
    libieee1284
    libimobiledevice
    libnewt
    libopensync
    libplist
    libproxy
    libpst
    librtfcomp
    libtorrent-rasterbar
    libvirt
    libxml2
    libxslt
    mediaproxy
    mercurial
    metakit
    mezogis
    mirage
    miro
    mitter
    mlt-python-bindings
    mod_python
    moinmoin
    moiosms
    musicbrainz
    mutagen
    mysql-python
    mythtv
    namcap
    neatx
    net-snmp
    nfoview
    nicotine
    nmap
    obexftp
    obmenu
    ocfs2-tools
    offlineimap
    omniorb
    opencv
    openlh-client
    openlh-core
    openlh-server
    orca
    pacbuild
    pacupdate
    panflute
    papyon
    pebrot
    pessulus
    picard
    planner
    protobuf-python
    pssh
    psyco
    pycairo
    pycddb
    pychecker
    pychess
    pycrypto
    pycups
    pydb
    pyglet
    pygments
    pygobject
    pygoocanvas
    pygtk
    pygtksourceview2
    pyid3lib
    pyinotify
    pylint
    pymad
    pympc
    pympd
    pyneighborhood
    pyogg
    pyopenssl
    pyorbit
    pypanel
    pyparsing
    pypgsql
    pyqt3
    pyqt
    pyrex
    pyrtf
    pysmbc
    pysolfc
    pysol-sound-server
    pystatgrab
    python-application
    python-babel
    python-boto
    python-bsddb
    python-certtool
    python-chardet
    python-cheetah
    python-cjson
    python-clientform
    python-configobj
    python-constraint
    python-daap
    python-dateutil
    python-distutils-extra
    python-dnspython
    python-egenix-mx-base
    python-eyed3
    python-feedparser
    python-flup
    python-formencode
    python-fpconst
    python-fuse
    python-galago
    python-galago-gtk
    python-gdata
    python-genshi
    python-geoip
    python-geotypes
    python-gnupginterface
    python-gnutls
    python-gtkglext
    python-html5lib
    python-imaging
    python-iwscan
    python-jinja
    python-lcms
    python-ldap
    python-logilab-astng
    python-logilab-common
    python-lxml
    python-m2crypto
    python-mako
    python-matplotlib
    python-mechanize
    python-memcached
    python-mpd
    python-mpdclient2
    python-musicbrainz2
    python-mygpoclient
    python-nose
    python-notify
    python-numarray
    python-numeric
    python-numpy
    python-openbabel
    python-opengl
    python-paramiko
    python-pexpect
    python-pip
    python-psycopg1
    python-psycopg2
    python-pybluez
    python-pychart
    python-pychm
    python-pycurl
    python-pyenchant
    python-pygame
    python-pypdf
    python-pyro
    python-pyserial
    python-pyspi
    python-pysqlite
    python-pysqlite-legacy
    python-pytz
    python-pyx
    python-pyxmpp
    python-qscintilla
    python-reportlab
    python-scipy
    python-simplejson
    python-soappy
    python-sphinx
    python-sqlalchemy
    python-sqlobject
    python-sympy
    python-telepathy
    python-urwid
    python-virtualenv
    python-virtualenvwrapper
    python-vorbissimple
    python-vpython
    python-webpy
    python-wpactrl
    python-xlib
    python-yaml
    pyvorbis
    pywebkitgtk
    pyxdg
    pyxml
    qtorrent
    qt-recordmydesktop
    quodlibet
    quodlibet-plugins
    rdiff-backup
    revelation
    rrdtool
    scons
    screenlets
    scribes
    setuptools
    sip
    sk1
    sonata
    south
    striim
    subversion
    synce-kde
    synce-librapi
    synce-rra
    synce-sync-engine
    system-config-printer-common
    system-config-printer-gnome
    tagpy
    tango-generator
    tdb
    telepathy-butterfly
    telepathy-farsight
    terminator
    thuban
    thuban-svn
    trac
    translate-toolkit
    tunepimp
    twisted
    ufw
    uniconvertor
    urlgrabber
    vigra
    virtinst
    virtualbox-ose
    vte
    wammu
    webboard
    wicd
    wxpython
    xcb-proto
    xdelta3
    xmms2
    xmpppy
    zim
    zope-interface

#### Packages pointing at python binary

Packages which have "/usr/bin/python" or "/usr/bin/env python" in their files and will need to change to python2 if not already compatible with python-3.x. Note that some of these are fixed by just building against a python2 binary, while others require some sed magic...

    adesklet-asimpleclock
    adesklet-calendar
    adesklets
    adesklet-systemmonitor
    adns-python
    ajaxterm
    ajaxterm-utf8-svn
    alunn
    amsn
    anjuta
    anki
    armagetronad
    asciidoc
    asymptote
    autojump
    avahi
    avant-window-navigator
    awn-extras-applets
    beagle
    billreminder
    biopython
    bittorrent
    blender
    blueman
    bluez
    buildbot
    bzr
    bzrtools
    cchost
    ccsm
    cdcover
    cddb-py
    cdemu-client
    centerim
    cherokee
    cherrypy
    cinepaint
    cjc
    clang-analyzer
    claws-mail
    cnetworkmanager
    comix
    cx_freeze
    cycle
    deluge
    denyhosts
    deskbar-applet
    devede
    dia
    diacanvas
    diff2html
    django
    docky
    docutils
    dot2tex
    driconf
    duplicity
    ecasound
    eclipse
    edje-svn
    ekg2
    emacs-muse
    emesene
    epydoc
    eric
    exaile
    fail2ban
    fbnews
    fcitx
    fetchmail
    flumotion
    freevo
    fusion-icon
    gamin
    gaupol
    gazpacho
    gdal
    gdeskcal
    gdesklets
    gdl
    geany
    gedit
    gedit-plugins-extra
    getmail
    gfceux
    gif2png
    gimmie
    gimp
    gimp-devel
    gimpshop
    git
    glib2
    glipper
    gnochm
    gnome-applets
    gnome-blog
    gnome-commander
    gnome-desktop
    gnome-doc-utils
    gnome-games
    gnome-menus
    gnome-panel
    gnuconcept
    go
    gobject-introspection
    gogh
    gourmet
    gpodder
    gpsd
    gpsdrive
    gquilt
    grass
    griffith
    gromacs
    gstreamer0.10-python
    gtk2
    gtk-doc
    gtkpod
    gtk-recordmydesktop
    gtksourceview2
    gufw
    gutenpy
    hal-cups-utils
    hamster-applet
    hatari
    hgsvn
    hplip
    hsoconnect
    ibamtray
    ibus-table
    icewm-utils
    imdbpy
    impressive
    inkscape
    iotop
    ipcheck
    ipython
    ipython-docs
    jokosher
    jython
    kaa-base
    kaa-metadata
    kdeadmin-system-config-printer-kde
    kdebindings-python
    kdeedu-kig
    kdenetwork-kget
    kdesdk-kcachegrind
    kdesdk-lokalize
    kdesdk-scripts
    kdesdk-umbrello
    kdeutils-printer-applet
    kiwi
    koffice-kword
    konversation
    kungfu
    lastfmsubmitd
    libevent
    libgda
    libglade
    libpurple
    librsvg
    libxml2
    lilypond
    lyx
    magickthumbnail
    mathomatic
    mc
    mediaproxy
    mercurial
    mezogis
    mftrace
    mime-editor
    mirage
    miro
    mitter
    moinmoin
    moiosms
    munin-node
    muse
    mutagen
    mypaint
    mythplugins-mytharchive
    mythplugins-mythvideo
    mythtv
    ncmpc
    neatx
    nfoview
    nicotine
    nmap
    obmenu
    obtheme
    offlineimap
    omniorb
    openbox
    openlh-client
    openlh-core
    openlh-server
    openshot
    opensips
    pacbuild
    pacupdate
    papyon
    parano
    pathological
    pebrot
    pessulus
    picard
    pitivi
    pkgtools
    pssh
    pyaim
    pychecker
    pychess
    pygments
    pygobject
    pygtk
    pyicqt
    pyinotify
    pylint
    pympc
    pympd
    pymsnt
    pyneighborhood
    pyrex
    pyrss
    pysolfc
    python-babel
    python-boto
    python-bsddb
    python-cheetah
    python-constraint
    python-distutils-extra
    python-docs
    python-egenix-mx-base
    python-eyed3
    python-feedparser
    python-flup
    python-foolscap
    python-gdata
    python-gtkglext
    python-imaging
    python-mako
    python-matplotlib
    python-memcached
    python-mpdclient2
    python-musicbrainz2
    python-mygpoclient
    python-nose
    python-numpy
    python-opengl
    python-paramiko
    python-pexpect
    python-pip
    python-pychart
    python-pygame
    python-pyro
    python-pyserial
    python-pytz
    python-reportlab
    python-scipy
    python-sphinx
    python-sqlobject
    python-sympy
    python-urwid
    python-virtualenv
    python-virtualenvwrapper
    python-webpy
    pytube
    pyxml
    qbittorrent
    qemulator
    qgis
    qtorrent
    qt-recordmydesktop
    quodlibet
    rdiff-backup
    recoll
    recorder
    revelation
    rox-lib
    sbackup
    scons
    screenlets
    scribus
    setuptools
    sgmltools-lite
    solarwolf
    solfege
    sonata
    speedometer
    striim
    subdl
    subdownloader
    subversion
    synce-kde
    synce-sync-engine
    system-config-printer-common
    system-config-printer-gnome
    tango-generator
    telepathy-butterfly
    tellico
    terminator
    testdisk
    texmacs
    thuban
    thuban-svn
    tint2
    totem
    trac
    tracker
    translate-toolkit
    tucan
    tuxpaint
    twisted
    txt2tags
    uzbl-browser
    uzbl-core
    uzbl-tabbed
    videothumbnail
    virtinst
    wammu
    webboard
    wicd
    wmii
    woof
    wxpython
    xbmc
    yahoo
    yaws
    youtube-dl
    zim

Category:

- DeveloperWiki