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. 252 green packages (70.0%) have dropped support for Python 2.7;
  2. 108 white packages (30.0%) 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

botocore ✓ s3transfer ✓ colorama ✗ urllib3 ✓ six ✓ python-dateutil ✗ setuptools ✓ requests ✓ futures ✗ pip ✓ pyyaml ✓ chardet ✓ certifi ✓ jmespath ✓ idna ✓ docutils ✓ awscli ✓ pysam ✓ rsa ✓ pyasn1 ✗ boto3 ✓ wheel ✓ typing ✗ pytz ✗ ipaddress ✗ configparser ✓ numpy ✓ future ✗ enum34 ✗ pathlib2 ✗ scandir ✗ contextlib2 ✓ zipp ✓ pyparsing ✓ markupsafe ✓ cffi ✓ jinja2 ✓ cryptography ✓ pycparser ✗ importlib-metadata ✓ boto ✗ backports-functools-lru-cache ✓ click ✓ packaging ✓ attrs ✓ protobuf ✓ funcsigs ✗ mock ✓ pandas ✓ redis ✓ importlib-resources ✓ pyasn1-modules ✗ singledispatch ✓ pycrypto ✓ pymysql ✓ lxml ✓ itsdangerous ✓ werkzeug ✓ scipy ✓ wcwidth ✗ ecdsa ✗ hvac ✓ psutil ✗ python-jose ✓ pyopenssl ✓ monotonic ✓ py ✗ supervisor ✗ pillow ✓ sentry-sdk ✗ functools32 ✓ pytest ✓ lockfile ✗ decorator ✓ cython ✗ setuptools-scm ✓ flask ✓ python-daemon ✓ pluggy ✓ datadog ✗ paramiko ✓ cachetools ✓ websocket-client ✓ tqdm ✓ wrapt ✓ google-auth ✓ more-itertools ✓ bz2file ✗ html5lib ✗ pystache ✓ statsd ✓ pbr ✗ tenacity ✓ sqlalchemy ✓ atomicwrites ✗ oauthlib ✓ s3cmd ✗ docopt ✗ requests-oauthlib ✗ pymongo ✓ pyjwt ✓ webencodings ✗ httplib2 ✗ bcrypt ✓ grpcio ✓ kazoo ✓ pynacl ✓ subprocess32 ✗ dnspython ✓ beautifulsoup4 ✓ pexpect ✗ asn1crypto ✗ python-magic ✗ virtualenv ✓ orderedmultidict ✗ ptyprocess ✗ htpasswd ✓ netaddr ✓ scikit-learn ✓ google-api-core ✓

Top 120 - 240

pygments ✓ mccabe ✓ jsonschema ✓ dill ✓ elasticsearch ✓ matplotlib ✓ coverage ✓ cycler ✓ simplejson ✗ kombu ✓ promise ✗ xlsxwriter ✓ googleapis-common-protos ✓ amqp ✓ pycodestyle ✓ toml ✗ bleach ✓ pyflakes ✓ spotinst-agent ✗ kiwisolver ✓ billiard ✓ psycopg2 ✓ selenium ✓ avro ✓ redis-py-cluster ✗ babel ✓ zope-interface ✓ ansible ✓ soupsieve ✓ tornado ✓ tensorflow-metadata ✓ oauth2client ✗ tensorflow-datasets ✓ reportlab ✓ celery ✓ pyobjc-framework-quartz ✓ pyobjc ✓ pyobjc-framework-eventkit ✓ pyobjc-framework-servicemanagement ✓ pyobjc-framework-notificationcenter ✓ pyobjc-framework-exceptionhandling ✓ pyobjc-framework-addressbook ✓ pyobjc-framework-syncservices ✓ pyobjc-framework-avfoundation ✓ pyobjc-framework-instantmessage ✓ retrying ✓ pyobjc-framework-screensaver ✓ pyobjc-core ✓ pyobjc-framework-searchkit ✓ google-cloud-core ✓ pyobjc-framework-automator ✓ pyobjc-framework-corewlan ✓ pyobjc-framework-launchservices ✓ pyobjc-framework-accounts ✓ pyobjc-framework-pubsub ✓ pyobjc-framework-fsevents ✓ pyobjc-framework-coreservices ✓ pyobjc-framework-naturallanguage ✓ pyobjc-framework-coremediaio ✓ pyobjc-framework-coremedia ✓ pyobjc-framework-avkit ✓ pyobjc-framework-multipeerconnectivity ✓ pyobjc-framework-osakit ✓ pyobjc-framework-dictionaryservices ✓ pyobjc-framework-findersync ✓ pyobjc-framework-netfs ✓ pyobjc-framework-network ✓ pyobjc-framework-coreml ✓ pypdf2 ✓ distlib ✗ isodate ✗ beautifulsoup ✗ olefile ✗ pika ✓ backports-abc ✓ requests-aws4auth ✓ requests-file ✓ prometheus-client ✓ filelock ✓ elasticsearch-dsl ✓ django ✓ flake8 ✓ gunicorn ✓ azure-nspkg ✗ tldextract ✓ defusedxml ✗ google-resumable-media ✓ docker ✓ mechanize ✓ smart-open ✓ unicodecsv ✗ azure-common ✗ requests-toolbelt ✗ pypandoc ✓ cached-property ✗ gitpython ✓ cerberus-python-client ✓ google-cloud-storage ✓ mysql-connector ✗ azure-storage-blob ✓ backports-ssl-match-hostname ✗ py4j ✗ xhtml2pdf ✓ pickleshare ✗ enum ✓ smmap ✓ dicttoxml ✓ python-bidi ✗ google-api-python-client ✓ azure-storage-nspkg ✗ pytest-runner ✓ arabic-reshaper ✓ termcolor ✓ platformdirs ✓ gitdb2 ✓ jsonrpclib ✓ imgkit ✗ smmap2 ✓ redlock ✗ slowaes ✓

