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

Top 120 - 240

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

Top 240 - 360

zstandard ✓ prometheus-client ✓ pyproject-hooks ✓ uv ✓ anthropic ✓ google-analytics-admin ✓ mypy ✓ google-cloud-kms ✓ google-cloud-compute ✓ executing ✓ jedi ✓ jsonpointer ✓ parso ✓ poetry-core ✓ sympy ✓ gcsfs ✓ authlib ✓ backoff ✓ aiofiles ✓ matplotlib-inline ✓ asttokens ✓ fastjsonschema ✓ paramiko ✓ mpmath ✓ build ✓ cloudpickle ✓ joserfc ✓ google-cloud-aiplatform ✓ sentry-sdk ✓ stack-data ✓ pure-eval ✓ black ✓ google-cloud-dlp ✓ databricks-sdk ✓ msal-extensions ✓ sqlparse ✓ opentelemetry-instrumentation-threading ✓ webencodings ✓ asgiref ✓ datasets ✓ google-cloud-texttospeech ✓ babel ✓ narwhals ✓ azure-storage-blob ✓ google-cloud-speech ✓ pytest-xdist ✓ gunicorn ✓ termcolor ✓ pandas-stubs ✓ tornado ✓ grpc-google-iam-v1 ✓ execnet ✓ pydantic-graph ✓ google-cloud-pubsub ✓ marshmallow ✓ cachecontrol ✓ python-json-logger ✓ jsonpatch ✓ tree-sitter ✓ types-requests ✓ cython ✓ setuptools-scm ✓ databricks-sql-connector ✓ xmltodict ✓ kubernetes ✓ lmnr ✓ pypdf ✓ pymongo ✓ markdown ✓ isort ✓ dbt-adapters ✓ py4j ✓ librt ✓ tinycss2 ✓ python-docx ✓ snowflake-snowpark-python ✓ dbt-core ✓ jsonschema-path ✓ aioitertools ✓ pyperclip ✓ google-cloud-tasks ✓ asyncpg ✓ fastuuid ✓ debugpy ✓ watchdog ✓ pyzmq ✓ langsmith ✓ google-cloud-monitoring ✓ xlsxwriter ✓ google-cloud-logging ✓ cyclopts ✓ llama-cloud-services ✓ llama-parse ✓ vcs-versioning ✓ pathable ✓ importlib-resources ✓ dulwich ✓ griffelib ✓ beartype ✓ pytest-mock ✓ flatbuffers ✓ structlog ✓ nest-asyncio ✓ opentelemetry-exporter-prometheus ✓ jsonref ✓ pytest-timeout ✓ pytokens ✓ ghapi ✓ lz4 ✓ mdit-py-plugins ✓ psycopg ✓ pkginfo ✓ google-cloud-vision ✓ google-cloud-bigtable ✓ pymupdf ✓ torch ✓ sphinx ✓ cfn-lint ✓ pymysql ✓ pycryptodome ✓

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.