paperstack


Namepaperstack JSON
Version 1.2.7 PyPI version JSON
download
home_pagehttps://github.com/williamroque/Paperstack
SummaryA powerful, lightweight, universal bibliography management tool
upload_time2023-03-20 19:45:46
maintainer
docs_urlNone
authorWilliam Roque
requires_python
licenseGPL
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">
<img src="https://raw.githubusercontent.com/williamroque/Paperstack/main/assets/logo.svg" width="600">
</h1><br>

[![PyPI version](https://badge.fury.io/py/paperstack.svg)](https://badge.fury.io/py/paperstack) [![GitHub version](https://badge.fury.io/gh/williamroque%2FPaperstack.svg)](https://badge.fury.io/gh/williamroque%2FPaperstack)

Paperstack is a powerful, lightweight, universal bibliography management tool written in Python.

- [GitHub repository](https://github.com/williamroque/Paperstack)

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)

## Installation

Paperstack can be installed from PyPI with the following command:

```sh
python3 -m pip install paperstack
```

To build directly from source, run:

```sh
git clone https://github.com/williamroque/Paperstack.git
cd Paperstack
python3 setup.py install
```

Afterwards, run the following command to test the installation and explore CLI options.

```sh
paperstack --help
```

## Usage

### Interface

Run `paperstack` by itself to open the interactive text-based interface. There, the left panel lists the records in your library (use arrow keys to navigate) and the right panel shows record details. Below, the footer displays key map hints and other messages.

<p align="center">
<img src="https://raw.githubusercontent.com/williamroque/Paperstack/main/assets/screenshot_1.png" width="800">
</p>

There is also a command-line interface, which can be useful for batch actions and integration with other programs. For example, run the command

```sh
paperstack add article 'author: Albert Einstein; title: Die Grundlage der allgemeinen Relativitätstheorie; journal: AdP; year: 1916'
```

to add a new paper. Note the syntax for entries (`key1: value1; key2: value2`). Then run

```sh
paperstack list
```

to list all added records in the library. A slightly less trivial use case might be to scrape multiple articles at once. The following script reads a list of bibcodes from a text file and uses Paperstack to add them to your library.

```sh
for line in $(cat bibcodes.txt); do
    paperstack scrape ads "bibcode: $line" --add
done
```

Configuration for Paperstack goes in `$HOME/.paperstack.cfg`. The config file follows a standard similar to Windows `.ini` files. Sections are labeled with `[section name]` and settings are written as `key = value`. Check the documentation for the different settings you can customize. Below is an example configuration.

```ini
[paths]
data = ~/Documents/Paperstack/

[article]
id-format = author@2-title@15-year@4

[ads]
key = <YOUR-API-KEY>
timeout = 10

[arxiv]
timeout = 10

[keys]
vim-bindings = yes

[editor]
command = vim
extension = md
```

Note that to scrape ADS, a valid API key has to be specified in the config file.

Find a presentation containing a few use cases and general information [here](https://raw.githubusercontent.com/williamroque/Paperstack/main/assets/Paperstack.pdf).

### Exporting

Paperstack supports exporting to both BibTeX and a variety of citation standards. In order to maintain a small installation size, however, only the Harvard citation style is enabled by default. To add more, visit [CSL Styles | GitHub](https://github.com/citation-style-language/styles) and download the `.csl` file corresponding to your preferred style. Then, save that file to the `csl` directory within the data directory specified in your configuration.

A few common styles you can download include:

* <a href="https://raw.githubusercontent.com/citation-style-language/styles/master/apa-6th-edition.csl" download>APA 6 | GitHub</a>
* <a href="https://raw.githubusercontent.com/citation-style-language/styles/master/modern-language-association.csl" download>MLA | GitHub</a>
* <a href="https://raw.githubusercontent.com/citation-style-language/styles/master/chicago-author-date.csl" download>Chicago | GitHub</a>

## Contributing

All contributions are welcome. Reporting issues on the GitHub repository is greatly appreciated, but pull requests are preferred. In particular, help is needed to:

- Improve documentation;
- Test on different platforms;
- Add support for new databases;
- Add support for new record types (books, websites, etc.);
- Any other goals or roadmap items listed in the [Project Notes](./notes.org).

Note that contributions should follow PEP 8 as closely as possible (though not strictly enforced), docstrings should follow the [Numpy format](https://numpydoc.readthedocs.io/en/latest/format.html), and that, in general, simple, flat, and scalable code is strongly encouraged.

A special thanks to [Dr. Mosenkov](https://physics.byu.edu/department/directory/mosenkov) for conceiving and co-creating this project.

## License

This program is licensed under the GNU General Public License.
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/williamroque/Paperstack",
    "name": "paperstack",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "William Roque",
    "author_email": "william.aroque@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/2e/23/891ff17f68b1eea216e1410e895f01c65c7b004baba0ee5e750abe7c522a/paperstack-1.2.7.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">\n<img src=\"https://raw.githubusercontent.com/williamroque/Paperstack/main/assets/logo.svg\" width=\"600\">\n</h1><br>\n\n[![PyPI version](https://badge.fury.io/py/paperstack.svg)](https://badge.fury.io/py/paperstack) [![GitHub version](https://badge.fury.io/gh/williamroque%2FPaperstack.svg)](https://badge.fury.io/gh/williamroque%2FPaperstack)\n\nPaperstack is a powerful, lightweight, universal bibliography management tool written in Python.\n\n- [GitHub repository](https://github.com/williamroque/Paperstack)\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\nPaperstack can be installed from PyPI with the following command:\n\n```sh\npython3 -m pip install paperstack\n```\n\nTo build directly from source, run:\n\n```sh\ngit clone https://github.com/williamroque/Paperstack.git\ncd Paperstack\npython3 setup.py install\n```\n\nAfterwards, run the following command to test the installation and explore CLI options.\n\n```sh\npaperstack --help\n```\n\n## Usage\n\n### Interface\n\nRun `paperstack` by itself to open the interactive text-based interface. There, the left panel lists the records in your library (use arrow keys to navigate) and the right panel shows record details. Below, the footer displays key map hints and other messages.\n\n<p align=\"center\">\n<img src=\"https://raw.githubusercontent.com/williamroque/Paperstack/main/assets/screenshot_1.png\" width=\"800\">\n</p>\n\nThere is also a command-line interface, which can be useful for batch actions and integration with other programs. For example, run the command\n\n```sh\npaperstack add article 'author: Albert Einstein; title: Die Grundlage der allgemeinen Relativit\u00e4tstheorie; journal: AdP; year: 1916'\n```\n\nto add a new paper. Note the syntax for entries (`key1: value1; key2: value2`). Then run\n\n```sh\npaperstack list\n```\n\nto list all added records in the library. A slightly less trivial use case might be to scrape multiple articles at once. The following script reads a list of bibcodes from a text file and uses Paperstack to add them to your library.\n\n```sh\nfor line in $(cat bibcodes.txt); do\n    paperstack scrape ads \"bibcode: $line\" --add\ndone\n```\n\nConfiguration for Paperstack goes in `$HOME/.paperstack.cfg`. The config file follows a standard similar to Windows `.ini` files. Sections are labeled with `[section name]` and settings are written as `key = value`. Check the documentation for the different settings you can customize. Below is an example configuration.\n\n```ini\n[paths]\ndata = ~/Documents/Paperstack/\n\n[article]\nid-format = author@2-title@15-year@4\n\n[ads]\nkey = <YOUR-API-KEY>\ntimeout = 10\n\n[arxiv]\ntimeout = 10\n\n[keys]\nvim-bindings = yes\n\n[editor]\ncommand = vim\nextension = md\n```\n\nNote that to scrape ADS, a valid API key has to be specified in the config file.\n\nFind a presentation containing a few use cases and general information [here](https://raw.githubusercontent.com/williamroque/Paperstack/main/assets/Paperstack.pdf).\n\n### Exporting\n\nPaperstack supports exporting to both BibTeX and a variety of citation standards. In order to maintain a small installation size, however, only the Harvard citation style is enabled by default. To add more, visit [CSL Styles | GitHub](https://github.com/citation-style-language/styles) and download the `.csl` file corresponding to your preferred style. Then, save that file to the `csl` directory within the data directory specified in your configuration.\n\nA few common styles you can download include:\n\n* <a href=\"https://raw.githubusercontent.com/citation-style-language/styles/master/apa-6th-edition.csl\" download>APA 6 | GitHub</a>\n* <a href=\"https://raw.githubusercontent.com/citation-style-language/styles/master/modern-language-association.csl\" download>MLA | GitHub</a>\n* <a href=\"https://raw.githubusercontent.com/citation-style-language/styles/master/chicago-author-date.csl\" download>Chicago | GitHub</a>\n\n## Contributing\n\nAll contributions are welcome. Reporting issues on the GitHub repository is greatly appreciated, but pull requests are preferred. In particular, help is needed to:\n\n- Improve documentation;\n- Test on different platforms;\n- Add support for new databases;\n- Add support for new record types (books, websites, etc.);\n- Any other goals or roadmap items listed in the [Project Notes](./notes.org).\n\nNote that contributions should follow PEP 8 as closely as possible (though not strictly enforced), docstrings should follow the [Numpy format](https://numpydoc.readthedocs.io/en/latest/format.html), and that, in general, simple, flat, and scalable code is strongly encouraged.\n\nA special thanks to [Dr. Mosenkov](https://physics.byu.edu/department/directory/mosenkov) for conceiving and co-creating this project.\n\n## License\n\nThis program is licensed under the GNU General Public License.",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "A powerful, lightweight, universal bibliography management tool",
    "version": "1.2.7",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3028d7b38c12361c35fe780ebdbbbd1652b6040b0acb76efd8f824f7d0ab4773",
                "md5": "ae794fd9368545131e5b231b0142d42d",
                "sha256": "b626669c64d530ebdeea1a6196facce6b43b805c49fcce032c0873d27d800f8d"
            },
            "downloads": -1,
            "filename": "paperstack-1.2.7-py3.9.egg",
            "has_sig": false,
            "md5_digest": "ae794fd9368545131e5b231b0142d42d",
            "packagetype": "bdist_egg",
            "python_version": "1.2.7",
            "requires_python": null,
            "size": 94214,
            "upload_time": "2023-03-20T19:45:45",
            "upload_time_iso_8601": "2023-03-20T19:45:45.039337Z",
            "url": "https://files.pythonhosted.org/packages/30/28/d7b38c12361c35fe780ebdbbbd1652b6040b0acb76efd8f824f7d0ab4773/paperstack-1.2.7-py3.9.egg",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e23891ff17f68b1eea216e1410e895f01c65c7b004baba0ee5e750abe7c522a",
                "md5": "674690b88421315c32173d020847b131",
                "sha256": "e74be9717b0a38dba82ba41ea0fcb75bc5565e72f7cd178ddd4e7cbbcc00b531"
            },
            "downloads": -1,
            "filename": "paperstack-1.2.7.tar.gz",
            "has_sig": false,
            "md5_digest": "674690b88421315c32173d020847b131",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 42643,
            "upload_time": "2023-03-20T19:45:46",
            "upload_time_iso_8601": "2023-03-20T19:45:46.939856Z",
            "url": "https://files.pythonhosted.org/packages/2e/23/891ff17f68b1eea216e1410e895f01c65c7b004baba0ee5e750abe7c522a/paperstack-1.2.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-20 19:45:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "williamroque",
    "github_project": "Paperstack",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "paperstack"
}
        
Elapsed time: 0.04575s