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

Top 120 - 240

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

Top 240 - 360

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

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.