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

Top 120 - 240

opentelemetry-api ✓ shellingham ✓ werkzeug ✓ opentelemetry-semantic-conventions ✓ more-itertools ✓ isodate ✓ sortedcontainers ✓ pynacl ✓ scikit-learn ✓ google-cloud-storage ✓ psycopg2-binary ✓ hatchling ✓ networkx ✓ mypy-extensions ✓ decorator ✓ msgpack ✓ coverage ✓ pexpect ✓ ptyprocess ✓ azure-core ✓ msal ✓ websockets ✓ threadpoolctl ✓ azure-identity ✓ joblib ✓ wcwidth ✓ python-multipart ✓ async-timeout ✓ snowflake-connector-python ✓ openai ✓ bcrypt ✓ dnspython ✓ distro ✓ asn1crypto ✓ gitpython ✓ google-cloud-core ✓ tabulate ✓ ruamel-yaml ✓ keyring ✓ deprecated ✓ matplotlib ✓ itsdangerous ✓ redis ✓ smmap ✓ fonttools ✓ google-cloud-bigquery ✓ gitdb ✓ annotated-doc ✓ google-resumable-media ✓ paramiko ✓ google-crc32c ✓ secretstorage ✓ prompt-toolkit ✓ chardet ✓ poetry-core ✓ jaraco-classes ✓ pyproject-hooks ✓ google-api-python-client ✓ cloudpickle ✓ langsmith ✓ tzlocal ✓ alembic ✓ google-auth-oauthlib ✓ jiter ✓ jeepney ✓ ruff ✓ pydantic-settings ✓ dill ✓ kiwisolver ✓ backoff ✓ transformers ✓ blinker ✓ zstandard ✓ fastjsonschema ✓ typer ✓ rapidfuzz ✓ build ✓ kubernetes ✓ ruamel-yaml-clib ✓ msal-extensions ✓ opentelemetry-instrumentation ✓ types-requests ✓ google-auth-httplib2 ✓ defusedxml ✓ cycler ✓ orjson ✓ pytest-asyncio ✓ uritemplate ✓ langchain ✓ pytest-cov ✓ jaraco-functools ✓ textual ✓ httplib2 ✓ setuptools-scm ✓ azure-storage-blob ✓ jaraco-context ✓ google-cloud-secret-manager ✓ contourpy ✓ pymupdf ✓ prometheus-client ✓ marshmallow ✓ docker ✓ sympy ✓ google-cloud-batch ✓ nodeenv ✓ sqlparse ✓ editables ✓ aliyun-python-sdk-core ✓ mpmath ✓ tokenizers ✓ mako ✓ py4j ✓ cython ✓ grpcio-health-checking ✓ xmltodict ✓ typedload ✓ tornado ✓ ipython ✓ importlib-resources ✓ opentelemetry-exporter-prometheus ✓

Top 240 - 360

google-analytics-admin ✓ pre-commit ✓ jsonpointer ✓ uv ✓ babel ✓ cfgv ✓ identify ✓ aiofiles ✓ hf-xet ✓ traitlets ✓ toml ✓ jedi ✓ email-validator ✓ black ✓ mypy ✓ parso ✓ nest-asyncio ✓ matplotlib-inline ✓ executing ✓ grpc-google-iam-v1 ✓ pyzmq ✓ argcomplete ✓ asttokens ✓ opentelemetry-util-http ✓ ply ✓ awswrangler ✓ asgiref ✓ tiktoken ✓ cachecontrol ✓ webencodings ✓ sentry-sdk ✓ langchain-core ✓ docstring-parser ✓ watchfiles ✓ gunicorn ✓ stack-data ✓ litellm ✓ markdown ✓ pure-eval ✓ termcolor ✓ pkginfo ✓ python-json-logger ✓ pymongo ✓ aioitertools ✓ opentelemetry-instrumentation-requests ✓ uvloop ✓ typing-inspect ✓ dbt-common ✓ pymysql ✓ pandas-stubs ✓ dbt-core ✓ durationpy ✓ sphinx ✓ pytest-xdist ✓ jsonpatch ✓ execnet ✓ msrest ✓ mccabe ✓ torch ✓ isort ✓ dbt-adapters ✓ watchdog ✓ debugpy ✓ databricks-sdk ✓ mcp ✓ shapely ✓ snowflake-sqlalchemy ✓ httptools ✓ pycodestyle ✓ google-cloud-vision ✓ pycryptodome ✓ jsonpath-ng ✓ dulwich ✓ google-cloud-monitoring ✓ poetry ✓ datasets ✓ azure-common ✓ google-cloud-dlp ✓ google-cloud-speech ✓ google-cloud-tasks ✓ httpx-sse ✓ notebook ✓ datadog ✓ google-cloud-compute ✓ google-cloud-language ✓ slack-sdk ✓ pendulum ✓ crashtest ✓ pytest-mock ✓ installer ✓ lz4 ✓ cleo ✓ google-cloud-workflows ✓ future ✓ dataclasses-json ✓ h2 ✓ deepdiff ✓ multiprocess ✓ hyperframe ✓ hpack ✓ google-cloud-videointelligence ✓ google-cloud-dataform ✓ backports-tarfile ✓ scramp ✓ pygithub ✓ jupyter-core ✓ google-cloud-bigtable ✓ toolz ✓ semver ✓ arrow ✓ cattrs ✓ rfc3339-validator ✓ google-cloud-os-login ✓ tinycss2 ✓ antlr4-python3-runtime ✓ databricks-sql-connector ✓ smart-open ✓ wsproto ✓ requests-file ✓ 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.