Your curl_cffi predates the `Session` API (it arrived in the 0.5 line). Upgrade with `python -m pip install -U curl_cffi` and the import works. If `pip show curl_cffi` shows nothing at all, you have the missing install instead.

## The error

```text
ImportError: cannot import name 'Session' from 'curl_cffi'
```

## Fix it

1. **Check what is installed**

```
python -m pip show curl_cffi | head -2
```
Expected: either nothing (missing install) or a pre-0.5 version.

2. **Upgrade (or install)**

```
python -m pip install -U curl_cffi
```
Expected: installs the current release with the Session API.

3. **Confirm**

```
python -c "from curl_cffi import Session; print('ok')"
```
Expected: prints `ok`.

## When this applies

- the ImportError names `Session` from `curl_cffi`
- a lockfile or tutorial from the early curl_cffi era

## When it does NOT apply

- `No module named 'curl_cffi'` is the missing install
- `cannot import name 'RetryStrategy'` is the same shape one feature newer

## Compatibility

Session arrived in curl_cffi 0.5. Anything older lacks it. Current releases are well past that.

## Why it happens

Early curl_cffi had a different (more requests-like functional) API, and the `Session` class came later. Code written against modern curl_cffi imports a name that old installs never defined. Upgrading aligns the install with the code.

## Edge cases

- The PyPI name is `curl-cffi` (dash), the import is `curl_cffi` (underscore). `pip install curl_cffi` fails; use the dash.
- Old code may also use `curl_cffi.requests.Session` (the requests-lookalike path). That still exists; the top-level Session is the newer canonical import.
