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

Top 120 - 240

opentelemetry-instrumentation ✓ more-itertools ✓ langchain ✓ editables ✓ mcp ✓ sse-starlette ✓ oauthlib ✓ opentelemetry-exporter-otlp-proto-common ✓ proto-plus ✓ pyopenssl ✓ distlib ✓ dnspython ✓ wcwidth ✓ networkx ✓ google-genai ✓ requests-toolbelt ✓ coverage ✓ opentelemetry-exporter-otlp-proto-grpc ✓ rsa ✓ python-discovery ✓ gitpython ✓ pytest-json-ctrf ✓ msgpack ✓ docstring-parser ✓ ruff ✓ smmap ✓ mypy-extensions ✓ psycopg2-binary ✓ sortedcontainers ✓ grpcio-tools ✓ keyring ✓ fonttools ✓ werkzeug ✓ hf-xet ✓ google-cloud-storage ✓ tabulate ✓ matplotlib ✓ jaraco-classes ✓ redis ✓ jeepney ✓ secretstorage ✓ azure-identity ✓ decorator ✓ email-validator ✓ weaviate-client ✓ prompt-toolkit ✓ jaraco-functools ✓ azure-core ✓ pytest-asyncio ✓ jaraco-context ✓ pynacl ✓ defusedxml ✓ gitdb ✓ httpx-sse ✓ kiwisolver ✓ websocket-client ✓ docutils ✓ multiprocess ✓ ydb ✓ scikit-learn ✓ tiktoken ✓ isodate ✓ tokenizers ✓ httptools ✓ tzlocal ✓ uvloop ✓ contourpy ✓ pytest-cov ✓ msal ✓ dill ✓ itsdangerous ✓ flask ✓ alembic ✓ opentelemetry-instrumentation-requests ✓ sglang ✓ bcrypt ✓ google-cloud-core ✓ orjson ✓ joblib ✓ opentelemetry-util-http ✓ google-api-python-client ✓ transformers ✓ snowflake-connector-python ✓ rapidfuzz ✓ threadpoolctl ✓ ruamel-yaml ✓ ptyprocess ✓ httplib2 ✓ chardet ✓ uritemplate ✓ pexpect ✓ blinker ✓ google-resumable-media ✓ google-auth-httplib2 ✓ mako ✓ google-auth-oauthlib ✓ google-crc32c ✓ langchain-core ✓ opentelemetry-exporter-otlp ✓ cycler ✓ zstandard ✓ async-timeout ✓ nodeenv ✓ google-cloud-bigquery ✓ xxhash ✓ google-cloud-secret-manager ✓ pydantic-ai-slim ✓ google-cloud-batch ✓ docker ✓ joserfc ✓ deprecated ✓ ipython ✓ asn1crypto ✓ authlib ✓ pytest-xdist ✓ hpack ✓ anthropic ✓ uv ✓ prometheus-client ✓ execnet ✓

Top 240 - 360

identify ✓ pre-commit ✓ aiofiles ✓ google-analytics-admin ✓ sympy ✓ google-cloud-kms ✓ cfgv ✓ toml ✓ mypy ✓ pyproject-hooks ✓ google-cloud-compute ✓ mpmath ✓ h2 ✓ jsonpointer ✓ hyperframe ✓ browser-use ✓ gcsfs ✓ backoff ✓ traitlets ✓ paramiko ✓ poetry-core ✓ msal-extensions ✓ cloudpickle ✓ black ✓ fastjsonschema ✓ datasets ✓ google-cloud-dlp ✓ sentry-sdk ✓ google-cloud-aiplatform ✓ build ✓ sqlparse ✓ asgiref ✓ narwhals ✓ executing ✓ jedi ✓ databricks-sdk ✓ google-cloud-texttospeech ✓ webencodings ✓ azure-storage-blob ✓ parso ✓ babel ✓ pymupdf ✓ google-cloud-speech ✓ pyperclip ✓ matplotlib-inline ✓ opentelemetry-instrumentation-threading ✓ asttokens ✓ jsonpatch ✓ grpc-google-iam-v1 ✓ lmnr ✓ tornado ✓ gunicorn ✓ pandas-stubs ✓ databricks-sql-connector ✓ jsonschema-path ✓ stack-data ✓ pure-eval ✓ setuptools-scm ✓ marshmallow ✓ google-cloud-pubsub ✓ python-json-logger ✓ python-docx ✓ cachecontrol ✓ beartype ✓ xmltodict ✓ cython ✓ griffelib ✓ dbt-adapters ✓ pydantic-graph ✓ cyclopts ✓ pypdf ✓ pathable ✓ librt ✓ xlsxwriter ✓ jsonref ✓ types-requests ✓ pymongo ✓ py4j ✓ vcs-versioning ✓ flatbuffers ✓ rich-rst ✓ dbt-core ✓ termcolor ✓ py-key-value-aio ✓ isort ✓ markdown ✓ kubernetes ✓ google-cloud-tasks ✓ tinycss2 ✓ snowflake-snowpark-python ✓ aioitertools ✓ fastmcp ✓ langsmith ✓ asyncpg ✓ structlog ✓ pyzmq ✓ mdit-py-plugins ✓ watchdog ✓ typedload ✓ psycopg ✓ debugpy ✓ lz4 ✓ importlib-resources ✓ google-cloud-monitoring ✓ onnxruntime ✓ nest-asyncio ✓ google-cloud-logging ✓ llama-parse ✓ llama-cloud-services ✓ opentelemetry-exporter-prometheus ✓ pytest-mock ✓ uncalled-for ✓ linkify-it-py ✓ slack-sdk ✓ pytokens ✓ pycryptodome ✓ aiofile ✓ dulwich ✓ safetensors ✓ fastuuid ✓

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.