Metadata-Version: 2.4
Name: wikicfp-scanner
Version: 0.1.0
Summary: AI-powered CLI to find the perfect academic conferences for your research papers
Project-URL: Homepage, https://github.com/dipankar/wikicfp-cli
Project-URL: Documentation, https://dipankar.github.io/wikicfp-cli/
Project-URL: Repository, https://github.com/dipankar/wikicfp-cli
Project-URL: Issues, https://github.com/dipankar/wikicfp-cli/issues
Author-email: Dipankar Sarkar <me@dipankar.name>
License-Expression: MIT
License-File: LICENSE
Keywords: academic,ai,call-for-papers,cfp,claude,conference,paper,research,scraper,wikicfp
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
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.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Text Processing :: General
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: aiolimiter>=1.1.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: click>=8.1.0
Requires-Dist: diskcache>=5.6.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: lxml>=5.0.0
Requires-Dist: pdfplumber>=0.11.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pypdf>=4.0.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.3.0; extra == 'dev'
Description-Content-Type: text/markdown

# WikiCFP Scanner

[![PyPI version](https://img.shields.io/pypi/v/wikicfp-scanner)](https://pypi.org/project/wikicfp-scanner/)
[![Python](https://img.shields.io/pypi/pyversions/wikicfp-scanner)](https://pypi.org/project/wikicfp-scanner/)
[![License](https://img.shields.io/pypi/l/wikicfp-scanner)](https://github.com/dipankar/wikicfp-cli/blob/main/LICENSE)
[![Code style: Ruff](https://img.shields.io/badge/code%20style-ruff-000000)](https://github.com/astral-sh/ruff)

**Stop manually searching for conferences. Let AI find the perfect venue for your paper.**

WikiCFP Scanner is a command-line tool that scrapes [WikiCFP](http://www.wikicfp.com) for upcoming conferences, extracts information from your research paper (PDF or text), and uses Claude AI to rank conferences by relevance to your work.

## Key Features

- **Paper Analysis** - Extract title, abstract, and keywords from PDF papers
- **Smart Scraping** - Async scraping of WikiCFP with rate limiting and caching
- **AI-Powered Matching** - Claude AI analyzes paper-conference relevance
- **CORE Rankings** - Integrates CORE conference rankings (A*, A, B, C)
- **Submission Details** - Extracts submission URLs and formatting requirements
- **Multiple Outputs** - Table (Rich), JSON, and CSV output formats
- **Persistent Cache** - Disk-based caching to minimize repeated requests

## Quick Start

### Prerequisites

- Python 3.10+
- [uv](https://github.com/astral-sh/uv) package manager (recommended)
- [Claude CLI](https://claude.ai/code) installed and configured

### Installation

```bash
# Using pip (recommended)
pip install wikicfp-scanner

# Using uv
uv tool install wikicfp-scanner

# Or from source
pip install git+https://github.com/dipankar/wikicfp-cli
```

### Basic Usage

```bash
# Scan using a PDF
wikicfp scan --pdf my-paper.pdf

# Scan using title and abstract
wikicfp scan --title "My Paper Title" --abstract "Paper abstract text..."

# Specify categories and output format
wikicfp scan --pdf paper.pdf -c "machine learning" -c "deep learning" --output json

# Adjust deadline range
wikicfp scan --pdf paper.pdf --min-deadline-days 14 --max-deadline-days 90
```

## CLI Commands

| Command | Description |
|---------|-------------|
| `wikicfp scan` | Scan WikiCFP for matching conferences |
| `wikicfp list-categories` | List available CS categories |
| `wikicfp download-core` | Download CORE rankings CSV |
| `wikicfp clear-cache` | Clear the cache directory |

## Documentation

Full documentation available at: https://dipankar.github.io/wikicfp-cli/

- [Installation Guide](https://dipankar.github.io/wikicfp-cli/installation/)
- [Quick Start Tutorial](https://dipankar.github.io/wikicfp-cli/quickstart/)
- [CLI Reference](https://dipankar.github.io/wikicfp-cli/cli-reference/)
- [Configuration](https://dipankar.github.io/wikicfp-cli/configuration/)

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

### Development Setup

```bash
git clone https://github.com/dipankar/wikicfp-cli
cd wikicfp-cli
uv sync --all-extras
uv run ruff check .
uv run pytest
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- [WikiCFP](http://www.wikicfp.com) for conference data
- [CORE Rankings](https://portal.core.edu.au/conf-ranks/) for ranking data
- [Claude AI](https://claude.ai) for relevance analysis
