Python 2.7 Readiness

Python 2.7 support graph for the 360 most popular Python packages!

What is this about?

Python 2.7 is a version of Python that is past its End Of Life . This site shows Python 2.7 support for the 360 most downloaded packages on PyPI:

  1. 203 green packages (56.4%) have dropped support for Python 2.7;
  2. 157 white packages (43.6%) still support Python 2.7.

Package 'x' is white. What can I do?

There can be many reasons a package is still supporting Python 2.7:

  • If you are package maintainer, it's time to start dropping support (if you haven't already). Here is an in-depth guide to Dropping support for older Python versions. If you are not able to give the time needed, please seek for help from the community.

  • If you are user of the package, send a friendly note to the package maintainer. Or fork it, and send a pull request to help move the project towards dropping Python 2.7 support.

How do you identify Python 2.7 support?

We look for the Programming Language :: Python :: 2.7 classifier on the latest release of the project, via PyPI's JSON API.

Top 120

setuptools ✓ botocore ✓ s3transfer ✓ colorama ✗ urllib3 ✗ pip ✓ six ✓ pyyaml ✓ python-dateutil ✗ futures ✗ requests ✓ certifi ✓ awscli ✓ rsa ✓ docutils ✓ idna ✓ jmespath ✓ wheel ✗ chardet ✓ pyasn1 ✗ typing ✗ boto3 ✓ pytz ✗ cryptography ✓ cffi ✗ pathlib2 ✗ enum34 ✗ contextlib2 ✓ configparser ✓ zipp ✓ markupsafe ✓ scandir ✗ jinja2 ✓ importlib-resources ✓ ipaddress ✗ pyparsing ✓ singledispatch ✗ pycparser ✗ importlib-metadata ✓ future ✗ psutil ✗ numpy ✓ packaging ✓ protobuf ✓ click ✓ boto ✗ paramiko ✗ ansible ✓ pyopenssl ✓ pyasn1-modules ✗ backports-functools-lru-cache ✗ pandas ✓ virtualenv ✓ filelock ✓ google-auth ✓ distlib ✗ attrs ✓ platformdirs ✓ pyjwt ✓ docker ✓ python-jose ✓ google-api-core ✓ cachetools ✓ datadog ✗ tqdm ✗ websocket-client ✓ mock ✓ s3cmd ✗ pynacl ✓ bcrypt ✓ monotonic ✓ scapy ✗ googleapis-common-protos ✓ mozrunner ✗ mozlog ✗ funcsigs ✗ asn1crypto ✗ pymysql ✓ cython ✗ pymongo ✓ redis ✓ tenacity ✓ docopt ✗ xmltodict ✓ google-cloud-core ✓ scipy ✓ geopy ✓ google-resumable-media ✓ itsdangerous ✓ google-cloud-storage ✓ pbr ✗ functools32 ✓ pygments ✓ babel ✓ decorator ✓ werkzeug ✓ tabulate ✗ distro ✓ hvac ✓ backports-ssl-match-hostname ✗ wrapt ✗ lxml ✗ supervisor ✗ flask ✓ grpcio ✓ pytest ✓ statsd ✗ httplib2 ✗ scp ✗ python-magic ✗ blessings ✗ psycopg2 ✓ py ✗ argparse ✗ pyvmomi ✗ deprecated ✗ more-itertools ✓ yq ✓ sqlalchemy ✗ pluggy ✓

Top 120 - 240

