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

Top 120 - 240

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

Top 240 - 360

pyee ✓ aiofiles ✓ sympy ✓ fastjsonschema ✓ marshmallow ✓ types-requests ✓ backoff ✓ transformers ✓ google-cloud-batch ✓ jedi ✓ parso ✓ msal-extensions ✓ ydb ✓ playwright ✓ identify ✓ sqlparse ✓ pre-commit ✓ azure-storage-blob ✓ weaviate-client ✓ executing ✓ setuptools-scm ✓ cfgv ✓ dbt-core ✓ durationpy ✓ mpmath ✓ gunicorn ✓ babel ✓ pytest-json-ctrf ✓ matplotlib-inline ✓ h2 ✓ cloudpickle ✓ hyperframe ✓ hpack ✓ anthropic ✓ google-analytics-admin ✓ asttokens ✓ grpc-google-iam-v1 ✓ authlib ✓ tornado ✓ asgiref ✓ sentry-sdk ✓ datasets ✓ nest-asyncio ✓ xmltodict ✓ webencodings ✓ stack-data ✓ pure-eval ✓ google-cloud-compute ✓ databricks-sdk ✓ cython ✓ google-cloud-kms ✓ pytest-xdist ✓ gcsfs ✓ black ✓ librt ✓ jsonpatch ✓ langchain-core ✓ execnet ✓ py4j ✓ markdown ✓ python-json-logger ✓ cachecontrol ✓ pandas-stubs ✓ joserfc ✓ importlib-resources ✓ pyzmq ✓ vcs-versioning ✓ google-cloud-dlp ✓ debugpy ✓ termcolor ✓ pymongo ✓ watchdog ✓ google-cloud-speech ✓ typing-inspect ✓ google-cloud-pubsub ✓ ujson ✓ llama-parse ✓ llama-cloud-services ✓ dbt-adapters ✓ aioitertools ✓ google-cloud-texttospeech ✓ tinycss2 ✓ pycryptodome ✓ pymysql ✓ lz4 ✓ tree-sitter ✓ rich-toolkit ✓ isort ✓ slack-sdk ✓ jupyter-core ✓ narwhals ✓ pytest-mock ✓ structlog ✓ dulwich ✓ msrest ✓ ruamel-yaml-clib ✓ asyncpg ✓ dacite ✓ dbt-common ✓ torch ✓ flatbuffers ✓ grpcio-health-checking ✓ mdit-py-plugins ✓ loguru ✓ pkginfo ✓ google-cloud-tasks ✓ pyperclip ✓ jupyter-client ✓ jsonschema-path ✓ langsmith ✓ dataclasses-json ✓ awswrangler ✓ google-cloud-monitoring ✓ ipykernel ✓ google-cloud-logging ✓ google-cloud-bigtable ✓ deepdiff ✓ invoke ✓ semver ✓ arrow ✓

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.