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

Top 120 - 240

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

Top 240 - 360

opentelemetry-util-http ✓ aiofiles ✓ gitdb ✓ google-api-python-client ✓ azure-identity ✓ google-auth-httplib2 ✓ pexpect ✓ httplib2 ✓ fastjsonschema ✓ msal-extensions ✓ jsonpatch ✓ playwright ✓ executing ✓ python-docx ✓ google-auth-oauthlib ✓ opentelemetry-exporter-otlp-proto-grpc ✓ pyee ✓ sqlparse ✓ markdown ✓ joserfc ✓ black ✓ babel ✓ tinycss2 ✓ gunicorn ✓ structlog ✓ async-timeout ✓ paramiko ✓ snowflake-connector-python ✓ tornado ✓ jedi ✓ transformers ✓ pymupdf ✓ grpc-google-iam-v1 ✓ parso ✓ mcp-types ✓ typedload ✓ pytest-timeout ✓ ipython ✓ xmltodict ✓ asttokens ✓ litellm ✓ brotli ✓ ast-serialize ✓ watchdog ✓ python-pptx ✓ azure-storage-blob ✓ matplotlib-inline ✓ aioitertools ✓ pure-eval ✓ pyzmq ✓ cachecontrol ✓ python-json-logger ✓ stack-data ✓ pyproject-hooks ✓ flatbuffers ✓ build ✓ griffelib ✓ beartype ✓ google-cloud-aiplatform ✓ isort ✓ onnxruntime ✓ nbformat ✓ croniter ✓ jupyter-core ✓ langsmith ✓ marshmallow ✓ multiprocess ✓ pypdfium2 ✓ awscli ✓ types-pyyaml ✓ slack-sdk ✓ pytest-mock ✓ debugpy ✓ cython ✓ databricks-sdk ✓ safetensors ✓ nest-asyncio ✓ lark ✓ opentelemetry-instrumentation-asgi ✓ kubernetes ✓ awswrangler ✓ lz4 ✓ opentelemetry-instrumentation-fastapi ✓ sqlglot ✓ uuid-utils ✓ setuptools-scm ✓ fastuuid ✓ pycryptodome ✓ jupyter-client ✓ pytokens ✓ poetry-core ✓ jsonref ✓ tomli-w ✓ pathable ✓ cyclopts ✓ types-requests ✓ reportlab ✓ jsonschema-path ✓ pyperclip ✓ text-unidecode ✓ pymysql ✓ vcs-versioning ✓ xlrd ✓ termcolor ✓ rich-rst ✓ cbor2 ✓ psycopg2 ✓ argon2-cffi-bindings ✓ argon2-cffi ✓ python-slugify ✓ mdit-py-plugins ✓ rfc3339-validator ✓ faker ✓ shapely ✓ py-key-value-aio ✓ semver ✓ graphql-core ✓ deprecation ✓ loguru ✓ 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.