Python 3.6 Readiness

Python 3.6 support graph for the 360 most popular Python packages!

What is this about?

Python 3.6 is a version of Python that is past its End Of Life. This site shows Python 3.6 support for the 360 most downloaded packages on PyPI:

  1. 318 green packages (88.3%) have dropped support for Python 3.6;
  2. 42 uncolored packages (11.7%) still support Python 3.6.

Package 'x' is uncolored. What can I do?

There can be many reasons a package is still supporting Python 3.6:

  • 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 3.6 support.

How do you identify Python 3.6 support?

We look for the Programming Language :: Python :: 3.6 classifier on the latest release of the project, via PyPI's JSON API.

Top 120

boto3 ✓ urllib3 ✓ botocore ✓ setuptools ✓ requests ✓ certifi ✓ typing-extensions ✓ charset-normalizer ✓ idna ✗ grpcio-status ✓ packaging ✓ aiobotocore ✓ python-dateutil ✗ s3transfer ✓ six ✓ s3fs ✓ numpy ✓ pyyaml ✓ protobuf ✓ importlib-metadata ✓ cryptography ✓ fsspec ✓ pydantic ✓ cffi ✓ pip ✓ pycparser ✓ pandas ✓ attrs ✓ platformdirs ✓ rsa ✗ click ✓ jmespath ✓ jinja2 ✓ markupsafe ✓ pytz ✗ google-api-core ✓ pyasn1 ✓ zipp ✓ pluggy ✓ pydantic-core ✓ pygments ✓ wheel ✓ virtualenv ✓ filelock ✓ cachetools ✓ grpcio-tools ✓ h11 ✓ google-auth ✓ anyio ✓ colorama ✓ sniffio ✓ googleapis-common-protos ✓ pytest ✓ annotated-types ✓ pyasn1-modules ✓ httpx ✓ tzdata ✓ httpcore ✓ jsonschema ✓ iniconfig ✓ aiohttp ✓ awscli ✓ tomli ✓ pyjwt ✓ multidict ✓ yarl ✓ pyarrow ✓ wrapt ✓ requests-oauthlib ✗ exceptiongroup ✓ psutil ✓ tomlkit ✓ tqdm ✓ sqlalchemy ✓ frozenlist ✓ cloudpickle ✓ distlib ✗ greenlet ✓ oauthlib ✓ python-dotenv ✓ aiosignal ✓ requests-toolbelt ✗ pyparsing ✓ pathspec ✓ propcache ✓ scipy ✓ pyzmq ✓ pillow ✓ rpds-py ✓ jsonschema-specifications ✓ rich ✓ grpcio ✓ beautifulsoup4 ✓ pyopenssl ✓ grpcio-health-checking ✓ referencing ✓ soupsieve ✓ typing-inspection ✓ openpyxl ✗ docutils ✓ et-xmlfile ✓ more-itertools ✓ aiohappyeyeballs ✓ isodate ✓ google-cloud-storage ✓ msgpack ✓ lxml ✓ proto-plus ✓ markdown-it-py ✓ mdurl ✓ werkzeug ✓ trove-classifiers ✓ yandexcloud ✓ opentelemetry-semantic-conventions ✓ coverage ✓ shellingham ✓ decorator ✓ mypy-extensions ✓ websocket-client ✓ pynacl ✗

Top 120 - 240

