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

Top 120 - 240

more-itertools ✓ websocket-client ✓ openpyxl ✗ huggingface-hub ✓ et-xmlfile ✓ docutils ✓ google-cloud-storage ✓ tomlkit ✓ watchfiles ✓ opentelemetry-exporter-otlp-proto-http ✓ wcwidth ✓ gitpython ✓ grpcio-tools ✓ requests-toolbelt ✗ mypy-extensions ✓ langchain ✓ networkx ✓ docker ✓ smmap ✓ werkzeug ✓ editables ✓ ptyprocess ✓ pyopenssl ✓ python-discovery ✓ pexpect ✓ decorator ✓ msgpack ✓ mcp ✓ psycopg2-binary ✓ dnspython ✓ opentelemetry-exporter-otlp-proto-common ✓ coverage ✓ matplotlib ✓ pynacl ✓ fonttools ✓ google-genai ✓ gitdb ✓ google-cloud-core ✓ sortedcontainers ✗ opentelemetry-exporter-otlp-proto-grpc ✓ tabulate ✓ pydantic-ai-slim ✓ docstring-parser ✓ prompt-toolkit ✓ sse-starlette ✓ opentelemetry-instrumentation ✓ kiwisolver ✓ hf-xet ✓ scikit-learn ✓ contourpy ✓ dill ✓ flask ✓ itsdangerous ✓ google-crc32c ✓ keyring ✓ google-resumable-media ✓ isodate ✓ ruff ✓ chardet ✓ azure-core ✓ async-timeout ✓ redis ✓ azure-identity ✓ tokenizers ✓ toml ✗ joblib ✓ jaraco-classes ✓ bcrypt ✓ jeepney ✓ secretstorage ✓ cycler ✓ threadpoolctl ✓ alembic ✓ jaraco-context ✓ msal ✓ kubernetes ✓ snowflake-connector-python ✓ blinker ✓ ipython ✓ orjson ✓ jaraco-functools ✓ deprecated ✗ xxhash ✓ zstandard ✓ pytest-asyncio ✓ tiktoken ✓ pytest-cov ✓ nodeenv ✓ tzlocal ✓ transformers ✓ google-cloud-bigquery ✓ email-validator ✓ ruamel-yaml ✓ defusedxml ✗ httpx-sse ✓ uvloop ✓ google-api-python-client ✓ mako ✓ httptools ✓ traitlets ✓ parso ✗ jedi ✓ uv ✓ mypy ✓ identify ✓ pre-commit ✓ h2 ✓ asn1crypto ✗ hyperframe ✓ google-auth-oauthlib ✓ executing ✓ hpack ✓ cfgv ✓ prometheus-client ✓ uritemplate ✓ sympy ✓ databricks-sql-connector ✓ google-auth-httplib2 ✓ paramiko ✓ asttokens ✓

Top 240 - 360

opentelemetry-exporter-otlp ✓ rapidfuzz ✓ matplotlib-inline ✓ grpc-google-iam-v1 ✓ datasets ✓ httplib2 ✓ google-cloud-aiplatform ✓ types-requests ✓ mpmath ✓ backoff ✓ pyproject-hooks ✓ opentelemetry-instrumentation-requests ✓ poetry-core ✓ pure-eval ✓ stack-data ✗ google-cloud-secret-manager ✓ aiofiles ✓ opentelemetry-util-http ✓ build ✓ pytest-json-ctrf ✓ jsonpointer ✓ durationpy ✓ pydantic-graph ✓ setuptools-scm ✓ marshmallow ✓ sqlparse ✓ cloudpickle ✓ google-cloud-batch ✓ termcolor ✓ fastjsonschema ✗ msal-extensions ✓ anthropic ✓ weaviate-client ✓ tree-sitter ✓ babel ✓ gunicorn ✓ ydb ✓ azure-storage-blob ✓ pytest-xdist ✓ google-analytics-admin ✓ authlib ✓ nest-asyncio ✗ markdown ✓ tornado ✓ execnet ✓ py4j ✓ xmltodict ✓ asgiref ✓ sentry-sdk ✗ webencodings ✗ google-cloud-compute ✓ cython ✓ librt ✓ databricks-sdk ✓ google-cloud-kms ✓ black ✓ dbt-core ✓ gcsfs ✓ vcs-versioning ✓ importlib-resources ✓ jsonpatch ✓ pyzmq ✓ langchain-core ✓ python-json-logger ✓ cachecontrol ✓ debugpy ✓ google-cloud-dlp ✓ pymongo ✓ joserfc ✓ pandas-stubs ✓ google-cloud-speech ✓ google-cloud-pubsub ✓ typing-inspect ✗ watchdog ✓ mdit-py-plugins ✓ aioitertools ✓ slack-sdk ✓ google-cloud-texttospeech ✓ linkify-it-py ✓ llama-parse ✓ flatbuffers ✓ dbt-adapters ✓ pycryptodome ✓ lz4 ✓ torch ✓ llama-cloud-services ✓ uc-micro-py ✓ cbor2 ✓ tinycss2 ✓ pymysql ✓ jsonschema-path ✓ awswrangler ✓ types-toml ✓ xlsxwriter ✓ grpcio-health-checking ✓ msrest ✗ cyclopts ✓ pyperclip ✗ rich-toolkit ✓ google-cloud-monitoring ✓ pytest-mock ✓ typedload ✓ jupyter-core ✓ google-cloud-tasks ✓ safetensors ✓ dulwich ✓ setproctitle ✓ pymupdf ✓ dbt-common ✓ narwhals ✓ isort ✓ asyncpg ✓ google-cloud-logging ✓ dataclasses-json ✓ jupyter-client ✓ cattrs ✓ pkginfo ✓ google-cloud-bigtable ✓ structlog ✓ semver ✓

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.