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

Top 120 - 240

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

Top 240 - 360

sqlparse ✓ cloudpickle ✓ pytest-xdist ✓ msal-extensions ✓ transformers ✓ identify ✓ jsonpointer ✓ opentelemetry-util-http ✓ opentelemetry-instrumentation-requests ✓ grpc-google-iam-v1 ✓ aiofiles ✓ pre-commit ✓ cfgv ✓ babel ✓ execnet ✓ tornado ✓ traitlets ✓ gunicorn ✓ durationpy ✓ parso ✓ google-cloud-secret-manager ✓ jedi ✓ azure-storage-blob ✓ executing ✓ xxhash ✓ cython ✓ asgiref ✓ authlib ✓ xmltodict ✓ asttokens ✓ google-cloud-batch ✓ matplotlib-inline ✓ black ✓ h2 ✓ importlib-resources ✓ databricks-sdk ✓ hyperframe ✓ hpack ✓ langchain-core ✓ py4j ✓ pyee ✓ sentry-sdk ✓ pure-eval ✓ stack-data ✓ vcs-versioning ✓ tree-sitter-languages ✓ markdown ✓ webencodings ✓ termcolor ✓ weaviate-client ✓ google-analytics-admin ✓ anthropic ✓ nest-asyncio ✓ python-json-logger ✓ cachecontrol ✓ playwright ✓ datasets ✓ typing-inspect ✓ dbt-core ✓ jsonpatch ✓ watchdog ✓ pymongo ✓ librt ✓ gcsfs ✓ debugpy ✓ dbt-adapters ✓ aioitertools ✓ jsonschema-path ✓ grpcio-health-checking ✓ google-cloud-compute ✓ pandas-stubs ✓ google-cloud-kms ✓ pyzmq ✓ pytest-mock ✓ databricks-sql-connector ✓ dulwich ✓ ujson ✓ lz4 ✓ pymysql ✓ pkginfo ✓ flatbuffers ✓ awswrangler ✓ pycryptodome ✓ jsonpath-ng ✓ pyperclip ✓ isort ✓ slack-sdk ✓ msrest ✓ pathable ✓ narwhals ✓ dataclasses-json ✓ tinycss2 ✓ deepdiff ✓ google-cloud-dlp ✓ typedload ✓ torch ✓ mccabe ✓ google-cloud-speech ✓ dbt-common ✓ langsmith ✓ pymupdf ✓ poetry ✓ ydb ✓ jsonref ✓ pygithub ✓ notebook ✓ rfc3339-validator ✓ google-cloud-monitoring ✓ rich-toolkit ✓ invoke ✓ fastmcp ✓ loguru ✓ ruamel-yaml-clib ✓ argcomplete ✓ beartype ✓ sphinx ✓ xlsxwriter ✓ pendulum ✓ dacite ✓ semver ✓

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.