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

Top 120 - 240

requests-oauthlib ✗ opentelemetry-exporter-otlp-proto-common ✓ proto-plus ✓ mcp ✓ dnspython ✓ openpyxl ✗ hf-xet ✓ python-discovery ✓ et-xmlfile ✓ wcwidth ✓ cachetools ✓ more-itertools ✓ oauthlib ✓ coverage ✓ sse-starlette ✓ ruff ✓ tomlkit ✓ opentelemetry-exporter-otlp-proto-grpc ✓ mypy-extensions ✓ pytest-asyncio ✓ tiktoken ✓ gitpython ✓ tokenizers ✓ docstring-parser ✓ matplotlib ✓ fonttools ✓ smmap ✓ google-genai ✓ requests-toolbelt ✗ msgpack ✓ prompt-toolkit ✓ rsa ✗ networkx ✓ uvloop ✓ redis ✓ pyopenssl ✓ httptools ✓ psycopg2-binary ✓ gitdb ✓ sortedcontainers ✗ dill ✓ contourpy ✓ opentelemetry-instrumentation-requests ✓ werkzeug ✓ langchain ✓ chardet ✓ grpcio-tools ✓ email-validator ✓ google-cloud-storage ✓ defusedxml ✗ kiwisolver ✓ nodeenv ✓ h2 ✓ pytest-json-ctrf ✓ tabulate ✓ pynacl ✓ pytest-cov ✓ docker ✓ hpack ✓ keyring ✓ azure-core ✓ toml ✗ orjson ✓ isodate ✓ pre-commit ✓ hyperframe ✓ azure-identity ✓ decorator ✓ xxhash ✓ alembic ✓ identify ✓ ptyprocess ✓ jaraco-classes ✓ scikit-learn ✓ tzlocal ✓ jaraco-functools ✓ cfgv ✓ jeepney ✓ pexpect ✓ httpx-sse ✓ mako ✓ opentelemetry-util-http ✓ secretstorage ✓ websocket-client ✓ joblib ✓ cycler ✓ itsdangerous ✓ mypy ✓ bcrypt ✓ ipython ✓ docutils ✓ jaraco-context ✓ ruamel-yaml ✓ msal ✓ opentelemetry-instrumentation-threading ✓ google-cloud-core ✓ threadpoolctl ✓ uv ✓ anthropic ✓ flask ✓ async-timeout ✓ datasets ✓ awscli ✓ transformers ✓ opentelemetry-exporter-otlp ✓ google-resumable-media ✓ traitlets ✓ blinker ✓ ydb ✓ rapidfuzz ✓ google-crc32c ✓ zstandard ✓ sentry-sdk ✗ google-api-python-client ✓ black ✓ prometheus-client ✓ uritemplate ✓ deprecated ✗ snowflake-connector-python ✓ sympy ✓

Top 240 - 360

google-cloud-bigquery ✓ google-auth-httplib2 ✓ mpmath ✓ httplib2 ✓ backoff ✓ google-auth-oauthlib ✓ executing ✓ pytest-xdist ✓ asttokens ✓ asn1crypto ✗ langchain-core ✓ jedi ✓ parso ✗ jsonpointer ✓ google-cloud-secret-manager ✓ execnet ✓ msal-extensions ✓ narwhals ✓ librt ✓ poetry-core ✓ aiofiles ✓ google-cloud-aiplatform ✓ matplotlib-inline ✓ pypdf ✓ pyproject-hooks ✓ paramiko ✓ authlib ✓ stack-data ✗ cloudpickle ✓ pure-eval ✓ fastjsonschema ✓ joserfc ✓ asgiref ✓ fastuuid ✓ build ✓ sqlparse ✓ isort ✓ termcolor ✓ webencodings ✗ google-cloud-batch ✓ gunicorn ✓ mdit-py-plugins ✓ truststore ✓ psycopg ✓ azure-storage-blob ✓ pydantic-ai-slim ✓ grpc-google-iam-v1 ✓ jsonpatch ✓ linkify-it-py ✓ gcsfs ✓ databricks-sdk ✓ babel ✓ google-cloud-kms ✓ cbor2 ✓ uc-micro-py ✓ psycopg-binary ✓ google-analytics-admin ✓ weaviate-client ✓ cython ✓ markdown ✓ google-cloud-compute ✓ cachecontrol ✓ setuptools-scm ✓ xmltodict ✓ cfn-lint ✓ types-toml ✓ types-requests ✓ asyncpg ✓ langsmith ✓ marshmallow ✓ python-json-logger ✓ vcs-versioning ✓ types-certifi ✓ grpclib ✓ httpx2 ✓ google-cloud-dlp ✓ dbt-adapters ✓ safetensors ✓ tornado ✓ watchdog ✓ modal ✓ pytest-timeout ✓ python-docx ✓ tree-sitter ✓ httpcore2 ✓ google-cloud-pubsub ✓ structlog ✓ synchronicity ✓ google-cloud-texttospeech ✓ pytokens ✓ google-cloud-speech ✓ pymongo ✓ tinycss2 ✓ kubernetes ✓ flatbuffers ✓ pydantic-graph ✓ fastmcp ✓ pytest-mock ✓ aioitertools ✓ pymupdf ✓ typedload ✓ griffelib ✓ pyperclip ✗ cyclopts ✓ fastcore ✓ beartype ✓ lz4 ✓ xlsxwriter ✓ playwright ✓ pyzmq ✓ py4j ✓ pyarrow-hotfix ✗ dbt-core ✓ opentelemetry-exporter-prometheus ✓ jsonschema-path ✓ google-cloud-logging ✓ pymysql ✓ tomli-w ✓ fastmcp-slim ✓ text-unidecode ✗

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.