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. 334 green packages (92.8%) have dropped support for Python 3.6;
  2. 26 uncolored packages (7.2%) 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 ✓ packaging ✓ urllib3 ✓ requests ✓ certifi ✓ botocore ✓ typing-extensions ✓ charset-normalizer ✓ idna ✓ setuptools ✓ aiobotocore ✓ cryptography ✓ python-dateutil ✗ six ✓ grpcio-status ✓ pyyaml ✓ cffi ✓ numpy ✓ pygments ✓ click ✓ pydantic ✓ pycparser ✓ s3transfer ✓ pluggy ✓ protobuf ✓ anyio ✓ attrs ✓ pydantic-core ✓ fsspec ✓ pandas ✓ h11 ✓ pytest ✓ annotated-types ✓ s3fs ✓ iniconfig ✓ markupsafe ✓ httpx ✓ typing-inspection ✓ platformdirs ✓ httpcore ✓ jmespath ✓ jinja2 ✓ pip ✓ importlib-metadata ✓ python-dotenv ✓ pyjwt ✓ filelock ✓ rich ✓ zipp ✓ aiohttp ✓ pytz ✗ wheel ✓ googleapis-common-protos ✓ jsonschema ✓ pyasn1 ✓ markdown-it-py ✓ tzdata ✓ uvicorn ✓ mdurl ✓ google-auth ✓ pathspec ✓ yarl ✓ multidict ✓ starlette ✓ google-api-core ✓ tqdm ✓ virtualenv ✓ rpds-py ✓ pillow ✓ referencing ✓ awscli ✓ grpcio ✓ frozenlist ✓ propcache ✓ jsonschema-specifications ✓ aiosignal ✓ requests-oauthlib ✗ fastapi ✓ colorama ✓ pyasn1-modules ✓ scipy ✓ pyarrow ✓ greenlet ✓ annotated-doc ✓ aiohappyeyeballs ✓ opentelemetry-api ✓ tomli ✓ sqlalchemy ✓ tenacity ✓ wrapt ✓ pyparsing ✓ oauthlib ✓ opentelemetry-sdk ✓ opentelemetry-semantic-conventions ✓ grpcio-tools ✓ trove-classifiers ✓ psutil ✓ beautifulsoup4 ✓ rsa ✗ sniffio ✓ regex ✓ soupsieve ✓ shellingham ✓ websockets ✓ exceptiongroup ✓ cachetools ✓ python-multipart ✓ sglang ✓ typer ✓ more-itertools ✓ distlib ✗ websocket-client ✓ lxml ✓ docutils ✓ proto-plus ✓ requests-toolbelt ✗ openpyxl ✗ openai ✓ tomlkit ✓ pydantic-settings ✓

Top 120 - 240

et-xmlfile ✓ langchain ✓ hatchling ✓ werkzeug ✓ google-genai ✓ distro ✗ opentelemetry-proto ✓ networkx ✓ google-cloud-storage ✓ pyopenssl ✓ huggingface-hub ✓ dnspython ✓ mypy-extensions ✓ coverage ✓ watchfiles ✓ msgpack ✓ smmap ✓ opentelemetry-exporter-otlp-proto-http ✓ psycopg2-binary ✓ mcp ✓ decorator ✓ pynacl ✓ jiter ✓ wcwidth ✓ fonttools ✓ pexpect ✓ ptyprocess ✓ litellm ✓ gitpython ✓ matplotlib ✓ textual ✓ sortedcontainers ✗ tabulate ✓ flask ✓ scikit-learn ✓ docker ✓ python-discovery ✓ kiwisolver ✓ isodate ✓ redis ✓ multiprocess ✓ keyring ✓ opentelemetry-exporter-otlp-proto-common ✓ opentelemetry-exporter-otlp-proto-grpc ✓ contourpy ✓ gitdb ✓ async-timeout ✓ sse-starlette ✓ joblib ✓ azure-identity ✓ google-cloud-core ✓ bcrypt ✓ jaraco-classes ✓ itsdangerous ✓ azure-core ✓ secretstorage ✓ snowflake-connector-python ✓ jeepney ✓ prompt-toolkit ✓ threadpoolctl ✓ opentelemetry-instrumentation ✓ ruff ✓ google-cloud-aiplatform ✓ msal ✓ alembic ✓ jaraco-context ✓ chardet ✓ kubernetes ✓ cycler ✓ google-resumable-media ✓ jaraco-functools ✓ docstring-parser ✓ hf-xet ✓ dill ✓ zstandard ✓ editables ✓ blinker ✓ google-crc32c ✓ pytest-cov ✓ deprecated ✗ orjson ✓ types-requests ✓ tzlocal ✓ defusedxml ✗ email-validator ✓ ruamel-yaml ✓ uv ✓ google-api-python-client ✓ ipython ✓ asn1crypto ✗ poetry-core ✓ pytest-asyncio ✓ tokenizers ✓ google-auth-oauthlib ✓ sympy ✓ rapidfuzz ✓ uvloop ✓ mako ✓ backoff ✓ httpx-sse ✓ tiktoken ✓ prometheus-client ✓ google-auth-httplib2 ✓ paramiko ✓ mpmath ✓ uritemplate ✓ google-cloud-bigquery ✓ setuptools-scm ✓ nodeenv ✓ toml ✗ opentelemetry-exporter-otlp ✓ pyproject-hooks ✓ httplib2 ✓ cloudpickle ✓ marshmallow ✓ tree-sitter ✓ pydantic-ai-slim ✓ durationpy ✓ httptools ✓ build ✓

