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 it's End Of Life . This site shows Python 2.7 support for the 360 most downloaded packages on PyPI:

  1. Green packages have dropped support for Python 2.7;
  2. White packages 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 ✓ pip ✗ botocore ✗ s3transfer ✗ urllib3 ✗ six ✓ docutils ✗ jmespath ✗ wheel ✗ python-dateutil ✗ awscli ✗ pyyaml ✗ futures ✗ rsa ✓ requests ✗ pyasn1 ✗ colorama ✗ boto3 ✗ certifi ✓ idna ✗ chardet ✗ ipaddress ✗ protobuf ✗ pytz ✗ jinja2 ✗ markupsafe ✗ boto ✗ enum34 ✗ decorator ✗ packaging ✗ cffi ✗ scipy ✓ psutil ✗ google-cloud-storage ✗ cryptography ✗ wcwidth ✗ pygments ✓ configparser ✓ jsonschema ✗ simplejson ✗ argparse ✗ oauthlib ✗ google-resumable-media ✗ numpy ✓ google-api-python-client ✗ pexpect ✗ pycparser ✗ requests-oauthlib ✗ ptyprocess ✗ bleach ✗ tornado ✓ google-cloud-bigquery ✗ pyrsistent ✓ ujson ✓ tensorflow ✓ tensorboard ✗ backports-shutil-get-terminal-size ✗ webencodings ✗ defusedxml ✗ backports-abc ✓ prometheus-client ✗ ipython ✓ prompt-toolkit ✓ traitlets ✗ tensorflow-estimator ✓ ipython-genutils ✗ simplegeneric ✗ pickleshare ✗ joblib ✓ pyzmq ✗ entrypoints ✓ ordereddict ✓ jupyter-core ✗ google-auth-oauthlib ✗ smart-open ✓ nbformat ✓ ipykernel ✓ jupyter-client ✓ google-cloud-logging ✗ mistune ✗ tensorflow-metadata ✗ notebook ✓ terminado ✓ testpath ✓ nbconvert ✗ send2trash ✗ widgetsnbextension ✗ ipywidgets ✗ pandocfilters ✓ typing ✗ pathlib2 ✗ scandir ✗ contextlib2 ✗ qtconsole ✗ importlib-metadata ✓ gensim ✗ jupyter-console ✓ jupyter ✗ qtpy ✗ tensorflow-transform ✗ tensorflow-serving-api ✗ tensorflow-model-analysis ✓ pandas-gbq ✓ gcsfs ✓ pydata-google-auth ✗ tensorflow-data-validation ✓ tfx-bsl ✗ future ✗ zipp ✓ pyparsing ✗ click ✓ pillow ✓ funcsigs ✗ backports-functools-lru-cache ✗ distro ✗ pandas ✓ pyasn1-modules ✗ pbr ✗ attrs ✗ mock ✓

Top 120 - 240

