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

cloudflare ✓ acme ✓ certbot-dns-cloudflare ✓ boto3 ✓ urllib3 ✓ botocore ✓ setuptools ✓ requests ✓ certifi ✓ typing-extensions ✓ charset-normalizer ✓ grpcio-status ✓ idna ✓ packaging ✓ python-dateutil ✓ aiobotocore ✓ s3transfer ✓ six ✓ numpy ✓ s3fs ✓ pyyaml ✓ importlib-metadata ✓ protobuf ✓ cryptography ✓ fsspec ✓ cffi ✓ pydantic ✓ pip ✓ pycparser ✓ pandas ✓ attrs ✓ platformdirs ✓ click ✓ rsa ✓ jmespath ✓ jinja2 ✓ markupsafe ✓ pytz ✗ pluggy ✓ pyasn1 ✓ google-api-core ✓ zipp ✓ pygments ✓ pydantic-core ✓ virtualenv ✓ filelock ✓ wheel ✓ cachetools ✓ google-auth ✓ h11 ✓ colorama ✓ anyio ✓ sniffio ✓ grpcio-tools ✓ pytest ✓ googleapis-common-protos ✓ annotated-types ✓ httpx ✓ pyasn1-modules ✓ iniconfig ✓ tzdata ✓ jsonschema ✓ httpcore ✓ tomli ✓ pyjwt ✓ aiohttp ✓ multidict ✓ pyarrow ✓ wrapt ✓ yarl ✓ awscli ✓ requests-oauthlib ✓ exceptiongroup ✓ psutil ✓ tomlkit ✓ tqdm ✓ sqlalchemy ✓ cloudpickle ✓ distlib ✓ frozenlist ✓ oauthlib ✓ greenlet ✓ python-dotenv ✓ pyparsing ✓ aiosignal ✓ pathspec ✓ requests-toolbelt ✓ pillow ✓ scipy ✓ rpds-py ✓ pyzmq ✓ propcache ✓ jsonschema-specifications ✓ rich ✓ referencing ✓ grpcio ✓ beautifulsoup4 ✓ pyopenssl ✓ openpyxl ✓ soupsieve ✓ typing-inspection ✓ docutils ✓ grpcio-health-checking ✓ et-xmlfile ✓ more-itertools ✓ isodate ✓ aiohappyeyeballs ✓ msgpack ✓ google-cloud-storage ✓ markdown-it-py ✓ proto-plus ✓ lxml ✓ mdurl ✓ werkzeug ✓ trove-classifiers ✓ coverage ✓ opentelemetry-semantic-conventions ✓ decorator ✓ shellingham ✓ yandexcloud ✓

Top 120 - 240

mypy-extensions ✓ websocket-client ✓ pynacl ✓ async-timeout ✓ sortedcontainers ✓ azure-core ✓ snowflake-connector-python ✓ azure-identity ✓ keyring ✓ deprecated ✓ flask ✓ tenacity ✓ msal ✓ psycopg2-binary ✓ poetry-core ✓ weaviate-client ✓ gym-notices ✓ scikit-learn ✓ asn1crypto ✓ langsmith ✓ google-cloud-core ✓ opentelemetry-api ✓ jaraco-classes ✓ types-requests ✓ regex ✓ starlette ✓ jeepney ✓ secretstorage ✓ bcrypt ✓ fastjsonschema ✓ pexpect ✓ wcwidth ✓ ptyprocess ✓ fastapi ✓ huggingface-hub ✓ chardet ✓ gitpython ✓ uvicorn ✓ networkx ✓ tabulate ✓ opentelemetry-sdk ✓ aliyun-python-sdk-core ✓ google-api-python-client ✓ threadpoolctl ✓ itsdangerous ✓ google-resumable-media ✓ paramiko ✓ pyproject-hooks ✓ rapidfuzz ✓ build ✓ smmap ✓ gitdb ✓ opentelemetry-proto ✓ ruamel-yaml ✓ dnspython ✓ matplotlib ✓ dill ✓ google-crc32c ✓ blinker ✓ backoff ✓ google-auth-oauthlib ✓ websockets ✓ joblib ✓ alembic ✓ prompt-toolkit ✓ pkginfo ✓ fonttools ✓ importlib-resources ✓ opentelemetry-instrumentation ✓ awswrangler ✓ jaraco-functools ✓ zstandard ✓ defusedxml ✓ kiwisolver ✓ msal-extensions ✓ uritemplate ✓ pytest-cov ✓ cachecontrol ✓ jaraco-context ✓ google-genai ✓ sqlparse ✓ google-cloud-bigquery ✓ distro ✓ marshmallow ✓ langchain ✓ transformers ✓ cycler ✓ openai ✓ opentelemetry-exporter-otlp-proto-http ✓ redis ✓ google-auth-httplib2 ✓ httplib2 ✓ xmltodict ✓ py4j ✓ azure-storage-blob ✓ ipython ✓ opentelemetry-util-http ✓ ruamel-yaml-clib ✓ poetry-plugin-export ✓ sphinx ✓ tzlocal ✓ typedload ✓ poetry ✓ docker ✓ opentelemetry-instrumentation-requests ✓ cython ✓ dulwich ✓ nest-asyncio ✓ black ✓ crashtest ✓ cleo ✓ opentelemetry-exporter-otlp-proto-grpc ✓ babel ✓ installer ✓ opentelemetry-exporter-otlp-proto-common ✓ traitlets ✓ contourpy ✓ jedi ✓ jsonpointer ✓ pymysql ✓

