Download, manage, and search a BibTeX database.
Project description
# bibsearch
Bibsearch is a tool for downloading, searching, and managing BibTeX
entries. It attempts to make use of the official BibTeX entries for
various collections of proceedings, all without you ever needing to
open a web browser and fumble around on Google Scholar or other tools.
Its key features are:
- Automatic downloading of official citations from predefined collections (`bibsearch add bib://`) or arbitrary URI's (`bibsearch add`)
- Keyword-based search against a private collection of entries (`bibsearch search`)
- Searching and downloading from the arXiv (`bibsearch arxiv`)
- Automatic generation of a BibTeX file from LaTeX source (`bibsearch tex`)
- Keyword-based downloading and opening of PDF files (`bibsearch open`)
## Installation
The official source can be found on [GitHub](https://github.com/mjpost/bibsearch).
The easiest way to install it is via the Python package manager:
pip3 install bibsearch
### FTS5
`bibsearch` works best with SQLite with full-text search support.
This causes no performance degradation to SQLite, but is unfortunately not part of the default installation.
Depending on your setup, you might want to check one of the installation methods below:
* If you are on a Mac and have [brew](https://brew.sh/) installed, you can get this with
```
brew reinstall sqlite3 --with-fts5
```
* If you are on Arch Linux, the default installation already include FTS5 support.
* If you are on Ubuntu, you might want to use this PPA (not related to this project) https://launchpad.net/~jonathonf/+archive/ubuntu/backports.
* If you use a conda installation you can rebuild the sqlite package, eg. by using the recipe in https://github.com/conda-forge/sqlite-feedstock (unrelated to this project):
```
conda install conda-build
git clone https://github.com/conda-forge/sqlite-feedstock.git
cd sqlite-feedstock
<Edit build.sh adding --enable-fts5>
conda build recipe
conda install <created tar.bz2 package>
```
## Usage
Create your database by importing BibTeX files.
There are lots of shortcuts defined in the form of collections.
For example, there is a collection for the entire [ACL Anthology](http://aclanthology.info/).
To add papers from [NAACL 2017](http://naacl.org/2017), you can type:
bibsearch add bib://acl/naacl/2017
or to add all of NAACL:
bibsearch add bib://acl/naacl
Or even the entire anthology:
bibsearch add bib://acl
Other collections available include ICML and NIPS.
Type `bibsearch add bib://list` for a complete list.
You can also add your own files, either locally or via URL.
# Import from a URL
bibsearch add http://aclweb.org/anthology/P/P17/P17-2.bib
# Add a bibtex file from a local database
bibsearch add main.bib
Multiple arguments are permitted at once.
Duplicate keys are successfully ignored.
Now, search across all fields to find your entries:
bibsearch search brown 1993 statistical
(`find` also works)
Get the outputs in BibTeX format:
bibsearch search brown 1993 statistical -b
If there is only one match, you can also open the corresponding PDF:
bibsearch open brown 1993 statistical
`open` will work implicitly on the results of the last search, so you could also have typed:
bibsearch open
If there are multiple matches, `open` will open the top result:
bibsearch open embedding
Generate the BibTeX file based on citations found in a LaTeX source (requires that `LATEX_FILE.aux` exists):
bibsearch tex LATEX_FILE
and write it to the bibliography file specified in the LaTeX:
bibsearch tex LATEX_FILE -B
Print a summary of your database:
bibsearch print --summary
Search the arXiv:
bibsearch arxiv vaswani attention is all you need
Add the results of an arXiv search to your database:
bibsearch arxiv vaswani attention is all you need -a
Get the key to use with `\cite`:
$ bibsearch search vaswani attention
[vaswani:2017:attention] Vaswani, Ashish and Shazeer, Noam and Parmar,
Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N. and
Kaiser, Lukasz and Polosukhin, Illia "Attention Is All You Need",
ARXIV 2017
## Incorporate in a LaTeX workflow
Bibsearch is easy to incorporate in your paper writing: it will automatically generate a BibTeX file from your LaTeX paper.
To use this feature, first use bibsearch to find the papers you want to cite and add them to your private database.
Then, use the keys in the database with `\cite` commands in your paper.
Run `pdflatex` once to generate a `.aux` file, and then use `bibsearch` to generate the bibliography file.
You can use the following in your `Makefile`, for example:
pdflatex PAPER
bibsearch tex PAPER -B
bibtex PAPER
pdflatex PAPER
pdflatex PAPER
This generates whatever bib file is referenced in PAPER.tex.
## Incorporate in a `latexmk` workflow
If you are using `latexmk`, add the following to your project's `.latexmkrc`.
add_cus_dep('aux', 'bbl', 1, 'aux2bbl');
sub aux2bbl {
system( "bibsearch tex \"$_[0]\" -B; bibtex \"$_[0]\"" );
}
As above, this generates a `.bib` file with whatever entry is referenced in the `.tex` file.
Bibsearch is a tool for downloading, searching, and managing BibTeX
entries. It attempts to make use of the official BibTeX entries for
various collections of proceedings, all without you ever needing to
open a web browser and fumble around on Google Scholar or other tools.
Its key features are:
- Automatic downloading of official citations from predefined collections (`bibsearch add bib://`) or arbitrary URI's (`bibsearch add`)
- Keyword-based search against a private collection of entries (`bibsearch search`)
- Searching and downloading from the arXiv (`bibsearch arxiv`)
- Automatic generation of a BibTeX file from LaTeX source (`bibsearch tex`)
- Keyword-based downloading and opening of PDF files (`bibsearch open`)
## Installation
The official source can be found on [GitHub](https://github.com/mjpost/bibsearch).
The easiest way to install it is via the Python package manager:
pip3 install bibsearch
### FTS5
`bibsearch` works best with SQLite with full-text search support.
This causes no performance degradation to SQLite, but is unfortunately not part of the default installation.
Depending on your setup, you might want to check one of the installation methods below:
* If you are on a Mac and have [brew](https://brew.sh/) installed, you can get this with
```
brew reinstall sqlite3 --with-fts5
```
* If you are on Arch Linux, the default installation already include FTS5 support.
* If you are on Ubuntu, you might want to use this PPA (not related to this project) https://launchpad.net/~jonathonf/+archive/ubuntu/backports.
* If you use a conda installation you can rebuild the sqlite package, eg. by using the recipe in https://github.com/conda-forge/sqlite-feedstock (unrelated to this project):
```
conda install conda-build
git clone https://github.com/conda-forge/sqlite-feedstock.git
cd sqlite-feedstock
<Edit build.sh adding --enable-fts5>
conda build recipe
conda install <created tar.bz2 package>
```
## Usage
Create your database by importing BibTeX files.
There are lots of shortcuts defined in the form of collections.
For example, there is a collection for the entire [ACL Anthology](http://aclanthology.info/).
To add papers from [NAACL 2017](http://naacl.org/2017), you can type:
bibsearch add bib://acl/naacl/2017
or to add all of NAACL:
bibsearch add bib://acl/naacl
Or even the entire anthology:
bibsearch add bib://acl
Other collections available include ICML and NIPS.
Type `bibsearch add bib://list` for a complete list.
You can also add your own files, either locally or via URL.
# Import from a URL
bibsearch add http://aclweb.org/anthology/P/P17/P17-2.bib
# Add a bibtex file from a local database
bibsearch add main.bib
Multiple arguments are permitted at once.
Duplicate keys are successfully ignored.
Now, search across all fields to find your entries:
bibsearch search brown 1993 statistical
(`find` also works)
Get the outputs in BibTeX format:
bibsearch search brown 1993 statistical -b
If there is only one match, you can also open the corresponding PDF:
bibsearch open brown 1993 statistical
`open` will work implicitly on the results of the last search, so you could also have typed:
bibsearch open
If there are multiple matches, `open` will open the top result:
bibsearch open embedding
Generate the BibTeX file based on citations found in a LaTeX source (requires that `LATEX_FILE.aux` exists):
bibsearch tex LATEX_FILE
and write it to the bibliography file specified in the LaTeX:
bibsearch tex LATEX_FILE -B
Print a summary of your database:
bibsearch print --summary
Search the arXiv:
bibsearch arxiv vaswani attention is all you need
Add the results of an arXiv search to your database:
bibsearch arxiv vaswani attention is all you need -a
Get the key to use with `\cite`:
$ bibsearch search vaswani attention
[vaswani:2017:attention] Vaswani, Ashish and Shazeer, Noam and Parmar,
Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N. and
Kaiser, Lukasz and Polosukhin, Illia "Attention Is All You Need",
ARXIV 2017
## Incorporate in a LaTeX workflow
Bibsearch is easy to incorporate in your paper writing: it will automatically generate a BibTeX file from your LaTeX paper.
To use this feature, first use bibsearch to find the papers you want to cite and add them to your private database.
Then, use the keys in the database with `\cite` commands in your paper.
Run `pdflatex` once to generate a `.aux` file, and then use `bibsearch` to generate the bibliography file.
You can use the following in your `Makefile`, for example:
pdflatex PAPER
bibsearch tex PAPER -B
bibtex PAPER
pdflatex PAPER
pdflatex PAPER
This generates whatever bib file is referenced in PAPER.tex.
## Incorporate in a `latexmk` workflow
If you are using `latexmk`, add the following to your project's `.latexmkrc`.
add_cus_dep('aux', 'bbl', 1, 'aux2bbl');
sub aux2bbl {
system( "bibsearch tex \"$_[0]\" -B; bibtex \"$_[0]\"" );
}
As above, this generates a `.bib` file with whatever entry is referenced in the `.tex` file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bibsearch-0.3.14.tar.gz
(34.9 kB
view details)
File details
Details for the file bibsearch-0.3.14.tar.gz
.
File metadata
- Download URL: bibsearch-0.3.14.tar.gz
- Upload date:
- Size: 34.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dac0485e53157cd09b2120ae0371b9b1d425f4270bf556bef56114aae0d1cfdf |
|
MD5 | 8d5f0f05bdd2d89bdd704e105eac1097 |
|
BLAKE2b-256 | 34f9eb84c0ada787d229680d827c2c370e6026953a96e100f472360137d8d3f7 |