Metadata-Version: 2.4
Name: academic-paperweight
Version: 0.2.0
Summary: Automated retrieval, filtering, and LLM-powered summarization of arXiv papers based on your research interests.
Project-URL: Homepage, https://github.com/seanbrar/paperweight
Project-URL: Repository, https://github.com/seanbrar/paperweight
Project-URL: Changelog, https://github.com/seanbrar/paperweight/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/seanbrar/paperweight/issues
Author-email: Sean Brar <hello@seanbrar.com>
License: MIT
License-File: LICENSE
Keywords: academic,ai,arxiv,llm,machine-learning,notifications,papers,research,summarization
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
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 :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Filters
Classifier: Typing :: Typed
Requires-Python: <3.14,>=3.11
Requires-Dist: arxiv>=2.1.0
Requires-Dist: pollux-ai>=1.0.0a0
Requires-Dist: psycopg[binary]>=3.2.1
Requires-Dist: pypdf>=4.3.1
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: requests>=2.31.0
Requires-Dist: tenacity>=9.0.0
Requires-Dist: tiktoken>=0.9.0
Provides-Extra: dev
Requires-Dist: html2text>=2024.2.26; extra == 'dev'
Requires-Dist: mypy>=1.11.2; extra == 'dev'
Requires-Dist: pre-commit>=3.8.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.10.0; extra == 'dev'
Requires-Dist: pytest>=9.0.2; extra == 'dev'
Requires-Dist: ruff>=0.6.4; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.12.20240808; extra == 'dev'
Requires-Dist: types-requests>=2.32.0.20240907; extra == 'dev'
Description-Content-Type: text/markdown

# paperweight

[![PyPI](https://img.shields.io/pypi/v/academic-paperweight)](https://pypi.org/project/academic-paperweight/)
[![GitHub License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)

paperweight is an arXiv triage CLI.
It fetches recent papers, filters for relevance, and produces a digest you can read in minutes.

## Why this exists

Checking arXiv directly is great for discovery. paperweight is for a different job:

- keep your daily list short
- rank by your interests
- make output scriptable (`stdout`, `json`, `atom`)
- run the same way every day

## Install

```bash
pip install academic-paperweight
```

From source:

```bash
git clone https://github.com/seanbrar/paperweight.git
cd paperweight
uv sync --all-extras
source .venv/bin/activate
```

## Quick start (works without API keys)

```bash
paperweight init
paperweight doctor
paperweight run --force-refresh
```

Notes:

- `init` writes `config.yaml` with safe defaults.
- default analyzer mode is `abstract` (no summarization API key required).
- triage can run with heuristic fallback if no key is present.

## CLI

```bash
paperweight [run-options]
paperweight run [run-options]
paperweight init [--config PATH] [--force]
paperweight doctor [--config PATH] [--strict]
```

Examples:

```bash
# default plain-text digest to stdout
paperweight

# JSON output for scripts
paperweight run --delivery json --output ./paperweight.json --max-items 20

# Atom feed output
paperweight run --delivery atom --output ./paperweight.xml

# optional email delivery (requires notifier.email config)
paperweight run --delivery email

# strict checks for CI/release gates
paperweight doctor --strict
```

Detailed command behavior: `docs/CLI.md`

## Configuration

Core sections:

- `arxiv`: categories and max results
- `triage`: shortlist gate (title + abstract)
- `processor`: scoring config
- `analyzer`: `abstract` or `summary`
- `logging`
- `notifier` (optional, only for email)

See: `docs/CONFIGURATION.md`

## Roadmap

See `docs/ROADMAP.md` for quantified release goals and forward plan.

## Development

```bash
make lint
make test
```

## License

MIT. See `LICENSE`.
