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

Top 120 - 240

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

Top 240 - 360

mpmath ✓ cfgv ✓ deprecated ✓ asn1crypto ✓ black ✓ rapidfuzz ✓ google-cloud-secret-manager ✓ msal-extensions ✓ jsonpointer ✓ narwhals ✓ async-timeout ✓ awscli ✓ aiofiles ✓ pypdf ✓ webencodings ✓ pytest-xdist ✓ cloudpickle ✓ ipython ✓ paramiko ✓ datasets ✓ pydantic-ai-slim ✓ execnet ✓ librt ✓ sqlparse ✓ authlib ✓ fastjsonschema ✓ google-cloud-batch ✓ grpc-google-iam-v1 ✓ gcsfs ✓ traitlets ✓ pyproject-hooks ✓ databricks-sdk ✓ asgiref ✓ joserfc ✓ psycopg ✓ poetry-core ✓ azure-storage-blob ✓ gunicorn ✓ build ✓ google-cloud-aiplatform ✓ isort ✓ jsonpatch ✓ google-cloud-kms ✓ babel ✓ google-analytics-admin ✓ psycopg-binary ✓ sglang ✓ google-cloud-compute ✓ executing ✓ setuptools-scm ✓ parso ✓ jedi ✓ pydantic-graph ✓ cython ✓ langsmith ✓ markdown ✓ asttokens ✓ cachecontrol ✓ asyncpg ✓ vcs-versioning ✓ xmltodict ✓ marshmallow ✓ google-cloud-dlp ✓ tornado ✓ matplotlib-inline ✓ python-json-logger ✓ watchdog ✓ google-cloud-speech ✓ safetensors ✓ google-cloud-pubsub ✓ python-docx ✓ google-cloud-texttospeech ✓ stack-data ✓ pure-eval ✓ playwright ✓ structlog ✓ dbt-adapters ✓ tinycss2 ✓ fastuuid ✓ pymupdf ✓ kubernetes ✓ pytokens ✓ google-cloud-logging ✓ lz4 ✓ aioitertools ✓ pyee ✓ pymongo ✓ py4j ✓ tree-sitter ✓ pymysql ✓ fastmcp ✓ termcolor ✓ flatbuffers ✓ weaviate-client ✓ xlsxwriter ✓ mdit-py-plugins ✓ nest-asyncio ✓ pytest-timeout ✓ croniter ✓ pyzmq ✓ brotli ✓ dbt-core ✓ google-cloud-monitoring ✓ griffelib ✓ tomli-w ✓ slack-sdk ✓ google-cloud-tasks ✓ linkify-it-py ✓ pyperclip ✓ opentelemetry-instrumentation-fastapi ✓ pytest-mock ✓ opentelemetry-exporter-prometheus ✓ pycryptodome ✓ debugpy ✓ torch ✓ loguru ✓ uc-micro-py ✓ importlib-resources ✓ fastmcp-slim ✓ reportlab ✓

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.