Top 240 - 360

identify ✓ transformers ✓ databricks-sdk ✓ traitlets ✓ pre-commit ✓ sqlparse ✓ parso ✗ cfgv ✓ google-cloud-secret-manager ✓ msal-extensions ✓ xxhash ✓ executing ✓ jedi ✗ fastjsonschema ✗ google-cloud-batch ✓ opentelemetry-instrumentation-requests ✓ gunicorn ✓ asttokens ✓ opentelemetry-util-http ✓ mypy ✓ azure-storage-blob ✓ matplotlib-inline ✓ jsonpointer ✓ h2 ✓ grpc-google-iam-v1 ✓ hyperframe ✓ hpack ✓ google-analytics-admin ✓ babel ✓ aiofiles ✓ termcolor ✓ pure-eval ✓ stack-data ✗ cython ✓ tornado ✓ pytest-xdist ✓ weaviate-client ✓ black ✓ langchain-core ✓ py4j ✓ xmltodict ✓ asgiref ✓ execnet ✓ authlib ✓ importlib-resources ✓ vcs-versioning ✓ markdown ✓ datasets ✓ python-json-logger ✓ sentry-sdk ✗ webencodings ✗ dbt-core ✓ nest-asyncio ✗ anthropic ✓ pandas-stubs ✓ cachecontrol ✓ typing-inspect ✗ grpcio-health-checking ✓ tree-sitter-languages ✓ pymongo ✓ dbt-adapters ✓ jsonpatch ✓ pydantic-graph ✓ pytest-json-ctrf ✓ gcsfs ✓ aioitertools ✓ pymysql ✓ awswrangler ✓ typedload ✓ watchdog ✓ databricks-sql-connector ✓ jsonschema-path ✓ debugpy ✓ google-cloud-compute ✓ torch ✓ google-cloud-kms ✓ jsonpath-ng ✓ pycryptodome ✓ lz4 ✓ pyzmq ✓ dataclasses-json ✓ msrest ✗ pytest-mock ✓ slack-sdk ✓ google-cloud-monitoring ✓ rich-toolkit ✓ dbt-common ✓ google-cloud-speech ✓ dulwich ✓ pyperclip ✗ pkginfo ✓ flatbuffers ✓ google-cloud-dlp ✓ pymupdf ✓ deepdiff ✓ isort ✓ langsmith ✓ pygithub ✓ narwhals ✓ pathable ✓ sphinx ✓ smart-open ✓ google-cloud-tasks ✓ google-cloud-vision ✓ google-cloud-bigtable ✓ pendulum ✓ tinycss2 ✓ notebook ✓ loguru ✗ mccabe ✗ invoke ✓ ruamel-yaml-clib ✓ cattrs ✓ xlsxwriter ✓ poetry ✓ safetensors ✓ librt ✓ google-cloud-videointelligence ✓ google-cloud-language ✓ rfc3339-validator ✗

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.