ppfind


Nameppfind JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/Disapole-Xiao/ppfind
SummaryA command-line tool to find paper citations, ArXiv links, and GitHub repository links easily.
upload_time2025-09-13 15:56:01
maintainerNone
docs_urlNone
authorDisapole
requires_python>=3.6
licenseMIT
keywords papers citations arxiv github search cli api academic
VCS
bugtrack_url
requirements pandas requests arxiv google-search-results tqdm openpyxl
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ppfind - paper citations & links finder

A command-line tool to find paper citations, ArXiv links, and GitHub repository links easily.

[![PyPI version](https://img.shields.io/pypi/v/ppfind)](https://pypi.org/project/ppfind/)

## Features

1. **Citation Fetching**: Get paper citations through Google Scholar API (SerpAPI)
2. **ArXiv Links**: Search and get related paper ArXiv links through ArXiv API  
3. **GitHub Links**: Search and get related code repository links through GitHub REST API
4. **Batch Processing**: Supports CSV & XLSX file batch processing and customized column name
5. **Interactive Mode**: Supports interactive continuous querying

## Installation

### From PyPI (Recommended)

```bash
pip install ppfind
```

### From Source

```bash
git clone https://github.com/Disapole-Xiao/ppfind.git
cd ppfind
pip install -e .
```

## API key

Get a free or paid API Key at [SerpAPI](https://serpapi.com/) for Google Scholar API use. The free plan offers 250 search per month.

## Usage

Type `ppfind --help` or `ppfind <cmd> --help` to see all available options.

### 1. Interactive Mode

```bash
ppfind i
```

### 2. Direct Query

```bash
# Query single paper
ppfind q "Attention Is All You Need"

# Query multiple papers
ppfind q "Attention Is All You Need" "ResNet: Deep Residual Learning for Image Recognition"
```
Output example:
```
### Attention Is All You Need
  - Citations: 193680
  - ArXiv Link: http://arxiv.org/abs/1706.03762v7
  - GitHub Link: https://github.com/jadore801120/attention-is-all-you-need-pytorch
```

**Note**: You may need to wait for a few seconds to get results.

### 3. File Processing

Currenly, CSV and XLSX files are supported.

By default, `ppfind` gets paper titles at `title` column and outputs results to `citations`, `arxiv_link` and `github_link`. Modify this by adding options or in config.

```bash
# Basic usage (output file will be {original_name}_new.csv)
ppfind f papers.csv

# Specify column names
ppfind f papers.xlsx --title-col "Paper Title" --citation-col "Citation Count"
```

### 4. Configuration

Set default options so that you don't have to input options every time.

```bash
# Set options
ppfind config --api-key YOUR_SERP_API_KEY --title-col "Paper Title" --citation-col "Citations" --arxiv-col "Arxiv Link" --github-col "Github Link"

# Show current configuration
ppfind config --show

# Reset to defaults
ppfind config --reset
```

## Notes

- To avoid incorrect matches, please search using the full paper title.
- This tool is intended for reference only. Please confirm the accuracy of the results on your own.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Disapole-Xiao/ppfind",
    "name": "ppfind",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "papers, citations, arxiv, github, search, cli, api, academic",
    "author": "Disapole",
    "author_email": "disapolexiao@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/46/a7/4b582f7cb5e3f031d7d912d9c685ad96fd0fc285239c1713e5fea0e1690e/ppfind-1.1.0.tar.gz",
    "platform": null,
    "description": "# ppfind - paper citations & links finder\r\n\r\nA command-line tool to find paper citations, ArXiv links, and GitHub repository links easily.\r\n\r\n[![PyPI version](https://img.shields.io/pypi/v/ppfind)](https://pypi.org/project/ppfind/)\r\n\r\n## Features\r\n\r\n1. **Citation Fetching**: Get paper citations through Google Scholar API (SerpAPI)\r\n2. **ArXiv Links**: Search and get related paper ArXiv links through ArXiv API  \r\n3. **GitHub Links**: Search and get related code repository links through GitHub REST API\r\n4. **Batch Processing**: Supports CSV & XLSX file batch processing and customized column name\r\n5. **Interactive Mode**: Supports interactive continuous querying\r\n\r\n## Installation\r\n\r\n### From PyPI (Recommended)\r\n\r\n```bash\r\npip install ppfind\r\n```\r\n\r\n### From Source\r\n\r\n```bash\r\ngit clone https://github.com/Disapole-Xiao/ppfind.git\r\ncd ppfind\r\npip install -e .\r\n```\r\n\r\n## API key\r\n\r\nGet a free or paid API Key at [SerpAPI](https://serpapi.com/) for Google Scholar API use. The free plan offers 250 search per month.\r\n\r\n## Usage\r\n\r\nType `ppfind --help` or `ppfind <cmd> --help` to see all available options.\r\n\r\n### 1. Interactive Mode\r\n\r\n```bash\r\nppfind i\r\n```\r\n\r\n### 2. Direct Query\r\n\r\n```bash\r\n# Query single paper\r\nppfind q \"Attention Is All You Need\"\r\n\r\n# Query multiple papers\r\nppfind q \"Attention Is All You Need\" \"ResNet: Deep Residual Learning for Image Recognition\"\r\n```\r\nOutput example:\r\n```\r\n### Attention Is All You Need\r\n  - Citations: 193680\r\n  - ArXiv Link: http://arxiv.org/abs/1706.03762v7\r\n  - GitHub Link: https://github.com/jadore801120/attention-is-all-you-need-pytorch\r\n```\r\n\r\n**Note**: You may need to wait for a few seconds to get results.\r\n\r\n### 3. File Processing\r\n\r\nCurrenly, CSV and XLSX files are supported.\r\n\r\nBy default, `ppfind` gets paper titles at `title` column and outputs results to `citations`, `arxiv_link` and `github_link`. Modify this by adding options or in config.\r\n\r\n```bash\r\n# Basic usage (output file will be {original_name}_new.csv)\r\nppfind f papers.csv\r\n\r\n# Specify column names\r\nppfind f papers.xlsx --title-col \"Paper Title\" --citation-col \"Citation Count\"\r\n```\r\n\r\n### 4. Configuration\r\n\r\nSet default options so that you don't have to input options every time.\r\n\r\n```bash\r\n# Set options\r\nppfind config --api-key YOUR_SERP_API_KEY --title-col \"Paper Title\" --citation-col \"Citations\" --arxiv-col \"Arxiv Link\" --github-col \"Github Link\"\r\n\r\n# Show current configuration\r\nppfind config --show\r\n\r\n# Reset to defaults\r\nppfind config --reset\r\n```\r\n\r\n## Notes\r\n\r\n- To avoid incorrect matches, please search using the full paper title.\r\n- This tool is intended for reference only. Please confirm the accuracy of the results on your own.\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A command-line tool to find paper citations, ArXiv links, and GitHub repository links easily.",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "https://github.com/Disapole-Xiao/ppfind"
    },
    "split_keywords": [
        "papers",
        " citations",
        " arxiv",
        " github",
        " search",
        " cli",
        " api",
        " academic"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ca27112fa3a4ed0dbad2223b3e89615bf6d6716cf3e4f8a8c3e533385f06b203",
                "md5": "5806cb3006f87afda2fc519e01895ffd",
                "sha256": "b5a76bb39b917f9dbf47fee370dc32dd0e984847dc0bd7f9142291ef42da4f14"
            },
            "downloads": -1,
            "filename": "ppfind-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5806cb3006f87afda2fc519e01895ffd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 9490,
            "upload_time": "2025-09-13T15:56:00",
            "upload_time_iso_8601": "2025-09-13T15:56:00.418683Z",
            "url": "https://files.pythonhosted.org/packages/ca/27/112fa3a4ed0dbad2223b3e89615bf6d6716cf3e4f8a8c3e533385f06b203/ppfind-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "46a74b582f7cb5e3f031d7d912d9c685ad96fd0fc285239c1713e5fea0e1690e",
                "md5": "51ffbefb95f2a5b89154ef4ecd307b40",
                "sha256": "1480d7fe6d67f5d32e3b002385cd4c28ca4182438882d9fbad95def6601eda60"
            },
            "downloads": -1,
            "filename": "ppfind-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "51ffbefb95f2a5b89154ef4ecd307b40",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 9940,
            "upload_time": "2025-09-13T15:56:01",
            "upload_time_iso_8601": "2025-09-13T15:56:01.909562Z",
            "url": "https://files.pythonhosted.org/packages/46/a7/4b582f7cb5e3f031d7d912d9c685ad96fd0fc285239c1713e5fea0e1690e/ppfind-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-13 15:56:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Disapole-Xiao",
    "github_project": "ppfind",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "arxiv",
            "specs": []
        },
        {
            "name": "google-search-results",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "openpyxl",
            "specs": []
        }
    ],
    "lcname": "ppfind"
}
        
Elapsed time: 2.09173s