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

Top 120 - 240

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

Top 240 - 360

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

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.