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. 275 green packages (76.4%) have dropped support for Python 2.7;
  2. 85 uncolored packages (23.6%) still support Python 2.7.

Package 'x' is uncolored. 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 ✓ botocore ✓ s3transfer ✓ python-dateutil ✗ urllib3 ✓ setuptools ✓ six ✓ requests ✓ colorama ✗ jmespath ✓ wheel ✓ idna ✓ certifi ✓ chardet ✓ enum34 ✗ future ✗ pyyaml ✓ pytz ✗ typing ✗ awscli ✓ futures ✗ boto3 ✓ numpy ✓ pathlib2 ✗ docutils ✓ scandir ✗ pyasn1 ✓ configparser ✓ cffi ✓ rsa ✓ contextlib2 ✓ pyparsing ✓ zipp ✓ cryptography ✓ ipaddress ✗ lxml ✓ pycparser ✓ jinja2 ✓ markupsafe ✓ importlib-metadata ✓ backports-functools-lru-cache ✓ click ✓ lockfile ✗ pandas ✓ python-daemon ✓ singledispatch ✓ packaging ✓ pystache ✓ setuptools-scm ✓ funcsigs ✗ wcwidth ✓ paramiko ✓ websocket-client ✓ pyasn1-modules ✓ attrs ✓ flask ✓ werkzeug ✓ importlib-resources ✓ protobuf ✓ itsdangerous ✓ boto ✗ scipy ✓ pexpect ✗ py ✗ ptyprocess ✗ pbr ✗ sqlalchemy ✓ virtualenv ✓ pymongo ✓ more-itertools ✓ pluggy ✓ decorator ✓ atomicwrites ✗ pytest ✓ cachetools ✓ psutil ✓ mock ✓ distlib ✗ bcrypt ✓ asn1crypto ✗ docker ✓ backports-ssl-match-hostname ✗ redis ✓ django ✓ oauthlib ✓ google-auth ✓ subprocess32 ✗ pynacl ✓ spotinst-agent ✗ requests-oauthlib ✓ filelock ✓ pillow ✓ grpcio ✓ ecdsa ✗ netaddr ✓ cycler ✓ zope-interface ✓ pycrypto ✓ cython ✓ platformdirs ✓ pygments ✓ functools32 ✓ python-magic ✗ matplotlib ✓ tornado ✓ pyopenssl ✓ scikit-learn ✓ toml ✗ beautifulsoup4 ✓ kiwisolver ✓ jsonschema ✓ backports-abc ✓ wrapt ✓ defusedxml ✗ coverage ✓ supervisor ✗ tqdm ✓ httplib2 ✓ google-cloud-core ✓ webencodings ✗

Top 120 - 240

beautifulsoup ✗ google-resumable-media ✓ python-ldap ✓ elasticsearch ✓ pycryptodome ✗ billiard ✓ jsmin ✓ rjsmin ✗ tzdata ✓ pyjwt ✓ mongoengine ✓ python-gflags ✗ kombu ✓ prometheus-client ✓ s3cmd ✗ datadiff ✓ google-cloud-storage ✓ soupsieve ✓ celery ✓ pickleshare ✗ twisted ✓ requests-toolbelt ✗ xlrd ✗ ipython-genutils ✗ pycurl ✓ amqp ✓ mccabe ✓ simplejson ✗ ipython ✓ backports-shutil-get-terminal-size ✗ traitlets ✓ numexpr ✓ prompt-toolkit ✓ nose ✓ isodate ✓ google-api-core ✓ datadog ✗ simplegeneric ✗ retrying ✓ pykcs11 ✓ pypandoc ✓ scrapy ✓ argparse ✗ googleapis-common-protos ✓ tabulate ✓ vine ✓ psycopg2 ✓ kubernetes ✓ marshmallow ✓ babel ✓ nltk ✓ cached-property ✓ greenlet ✓ pysftp ✗ pyzmq ✓ python-dotenv ✓ google-cloud-datastore ✓ monotonic ✓ entrypoints ✓ google-auth-httplib2 ✓ mistune ✓ bleach ✓ gitpython ✓ mysql-python ✓ xmltodict ✓ deprecated ✗ gunicorn ✓ docopt ✗ pycodestyle ✓ gitdb2 ✓ smmap ✓ uritemplate ✓ text-unidecode ✗ pyflakes ✓ pytest-cov ✓ xlsxwriter ✓ html5lib ✗ jdcal ✗ jupyter-core ✓ trino ✓ smart-open ✓ openpyxl ✓ pytest-runner ✓ smmap2 ✓ mysql-connector-python ✓ et-xmlfile ✓ ansible ✓ flake8 ✓ jupyter-client ✓ flask-httpauth ✓ regex ✓ pandocfilters ✗ statistics ✗ ipykernel ✓ psycopg2-binary ✓ flask-marshmallow ✓ nbformat ✓ slacker ✗ google-compute-engine ✗ google-api-python-client ✓ sortedcontainers ✗ send2trash ✓ nbconvert ✓ patsy ✓ snowballstemmer ✗ jsonpointer ✓ stevedore ✓ statsmodels ✓ notebook ✓ sentry-sdk ✓ testpath ✓ pypcap ✓ dnspython ✓ selenium ✓ typing-extensions ✓ ldap3 ✓ ply ✓ dill ✓ isort ✓ crcmod ✗

