Skip to main content

A powerful, lightweight, universal bibliography management tool

Project description


PyPI version GitHub version

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

Table of Contents

Installation

Paperstack can be installed from PyPI with the following command:

python3 -m pip install paperstack

To build directly from source, run:

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.

paperstack --help

Usage

The program can be used both through the CLI and an interactive text-based interface. Try running

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

paperstack list

to list all added records in the library. To open the interactive interface, run paperstack by itself.

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.

[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 = nvim

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

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.);
  • Add export types (HTML, MLA, APA, etc.);
  • Any other goals or roadmap items listed in the Project Notes.

Note that contributions should follow PEP 8 as closely as possible (though not strictly enforced), docstrings should follow the Numpy format, and that, in general, simple, flat, and scalable code is strongly encouraged.

A special thanks to Dr. Mosenkov for conceiving and co-creating this project.

License

This program is licensed under the GNU General Public License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paperstack-1.1.0.tar.gz (35.3 kB view hashes)

Uploaded Source

Built Distribution

paperstack-1.1.0-py3.9.egg (65.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page