Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/musoke/inspirer

For fetching BibTeX entries from INSPIRE and ADS.
https://github.com/musoke/inspirer

ads biblatex bibtex latex

Last synced: 2 days ago
JSON representation

For fetching BibTeX entries from INSPIRE and ADS.

Awesome Lists containing this project

README

        

# Inspirer
[![crates.io](https://img.shields.io/crates/v/inspirer.svg)](https://crates.io/crates/inspirer)
[![Docs Badge](https://docs.rs/inspirer/badge.svg)](https://docs.rs/inspirer)
[![crates.io](https://img.shields.io/crates/l/inspirer.svg)](https://crates.io/crates/inspirer)

[![Travis build status](https://img.shields.io/travis/musoke/inspirer.svg)](https://travis-ci.org/musoke/inspirer/)
[![AppVeyor build status](https://img.shields.io/appveyor/ci/musoke/inspirer.svg)](https://ci.appveyor.com/project/musoke/inspirer)
[![Gitlab build status](https://gitlab.com/musoke/inspirer/badges/master/build.svg)](https://gitlab.com/musoke/inspirer/pipelines)

For fetching BibTeX entries from [INSPIRE](https://inspirehep.net/) and
[ADS](http://adsabs.harvard.edu/abstract_service.html).

This currently a rust clone of some features from
[inspiretools](https://github.com/DavidMStraub/inspiretools), with the added
ability to fetch BibTeX entries from
[ADS](http://adsabs.harvard.edu/abstract_service.html).

## Installation

### snap

inspirer is available as a [snap](https://snapcraft.io/).
This may be the easiest way to install inspirer and keep it updated.

Ubuntu 16.10+:
```
apt install snapd
snap install inspirer
```

Then you can run the binaries:
```
inspirer.aux2bib file.aux
inspirer.blg2bib file.blg
```

For convenience, you may wish to create shorter aliases.
For example,
```
snap alias inspirer.aux2bib aux2bib.
```
allows one to simply run `aux2bib` instead of `inspirer.aux2bib`.

The snap should be updated daily by automatic builds [on
Launchpad](https://code.launchpad.net/~musoke/+snap/inspirer).
Enable the `edge` channel to get the latest, possibly less tested builds:
```
snap refresh inspirer --edge
```

### From pre-compiled binaries

Binaries will be available to download from the [GitHub release
page](https://github.com/musoke/inspirer/releases).
This would require manual updating.

### From source

First, [install rust](https://www.rust-lang.org/en-US/install.html).

To install from [crates.io](https://crates.io):
```
cargo install inspirer
```

To install the latest version from git:
```
cargo install --git https://github.com/musoke/inspirer
cargo install --git https://gitlab.com/musoke/inspirer
```

I haven't really tested with Windows, but do have minimal tests on
[Appveyor](https://ci.appveyor.com/project/musoke/inspirer) which seem to pass
sometimes.
[![AppVeyor build status](https://img.shields.io/appveyor/ci/musoke/inspirer.svg)](https://ci.appveyor.com/project/musoke/inspirer)

## Usage

To read from file `test_bibtex.aux` (usually corresponding to a LaTeX file
`test_bibtex.tex`) and write to `stdout`:
```
aux2bib test_bibtex.aux
```
Either of these will append the fetched BibTeX entries to a file:
```
aux2bib test_bibtex.aux bibliography.bib
aux2bib test_bibtex.aux >> bibliography.bib
```
This will check what references appear in `test_bibtex.tex`, check if they look
like the style used by INSPIRE or ADS, and if so, fetch the corresponding
BibTeX records.

`blg2bib` works analogously but takes a BibTeX or BibLaTeX log as input.
This allows retrieval of only entries which are not currently in the database,
which may be significantly faster if you have a lot of references.
```
blg2bib test_bibtex.blg bibliography.bib
```

There are some sample input files in `example_files`. If you have cargo & rustc
installed you can test on them like so:
```
cargo run --bin aux2bib example_files/test_bitex.aux
cargo run --bin blg2bib example_files/test_bitex.blg
cargo run --bin blg2bib example_files/test_biber.blg
```

## Things that are stupid

- not yet parallelized
- overly verbose logging
- 7 MB binaries
- haven't tried fuzzing

## Licence

Apache Licence 2.0