Top 240 - 360

terminado ✓ pyserial ✗ tzlocal ✓ appdirs ✗ msgpack ✓ azure-nspkg ✗ virtualenv-clone ✗ incremental ✓ oauth2client ✗ gevent ✓ scapy ✓ lazy-object-proxy ✓ gensim ✓ pathlib ✗ imagesize ✓ pypdf2 ✓ sphinx ✓ ipywidgets ✓ widgetsnbextension ✓ alabaster ✓ pymysql ✓ joblib ✓ pyodbc ✓ docker-pycreds ✗ mako ✓ tables ✓ pylint ✓ python-docx ✓ bs4 ✓ sqlparse ✓ virtualenvwrapper ✓ jsonpickle ✓ astroid ✓ changepy ✓ pysocks ✗ termcolor ✓ google-auth-oauthlib ✓ py4j ✓ pyrsistent ✓ markdown ✓ multiprocessing ✓ azure-common ✗ probableparsing ✗ sshtunnel ✗ usaddress ✓ python-crfsuite ✓ azure-core ✓ blinker ✓ pycryptodomex ✗ msrest ✓ requests-file ✓ dumbyaml ✗ alembic ✓ python-snappy ✓ cassandra-driver ✓ flask-cors ✓ pymssql ✓ google-cloud-bigquery ✓ sphinxcontrib-websupport ✓ geomet ✓ grpcio-tools ✓ thrift ✓ namedlist ✗ python-jose ✓ s3fs ✓ jellyfish ✓ msal ✓ unicodecsv ✗ networkx ✓ mypy-extensions ✓ deepdiff ✓ luigi ✓ croniter ✗ setuptools-markdown ✓ pure-eval ✓ fpdf2 ✓ distro ✓ stack-data ✓ cvxopt ✓ python-editor ✗ jupyter ✓ pyarrow ✓ gender-guesser ✓ jsonpatch ✗ pystaticconfiguration ✓ pypi ✓ pyrtf3 ✓ mysqlclient ✓ inspect2 ✗ gast ✗ flatbuffers ✓ passlib ✓ tenacity ✓ flask-sqlalchemy ✓ faker ✓ cloudpickle ✓ charset-normalizer ✓ cssselect ✓ aniso8601 ✗ unidecode ✓ google-cloud ✗ djangorestframework ✓ transitions ✗ sphinx-rtd-theme ✓ bz2file ✗ uvicorn ✓ cx-oracle ✓ toolz ✓ texttable ✗ google-pasta ✗ ifcfg ✗ dockerpty ✓ zope-event ✓ resolvelib ✓ reportlab ✓ nodeenv ✗ pika ✓ hvac ✓ torch ✓ xlwt ✗

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.