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 nearing 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

pip ✗ urllib3 ✗ botocore ✗ six ✓ s3transfer ✗ futures ✗ python-dateutil ✗ pyasn1 ✗ docutils ✗ rsa ✗ simplejson ✗ jmespath ✗ pyyaml ✗ requests ✗ awscli ✗ colorama ✗ setuptools ✗ certifi ✗ idna ✗ chardet ✗ wheel ✗ pytz ✗ boto3 ✗ enum34 ✗ numpy ✓ protobuf ✗ pyasn1-modules ✗ cffi ✗ awscli-cwlogs ✗ ipaddress ✗ pycparser ✗ cachetools ✗ google-api-core ✗ google-auth ✗ cryptography ✗ future ✗ googleapis-common-protos ✗ google-cloud-core ✗ asn1crypto ✗ grpcio ✗ jinja2 ✗ pytest-runner ✗ markupsafe ✗ decorator ✗ boto ✗ virtualenv ✗ attrs ✗ pandas ✓ argparse ✗ funcsigs ✗ mock ✗ pbr ✗ google-cloud-storage ✗ configparser ✗ pyopenssl ✗ pyparsing ✗ click ✗ backports-functools-lru-cache ✗ scipy ✓ websocket-client ✗ functools32 ✓ pathlib2 ✗ werkzeug ✗ httplib2 ✗ google-resumable-media ✗ scandir ✗ typing ✗ oauthlib ✗ scikit-learn ✓ ordereddict ✓ jsonschema ✗ requests-oauthlib ✗ more-itertools ✓ paramiko ✗ docopt ✗ wcwidth ✗ py ✗ contextlib2 ✗ lxml ✗ pytest ✓ google-api-python-client ✗ pluggy ✗ wrapt ✗ psutil ✗ absl-py ✗ pillow ✗ pymongo ✗ pygments ✗ subprocess32 ✗ packaging ✗ mozrunner ✗ pyjwt ✗ psycopg2 ✗ markdown ✗ docker ✗ redis ✗ importlib-metadata ✓ setuptools-scm ✗ atomicwrites ✗ zipp ✗ flask ✗ datadog ✗ sqlalchemy ✗ oauth2client ✗ pexpect ✗ grpc-google-iam-v1 ✗ ptyprocess ✗ bcrypt ✗ singledispatch ✗ beautifulsoup4 ✗ itsdangerous ✗ coverage ✗ backports-ssl-match-hostname ✗ ply ✓ pynacl ✗ requests-toolbelt ✗ apache-beam ✗ matplotlib ✓ google-cloud-bigquery ✗ prompt-toolkit ✗

Top 120 - 240

