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

Top 120 - 240

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

Top 240 - 360

httplib2 ✓ parso ✗ pytest-xdist ✓ tree-sitter-languages ✓ marshmallow ✓ jedi ✗ sqlparse ✓ pre-commit ✓ executing ✓ opentelemetry-util-http ✓ cfgv ✓ transformers ✓ opentelemetry-instrumentation-requests ✓ execnet ✓ pytest-json-ctrf ✓ tornado ✓ msal-extensions ✓ jsonpointer ✓ authlib ✓ matplotlib-inline ✓ google-cloud-secret-manager ✓ gunicorn ✓ xxhash ✓ asttokens ✓ cloudpickle ✓ babel ✓ pyee ✓ cython ✓ grpc-google-iam-v1 ✓ h2 ✓ azure-storage-blob ✓ hyperframe ✓ hpack ✓ aiofiles ✓ pure-eval ✓ stack-data ✗ google-cloud-batch ✓ playwright ✓ opensearch-py ✓ xmltodict ✓ asgiref ✓ durationpy ✓ weaviate-client ✓ py4j ✓ markdown ✓ black ✓ webencodings ✗ databricks-sdk ✓ nest-asyncio ✗ google-analytics-admin ✓ importlib-resources ✓ sentry-sdk ✗ vcs-versioning ✓ termcolor ✓ langchain-core ✓ requests-aws4auth ✓ datasets ✓ anthropic ✓ dbt-core ✓ ujson ✓ python-json-logger ✓ debugpy ✓ cachecontrol ✓ gcsfs ✓ google-cloud-compute ✓ jsonpatch ✓ google-cloud-kms ✓ watchdog ✓ dbt-adapters ✓ pymongo ✓ events ✓ librt ✓ typing-inspect ✗ pyzmq ✓ ydb ✓ jsonschema-path ✓ pandas-stubs ✓ aioitertools ✓ google-cloud-dlp ✓ dacite ✓ databricks-sql-connector ✓ pytest-mock ✓ grpcio-health-checking ✓ pymysql ✓ isort ✓ flatbuffers ✓ pycryptodome ✓ tinycss2 ✓ google-cloud-speech ✓ pathable ✓ lz4 ✓ deepdiff ✓ awswrangler ✓ slack-sdk ✓ dulwich ✓ google-cloud-pubsub ✓ mccabe ✗ iso8601 ✓ pkginfo ✓ msrest ✗ pyperclip ✗ dbt-common ✓ jupyter-core ✓ dataclasses-json ✓ jsonpath-ng ✓ torch ✓ pymupdf ✓ sphinx ✓ narwhals ✓ rich-toolkit ✓ google-cloud-monitoring ✓ jsonref ✓ opentelemetry-exporter-prometheus ✓ langsmith ✓ smart-open ✓ jupyter-client ✓ loguru ✗ ipykernel ✓ invoke ✓ pygithub ✓

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.