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

Top 120 - 240

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

Top 240 - 360

azure-keyvault ✓ crcmod ✗ sklearn ✓ azure-servicebus ✓ google-pasta ✗ influxdb ✗ tensorflow ✓ curlify ✗ python-gflags ✗ regex ✓ opencensus ✗ opentracing ✗ opencensus-context ✗ azure-eventgrid ✓ pathspec ✓ opencensus-ext-azure ✗ oscrypto ✗ opencensus-ext-requests ✗ opencensus-ext-logging ✗ avro ✓ tzlocal ✓ mysqlclient ✓ validate-email ✓ entrypoints ✓ tensorflow-estimator ✓ pathlib ✗ gitpython ✓ multiprocessing ✓ mozlog ✗ openpyxl ✓ dj-database-url ✓ orderedmultidict ✗ mysql-python ✓ appdirs ✗ google-auth-oauthlib ✓ xgboost ✓ namedlist ✗ python-openid ✓ pypandoc ✓ mozrunner ✗ lazy-object-proxy ✓ pyrfc3339 ✗ pyzmq ✓ statistics ✗ google-cloud-bigquery ✓ pytest-mock ✓ isort ✓ xlsxwriter ✓ google-cloud-datastore ✓ s3fs ✓ django-celery-beat ✓ htpasswd ✓ smart-open ✓ semver ✓ python-crontab ✓ networkx ✓ aenum ✗ kafka-python ✗ text-unidecode ✗ jdcal ✗ smmap ✓ django-celery-results ✓ django-ses ✓ plotly ✓ et-xmlfile ✓ deprecated ✗ gitdb2 ✓ sqlparse ✓ smmap2 ✓ rollbar ✗ flask-httpauth ✓ django-picklefield ✓ slacker ✗ confluent-kafka ✗ hypothesis ✓ fastavro ✓ xlwt ✗ trino ✓ python-snappy ✗ django-auth-ldap ✓ configobj ✗ flatten-json ✓ addict ✗ django-webtest ✓ graphviz ✓ python-editor ✗ linecache2 ✗ docker-pycreds ✗ pylint ✓ snowballstemmer ✗ joblib ✓ jsonpickle ✓ incremental ✗ traceback2 ✗ pika ✓ texttable ✗ docker-compose ✓ astroid ✓ alembic ✓ rjsmin ✗ seaborn ✓ sphinx ✓ selenium ✓ typing-extensions ✓ redis-py-cluster ✗ slackclient ✓ mongoengine ✓ mistune ✓ google-compute-engine ✗ unidecode ✓ ujson ✓ unittest2 ✗ pysftp ✗ jsmin ✓ blinker ✓ jupyter-core ✓ flask-marshmallow ✓ execnet ✗ nltk ✓ pytest-forked ✓

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