Metadata-Version: 2.4
Name: antifind
Version: 0.1.1
Summary: Search online databases for movies, TV, music, papers, and books; emit BibTeX
Project-URL: Homepage, https://github.com/vxvware/antifind
Project-URL: Repository, https://github.com/vxvware/antifind
Project-URL: Issues, https://github.com/vxvware/antifind/issues
Author-email: VxVware <trevor.j.vincent@gmail.com>
License-Expression: MIT
Keywords: bibliography,bibtex,books,citations,movies,music,papers,search,tv
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Text Processing :: Markup :: LaTeX
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Requires-Dist: bibtexparser>=2.0.0b7
Requires-Dist: httpx<0.30,>=0.27
Requires-Dist: rapidfuzz>=3.0
Requires-Dist: rich>=13.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Description-Content-Type: text/markdown

# antifind

Search online databases for movies, TV, music, papers, and books, and emit BibTeX.

## Install

```bash
pip install antifind
# or
uv tool install antifind
```

## Usage

```bash
antifind KIND QUERY [-n N] [-o refs.bib]
```

`KIND` is one of `movie`, `tv`, `music`, `paper`, or `book`:

```bash
antifind paper "attention is all you need"        # → stdout
antifind paper "attention is all you need" -o refs.bib   # append to a .bib
antifind movie "blade runner" --year 1982 -n 3
antifind tv "the wire"
antifind music "kind of blue"
antifind book "the name of the rose"
```

By default it prints the single best match to stdout. With `-o FILE`, results are
appended to a `.bib` with de-duplication (matching entries fill missing fields;
`--no-merge` to skip, `--force` to append with an auto-suffixed key).

### Options

| flag | effect |
|------|--------|
| `-n N` | number of results (default: 1) |
| `-o, --output FILE` | append results to this `.bib` (default: stdout) |
| `--year YEAR` | constrain by year (movie/tv only) |
| `--no-merge` | on duplicate, skip instead of filling missing fields |
| `--force` | append even if a duplicate exists |

### Data sources & API keys

| kind | source | key needed |
|------|--------|------------|
| `movie`, `tv` | TMDb | `TMDB_API_KEY` |
| `music` | MusicBrainz | — |
| `paper` | CrossRef + arXiv | — |
| `book` | Open Library | — |

```bash
export TMDB_API_KEY=...   # required for movie / tv search
```

## Related

- [antilibrary](https://github.com/vxvware/antilibrary) — manage BibTeX libraries from the terminal (can call antifind via `--add-from-search`).
- [antifile](https://github.com/vxvware/antifile) — extract BibTeX from PDFs, EPUBs, URLs, and identifiers.

## License

MIT
