Python 3.1 Readiness

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

What is this about?

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

  1. 359 green packages (99.7%) have dropped support for Python 3.1;
  2. 1 uncolored packages (0.3%) still support Python 3.1.

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

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

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

How do you identify Python 3.1 support?

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

Top 120

boto3 ✓ urllib3 ✓ typing-extensions ✓ botocore ✓ certifi ✓ requests ✓ aiobotocore ✓ idna ✓ charset-normalizer ✓ setuptools ✓ grpcio-status ✓ packaging ✓ python-dateutil ✓ numpy ✓ six ✓ s3transfer ✓ cryptography ✓ s3fs ✓ fsspec ✓ pyyaml ✓ pydantic ✓ cffi ✓ pandas ✓ click ✓ pydantic-core ✓ pycparser ✓ pip ✓ protobuf ✓ awscli ✓ scipy ✓ attrs ✓ h11 ✓ anyio ✓ pygments ✓ sniffio ✓ markupsafe ✓ pytz ✗ annotated-types ✓ jmespath ✓ rsa ✓ platformdirs ✓ jinja2 ✓ importlib-metadata ✓ pluggy ✓ scikit-learn ✓ pyasn1 ✓ cachetools ✓ typing-inspection ✓ httpx ✓ tzdata ✓ wheel ✓ threadpoolctl ✓ httpcore ✓ zipp ✓ filelock ✓ google-api-core ✓ google-auth ✓ pyjwt ✓ pytest ✓ rich ✓ colorama ✓ pyasn1-modules ✓ jsonschema ✓ aiohttp ✓ googleapis-common-protos ✓ iniconfig ✓ python-dotenv ✓ yandexcloud ✓ virtualenv ✓ grpcio-tools ✓ markdown-it-py ✓ yarl ✓ multidict ✓ tqdm ✓ starlette ✓ mdurl ✓ psutil ✓ pyarrow ✓ wrapt ✓ pillow ✓ tomli ✓ opentelemetry-proto ✓ opentelemetry-sdk ✓ frozenlist ✓ rpds-py ✓ sqlalchemy ✓ uvicorn ✓ pathspec ✓ requests-oauthlib ✓ fastapi ✓ aiosignal ✓ referencing ✓ trove-classifiers ✓ grpcio ✓ greenlet ✓ lxml ✓ propcache ✓ jsonschema-specifications ✓ google-genai ✓ opentelemetry-exporter-otlp-proto-http ✓ pyparsing ✓ opentelemetry-exporter-otlp-proto-grpc ✓ beautifulsoup4 ✓ oauthlib ✓ tomlkit ✓ soupsieve ✓ aiohappyeyeballs ✓ openpyxl ✓ et-xmlfile ✓ docutils ✓ pyopenssl ✓ opentelemetry-exporter-otlp-proto-common ✓ requests-toolbelt ✓ opentelemetry-exporter-otlp ✓ flask ✓ distlib ✓ msgpack ✓ exceptiongroup ✓ werkzeug ✓ isodate ✓

Top 120 - 240

