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

Top 120 - 240

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

Top 240 - 360

transformers ✓ pre-commit ✓ identify ✓ jedi ✓ build ✓ cfgv ✓ h2 ✓ executing ✓ hyperframe ✓ hpack ✓ fastjsonschema ✓ parso ✓ anthropic ✓ backoff ✓ aiofiles ✓ matplotlib-inline ✓ sympy ✓ google-cloud-aiplatform ✓ asttokens ✓ paramiko ✓ mpmath ✓ google-cloud-kms ✓ authlib ✓ google-cloud-compute ✓ msal-extensions ✓ google-analytics-admin ✓ sentry-sdk ✓ stack-data ✓ pure-eval ✓ azure-storage-blob ✓ webencodings ✓ pydantic-graph ✓ sqlparse ✓ cloudpickle ✓ asgiref ✓ gcsfs ✓ joserfc ✓ grpc-google-iam-v1 ✓ black ✓ babel ✓ cachecontrol ✓ narwhals ✓ kubernetes ✓ pytest-xdist ✓ gunicorn ✓ tornado ✓ lmnr ✓ fastmcp ✓ termcolor ✓ types-requests ✓ google-cloud-dlp ✓ databricks-sdk ✓ marshmallow ✓ execnet ✓ cython ✓ datasets ✓ google-cloud-texttospeech ✓ jsonpatch ✓ python-json-logger ✓ google-cloud-speech ✓ opentelemetry-instrumentation-threading ✓ pandas-stubs ✓ setuptools-scm ✓ xmltodict ✓ tree-sitter ✓ google-cloud-pubsub ✓ librt ✓ pymongo ✓ asyncpg ✓ tinycss2 ✓ dulwich ✓ debugpy ✓ dbt-adapters ✓ markdown ✓ watchdog ✓ py4j ✓ databricks-sql-connector ✓ pyzmq ✓ aioitertools ✓ pkginfo ✓ typedload ✓ pyperclip ✓ dbt-core ✓ isort ✓ xlsxwriter ✓ mdit-py-plugins ✓ jsonschema-path ✓ lz4 ✓ pytest-mock ✓ pytest-timeout ✓ pypdf ✓ importlib-resources ✓ structlog ✓ vcs-versioning ✓ poetry ✓ langsmith ✓ linkify-it-py ✓ snowflake-snowpark-python ✓ backports-zstd ✓ google-cloud-tasks ✓ jupyter-core ✓ psycopg ✓ nest-asyncio ✓ fastuuid ✓ google-cloud-logging ✓ pathable ✓ python-docx ✓ uc-micro-py ✓ installer ✓ cyclopts ✓ flatbuffers ✓ llama-cloud-services ✓ beartype ✓ pygithub ✓ google-cloud-monitoring ✓ llama-parse ✓ mccabe ✓ jupyter-client ✓ cleo ✓ jsonref ✓

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.