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

Top 120 - 240

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

Top 240 - 360

httplib2 ✓ nodeenv ✓ build ✓ sympy ✓ aiofiles ✓ ipython ✓ jsonpointer ✓ transformers ✓ google-analytics-admin ✓ marshmallow ✓ backoff ✓ traitlets ✓ google-cloud-bigquery ✓ fastjsonschema ✓ sqlparse ✓ mpmath ✓ msal-extensions ✓ google-cloud-kms ✓ azure-storage-blob ✓ google-cloud-compute ✓ identify ✓ pre-commit ✓ jedi ✓ durationpy ✓ parso ✓ ujson ✓ anthropic ✓ gunicorn ✓ gcsfs ✓ cfgv ✓ h2 ✓ babel ✓ hyperframe ✓ executing ✓ hpack ✓ dbt-core ✓ sentry-sdk ✓ matplotlib-inline ✓ setuptools-scm ✓ cloudpickle ✓ databricks-sdk ✓ pytest-xdist ✓ asgiref ✓ asttokens ✓ xmltodict ✓ grpc-google-iam-v1 ✓ authlib ✓ webencodings ✓ cython ✓ black ✓ execnet ✓ google-cloud-dlp ✓ nest-asyncio ✓ datasets ✓ dacite ✓ pandas-stubs ✓ tornado ✓ pure-eval ✓ stack-data ✓ google-cloud-speech ✓ langchain-core ✓ py4j ✓ llama-parse ✓ jsonpatch ✓ llama-cloud-services ✓ google-cloud-pubsub ✓ google-cloud-texttospeech ✓ python-json-logger ✓ librt ✓ cachecontrol ✓ iso8601 ✓ importlib-resources ✓ pyhumps ✓ pyzmq ✓ markdown ✓ joserfc ✓ termcolor ✓ pymongo ✓ vcs-versioning ✓ watchdog ✓ rich-toolkit ✓ typing-inspect ✓ debugpy ✓ dbt-adapters ✓ axiom-py ✓ aioitertools ✓ google-cloud-tasks ✓ structlog ✓ google-cloud-monitoring ✓ google-cloud-bigtable ✓ isort ✓ asyncpg ✓ tinycss2 ✓ langsmith ✓ narwhals ✓ dulwich ✓ pytest-mock ✓ pycryptodome ✓ msrest ✓ pymysql ✓ google-cloud-logging ✓ slack-sdk ✓ pkginfo ✓ pywin32 ✓ dbt-common ✓ grpcio-health-checking ✓ google-cloud-vision ✓ lz4 ✓ torch ✓ ruamel-yaml-clib ✓ jupyter-core ✓ sphinx ✓ awswrangler ✓ dataclasses-json ✓ flatbuffers ✓ loguru ✓ deepdiff ✓ invoke ✓ google-cloud-language ✓ snowflake-snowpark-python ✓

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.