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

Top 120 - 240

grpcio-tools ✓ websockets ✓ networkx ✓ hatchling ✓ psycopg2-binary ✓ opentelemetry-exporter-otlp-proto-grpc ✓ opentelemetry-exporter-otlp-proto-http ✓ coverage ✓ pynacl ✓ isodate ✓ decorator ✓ huggingface-hub ✓ wcwidth ✓ msgpack ✓ google-genai ✓ opentelemetry-exporter-otlp-proto-common ✓ scikit-learn ✓ python-multipart ✓ flask ✓ azure-core ✓ openai ✓ distro ✓ joblib ✓ msal ✓ pexpect ✓ ptyprocess ✓ bcrypt ✓ threadpoolctl ✓ dnspython ✓ pydantic-settings ✓ ruamel-yaml ✓ poetry-core ✓ yandexcloud ✓ google-cloud-core ✓ snowflake-connector-python ✓ matplotlib ✓ async-timeout ✓ gitpython ✓ redis ✓ fonttools ✓ cloudpickle ✓ tabulate ✓ annotated-doc ✓ jiter ✓ asn1crypto ✓ itsdangerous ✓ keyring ✓ kubernetes ✓ ruff ✓ prompt-toolkit ✓ kiwisolver ✓ alembic ✓ deprecated ✓ azure-identity ✓ typer ✓ opentelemetry-exporter-otlp ✓ google-resumable-media ✓ opentelemetry-instrumentation ✓ google-crc32c ✓ types-requests ✓ smmap ✓ jaraco-classes ✓ secretstorage ✓ tzlocal ✓ chardet ✓ gitdb ✓ blinker ✓ google-cloud-bigquery ✓ orjson ✓ paramiko ✓ zstandard ✓ jeepney ✓ transformers ✓ prometheus-client ✓ rapidfuzz ✓ cycler ✓ backoff ✓ pytest-cov ✓ build ✓ pyproject-hooks ✓ google-api-python-client ✓ editables ✓ fastjsonschema ✓ defusedxml ✓ contourpy ✓ dill ✓ docker ✓ pytest-asyncio ✓ jaraco-functools ✓ setuptools-scm ✓ azure-storage-blob ✓ jaraco-context ✓ msal-extensions ✓ sympy ✓ google-auth-oauthlib ✓ tokenizers ✓ mako ✓ uritemplate ✓ babel ✓ httplib2 ✓ marshmallow ✓ google-auth-httplib2 ✓ mpmath ✓ sqlparse ✓ ipython ✓ hf-xet ✓ nodeenv ✓ toml ✓ jsonpointer ✓ durationpy ✓ uv ✓ cython ✓ xmltodict ✓ traitlets ✓ pre-commit ✓ importlib-resources ✓ tornado ✓ watchfiles ✓ opentelemetry-instrumentation-requests ✓ aiofiles ✓

Top 240 - 360

mypy ✓ jedi ✓ parso ✓ opentelemetry-util-http ✓ py4j ✓ identify ✓ gunicorn ✓ typedload ✓ uvloop ✓ textual ✓ python-json-logger ✓ matplotlib-inline ✓ cfgv ✓ executing ✓ docstring-parser ✓ nest-asyncio ✓ email-validator ✓ black ✓ asttokens ✓ sentry-sdk ✓ asgiref ✓ langchain-core ✓ mcp ✓ markdown ✓ ply ✓ webencodings ✓ cachecontrol ✓ grpc-google-iam-v1 ✓ httptools ✓ tiktoken ✓ google-cloud-aiplatform ✓ gcsfs ✓ stack-data ✓ pure-eval ✓ dbt-core ✓ httpx-sse ✓ botocore-stubs ✓ sse-starlette ✓ types-awscrt ✓ pkginfo ✓ awswrangler ✓ dbt-adapters ✓ watchdog ✓ debugpy ✓ types-s3transfer ✓ typing-inspect ✓ google-cloud-secret-manager ✓ boto3-stubs ✓ dulwich ✓ jsonpatch ✓ termcolor ✓ pymysql ✓ torch ✓ databricks-sdk ✓ pymongo ✓ aioitertools ✓ ruamel-yaml-clib ✓ isort ✓ pytest-xdist ✓ execnet ✓ pyzmq ✓ dbt-common ✓ poetry ✓ wsproto ✓ msrest ✓ pysocks ✓ h2 ✓ jsonpath-ng ✓ xxhash ✓ hyperframe ✓ hpack ✓ lz4 ✓ mccabe ✓ pytest-mock ✓ pycryptodome ✓ notebook ✓ crashtest ✓ safetensors ✓ mypy-boto3-s3 ✓ cleo ✓ langsmith ✓ installer ✓ arrow ✓ poetry-plugin-export ✓ typer-slim ✓ multiprocess ✓ slack-sdk ✓ deepdiff ✓ jupyter-core ✓ azure-common ✓ requests-file ✓ selenium ✓ rfc3339-validator ✓ nvidia-nccl-cu12 ✓ pygithub ✓ shapely ✓ dataclasses-json ✓ datadog ✓ tinycss2 ✓ pendulum ✓ opentelemetry-exporter-prometheus ✓ numba ✓ litellm ✓ ipykernel ✓ invoke ✓ pycodestyle ✓ xlsxwriter ✓ jupyter-client ✓ narwhals ✓ authlib ✓ toolz ✓ future ✓ argcomplete ✓ smart-open ✓ mistune ✓ trio ✓ simplejson ✓ semver ✓ comm ✓ loguru ✓

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.