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 ✓ packaging ✓ typing-extensions ✓ urllib3 ✓ idna ✓ certifi ✓ requests ✓ charset-normalizer ✓ cryptography ✓ setuptools ✓ pygments ✓ pluggy ✓ cffi ✓ python-dateutil ✓ six ✓ pyyaml ✓ botocore ✓ pydantic ✓ pytest ✓ pycparser ✓ iniconfig ✓ pydantic-core ✓ click ✓ anyio ✓ numpy ✓ annotated-types ✓ h11 ✓ s3transfer ✓ typing-inspection ✓ attrs ✓ aiobotocore ✓ protobuf ✓ markupsafe ✓ httpx ✓ httpcore ✓ fsspec ✓ ghapi ✓ platformdirs ✓ python-dotenv ✓ jinja2 ✓ pandas ✓ pathspec ✓ jmespath ✓ pyjwt ✓ filelock ✓ tomlkit ✓ starlette ✓ uvicorn ✓ aiohttp ✓ rich ✓ yarl ✓ rpds-py ✓ multidict ✓ jsonschema ✓ markdown-it-py ✓ propcache ✓ pip ✓ mdurl ✓ referencing ✓ frozenlist ✓ jsonschema-specifications ✓ tqdm ✓ pyasn1 ✓ googleapis-common-protos ✓ aiosignal ✓ pillow ✓ aiohappyeyeballs ✓ websockets ✓ annotated-doc ✓ wrapt ✓ pytz ✗ wheel ✓ sniffio ✓ importlib-metadata ✓ zipp ✓ greenlet ✓ google-auth ✓ fastapi ✓ tzdata ✓ opentelemetry-api ✓ pydantic-settings ✓ tenacity ✓ opentelemetry-semantic-conventions ✓ trove-classifiers ✓ grpcio-status ✓ pyarrow ✓ hatchling ✓ pyasn1-modules ✓ tomli ✓ s3fs ✓ sqlalchemy ✓ beautifulsoup4 ✓ soupsieve ✓ python-multipart ✓ regex ✓ grpcio ✓ pyparsing ✓ lxml ✓ watchfiles ✓ scipy ✓ ruff ✓ coverage ✓ jiter ✓ google-api-core ✓ psutil ✓ openai ✓ openpyxl ✓ et-xmlfile ✓ distro ✓ opentelemetry-sdk ✓ shellingham ✓ virtualenv ✓ mypy-extensions ✓ typer ✓ requests-oauthlib ✓ exceptiongroup ✓ colorama ✓ proto-plus ✓ editables ✓ cachetools ✓

Top 120 - 240

distlib ✓ wcwidth ✓ huggingface-hub ✓ oauthlib ✓ more-itertools ✓ pytest-asyncio ✓ dnspython ✓ opentelemetry-proto ✓ psycopg2-binary ✓ mcp ✓ sse-starlette ✓ requests-toolbelt ✓ uvloop ✓ sortedcontainers ✓ httptools ✓ pytest-cov ✓ redis ✓ fonttools ✓ docstring-parser ✓ truststore ✓ defusedxml ✓ rsa ✓ multiprocess ✓ networkx ✓ msgpack ✓ hf-xet ✓ python-discovery ✓ opentelemetry-exporter-otlp-proto-common ✓ nodeenv ✓ scikit-learn ✓ chardet ✓ tiktoken ✓ prompt-toolkit ✓ werkzeug ✓ gitpython ✓ pyopenssl ✓ websocket-client ✓ isodate ✓ threadpoolctl ✓ httpx2 ✓ httpcore2 ✓ orjson ✓ mako ✓ alembic ✓ opentelemetry-instrumentation ✓ smmap ✓ dill ✓ opentelemetry-exporter-otlp-proto-http ✓ joblib ✓ gitdb ✓ tokenizers ✓ langchain ✓ identify ✓ pre-commit ✓ pynacl ✓ cfgv ✓ azure-core ✓ tzlocal ✓ matplotlib ✓ h2 ✓ hpack ✓ google-cloud-core ✓ cloudpickle ✓ toml ✓ httpx-sse ✓ hyperframe ✓ ruamel-yaml ✓ kiwisolver ✓ bcrypt ✓ itsdangerous ✓ email-validator ✓ zstandard ✓ tabulate ✓ msal ✓ langchain-core ✓ mypy ✓ keyring ✓ google-cloud-storage ✓ jaraco-classes ✓ jeepney ✓ cycler ✓ decorator ✓ docutils ✓ google-resumable-media ✓ google-cloud-bigquery ✓ jaraco-functools ✓ secretstorage ✓ google-crc32c ✓ asn1crypto ✓ pytest-json-ctrf ✓ contourpy ✓ anthropic ✓ jaraco-context ✓ google-genai ✓ backoff ✓ xxhash ✓ docker ✓ prometheus-client ✓ jsonpointer ✓ flask ✓ grpcio-tools ✓ deprecated ✓ pytest-xdist ✓ ptyprocess ✓ execnet ✓ uritemplate ✓ sympy ✓ pexpect ✓ sentry-sdk ✓ async-timeout ✓ uv ✓ blinker ✓ google-api-python-client ✓ rapidfuzz ✓ mpmath ✓ psycopg ✓ opentelemetry-util-http ✓ google-auth-httplib2 ✓ google-auth-oauthlib ✓ webencodings ✓

