Metadata-Version: 2.4
Name: lbd-followback
Version: 0.1.0
Summary: Check who follows you back on Letterboxd
Project-URL: Homepage, https://github.com/znarfm/lbd-followback
Project-URL: Repository, https://github.com/znarfm/lbd-followback
Author: znarfm
License: MIT
License-File: LICENSE
Keywords: cli,followers,following,letterboxd,social
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Utilities
Requires-Python: >=3.14
Requires-Dist: letterboxdpy>=6.5.7
Requires-Dist: rich>=15.0.0
Description-Content-Type: text/markdown

# lbd-followback

Check who follows you back on Letterboxd.

Scrapes a user's following and followers, then compares them to identify mutuals, people not following back, and people you don't follow back. Outputs an HTML report with collapsible sections and profile links.

## Usage

```bash
lbd-followback <username>
lbd-followback <username> -f          # bypass cache
lbd-followback <username> -j          # JSON summary
lbd-followback <username> --no-report  # terminal only
lbd-followback <username> -o report.html  # custom path
lbd-followback <username> -O          # open in browser
lbd-followback <username> --delay 5   # override page delay
```

Report written to `<username>_report.html` in current directory.  
Cache stored at `~/.cache/lbd-followback/`.

## Python API

```python
from lbd_followback import scrape, analyze, generate

following, followers = scrape("nmcassa")
analysis = analyze(following, followers)
generate("nmcassa", following, followers, analysis)
```

## How it works

1. Scrapes all following and follower pages with rate-limited requests (3-4s delay between pages, 429 backoff)
2. Caches results to `~/.cache/lbd-followback/` for 24 hours
3. Compares the two sets to find mutual, not-following-back, and not-followed-back users
4. Generates a dark-themed HTML report with avatars, profile links, and collapsible sections

## Install

Requires Python 3.14+.

```bash
# via PyPI (recommended) — install globally then run
uv tool install lbd-followback
pipx install lbd-followback
lbd-followback <username>

# from source — install globally then run
uv tool install .
lbd-followback <username>

# from source — run directly without installing
uv run python -m lbd_followback <username>
```

> **Note**: `letterboxdpy` depends on `curl-cffi` which uses CFFI to interface with `curl-impersonate` (C/C++). On some systems a C compiler toolchain (`gcc`/`clang`/MSVC) may be required. `uv tool install` handles this automatically.

## Credits

- [letterboxdpy](https://github.com/nmcassa/letterboxdpy) — Python wrapper for Letterboxd used under the hood for HTTP transport and TLS fingerprinting.