Top 240 - 360

tabulate ✓ ipython ✓ markdown ✓ ipython-genutils ✗ uritemplate ✓ traitlets ✓ backports-shutil-get-terminal-size ✗ xlrd ✗ pyspark ✓ greenlet ✓ simplegeneric ✗ argparse ✗ pyrsistent ✓ ply ✓ scapy ✗ msgpack ✓ raven ✗ prompt-toolkit ✓ azure-storage-common ✗ google-auth-httplib2 ✓ h5py ✓ incremental ✗ xmltodict ✓ nose ✓ backports-weakref ✗ distro ✓ vine ✓ msrest ✓ fuzzywuzzy ✗ snowballstemmer ✗ psycopg2-binary ✓ pycryptodomex ✗ kubernetes ✓ bs4 ✓ marshmallow ✓ curlify ✗ snowflake-connector-python ✓ webob ✗ pathspec ✓ multiprocessing ✓ pycryptodome ✗ statistics ✗ text-unidecode ✗ sh ✓ entrypoints ✓ scrapy ✓ networkx ✓ gevent ✓ msal ✗ docker-pycreds ✗ crcmod ✗ namedlist ✗ pytesseract ✓ nltk ✓ lazy-object-proxy ✓ scrapy-splash ✗ anyjson ✗ pytest-cov ✓ txaws ✓ adal ✗ mako ✓ keras-preprocessing ✗ tensorboard ✓ html5-parser ✓ checkdigit ✓ google-cloud-datastore ✓ tensorflow ✓ slacker ✗ torch ✓ keras-applications ✗ absl-py ✓ openpyxl ✓ msrestazure ✗ regex ✓ graphviz ✓ pyzmq ✓ gast ✗ mysql-python ✓ hyperlink ✗ pysocks ✗ tzlocal ✓ pywin32 ✓ deprecated ✗ waitress ✓ newrelic-telemetry-sdk ✗ webtest ✓ influxdb ✗ flask-httpauth ✓ sqlparse ✓ pathlib ✗ astor ✗ cssselect ✓ appdirs ✗ google-compute-engine ✗ service-identity ✓ keras ✓ trino ✓ pyscaffold ✓ addict ✗ isort ✓ mistune ✓ python-dotenv ✓ google-auth-oauthlib ✓ flask-marshmallow ✓ twisted ✓ joblib ✓ thrift ✓ azure-keyvault ✓ jdcal ✗ mysql-connector-python ✓ opencensus ✗ opencensus-context ✗ mysqlclient ✓ opencensus-ext-azure ✗ et-xmlfile ✓ plotly ✓ jupyter-core ✓ azure-servicebus ✓ oscrypto ✗ findspark ✓

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.