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

Top 120 - 240

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

Top 240 - 360

weaviate-client ✓ toml ✓ httplib2 ✓ google-cloud-bigquery ✓ aiofiles ✓ durationpy ✓ jsonpointer ✓ fastjsonschema ✓ sympy ✓ jedi ✓ identify ✓ parso ✓ pre-commit ✓ backoff ✓ executing ✓ authlib ✓ marshmallow ✓ transformers ✓ cfgv ✓ sqlparse ✓ h2 ✓ langchain-core ✓ hyperframe ✓ matplotlib-inline ✓ google-analytics-admin ✓ hpack ✓ msal-extensions ✓ mpmath ✓ azure-storage-blob ✓ google-cloud-kms ✓ setuptools-scm ✓ google-cloud-compute ✓ asttokens ✓ anthropic ✓ babel ✓ gunicorn ✓ gcsfs ✓ cloudpickle ✓ sentry-sdk ✓ black ✓ pure-eval ✓ stack-data ✓ asgiref ✓ pytest-xdist ✓ webencodings ✓ tornado ✓ xmltodict ✓ databricks-sdk ✓ python-json-logger ✓ execnet ✓ cython ✓ grpc-google-iam-v1 ✓ nest-asyncio ✓ datasets ✓ pandas-stubs ✓ cachecontrol ✓ google-cloud-dlp ✓ jsonpatch ✓ termcolor ✓ joserfc ✓ watchdog ✓ google-cloud-speech ✓ dbt-core ✓ markdown ✓ pyzmq ✓ py4j ✓ google-cloud-texttospeech ✓ google-cloud-pubsub ✓ vcs-versioning ✓ dbt-adapters ✓ importlib-resources ✓ rich-toolkit ✓ pymongo ✓ librt ✓ debugpy ✓ typing-inspect ✓ tree-sitter ✓ aioitertools ✓ cyclopts ✓ pyee ✓ structlog ✓ llama-parse ✓ llama-cloud-services ✓ dulwich ✓ playwright ✓ asyncpg ✓ tinycss2 ✓ isort ✓ pytest-mock ✓ jsonschema-path ✓ pkginfo ✓ google-cloud-tasks ✓ slack-sdk ✓ jupyter-core ✓ google-cloud-monitoring ✓ rich-rst ✓ narwhals ✓ langsmith ✓ ruamel-yaml-clib ✓ pycryptodome ✓ google-cloud-bigtable ✓ pymysql ✓ msrest ✓ mdit-py-plugins ✓ lz4 ✓ google-cloud-logging ✓ semver ✓ pathable ✓ torch ✓ sphinx ✓ psycopg ✓ flatbuffers ✓ jupyter-client ✓ grpcio-health-checking ✓ poetry ✓ deepdiff ✓ invoke ✓ pymupdf ✓ dataclasses-json ✓ python-slugify ✓

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.