Top 240 - 360

narwhals ✓ traitlets ✓ asgiref ✓ azure-identity ✓ psycopg-binary ✓ httplib2 ✓ typedload ✓ librt ✓ aiofiles ✓ sqlparse ✓ msal-extensions ✓ fastjsonschema ✓ jsonpatch ✓ pypdf ✓ black ✓ paramiko ✓ babel ✓ authlib ✓ snowflake-connector-python ✓ opentelemetry-exporter-otlp-proto-grpc ✓ executing ✓ gunicorn ✓ asyncpg ✓ opentelemetry-instrumentation-requests ✓ ipython ✓ structlog ✓ transformers ✓ azure-storage-blob ✓ markdown ✓ jedi ✓ parso ✓ grpc-google-iam-v1 ✓ tornado ✓ xmltodict ✓ asttokens ✓ awscli ✓ joserfc ✓ tinycss2 ✓ matplotlib-inline ✓ google-cloud-aiplatform ✓ setuptools-scm ✓ datasets ✓ awswrangler ✓ marshmallow ✓ pyproject-hooks ✓ build ✓ cbor2 ✓ python-json-logger ✓ stack-data ✓ pure-eval ✓ databricks-sdk ✓ litellm ✓ playwright ✓ aioitertools ✓ vcs-versioning ✓ poetry-core ✓ pyzmq ✓ python-docx ✓ cachecontrol ✓ isort ✓ watchdog ✓ pymupdf ✓ xlsxwriter ✓ pytest-mock ✓ langsmith ✓ pyee ✓ pytest-timeout ✓ types-toml ✓ nbformat ✓ types-requests ✓ cython ✓ brotli ✓ slack-sdk ✓ nest-asyncio ✓ debugpy ✓ croniter ✓ grpclib ✓ jupyter-core ✓ pymysql ✓ lz4 ✓ termcolor ✓ kubernetes ✓ reportlab ✓ ast-serialize ✓ fastuuid ✓ types-certifi ✓ uuid-utils ✓ flatbuffers ✓ types-pyyaml ✓ griffelib ✓ jupyter-client ✓ modal ✓ safetensors ✓ synchronicity ✓ py4j ✓ sqlglot ✓ typing-inspect ✓ pyperclip ✓ text-unidecode ✓ opentelemetry-instrumentation-fastapi ✓ importlib-resources ✓ pytokens ✓ mdit-py-plugins ✓ tomli-w ✓ linkify-it-py ✓ loguru ✓ pycryptodome ✓ ruamel-yaml-clib ✓ lark ✓ graphql-core ✓ mccabe ✓ faker ✓ jsonref ✓ xlrd ✓ opentelemetry-instrumentation-asgi ✓ beartype ✓ semver ✓ python-slugify ✓ mistune ✓ requests-file ✓

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.