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

Top 120 - 240

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

Top 240 - 360

transformers ✓ build ✓ pre-commit ✓ identify ✓ jedi ✓ fastjsonschema ✓ anthropic ✓ executing ✓ cfgv ✓ h2 ✓ hyperframe ✓ hpack ✓ parso ✓ aiofiles ✓ backoff ✓ sympy ✓ google-cloud-aiplatform ✓ matplotlib-inline ✓ google-cloud-kms ✓ google-cloud-compute ✓ authlib ✓ paramiko ✓ asttokens ✓ google-analytics-admin ✓ mpmath ✓ msal-extensions ✓ sentry-sdk ✓ webencodings ✓ stack-data ✓ pure-eval ✓ azure-storage-blob ✓ joserfc ✓ cloudpickle ✓ gcsfs ✓ pydantic-graph ✓ sqlparse ✓ asgiref ✓ grpc-google-iam-v1 ✓ black ✓ babel ✓ lmnr ✓ tornado ✓ cachecontrol ✓ fastmcp ✓ narwhals ✓ pytest-xdist ✓ kubernetes ✓ gunicorn ✓ google-cloud-dlp ✓ types-requests ✓ termcolor ✓ marshmallow ✓ databricks-sdk ✓ execnet ✓ google-cloud-texttospeech ✓ cython ✓ google-cloud-speech ✓ python-json-logger ✓ jsonpatch ✓ opentelemetry-instrumentation-threading ✓ tree-sitter ✓ datasets ✓ pandas-stubs ✓ setuptools-scm ✓ xmltodict ✓ google-cloud-pubsub ✓ pymongo ✓ tinycss2 ✓ librt ✓ asyncpg ✓ debugpy ✓ dulwich ✓ markdown ✓ dbt-adapters ✓ py4j ✓ pytest-timeout ✓ watchdog ✓ pyzmq ✓ databricks-sql-connector ✓ aioitertools ✓ pyperclip ✓ typedload ✓ pkginfo ✓ dbt-core ✓ jsonschema-path ✓ isort ✓ xlsxwriter ✓ pypdf ✓ pytest-mock ✓ lz4 ✓ importlib-resources ✓ structlog ✓ snowflake-snowpark-python ✓ vcs-versioning ✓ langsmith ✓ jupyter-core ✓ google-cloud-tasks ✓ backports-zstd ✓ poetry ✓ python-docx ✓ mdit-py-plugins ✓ pathable ✓ nest-asyncio ✓ google-cloud-logging ✓ psycopg ✓ cyclopts ✓ beartype ✓ google-cloud-monitoring ✓ flatbuffers ✓ jupyter-client ✓ jsonref ✓ installer ✓ pygithub ✓ mccabe ✓ llama-cloud-services ✓ llama-parse ✓ cleo ✓ crashtest ✓ fastuuid ✓ slack-sdk ✓

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.