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

Top 120 - 240

jiter ✓ tomlkit ✓ watchfiles ✓ docutils ✓ websocket-client ✓ opentelemetry-exporter-otlp-proto-http ✓ openpyxl ✓ et-xmlfile ✓ wcwidth ✓ mcp ✓ mypy-extensions ✓ editables ✓ huggingface-hub ✓ gitpython ✓ networkx ✓ werkzeug ✓ google-cloud-storage ✓ grpcio-tools ✓ sse-starlette ✓ langchain ✓ pyopenssl ✓ coverage ✓ dnspython ✓ opentelemetry-exporter-otlp-proto-common ✓ msgpack ✓ smmap ✓ python-discovery ✓ multiprocess ✓ psycopg2-binary ✓ ptyprocess ✓ decorator ✓ pexpect ✓ docker ✓ pynacl ✓ sortedcontainers ✓ opentelemetry-instrumentation ✓ google-genai ✓ redis ✓ opentelemetry-exporter-otlp-proto-grpc ✓ fonttools ✓ gitdb ✓ ruff ✓ docstring-parser ✓ keyring ✓ matplotlib ✓ tabulate ✓ prompt-toolkit ✓ pydantic-ai-slim ✓ isodate ✓ azure-core ✓ jaraco-classes ✓ scikit-learn ✓ google-cloud-core ✓ itsdangerous ✓ flask ✓ jeepney ✓ secretstorage ✓ hf-xet ✓ kiwisolver ✓ dill ✓ azure-identity ✓ async-timeout ✓ bcrypt ✓ httpx-sse ✓ jaraco-context ✓ contourpy ✓ joblib ✓ orjson ✓ jaraco-functools ✓ uvloop ✓ deprecated ✓ google-resumable-media ✓ tokenizers ✓ httptools ✓ alembic ✓ google-crc32c ✓ ruamel-yaml ✓ pytest-cov ✓ msal ✓ chardet ✓ threadpoolctl ✓ pytest-asyncio ✓ blinker ✓ cycler ✓ kubernetes ✓ email-validator ✓ defusedxml ✓ snowflake-connector-python ✓ tiktoken ✓ zstandard ✓ toml ✓ mako ✓ xxhash ✓ tzlocal ✓ nodeenv ✓ uv ✓ google-api-python-client ✓ ipython ✓ databricks-sql-connector ✓ mypy ✓ opentelemetry-instrumentation-requests ✓ asn1crypto ✓ prometheus-client ✓ types-requests ✓ traitlets ✓ pyproject-hooks ✓ rapidfuzz ✓ uritemplate ✓ google-auth-httplib2 ✓ poetry-core ✓ opentelemetry-util-http ✓ identify ✓ jedi ✓ pre-commit ✓ google-cloud-bigquery ✓ google-auth-oauthlib ✓ parso ✓ build ✓ jsonpointer ✓ cfgv ✓

Top 240 - 360

paramiko ✓ google-cloud-aiplatform ✓ opentelemetry-exporter-otlp ✓ transformers ✓ httplib2 ✓ backoff ✓ pydantic-graph ✓ executing ✓ sympy ✓ h2 ✓ hyperframe ✓ hpack ✓ marshmallow ✓ fastjsonschema ✓ aiofiles ✓ google-cloud-secret-manager ✓ sqlparse ✓ matplotlib-inline ✓ asttokens ✓ setuptools-scm ✓ msal-extensions ✓ datasets ✓ mpmath ✓ durationpy ✓ gunicorn ✓ stack-data ✓ pure-eval ✓ babel ✓ grpc-google-iam-v1 ✓ azure-storage-blob ✓ cloudpickle ✓ authlib ✓ anthropic ✓ asgiref ✓ google-cloud-batch ✓ tornado ✓ sentry-sdk ✓ xmltodict ✓ webencodings ✓ weaviate-client ✓ ydb ✓ pytest-xdist ✓ nest-asyncio ✓ markdown ✓ dbt-core ✓ pytest-json-ctrf ✓ termcolor ✓ cython ✓ jsonpatch ✓ black ✓ execnet ✓ google-analytics-admin ✓ databricks-sdk ✓ librt ✓ langchain-core ✓ py4j ✓ vcs-versioning ✓ google-cloud-compute ✓ cachecontrol ✓ importlib-resources ✓ python-json-logger ✓ tree-sitter ✓ joserfc ✓ gcsfs ✓ google-cloud-kms ✓ watchdog ✓ debugpy ✓ pyzmq ✓ typing-inspect ✓ pymongo ✓ pandas-stubs ✓ llama-parse ✓ llama-cloud-services ✓ google-cloud-pubsub ✓ aioitertools ✓ mdit-py-plugins ✓ typedload ✓ google-cloud-dlp ✓ dbt-adapters ✓ google-cloud-speech ✓ pyperclip ✓ tinycss2 ✓ pyee ✓ slack-sdk ✓ lz4 ✓ jsonschema-path ✓ pycryptodome ✓ torch ✓ linkify-it-py ✓ pytest-mock ✓ isort ✓ flatbuffers ✓ dulwich ✓ pymysql ✓ uc-micro-py ✓ pkginfo ✓ dataclasses-json ✓ playwright ✓ ruamel-yaml-clib ✓ jupyter-core ✓ google-cloud-texttospeech ✓ xlsxwriter ✓ structlog ✓ msrest ✓ grpcio-health-checking ✓ dbt-common ✓ narwhals ✓ asyncpg ✓ langsmith ✓ cyclopts ✓ semver ✓ deepdiff ✓ rich-toolkit ✓ awswrangler ✓ pathable ✓ jupyter-client ✓ loguru ✓ rfc3339-validator ✓ pymupdf ✓ invoke ✓

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.