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

Top 120 - 240

prompt-toolkit ✗ backports-ssl-match-hostname ✗ gevent ✗ traitlets ✗ pyrsistent ✗ s3cmd ✗ beautifulsoup4 ✗ ipython ✓ tornado ✓ requests-toolbelt ✗ matplotlib ✓ ipython-genutils ✗ kubernetes ✗ mccabe ✗ hdfs ✗ simplegeneric ✗ backports-shutil-get-terminal-size ✗ defusedxml ✗ pickleshare ✗ mozprofile ✗ pycodestyle ✗ dill ✗ kiwisolver ✗ webencodings ✗ ansible ✗ mozdevice ✗ uritemplate ✗ tqdm ✗ blessings ✗ networkx ✓ mozinfo ✗ nose ✓ cycler ✗ py4j ✗ termcolor ✓ markdown ✗ soupsieve ✗ mozprocess ✗ google-cloud-pubsub ✗ tensorflow ✗ mozterm ✗ cached-property ✗ tensorboard ✗ avro ✓ pyzmq ✗ zope-interface ✗ pyflakes ✗ backports-abc ✓ docker-pycreds ✗ pymysql ✗ flake8 ✗ html5lib ✗ cython ✗ bleach ✗ babel ✗ backports-weakref ✗ gitpython ✓ thrift ✓ python-magic ✗ jsonpickle ✗ fastavro ✗ entrypoints ✓ google-cloud-bigtable ✗ google-auth-httplib2 ✗ google-cloud-datastore ✗ retrying ✗ gitdb2 ✗ elasticsearch ✗ keras-applications ✗ lockfile ✗ keras-preprocessing ✗ vcversioner ✗ fasteners ✗ distro ✗ mysqlclient ✗ smmap2 ✗ lazy-object-proxy ✗ xlrd ✗ watchtower ✗ azure-nspkg ✗ xlsxwriter ✗ azure-common ✗ prometheus-client ✗ gast ✗ google-cloud-logging ✗ pylint ✓ google-auth-oauthlib ✗ tensorflow-estimator ✗ joblib ✗ google-gax ✗ ujson ✗ dnspython ✗ bz2file ✗ astor ✗ unicodecsv ✗ tensorflow-metadata ✗ python-daemon ✗ isodate ✗ mistune ✗ psycopg2-binary ✗ gunicorn ✓ pycrypto ✓ sqlparse ✗ nltk ✗ netaddr ✗ google-apitools ✓ statsd ✗ msgpack ✗ astroid ✓ isort ✗ dockerpty ✓ jupyter-core ✗ pycryptodomex ✗ pypandoc ✗ django ✓ xmltodict ✗ smart-open ✗ unidecode ✗ amqp ✗ ipywidgets ✗

Top 240 - 360

azure-storage-nspkg ✗ pathlib ✗ python-jose ✗ ipykernel ✓ hvac ✗ kombu ✗ azure-storage-blob ✗ texttable ✗ nbformat ✗ pystache ✗ jupyter-client ✓ requests-aws4auth ✗ iso8601 ✓ jupyter ✗ tox ✗ pydot ✗ docker-compose ✗ shapely ✗ s3fs ✓ google-cloud-spanner ✗ toolz ✗ notebook ✓ send2trash ✗ cloudpickle ✗ azure-storage-common ✗ selenium ✗ nbconvert ✗ deepdiff ✓ keras ✗ mako ✓ billiard ✗ testpath ✓ pycairo ✗ pycryptodome ✗ pygobject ✓ pyxdg ✗ celery ✗ supervisor ✗ regex ✗ widgetsnbextension ✗ terminado ✓ xgboost ✓ retry ✗ pandocfilters ✓ crcmod ✗ appdirs ✗ configobj ✗ pyvcf ✗ google-pasta ✗ qtconsole ✗ jupyter-console ✓ tensorflow-transform ✗ semantic-version ✗ ecdsa ✗ tzlocal ✗ toml ✗ pytest-cov ✗ zope-deprecation ✗ dask ✓ incremental ✗ ndg-httpsclient ✗ scp ✗ milksnake ✓ pyhive ✓ pycurl ✗ jdcal ✗ webob ✗ googledatastore ✗ mysql-python ✓ openpyxl ✓ ijson ✓ raven ✗ grpcio-gcp ✗ plotly ✗ prettytable ✗ sentry-sdk ✗ vine ✗ alembic ✗ snowflake-connector-python ✗ grpcio-tools ✗ python-editor ✗ kafka-python ✗ pyspark ✗ gensim ✗ configargparse ✗ imageio ✗ fonttools ✓ google ✓ aenum ✗ et-xmlfile ✗ google-cloud-monitoring ✗ parsedatetime ✗ jpype1 ✗ ua-parser ✗ sklearn ✓ statsmodels ✗ snowballstemmer ✗ automat ✗ pyproj ✓ tenacity ✗ brotli ✗ netifaces ✗ patsy ✗ pyhamcrest ✗ pyrfc3339 ✗ tldextract ✗ text-unidecode ✗ maxminddb ✗ pyudorandom ✓ accumulation-tree ✓ tdigest ✓ requests-file ✗ mozfile ✗ virtualenv-clone ✗ ruamel-yaml ✗ graphviz ✗ sphinx ✓ marshmallow ✓ arrow ✗ stevedore ✗

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