paper-per-year


Namepaper-per-year JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryGenerate publication per year plots for academic authors
upload_time2025-02-18 13:28:05
maintainerNone
docs_urlNone
authorNone
requires_python>=3.13
licenseCC-BY-SA-4.0
keywords publications scholar visualization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Paper Per Year

A command-line tool to visualize an academic author's publications per year using data from Google Scholar.

## Note
Numbers are not everything and number of published papers is certainly no metric for academic success.

## Installation

You can run this using uvx without installation.

```bash
uvx paper-per-year [OPTIONS] AUTHOR_NAME
```

Alternatively, you can install it using pip.

```bash
[uv] pip install paper-per-year
```

## Usage

```bash
paper-per-year [OPTIONS] AUTHOR_NAME
```

For example:
```bash
# Save plot in current directory with default style
paper-per-year "Adam Dziedzic"

# Save plot in a specific directory with custom style
paper-per-year "Adam Dziedzic" -o ~/Documents/plots --style whitegrid --context poster
```


![Example plot for Adam Dziedzic](Adam_Dziedzic.pdf)



The command will:
1. Search for authors matching the provided name
2. Display a list of found authors with their affiliations
3. Prompt you to select the correct author
4. Generate a beautiful PDF plot showing the number of publications per year
5. Save the plot as `Author_Name.pdf` in the specified directory
6. Output year-count data to stdout for potential piping

### Options

- `-o, --output-dir`: Directory to save the output PDF (default: current directory)
- `--style`: Plot style (choices: darkgrid, whitegrid, dark, white, ticks; default: darkgrid)
- `--context`: Plot scaling context (choices: paper, notebook, talk, poster; default: talk)

### Plot Features

- Beautiful Seaborn-styled visualizations
- Publication counts displayed on top of each bar
- Automatically adjusted layout and spacing
- High-resolution output (300 DPI)
- Multiple style options for different use cases

### Output Format

The command outputs the year-count data to stdout in a tab-separated format:
```
YEAR    COUNT
2020    5
2021    3
2022    7
...
```

This allows for easy piping to other commands, for example:
```bash
# Get total publication count
paper-per-year "Adam Dziedzic" | awk '{sum += $2} END {print sum}'

# Find the most productive year
paper-per-year "Adam Dziedzic" | sort -k2 -nr | head -n1
```

## Requirements

- Python 3.13 or higher
- scholarly
- numpy
- matplotlib
- seaborn
- click

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "paper-per-year",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "publications, scholar, visualization",
    "author": null,
    "author_email": "Dariush Wahdany <dariushwahdany@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/5c/f7/5c6dacba9c791e2a2c5f957d58db38990cd11b9a88f9bce1cefdf9c32dd7/paper_per_year-0.1.4.tar.gz",
    "platform": null,
    "description": "# Paper Per Year\n\nA command-line tool to visualize an academic author's publications per year using data from Google Scholar.\n\n## Note\nNumbers are not everything and number of published papers is certainly no metric for academic success.\n\n## Installation\n\nYou can run this using uvx without installation.\n\n```bash\nuvx paper-per-year [OPTIONS] AUTHOR_NAME\n```\n\nAlternatively, you can install it using pip.\n\n```bash\n[uv] pip install paper-per-year\n```\n\n## Usage\n\n```bash\npaper-per-year [OPTIONS] AUTHOR_NAME\n```\n\nFor example:\n```bash\n# Save plot in current directory with default style\npaper-per-year \"Adam Dziedzic\"\n\n# Save plot in a specific directory with custom style\npaper-per-year \"Adam Dziedzic\" -o ~/Documents/plots --style whitegrid --context poster\n```\n\n\n![Example plot for Adam Dziedzic](Adam_Dziedzic.pdf)\n\n\n\nThe command will:\n1. Search for authors matching the provided name\n2. Display a list of found authors with their affiliations\n3. Prompt you to select the correct author\n4. Generate a beautiful PDF plot showing the number of publications per year\n5. Save the plot as `Author_Name.pdf` in the specified directory\n6. Output year-count data to stdout for potential piping\n\n### Options\n\n- `-o, --output-dir`: Directory to save the output PDF (default: current directory)\n- `--style`: Plot style (choices: darkgrid, whitegrid, dark, white, ticks; default: darkgrid)\n- `--context`: Plot scaling context (choices: paper, notebook, talk, poster; default: talk)\n\n### Plot Features\n\n- Beautiful Seaborn-styled visualizations\n- Publication counts displayed on top of each bar\n- Automatically adjusted layout and spacing\n- High-resolution output (300 DPI)\n- Multiple style options for different use cases\n\n### Output Format\n\nThe command outputs the year-count data to stdout in a tab-separated format:\n```\nYEAR    COUNT\n2020    5\n2021    3\n2022    7\n...\n```\n\nThis allows for easy piping to other commands, for example:\n```bash\n# Get total publication count\npaper-per-year \"Adam Dziedzic\" | awk '{sum += $2} END {print sum}'\n\n# Find the most productive year\npaper-per-year \"Adam Dziedzic\" | sort -k2 -nr | head -n1\n```\n\n## Requirements\n\n- Python 3.13 or higher\n- scholarly\n- numpy\n- matplotlib\n- seaborn\n- click\n",
    "bugtrack_url": null,
    "license": "CC-BY-SA-4.0",
    "summary": "Generate publication per year plots for academic authors",
    "version": "0.1.4",
    "project_urls": {
        "Homepage": "https://github.com/dwahdany/paper-per-year",
        "Repository": "https://github.com/dwahdany/paper-per-year.git"
    },
    "split_keywords": [
        "publications",
        " scholar",
        " visualization"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "959e3395e07b3575966a3c4dd1eaea8fb165d39fd09552eb1b0b128cb9a0ab4b",
                "md5": "da3a5f4e1814f006d8c05b16b8725dbd",
                "sha256": "5ede2c116ad6362532ea6d1c47080a15e709221878406ec11c57a586a21e1251"
            },
            "downloads": -1,
            "filename": "paper_per_year-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "da3a5f4e1814f006d8c05b16b8725dbd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 5594,
            "upload_time": "2025-02-18T13:28:02",
            "upload_time_iso_8601": "2025-02-18T13:28:02.927804Z",
            "url": "https://files.pythonhosted.org/packages/95/9e/3395e07b3575966a3c4dd1eaea8fb165d39fd09552eb1b0b128cb9a0ab4b/paper_per_year-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5cf75c6dacba9c791e2a2c5f957d58db38990cd11b9a88f9bce1cefdf9c32dd7",
                "md5": "4f58f261b10adb1515c2de7753802d20",
                "sha256": "d966c43050d56eaa9034e547b7a594f0b865c4fe965b4337237483777ae95ede"
            },
            "downloads": -1,
            "filename": "paper_per_year-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "4f58f261b10adb1515c2de7753802d20",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 49321,
            "upload_time": "2025-02-18T13:28:05",
            "upload_time_iso_8601": "2025-02-18T13:28:05.698107Z",
            "url": "https://files.pythonhosted.org/packages/5c/f7/5c6dacba9c791e2a2c5f957d58db38990cd11b9a88f9bce1cefdf9c32dd7/paper_per_year-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-18 13:28:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dwahdany",
    "github_project": "paper-per-year",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "paper-per-year"
}
        
Elapsed time: 0.64060s