python-daemon ✓ bz2file ✗ lockfile ✗ wcwidth ✗ oauthlib ✓ sphinx ✓ cerberus-python-client ✓ scikit-learn ✓ pycrypto ✓ coverage ✓ dill ✗ promise ✗ requests-oauthlib ✗ sentry-sdk ✗ subprocess32 ✗ dnspython ✓ beautifulsoup4 ✓ ansible-core ✓ resolvelib ✓ kazoo ✗ pyxdg ✗ pycairo ✓ pygobject ✓ atomicwrites ✗ jsonschema ✓ zope-interface ✗ azure-nspkg ✗ pygithub ✓ pillow ✓ mozprocess ✗ mozdevice ✗ tensorflow-datasets ✓ tensorflow-metadata ✓ google-api-python-client ✓ mozinfo ✗ mozprofile ✗ pystache ✓ mozfile ✗ mozterm ✗ pexpect ✗ azure-storage-blob ✓ azure-common ✗ bs4 ✓ azure-storage-nspkg ✗ oauth2client ✗ uritemplate ✓ ptyprocess ✗ simplejson ✗ cached-property ✗ orderedmultidict ✗ snowflake-connector-python ✓ elasticsearch ✓ htpasswd ✓ setuptools-scm ✓ matplotlib ✓ soupsieve ✓ unicodecsv ✗ pycryptodomex ✗ azure-storage-common ✗ etcd3 ✗ kombu ✓ isodate ✗ amqp ✓ requests-toolbelt ✗ msgpack ✓ pycodestyle ✓ py4j ✗ retrying ✗ kiwisolver ✓ google-auth-httplib2 ✗ cycler ✓ tornado ✓ avro ✓ ijson ✗ nose ✓ beautifulsoup ✗ pyrsistent ✓ influxdb ✗ sh ✗ pyspark ✓ spotinst-agent ✗ toml ✗ prometheus-client ✓ kubernetes ✓ backports-abc ✓ billiard ✓ pyodbc ✗ termcolor ✓ xlrd ✗ celery ✓ netaddr ✗ isort ✓ defusedxml ✗ mccabe ✓ awscli-cwlogs ✗ backports-shutil-get-terminal-size ✗ greenlet ✗ pyarrow ✓ html5lib ✗ markdown ✓ ansible-tower-cli ✗ ply ✓ kafka-python ✗ oscrypto ✗ mysql-connector-python ✓ pycryptodome ✗ prompt-toolkit ✓ selenium ✓ requests-aws4auth ✓ networkx ✓ gevent ✗ psycopg2-binary ✓ msrest ✓ backports-weakref ✗ sklearn ✓ django ✓ gitpython ✓ ecdsa ✗ pyflakes ✓ sortedcontainers ✗

Top 240 - 360

absl-py ✓ et-xmlfile ✓ vine ✓ mako ✓ tensorflow ✓ ipython-genutils ✗ gunicorn ✓ smmap ✓ traitlets ✓ s3fs ✓ xlwt ✗ gitdb2 ✓ pyaml ✗ h5py ✓ texttable ✗ presto-python-client ✗ docker-compose ✓ joblib ✓ thrift ✓ lazy-object-proxy ✓ bleach ✓ tzlocal ✓ openpyxl ✓ docker-pycreds ✗ webob ✗ ipython ✓ webencodings ✗ jdcal ✗ jpype1 ✓ pytest-cov ✓ fastavro ✓ pysftp ✗ flake8 ✓ crcmod ✗ curlify ✗ iso8601 ✓ smart-open ✓ jsonpickle ✗ linecache2 ✗ dockerpty ✓ slackclient ✓ tensorboard ✓ traceback2 ✗ python-etcd ✓ kafka ✗ mysql-python ✓ simplegeneric ✗ anyjson ✗ xgboost ✓ astroid ✓ astor ✗ smmap2 ✓ pyathenajdbc ✓ google-cloud-bigquery ✓ gast ✗ pylint ✓ pickleshare ✗ pytest-runner ✓ pathspec ✓ pretty-html-table ✓ pathlib ✗ regex ✓ redis-py-cluster ✗ unittest2 ✗ maxminddb ✓ adal ✗ appdirs ✗ xlsxwriter ✓ slacker ✗ snowballstemmer ✗ zope-event ✗ python-consul ✗ cdifflib ✓ configobj ✗ nltk ✓ check-puppet-agent ✓ keras-applications ✗ python-editor ✗ dumbyaml ✗ keras-preprocessing ✗ pyzmq ✓ google-auth-oauthlib ✓ tox ✓ grpcio-tools ✓ python-snappy ✗ google ✓ opentracing ✗ retry ✗ geoip2 ✓ msrestazure ✗ jwcrypto ✓ unidecode ✓ keras ✓ python-dotenv ✓ passlib ✓ ndg-httpsclient ✗ text-unidecode ✗ confluent-kafka ✗ pywin32 ✓ pika ✓ azure-keyvault ✓ python-gflags ✗ qds-sdk ✗ pypandoc ✓ azure-servicebus ✓ netifaces ✗ mysqlclient ✓ incremental ✗ python-jenkins ✗ inflection ✓ alabaster ✗ deepdiff ✓ twisted ✓ uwsgi ✓ ruamel-yaml ✓ python-gnupg ✗ virtualenv-clone ✗ stevedore ✓ raven ✗ alembic ✓

Thanks

This is derivative work from py3readiness.org, a site that tracks general compatibility with Python 3, which in turn is a derivative of pythonwheels.com, a site that tracks which Python distributions ship the wheel distribution.

Fork me on GitHub