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

Top 120 - 240

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

Top 240 - 360

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

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.