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

Top 120 - 240

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

Top 240 - 360

importlib-resources ✓ xmltodict ✓ tornado ✓ traitlets ✓ email-validator ✓ jsonpointer ✓ babel ✓ hf-xet ✓ uv ✓ aiofiles ✓ jedi ✓ parso ✓ opentelemetry-util-http ✓ black ✓ durationpy ✓ toml ✓ typedload ✓ executing ✓ nest-asyncio ✓ matplotlib-inline ✓ mypy ✓ asttokens ✓ ply ✓ pandas-stubs ✓ opentelemetry-instrumentation-requests ✓ grpc-google-iam-v1 ✓ watchfiles ✓ awswrangler ✓ docstring-parser ✓ langchain-core ✓ sentry-sdk ✓ asgiref ✓ stack-data ✓ pure-eval ✓ tiktoken ✓ webencodings ✓ pymongo ✓ uvloop ✓ python-json-logger ✓ markdown ✓ gunicorn ✓ cachecontrol ✓ dbt-core ✓ termcolor ✓ pytest-xdist ✓ pyzmq ✓ execnet ✓ dbt-adapters ✓ pkginfo ✓ typing-inspect ✓ msrest ✓ snowflake-sqlalchemy ✓ aioitertools ✓ pymysql ✓ botocore-stubs ✓ dbt-common ✓ types-awscrt ✓ httptools ✓ watchdog ✓ databricks-sdk ✓ jsonpath-ng ✓ debugpy ✓ ruamel-yaml-clib ✓ jsonpatch ✓ types-s3transfer ✓ sphinx ✓ boto3-stubs ✓ mcp ✓ isort ✓ google-cloud-monitoring ✓ torch ✓ google-cloud-vision ✓ google-cloud-compute ✓ opensearch-py ✓ httpx-sse ✓ pycryptodome ✓ google-cloud-tasks ✓ google-cloud-speech ✓ h2 ✓ pysocks ✓ google-cloud-bigtable ✓ hpack ✓ hyperframe ✓ google-cloud-dlp ✓ pygithub ✓ google-cloud-kms ✓ datadog ✓ azure-common ✓ google-cloud-workflows ✓ dulwich ✓ litellm ✓ multiprocess ✓ shapely ✓ google-cloud-language ✓ requests-file ✓ lz4 ✓ slack-sdk ✓ pendulum ✓ mccabe ✓ sse-starlette ✓ poetry ✓ google-cloud-dataform ✓ jupyter-core ✓ crashtest ✓ notebook ✓ google-cloud-videointelligence ✓ argcomplete ✓ semver ✓ dataclasses-json ✓ mypy-boto3-s3 ✓ google-cloud-os-login ✓ datasets ✓ cleo ✓ backports-tarfile ✓ installer ✓ pytest-mock ✓ smart-open ✓ scramp ✓ ipykernel ✓ jupyter-client ✓

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.