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

Top 120 - 240

dill ✓ ipython-genutils ✗ prometheus-client ✓ backports-abc ✓ asn1crypto ✗ google-cloud-core ✓ pillow ✓ prompt-toolkit ✓ webencodings ✗ cycler ✓ traitlets ✓ matplotlib ✓ elasticsearch ✓ pickleshare ✗ psycopg2 ✓ google-resumable-media ✓ backports-shutil-get-terminal-size ✗ python-magic ✗ simplejson ✗ zope-interface ✗ kiwisolver ✓ ipython ✓ backports-ssl-match-hostname ✗ google-cloud-storage ✓ promise ✗ bz2file ✗ isodate ✗ kazoo ✓ scp ✗ mccabe ✓ simplegeneric ✗ pystache ✓ pycrypto ✓ argparse ✗ azure-nspkg ✗ greenlet ✗ dnspython ✓ pycodestyle ✓ entrypoints ✓ soupsieve ✓ scikit-learn ✓ bleach ✓ nose ✓ cached-property ✗ google-api-python-client ✓ pyvmomi ✗ requests-toolbelt ✗ google-auth-httplib2 ✗ uritemplate ✓ oauth2client ✗ resolvelib ✓ ansible-core ✓ pytest-runner ✓ unicodecsv ✗ azure-common ✗ pyrsistent ✓ pyflakes ✓ billiard ✓ termcolor ✓ orderedmultidict ✗ azure-storage-blob ✓ kombu ✓ azure-storage-nspkg ✗ amqp ✓ cerberus-python-client ✓ htpasswd ✓ pyzmq ✓ flake8 ✓ django ✓ pytest-cov ✓ gunicorn ✓ mistune ✗ bs4 ✓ tensorflow-metadata ✓ retrying ✓ celery ✓ tensorflow-datasets ✓ msgpack ✓ mako ✓ selenium ✓ snowballstemmer ✗ xlrd ✗ psycopg2-binary ✓ ecdsa ✗ gevent ✗ pandocfilters ✗ jupyter-core ✓ nbconvert ✓ nbformat ✓ pyarrow ✓ alabaster ✓ send2trash ✗ sphinx ✓ testpath ✓ html5lib ✗ imagesize ✗ jupyter-client ✓ pycryptodomex ✗ markdown ✓ notebook ✓ python-editor ✗ terminado ✓ py4j ✗ ipykernel ✓ joblib ✓ sortedcontainers ✗ msrest ✓ text-unidecode ✗ tzlocal ✓ ply ✓ vine ✓ crcmod ✗ azure-storage-common ✗ distro ✓ snowflake-connector-python ✓ sklearn ✓ beautifulsoup ✗ appdirs ✗ thrift ✓ alembic ✓

Top 240 - 360

typing-extensions ✓ pycryptodome ✗ marshmallow ✓ lazy-object-proxy ✓ sphinxcontrib-websupport ✓ kubernetes ✓ regex ✓ yq ✓ netaddr ✗ backports-weakref ✗ avro ✓ pyspark ✓ ipywidgets ✓ pyodbc ✗ et-xmlfile ✓ jdcal ✗ google-auth-oauthlib ✓ deprecated ✗ widgetsnbextension ✓ requests-aws4auth ✓ networkx ✓ smart-open ✓ jpype1 ✓ zope-event ✗ mysql-connector-python ✓ gitpython ✓ smmap ✓ iso8601 ✓ influxdb ✗ h5py ✓ absl-py ✓ sh ✗ gitdb2 ✓ isort ✓ ijson ✗ pathlib ✗ smmap2 ✓ webob ✗ flask-sqlalchemy ✓ pypandoc ✓ blinker ✓ keras-preprocessing ✗ google-cloud-bigquery ✓ pathspec ✓ oscrypto ✗ arrow ✓ python-dotenv ✓ openpyxl ✓ awscli-cwlogs ✗ flask-cors ✗ jsonpickle ✓ nltk ✓ kafka-python ✗ aniso8601 ✗ google ✓ fastavro ✓ retry ✗ spotinst-agent ✗ xlsxwriter ✓ tox ✓ croniter ✗ sqlparse ✓ uwsgi ✓ confluent-kafka ✗ patsy ✗ adal ✗ mysqlclient ✓ xgboost ✓ gast ✗ raven ✗ wtforms ✓ presto-python-client ✗ keras-applications ✗ xlwt ✗ astor ✗ ansible-tower-cli ✗ semver ✗ pyrfc3339 ✗ opentracing ✗ redis-py-cluster ✗ azure-core ✓ curlify ✗ mypy-extensions ✗ iniconfig ✓ pytest-mock ✓ graphviz ✓ unidecode ✓ msrestazure ✗ watchdog ✓ texttable ✗ docker-pycreds ✗ s3fs ✓ cookies ✗ statsmodels ✓ slackclient ✓ backoff ✓ responses ✓ ddtrace ✗ slacker ✗ python-slugify ✓ jsonpointer ✗ pyaml ✗ argcomplete ✓ pathtools ✓ execnet ✗ jsondiff ✗ plotly ✓ ruamel-yaml ✓ backcall ✗ tensorboard ✓ cloudpickle ✓ incremental ✗ mozlog ✗ email-validator ✓ pyathenajdbc ✓ grpcio-tools ✓ astroid ✓ google-pasta ✗ flask-login ✓ 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