[arch-dev-public] Python 2 modules

Jelle van der Waa jelle at vdwaa.nl
Tue Dec 17 20:11:28 UTC 2019


On 02/16/19 at 11:19am, Allan McRae via arch-dev-public wrote:
> Hi all,
> 
> Python 2 reaches End of Life on 2020-01-01.  We currently have >950
> python2 modules in the repos.   A lot of these are not used by any other
> package in the repositories.   I think we should work towards removing them.

I've just updated the todolist for the unneeded python2 module removal
with data from archweb since the list lacked a lot of packages.

Everyone who has archweb with all repos importd can run the following to
get a list of packages which require python2 but aren't required by
anything else.

from main.models import Package

pkg = Package.objects.filter(pkgname='python2').first()
for repopkg in pkg.get_requiredby():
    if not repopkg.pkg.get_requiredby():
        print(repopkg.pkg)

-- 
Jelle van der Waa
> 
> Leaving only python2 modules that are really required by other software,
> highlights what needs worked on to port to python3.
> 
> Note Fedora is doing a similar removal for F30:
> https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
> 
> What are opinions on this?  Should I make a TODO list?
> 
> 
> Below is a list of python2 modules that are a dependency for any other
> package. I did not check makedepends and I did not check recursively to
> build this list.
> 
> python2-acme
> python2-antlr2
> python2-anyjson
> python2-anytree
> python2-apache-libcloud
> python2-apispec
> python2-argcomplete
> python2-argon2_cffi
> python2-argparse
> python2-args
> python2-arrow
> python2-aspectlib
> python2-astor
> python2-atspi
> python2-aubio
> python2-audit
> python2-augeas
> python2-autobahn
> python2-autopep8
> python2-backports.lzma
> python2-basemap
> python2-betamax-matchers
> python2-betamax-serializers
> python2-binary-memcached
> python2-biopython
> python2-bitvector
> python2-blist
> python2-blosc
> python2-bluepy
> python2-bottle
> python2-bottleneck
> python2-braintree
> python2-breathe
> python2-bsddb
> python2-btchip
> python2-btrees
> python2-cached-property
> python2-caja
> python2-cchardet
> python2-celery
> python2-chai
> python2-chameleon
> python2-characteristic
> python2-cjkwrap
> python2-click-log
> python2-click-threading
> python2-cloudflare
> python2-cmarkgfm
> python2-colander
> python2-colorclass
> python2-configargparse
> python2-construct
> python2-couchdb
> python2-cram
> python2-crayons
> python2-cryptography-vectors
> python2-cson
> python2-cssselect2
> python2-cssutils
> python2-cx_freeze
> python2-d2to1
> python2-daemon
> python2-daemonize
> python2-datrie
> python2-ddt
> python2-digitalocean
> python2-discid
> python2-distutils-extra
> python2-django
> python2-dnslib
> python2-dockerpty
> python2-docopt
> python2-docs
> python2-doublex-expects
> python2-dpcontracts
> python2-dropbox
> python2-editdistance
> python2-egenix-mx-base
> python2-elasticsearch-curator
> python2-email-validator
> python2-envisage
> python2-eric
> python2-ethtool
> python2-evdev
> python2-exam
> python2-exiv2
> python2-eyed3
> python2-factory-boy
> python2-fastpbkdf2
> python2-faulthandler
> python2-flake8-blind-except
> python2-flake8-debugger
> python2-flaky
> python2-flask-gravatar
> python2-flask-htmlmin
> python2-flask-jwt
> python2-flask-mail
> python2-flask-migrate
> python2-flask-paranoid
> python2-flask-restful
> python2-flask-security
> python2-flask-socketio
> python2-flask-talisman
> python2-flask-wtf
> python2-flexmock
> python2-flickrapi
> python2-flup
> python2-fonttools
> python2-foolscap
> python2-fpconst
> python2-freezegun
> python2-fs
> python2-funcy
> python2-furl
> python2-fxa
> python2-gasp
> python2-gcp-devrel-py-tools
> python2-gdal
> python2-gdata
> python2-genshi
> python2-genty
> python2-geoip
> python2-gevent-websocket
> python2-gflags
> python2-gitpython
> python2-gnupg
> python2-gnupginterface
> python2-gnuplot
> python2-gpgme
> python2-grequests
> python2-gtkspellcheck
> python2-gudev
> python2-h2
> python2-h5py
> python2-h5py-openmpi
> python2-hacking
> python2-harparser
> python2-helper
> python2-hexdump
> python2-hglib
> python2-httpretty
> python2-hunter
> python2-hypothesis
> python2-i3-py
> python2-ibm-db-sa
> python2-icalendar
> python2-igraph
> python2-importlib_resources
> python2-inet_diag
> python2-invoke
> python2-iocapture
> python2-ipdb
> python2-irc
> python2-isomd5sum
> python2-iwlib
> python2-jieba
> python2-js2py
> python2-jsbeautifier
> python2-json-logger
> python2-jsonrpclib-pelix
> python2-kaitaistruct
> python2-kajiki
> python2-kaptan
> python2-keybinder2
> python2-keyrings-alt
> python2-keyutils
> python2-kitchen
> python2-kivy
> python2-klein
> python2-langdetect
> python2-language-server
> python2-lark-parser
> python2-levenshtein
> python2-libappindicator
> python2-libarchive-c
> python2-libforensic1394
> python2-librabbitmq
> python2-libtmux
> python2-linux-procfs
> python2-llfuse
> python2-logbook
> python2-logilab-common
> python2-lttngust
> python2-m2r
> python2-magic
> python2-mamba
> python2-manhole
> python2-manuel
> python2-marisa
> python2-marshmallow
> python2-memcached
> python2-mimerender
> python2-mockito
> python2-mongoengine
> python2-mongomock
> python2-mpd2
> python2-munkres
> python2-musicbrainz2
> python2-mygpoclient
> python2-mysql-connector
> python2-nbxmpp
> python2-ndg-httpsclient
> python2-neovim
> python2-netcdf4
> python2-netcdf4-openmpi
> python2-nine
> python2-nltk
> python2-nose2
> python2-nose-cover3
> python2-nose-exclude
> python2-nose-fixes
> python2-nose-randomly
> python2-nose-show-skipped
> python2-nosexcover
> python2-oauth2client
> python2-objgraph
> python2-olefile
> python2-openapi-spec-validator
> python2-openpyxl
> python2-openstackclient
> python2-oslo-concurrency
> python2-oslo-log
> python2-oslosphinx
> python2-oslotest
> python2-ovirt-engine-sdk
> python2-owslib
> python2-pacparser
> python2-pam
> python2-pandas-datareader
> python2-pandocfilters
> python2-parse
> python2-parsedatetime
> python2-parsel
> python2-paste
> python2-pastedeploy
> python2-pbkdf2
> python2-pdoc
> python2-peewee
> python2-perf
> python2-periphery
> python2-phonenumbers
> python2-piexif
> python2-pifpaf
> python2-pigar
> python2-pint
> python2-pipenv
> python2-pkgconfig
> python2-planout
> python2-plop
> python2-pmw
> python2-podcastparser
> python2-polib
> python2-poppler
> python2-positional
> python2-poster
> python2-prance
> python2-prctl
> python2-pretend
> python2-priority
> python2-process-tests
> python2-profilestats
> python2-progressbar
> python2-prometheus_client
> python2-psycopg2
> python2-ptrace
> python2-pudb
> python2-pyaes
> python2-pyalsa
> python2-pyamf
> python2-pyaml
> python2-pyaudio
> python2-pybluez
> python2-pychm
> python2-pycontracts
> python2-pycosat
> python2-pycountry
> python2-pycuda
> python2-pydbus
> python2-pydns
> python2-pydocstyle
> python2-pydot
> python2-pyelftools
> python2-pyftpdlib
> python2-pygal
> python2-pygeoip
> python2-pygit2
> python2-pygithub
> python2-pyglet
> python2-pygpgme
> python2-pygraphviz
> python2-pyicu
> python2-pyliblo
> python2-pylibmc
> python2-pylons-sphinx-themes
> python2-pymediainfo
> python2-pynamecheap
> python2-pynormaliz
> python2-pyodbc
> python2-pyopencl
> python2-pyotp
> python2-pyqtwebengine
> python2-pyquery
> python2-pyro
> python2-pyrss2gen
> python2-pyrtf
> python2-pysaml2
> python2-pysendfile
> python2-pyserial
> python2-pysimplesoap
> python2-pysmbc
> python2-pysnmp
> python2-pysrt
> python2-pystemmer
> python2-pyswip
> python2-pytables
> python2-pytddmon
> python2-pytest-benchmark
> python2-pytest-cov
> python2-pytest-django
> python2-pytest-expect
> python2-pytest-flake8
> python2-pytest-httpbin
> python2-pytest-isort
> python2-pytest-localserver
> python2-pytest-mock
> python2-pytest-randomly
> python2-pytest-relaxed
> python2-pytest-rerunfailures
> python2-pytest-runner
> python2-pytest-sugar
> python2-pytest-timeout
> python2-pytest-twisted
> python2-pytest-virtualenv
> python2-pytest-xdist
> python2-pytest-xprocess
> python2-pythondialog
> python2-pyudev
> python2-pyusb
> python2-pywinrm
> python2-pyxrootd
> python2-qiniu
> python2-qpid-proton
> python2-qrcode
> python2-qrencode
> python2-queuelib
> python2-rangehttpserver
> python2-rawkit
> python2-rdflib
> python2-recommonmark
> python2-redis
> python2-rednose
> python2-repoze.profile
> python2-requests-credssp
> python2-requests-file
> python2-requests-ftp
> python2-requests-hawk
> python2-requests-kerberos
> python2-requests-mock
> python2-requests-ntlm
> python2-responses
> python2-restkit
> python2-rethinkdb
> python2-ropper
> python2-rply
> python2-rst2pdf
> python2-salsa20
> python2-scapy
> python2-schedutils
> python2-scikit-learn
> python2-scour
> python2-scripttest
> python2-scrypt
> python2-seaborn
> python2-selenium
> python2-semantic-version
> python2-send2trash
> python2-serpent
> python2-service_identity
> python2-setuptools-git
> python2-setuptools-markdown
> python2-setuptools-scm
> python2-shapely
> python2-signedjson
> python2-simplebayes
> python2-snakefood
> python2-soappy
> python2-socketio
> python2-sortedcontainers
> python2-sparqlwrapper
> python2-sphinxcontrib-bibtex
> python2-sphinxcontrib-newsfeed
> python2-sphinx-testing
> python2-split
> python2-sshtunnel
> python2-statsmodels
> python2-stopit
> python2-structlog
> python2-subunit2sql
> python2-suds
> python2-sure
> python2-swiftclient
> python2-sword
> python2-sybil
> python2-tabulate
> python2-tagpy
> python2-tarantool
> python2-tblib
> python2-tenacity
> python2-terminado
> python2-terminaltables
> python2-testfixtures
> python2-testrepository
> python2-testresources
> python2-texttable
> python2-tftpy
> python2-tlsh
> python2-toposort
> python2-tox
> python2-traitsui
> python2-transaction
> python2-treq
> python2-trustme
> python2-tweepy
> python2-twine
> python2-typogrify
> python2-ukpostcodeparser
> python2-uncertainties
> python2-unicorn
> python2-unittest-mixins
> python2-unittest-xml-reporting
> python2-urwidtrees
> python2-vcrpy
> python2-vcversioner
> python2-venusian
> python2-vobject
> python2-webcolors
> python2-webpy
> python2-whatever
> python2-whelk
> python2-whitenoise
> python2-wikipedia
> python2-wsaccel
> python2-wsgi-intercept
> python2-wsgiproxy2
> python2-wsproto
> python2-xapp
> python2-xlrd
> python2-xlsxwriter
> python2-xlwt
> python2-xpybutil
> python2-yapf
> python2-yara
> python2-z3
> python2-zbar
> python2-zconfig
> python2-zope-annotation
> python2-zope-configuration
> python2-zope-copy
> python2-zope-security
> python2-zope-testing
> python2-zope.testing
> python2-zope-testrunner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20191217/beed0f28/attachment.sig>


More information about the arch-dev-public mailing list