async-timeout ✓ azure-identity ✓ snowflake-connector-python ✓ sortedcontainers ✗ azure-core ✓ keyring ✓ tenacity ✓ flask ✓ deprecated ✗ msal ✓ psycopg2-binary ✓ poetry-core ✓ weaviate-client ✓ langsmith ✓ types-requests ✓ asn1crypto ✗ gym-notices ✓ google-cloud-core ✓ scikit-learn ✓ regex ✓ jaraco-classes ✓ opentelemetry-api ✓ jeepney ✓ secretstorage ✗ starlette ✓ huggingface-hub ✓ fastjsonschema ✗ bcrypt ✓ aliyun-python-sdk-core ✓ chardet ✓ wcwidth ✗ gitpython ✓ pexpect ✓ fastapi ✓ networkx ✓ ptyprocess ✓ google-api-python-client ✓ tabulate ✓ uvicorn ✓ opentelemetry-sdk ✓ google-resumable-media ✓ threadpoolctl ✓ rapidfuzz ✓ itsdangerous ✓ pyproject-hooks ✓ smmap ✓ build ✓ gitdb ✓ paramiko ✗ google-crc32c ✓ dill ✓ ruamel-yaml ✓ dnspython ✓ matplotlib ✓ blinker ✓ backoff ✓ opentelemetry-proto ✓ pkginfo ✓ joblib ✓ google-auth-oauthlib ✗ alembic ✓ opentelemetry-instrumentation ✓ jaraco-functools ✓ importlib-resources ✓ websockets ✓ zstandard ✓ prompt-toolkit ✓ fonttools ✓ awswrangler ✓ msal-extensions ✓ jaraco-context ✓ defusedxml ✗ cachecontrol ✓ uritemplate ✓ marshmallow ✓ pytest-cov ✓ openai ✓ langchain ✓ kiwisolver ✓ google-cloud-bigquery ✓ sqlparse ✓ distro ✗ redis ✓ xmltodict ✗ sphinx ✓ google-auth-httplib2 ✗ google-genai ✓ httplib2 ✗ azure-storage-blob ✓ opentelemetry-util-http ✓ py4j ✓ cycler ✓ opentelemetry-exporter-otlp-proto-http ✓ poetry-plugin-export ✓ ruamel-yaml-clib ✓ poetry ✓ ipython ✓ tzlocal ✓ opentelemetry-instrumentation-requests ✓ cython ✓ docker ✓ dulwich ✓ transformers ✓ crashtest ✓ cleo ✓ nest-asyncio ✗ typedload ✓ babel ✓ installer ✓ black ✓ opentelemetry-exporter-otlp-proto-grpc ✓ jsonpointer ✓ contourpy ✓ traitlets ✓ opentelemetry-exporter-otlp-proto-common ✓ pymysql ✓ jedi ✗ prometheus-client ✓ hatchling ✓ setuptools-scm ✓

Top 240 - 360

grpc-google-iam-v1 ✓ orjson ✓ parso ✗ isort ✓ pycodestyle ✓ gunicorn ✓ kubernetes ✗ langchain-core ✓ tornado ✓ snowflake-sqlalchemy ✓ typer ✓ toml ✗ markdown ✓ mako ✓ matplotlib-inline ✓ pendulum ✓ webencodings ✗ termcolor ✓ mccabe ✗ ply ✓ asttokens ✓ ruff ✓ executing ✓ types-python-dateutil ✓ tokenizers ✓ typing-inspect ✗ gym ✗ sentry-sdk ✗ python-json-logger ✓ snowflake-snowpark-python ✓ aiofiles ✓ nodeenv ✓ stack-data ✗ mypy ✓ pure-eval ✓ jiter ✓ shapely ✓ asgiref ✓ backports-tarfile ✓ py ✗ argcomplete ✓ opentelemetry-exporter-otlp ✓ pre-commit ✓ opensearch-py ✓ jsonpatch ✓ sympy ✓ scramp ✓ pydantic-settings ✓ smart-open ✓ pytest-xdist ✓ msrest ✗ azure-common ✗ uv ✓ pymongo ✓ databricks-sql-connector ✓ torch ✓ datadog ✓ identify ✓ pycryptodome ✓ cfgv ✓ limits ✓ pbs-installer ✓ redshift-connector ✗ pyrsistent ✓ findpython ✓ jsonpath-ng ✓ future ✗ execnet ✓ email-validator ✓ debugpy ✓ dataclasses-json ✓ google-cloud-secret-manager ✓ apache-beam ✓ mysql-connector-python ✓ python-multipart ✓ tableauserverclient ✓ requests-aws4auth ✓ mpmath ✗ aioitertools ✓ arrow ✓ semver ✓ lz4 ✓ notebook ✓ multiprocess ✓ jupyter-core ✓ pytest-mock ✓ databricks-sdk ✓ pytest-asyncio ✓ pyspark ✓ tiktoken ✓ pyflakes ✓ mistune ✓ rfc3339-validator ✗ jupyter-client ✓ slack-sdk ✗ apache-airflow-providers-common-sql ✓ google-cloud-pubsub ✓ watchdog ✓ tb-nightly ✓ tinycss2 ✓ pycryptodomex ✓ ipykernel ✓ bleach ✓ jupyterlab ✓ pygithub ✓ nbformat ✓ google-cloud-aiplatform ✓ flake8 ✓ python-slugify ✓ cattrs ✓ editables ✓ google-cloud-resource-manager ✓ comm ✓ nbconvert ✓ dbt-core ✓ gcsfs ✓ hf-xet ✓ uvloop ✓ text-unidecode ✗ elasticsearch ✓

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.