singledispatch ✗ virtualenv ✗ google-auth ✗ google-api-core ✗ functools32 ✓ pyopenssl ✗ redis ✗ paramiko ✗ cachetools ✓ mozlog ✗ mozrunner ✗ httplib2 ✗ google-cloud-core ✗ importlib-resources ✗ grpcio ✗ lxml ✗ websocket-client ✗ googleapis-common-protos ✓ bcrypt ✗ werkzeug ✗ pynacl ✗ wrapt ✗ docker ✗ appdirs ✗ pytest-runner ✗ ansible ✗ pytest ✓ tqdm ✗ py ✗ filelock ✗ subprocess32 ✗ tabulate ✗ scikit-learn ✓ more-itertools ✓ pymongo ✗ pluggy ✗ mozdevice ✗ distlib ✗ psycopg2 ✗ mozprofile ✗ mozinfo ✗ itsdangerous ✗ setuptools-scm ✗ coverage ✗ mozprocess ✗ atomicwrites ✗ matplotlib ✓ backports-ssl-match-hostname ✗ pyjwt ✗ blessings ✗ sqlalchemy ✗ flask ✗ mozfile ✗ docopt ✗ oauth2client ✗ beautifulsoup4 ✗ datadog ✗ pycrypto ✓ mozterm ✗ cycler ✗ uritemplate ✗ zope-interface ✗ s3cmd ✗ pycodestyle ✗ mccabe ✗ networkx ✓ h5py ✗ kiwisolver ✓ monotonic ✓ psycopg2-binary ✗ greenlet ✗ asn1crypto ✗ ply ✓ babel ✗ markdown ✓ cython ✗ termcolor ✓ mysqlclient ✓ thrift ✓ dill ✗ requests-toolbelt ✗ py4j ✗ xmltodict ✗ keras-applications ✗ django ✓ xlrd ✗ absl-py ✗ flake8 ✗ backports-weakref ✗ soupsieve ✓ pyflakes ✗ nose ✓ retrying ✗ cached-property ✗ pymysql ✗ tzlocal ✗ google-auth-httplib2 ✗ toml ✗ lockfile ✗ avro ✗ msgpack ✗ keras-preprocessing ✗ python-jose ✗ apache-beam ✗ isort ✓ gitpython ✓ vcversioner ✗ pyarrow ✓ google-cloud-datastore ✗ statsd ✗ scp ✗ elasticsearch ✗ netaddr ✗ bz2file ✗ gevent ✗ python-daemon ✗ cloudpickle ✓ google-pasta ✗ google-cloud-pubsub ✗ xlsxwriter ✗

Top 240 - 360

gast ✗ html5lib ✗ astor ✗ google-gax ✗ pycurl ✓ dnspython ✗ nltk ✓ supervisor ✗ lazy-object-proxy ✗ pycryptodomex ✗ incremental ✗ pylint ✓ regex ✗ selenium ✗ azure-nspkg ✗ gunicorn ✓ sortedcontainers ✗ ua-parser ✗ configobj ✗ kafka-python ✗ isodate ✗ smmap2 ✓ pywavelets ✓ docker-pycreds ✗ azure-common ✗ astroid ✓ grpc-google-iam-v1 ✗ toolz ✗ gitdb2 ✓ pyxdg ✗ unidecode ✗ pycairo ✓ pygobject ✓ pathlib ✗ retry ✗ pycryptodome ✗ pystache ✗ pyhive ✓ unicodecsv ✗ python-magic ✗ requests-aws4auth ✗ fasteners ✗ readme-renderer ✗ zc-buildout ✗ awscli-cwlogs ✗ sqlparse ✗ zope-event ✗ virtualenv-clone ✗ ipaddr ✓ texttable ✗ smmap ✗ lz4 ✓ hvac ✗ fastavro ✗ djangorestframework ✓ netifaces ✗ dask ✓ shapely ✗ mako ✓ scikit-image ✓ configargparse ✗ pypandoc ✗ ecdsa ✗ docker-compose ✗ google-apitools ✗ pytest-cov ✗ jdcal ✗ openpyxl ✓ pyodbc ✗ dockerpty ✓ parsedatetime ✗ zope-deprecation ✗ iso8601 ✓ python-levenshtein ✓ et-xmlfile ✗ webob ✗ maxminddb ✗ ddtrace ✗ xgboost ✓ amqp ✗ stevedore ✓ seaborn ✓ plotly ✗ keras ✓ google-cloud-spanner ✗ pyrfc3339 ✗ redis-py-cluster ✗ slackclient ✓ kombu ✗ fuzzywuzzy ✗ semantic-version ✗ mozversion ✗ ndg-httpsclient ✗ opencv-python ✓ azure-storage-nspkg ✗ google-cloud-monitoring ✗ google-cloud-bigtable ✗ geoip2 ✗ acme ✗ certbot ✗ python-augeas ✗ zope-component ✗ s3fs ✓ ruamel-yaml ✗ mysql-connector-python ✗ azure-storage-blob ✗ ruamel-ordereddict ✓ letsencrypt ✗ certbot-apache ✗ zope-proxy ✗ arrow ✗ pyspark ✗ zope-deferredimport ✗ inflect ✓ mysql-python ✓ josepy ✗ zope-hookable ✗ waitress ✗ alembic ✗ celery ✗

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