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. 224 green packages (62.2%) have dropped support for Python 2.7;
  2. 136 white packages (37.8%) 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 ✗ pip ✓ urllib3 ✓ six ✓ python-dateutil ✗ requests ✓ futures ✗ wheel ✓ certifi ✓ pyyaml ✓ idna ✓ chardet ✓ docutils ✓ awscli ✓ pyasn1 ✗ rsa ✓ jmespath ✓ boto3 ✓ pytz ✗ typing ✗ cryptography ✓ enum34 ✗ cffi ✗ numpy ✓ pyparsing ✓ markupsafe ✓ future ✗ pathlib2 ✗ jinja2 ✓ configparser ✓ scandir ✗ ipaddress ✗ contextlib2 ✓ pycparser ✗ zipp ✓ click ✓ psutil ✗ boto ✗ protobuf ✓ paramiko ✓ packaging ✓ backports-functools-lru-cache ✗ importlib-metadata ✓ singledispatch ✓ attrs ✓ pandas ✓ redis ✓ pyopenssl ✓ mock ✓ pyasn1-modules ✗ python-jose ✓ importlib-resources ✓ pymysql ✓ google-api-core ✓ funcsigs ✗ decorator ✓ cachetools ✓ py ✗ s3cmd ✗ itsdangerous ✓ werkzeug ✓ wrapt ✗ docker ✓ hvac ✓ wcwidth ✗ bcrypt ✓ monotonic ✓ pymongo ✓ pynacl ✓ pyjwt ✓ scipy ✓ tabulate ✓ google-auth ✓ statsd ✓ pillow ✓ flask ✓ lockfile ✗ python-daemon ✓ functools32 ✓ httplib2 ✗ websocket-client ✓ psycopg2 ✓ tenacity ✓ datadog ✗ oauthlib ✓ sentry-sdk ✗ tqdm ✓ pbr ✗ requests-oauthlib ✗ beautifulsoup4 ✓ cython ✗ lxml ✗ grpcio ✓ pytest ✓ ansible ✓ more-itertools ✓ virtualenv ✓ asn1crypto ✗ sqlalchemy ✓ setuptools-scm ✓ python-magic ✗ pluggy ✓ argparse ✗ kazoo ✓ atomicwrites ✗ scp ✗ docopt ✗ pyvmomi ✗ coverage ✓ tornado ✓ backports-abc ✓ jsonschema ✓ pexpect ✗ googleapis-common-protos ✓ pystache ✓ xmltodict ✓ oauth2client ✗

Top 120 - 240

ptyprocess ✗ dill ✓ kombu ✓ amqp ✓ azure-nspkg ✗ django ✓ unicodecsv ✗ azure-storage-blob ✓ billiard ✓ azure-common ✗ pycrypto ✓ pygments ✓ celery ✓ azure-storage-nspkg ✗ subprocess32 ✗ toml ✗ retrying ✓ promise ✗ simplejson ✗ html5lib ✗ cerberus-python-client ✓ isodate ✗ backports-ssl-match-hostname ✗ bz2file ✗ gunicorn ✓ bleach ✓ scikit-learn ✓ babel ✓ greenlet ✗ zope-interface ✓ soupsieve ✓ google-cloud-core ✓ supervisor ✗ bs4 ✓ google-resumable-media ✓ azure-storage-common ✗ elasticsearch ✓ filelock ✓ matplotlib ✓ kubernetes ✓ google-api-python-client ✓ defusedxml ✗ nose ✓ cycler ✓ spotinst-agent ✗ cached-property ✗ prometheus-client ✓ termcolor ✓ requests-toolbelt ✗ tensorflow-metadata ✓ tensorflow-datasets ✓ pycryptodomex ✗ webob ✗ uritemplate ✓ pycodestyle ✓ dnspython ✓ kiwisolver ✓ google-auth-httplib2 ✗ mccabe ✓ backports-shutil-get-terminal-size ✗ distlib ✗ prompt-toolkit ✓ py4j ✗ retry ✗ snowflake-connector-python ✓ gevent ✗ anyjson ✗ pickleshare ✗ platformdirs ✓ psycopg2-binary ✓ ipython ✓ msrest ✓ ipython-genutils ✗ pyrsistent ✓ awscli-cwlogs ✗ google-cloud-storage ✓ traitlets ✓ pytest-runner ✓ beautifulsoup ✗ backports-weakref ✗ orderedmultidict ✗ pytest-cov ✓ sklearn ✓ simplegeneric ✗ webencodings ✗ pyflakes ✓ htpasswd ✓ mysql-connector-python ✓ webtest ✓ xlrd ✗ requests-aws4auth ✓ markdown ✓ keras-preprocessing ✗ sortedcontainers ✗ absl-py ✓ waitress ✓ python-ldap ✓ gast ✗ keras-applications ✗ msgpack ✓ distro ✓ ijson ✗ luigi ✓ pyarrow ✓ validate-email ✓ astor ✗ tensorboard ✓ mako ✓ pyodbc ✗ pycryptodome ✗ ecdsa ✗ ansible-tower-cli ✗ pyspark ✓ h5py ✓ tensorflow ✓ adal ✗ vine ✓ tzlocal ✓ flake8 ✓ dj-database-url ✓