regex ✓ pexpect ✓ more-itertools ✓ google-cloud-storage ✓ ptyprocess ✓ shellingham ✓ snowflake-connector-python ✓ pynacl ✓ proto-plus ✓ opentelemetry-api ✓ mypy-extensions ✓ psycopg2-binary ✓ websocket-client ✓ tenacity ✓ python-multipart ✓ decorator ✓ opentelemetry-semantic-conventions ✓ sortedcontainers ✓ coverage ✓ azure-identity ✓ networkx ✓ azure-core ✓ msal ✓ openai ✓ dnspython ✓ annotated-doc ✓ websockets ✓ async-timeout ✓ bcrypt ✓ wcwidth ✓ gitpython ✓ google-cloud-core ✓ asn1crypto ✓ huggingface-hub ✓ joblib ✓ keyring ✓ smmap ✓ deprecated ✓ matplotlib ✓ gitdb ✓ tabulate ✓ google-resumable-media ✓ hatchling ✓ fonttools ✓ cloudpickle ✓ distro ✓ ruamel-yaml ✓ zstandard ✓ paramiko ✓ itsdangerous ✓ transformers ✓ google-crc32c ✓ poetry-core ✓ redis ✓ langsmith ✓ google-api-python-client ✓ rapidfuzz ✓ google-cloud-bigquery ✓ secretstorage ✓ prompt-toolkit ✓ jaraco-classes ✓ chardet ✓ dill ✓ typer ✓ pydantic-settings ✓ kiwisolver ✓ backoff ✓ jeepney ✓ google-cloud-batch ✓ alembic ✓ google-auth-oauthlib ✓ fastjsonschema ✓ setuptools-scm ✓ blinker ✓ pyzmq ✓ google-cloud-secret-manager ✓ build ✓ pyproject-hooks ✓ tzlocal ✓ langchain ✓ grpcio-health-checking ✓ jiter ✓ cycler ✓ ruamel-yaml-clib ✓ msal-extensions ✓ uritemplate ✓ tokenizers ✓ orjson ✓ defusedxml ✓ ruff ✓ google-auth-httplib2 ✓ jaraco-functools ✓ google-analytics-admin ✓ httplib2 ✓ pytest-cov ✓ py4j ✓ sqlparse ✓ aliyun-python-sdk-core ✓ contourpy ✓ jaraco-context ✓ xmltodict ✓ azure-storage-blob ✓ marshmallow ✓ prometheus-client ✓ ipython ✓ email-validator ✓ docker ✓ importlib-resources ✓ types-requests ✓ sympy ✓ black ✓ babel ✓ mako ✓ jsonpointer ✓ traitlets ✓ jedi ✓ uvloop ✓ parso ✓ cython ✓ sphinx ✓

Top 240 - 360

uv ✓ kubernetes ✓ nest-asyncio ✓ snowflake-sqlalchemy ✓ mpmath ✓ aiofiles ✓ matplotlib-inline ✓ awswrangler ✓ tornado ✓ pymupdf ✓ sentry-sdk ✓ grpc-google-iam-v1 ✓ hf-xet ✓ opentelemetry-instrumentation ✓ toml ✓ asttokens ✓ langchain-core ✓ executing ✓ editables ✓ typedload ✓ argcomplete ✓ termcolor ✓ torch ✓ mypy ✓ pytest-asyncio ✓ cachecontrol ✓ asgiref ✓ ply ✓ webencodings ✓ pymongo ✓ shapely ✓ httptools ✓ markdown ✓ pkginfo ✓ gunicorn ✓ pymysql ✓ watchfiles ✓ dbt-core ✓ stack-data ✓ pure-eval ✓ dbt-common ✓ pypandoc-binary ✓ tiktoken ✓ typing-inspect ✓ docstring-parser ✓ nodeenv ✓ pytest-xdist ✓ aioitertools ✓ google-cloud-vision ✓ bashlex ✓ google-cloud-kms ✓ execnet ✓ python-json-logger ✓ mcp ✓ google-cloud-compute ✓ google-cloud-dlp ✓ google-cloud-tasks ✓ google-cloud-speech ✓ google-cloud-monitoring ✓ isort ✓ swe-rex ✓ google-cloud-workflows ✓ google-cloud-language ✓ jsonpatch ✓ multiprocess ✓ msrest ✓ mccabe ✓ pendulum ✓ dulwich ✓ dbt-adapters ✓ watchdog ✓ google-cloud-dataform ✓ opentelemetry-util-http ✓ poetry ✓ pre-commit ✓ httpx-sse ✓ google-cloud-videointelligence ✓ debugpy ✓ datadog ✓ pycryptodome ✓ google-cloud-os-login ✓ identify ✓ pycodestyle ✓ jsonpath-ng ✓ databricks-sdk ✓ cfgv ✓ notebook ✓ slack-sdk ✓ google-cloud-redis ✓ crashtest ✓ rfc3339-validator ✓ cattrs ✓ cleo ✓ installer ✓ backports-tarfile ✓ azure-common ✓ textual ✓ future ✓ databricks-sql-connector ✓ smart-open ✓ google-cloud-logging ✓ lz4 ✓ google-cloud-memcache ✓ jupyter-core ✓ ipykernel ✓ boto3-stubs ✓ dataclasses-json ✓ botocore-stubs ✓ arrow ✓ nvidia-nccl-cu12 ✓ scramp ✓ pygithub ✓ requests-file ✓ types-awscrt ✓ pytest-mock ✓ opentelemetry-instrumentation-requests ✓ types-s3transfer ✓ semver ✓ tinycss2 ✓ zope-interface ✓

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.