Top 240 - 360

parso ✓ prometheus-client ✓ hatchling ✓ pycodestyle ✓ isort ✓ gunicorn ✓ setuptools-scm ✓ grpc-google-iam-v1 ✓ tornado ✓ typer ✓ matplotlib-inline ✓ kubernetes ✓ toml ✓ orjson ✓ langchain-core ✓ snowflake-sqlalchemy ✓ mako ✓ mccabe ✓ markdown ✓ webencodings ✓ termcolor ✓ ruff ✓ asttokens ✓ ply ✓ executing ✓ types-python-dateutil ✓ pendulum ✓ tokenizers ✓ sentry-sdk ✓ gym ✓ nodeenv ✓ python-json-logger ✓ stack-data ✓ mypy ✓ aiofiles ✓ pure-eval ✓ pre-commit ✓ typing-inspect ✓ shapely ✓ asgiref ✓ databricks-sql-connector ✓ py ✓ jiter ✓ backports-tarfile ✓ opentelemetry-exporter-otlp ✓ sympy ✓ identify ✓ argcomplete ✓ opensearch-py ✓ snowflake-snowpark-python ✓ scramp ✓ pytest-xdist ✓ cfgv ✓ pymongo ✓ torch ✓ pycryptodome ✓ jsonpatch ✓ msrest ✓ azure-common ✓ pydantic-settings ✓ smart-open ✓ uv ✓ datadog ✓ pbs-installer ✓ pyrsistent ✓ future ✓ notebook ✓ email-validator ✓ debugpy ✓ execnet ✓ findpython ✓ jsonpath-ng ✓ redshift-connector ✓ python-multipart ✓ google-cloud-secret-manager ✓ semver ✓ mysql-connector-python ✓ mpmath ✓ jupyter-core ✓ arrow ✓ aioitertools ✓ apache-beam ✓ lz4 ✓ pyflakes ✓ pytest-asyncio ✓ tiktoken ✓ databricks-sdk ✓ pyspark ✓ pytest-mock ✓ dataclasses-json ✓ requests-aws4auth ✓ rfc3339-validator ✓ watchdog ✓ multiprocess ✓ jupyter-client ✓ slack-sdk ✓ mistune ✓ apache-airflow-providers-common-sql ✓ tableauserverclient ✓ jupyterlab ✓ tb-nightly ✓ tinycss2 ✓ google-cloud-pubsub ✓ flake8 ✓ ipykernel ✓ bleach ✓ nbformat ✓ limits ✓ pycryptodomex ✓ google-cloud-aiplatform ✓ pygithub ✓ comm ✓ editables ✓ nbconvert ✓ python-slugify ✓ cattrs ✓ google-cloud-resource-manager ✓ gcsfs ✓ nbclient ✓ hf-xet ✓

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.