Top 240 - 360

google-pasta ✗ netaddr ✗ marshmallow ✓ msrestazure ✗ presto-python-client ✗ zope-event ✗ influxdb ✗ python-openid ✓ oscrypto ✗ joblib ✓ ply ✓ pywin32 ✓ azure-servicebus ✓ curlify ✗ django-celery-beat ✓ tensorflow-estimator ✓ python-crontab ✓ django-celery-results ✓ azure-keyvault ✓ django-ses ✓ rollbar ✗ django-picklefield ✓ opentracing ✗ thrift ✓ avro ✓ opencensus ✗ opencensus-context ✗ crcmod ✗ regex ✓ isort ✓ openpyxl ✓ azure-eventgrid ✓ opencensus-ext-azure ✗ s3fs ✓ django-auth-ldap ✓ mysqlclient ✓ opencensus-ext-requests ✗ opencensus-ext-logging ✗ django-webtest ✓ smart-open ✓ xgboost ✓ entrypoints ✓ pathspec ✓ gitpython ✓ pathlib ✗ multiprocessing ✓ networkx ✓ appdirs ✗ kafka-python ✗ mozlog ✗ google-auth-oauthlib ✓ namedlist ✗ lazy-object-proxy ✓ pypandoc ✓ semver ✓ pytest-mock ✓ xlsxwriter ✓ pyzmq ✓ pyrfc3339 ✗ mysql-python ✓ jdcal ✗ google-cloud-datastore ✓ statistics ✗ et-xmlfile ✓ smmap ✓ mozrunner ✗ plotly ✓ docker-pycreds ✗ gitdb2 ✓ slacker ✗ resolvelib ✓ flask-httpauth ✓ ansible-core ✓ smmap2 ✓ xlwt ✗ python-editor ✗ cassandra-driver ✓ deprecated ✗ configobj ✗ google-cloud-bigquery ✓ aenum ✗ hypothesis ✓ docker-compose ✓ snowballstemmer ✗ selenium ✓ sqlparse ✓ addict ✗ python-jenkins ✗ alembic ✓ texttable ✗ confluent-kafka ✗ unidecode ✓ linecache2 ✗ graphviz ✓ slackclient ✓ fastavro ✓ traceback2 ✗ text-unidecode ✗ jsonpickle ✓ python-snappy ✗ google-compute-engine ✗ pylint ✓ pika ✓ passlib ✓ multi-key-dict ✓ astroid ✓ execnet ✗ geomet ✓ mistune ✗ typing-extensions ✓ python-gflags ✗ pytest-forked ✓ blinker ✓ nltk ✓ unittest2 ✗ flask-marshmallow ✓ jsondiff ✗ grpcio-tools ✓ prettytable ✓ pysftp ✗

Thanks

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

Fork me on GitHub