monotonic ✓ tornado ✓ ipython ✓ zope-interface ✗ traitlets ✗ webencodings ✗ ipython-genutils ✗ uritemplate ✗ ansible ✗ hdfs ✗ backports-shutil-get-terminal-size ✗ tabulate ✗ greenlet ✗ kiwisolver ✗ defusedxml ✗ mccabe ✗ pickleshare ✗ tqdm ✗ simplegeneric ✗ nose ✓ cycler ✗ gevent ✗ h5py ✗ termcolor ✓ bleach ✗ soupsieve ✗ incremental ✗ pyrsistent ✗ mozlog ✗ mozdevice ✗ networkx ✓ mozprofile ✗ backports-weakref ✗ dnspython ✗ cached-property ✗ pycodestyle ✗ tensorboard ✗ blessings ✗ docker-pycreds ✗ azure-common ✗ thrift ✓ tensorflow ✗ netaddr ✗ azure-nspkg ✗ backports-abc ✓ google-auth-httplib2 ✗ mozinfo ✗ kubernetes ✗ babel ✗ prettytable ✗ retrying ✗ mozprocess ✗ entrypoints ✓ google-cloud-pubsub ✗ pyzmq ✗ jsonpickle ✗ mozfile ✗ mozterm ✗ vcversioner ✗ pymysql ✗ google-cloud-datastore ✗ keras-preprocessing ✗ keras-applications ✗ py4j ✗ html5lib ✗ avro ✓ lockfile ✗ elasticsearch ✗ cython ✗ gitpython ✓ pyflakes ✗ astor ✗ pyarrow ✗ pycrypto ✓ flake8 ✗ gast ✗ tox ✗ twisted ✗ azure-storage-common ✗ azure-storage-nspkg ✗ gunicorn ✗ lazy-object-proxy ✗ xlrd ✗ python-magic ✗ sqlparse ✗ isodate ✗ dill ✗ azure-storage-blob ✗ pycryptodomex ✗ tensorflow-estimator ✗ bz2file ✗ google-cloud-bigtable ✗ xlsxwriter ✗ gitdb2 ✗ dockerpty ✓ smmap2 ✗ nltk ✗ smart-open ✗ fasteners ✗ python-daemon ✗ prometheus-client ✗ fastavro ✗ google-gax ✗ unicodecsv ✗ pyserial ✗ pylint ✓ astroid ✓ google-cloud-logging ✗ isort ✗ jupyter-core ✗ google-apitools ✓ pyhamcrest ✗ psycopg2-binary ✗ django ✓ mysqlclient ✗ texttable ✗ amqp ✗ unidecode ✗ nbformat ✗ kombu ✗

Top 240 - 360

google-pasta ✓ pydot ✗ xmltodict ✗ google ✓ stripe ✗ ipykernel ✓ python-jose ✗ s3cmd ✗ iso8601 ✓ docker-compose ✗ shapely ✗ joblib ✗ ujson ✗ jupyter-client ✓ keras ✗ pystache ✗ mistune ✗ pypandoc ✗ msgpack ✗ maxminddb ✗ tzlocal ✗ appdirs ✗ zope-deprecation ✗ notebook ✗ configobj ✗ ijson ✓ s3fs ✓ send2trash ✗ nbconvert ✗ milksnake ✓ geoip2 ✗ google-auth-oauthlib ✗ billiard ✗ celery ✗ deepdiff ✓ html2text ✗ testpath ✓ snowflake-connector-python ✗ terminado ✓ pandocfilters ✓ selenium ✗ mako ✓ ipywidgets ✗ regex ✗ requests-aws4auth ✗ widgetsnbextension ✗ semantic-version ✗ cheetah ✓ oauth ✓ statsd ✗ constantly ✗ pycryptodome ✗ configargparse ✗ pycairo ✗ pyxdg ✗ pygobject ✓ qtconsole ✗ cloudpickle ✗ pyrfc3339 ✗ hyperlink ✗ pathlib ✗ parsedatetime ✗ jupyter ✗ supervisor ✗ jupyter-console ✓ automat ✗ pyhive ✓ ecdsa ✗ fonttools ✓ stringcase ✓ service-identity ✗ plotly ✗ ndg-httpsclient ✗ crcmod ✗ mysql-python ✓ brotli ✗ zope-event ✗ zope-component ✗ toml ✗ scp ✗ google-cloud-spanner ✗ opencv-python ✗ hvac ✗ pytest-cov ✗ tensorflow-metadata ✗ vine ✗ webob ✗ python-editor ✗ meld3 ✗ statsmodels ✗ acme ✗ certbot ✗ ua-parser ✗ tensorflow-transform ✗ python-augeas ✓ jsonpath-rw ✗ django-multiselectfield ✗ prison ✗ josepy ✗ django-mysql ✓ zope-proxy ✗ zope-deferredimport ✗ letsencrypt ✗ raven ✗ certbot-apache ✗ zope-hookable ✗ jpype1 ✗ pytest-split-tests ✓ alembic ✗ openpyxl ✗ pycurl ✗ xgboost ✓ google-cloud-monitoring ✗ pyvcf ✗ netifaces ✗ ctutlz ✗ utlz ✗ certbot-nginx ✗ patsy ✗ jdcal ✗

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