Xapers - personal journal article management system

Xapers - personal journal article management system

Xapers is a personal document indexing system, geared towards academic journal articles. Think of it as your own personal document search engine, or a local cache of online libraries. It provides fast search of document text and bibliographic data and simple document and bibtex retrieval.

Document files (in PDF format) and source identifiers (e.g. DOI) are parsed and indexed into a Xapian search engine [0]. Document text is extracted from the PDF and fully indexed. Bibliographic information downloaded from online libraries is indexed as prefixed search terms. Existing bibtex databases can be easily imported as well, including import of pdf files specified in Jabref/Mendeley format. Documents can be arbitrarily tagged. Original document files are easily retrievable from a simple curses search UI. The command line interface allows for exporting bibtex [1] from arbitrary searches, allowing seamless integration into LaTeX work flows.

Xapers provides source modules for some common online resources:

Contributions of additional source interface modules is highly encouraged. See the SOURCES file, included with the xapers source, for info on creating new sources.

Xapers is heavily inspired by the notmuch mail indexing system [2].

[0] http://www.xapian.org/
[1] http://www.bibtex.org/
[2] http://notmuchmail.org/

Latest release: 0.6 (2015-01-10)

Latest curses UI screenshot:
''

Contact

Xapers was written by:

    Jameson Graef Rollins <jrollins@finestructure.net>

Xapers has a mailing list:

    xapers@lists.mayfirst.org
    https://lists.mayfirst.org/mailman/listinfo/xapers

We also hang out on IRC:

    channel: #xapers
    server:  irc.freenode.net

Please submit all bug reports to the Debian bug tracking system (BTS):

    https://bugs.debian.org/xapers
    https://www.debian.org/Bugs/Reporting

Getting Xapers

Source

Clone the repo:

    $ git clone git://finestructure.net/xapers
    $ cd xapers

Dependencies :

Recommends (for curses UI) :

On Debian:

    $ sudo apt-get install python-xapian poppler-utils python-pycurl pybtex python-urwid xdg-utils xclip

Run the tests:

    $ make test

Debian

Xapers is a part of Debian:

    $ apt install xapers

Debian/Ubuntu snapshot packages can be easily made from the git source. You can build the package from any branch but it requires an up-to-date local branch of origin/debian, e.g.:

    $ git branch debian origin/debian
Then
    $ sudo apt-get install build-essential devscripts pkg-config python-all-dev python-setuptools debhelper dpkg-dev fakeroot
    $ make debian-snapshot
    $ sudo dpkg -i build/xapers_0.6_amd64.deb

Using Xapers

See the included xapers(1) man page for detailed usage and information on source modules and searching.

Command line interface

The main interface to Xapers is the xapers command line utility. From this interface you can import documents, search, tag, etc.

The "add" command allows importing or updating single documents. The "import" command allows importing an entire bibtex databases (.bib file). If the bibtex entries include "file" fields (ala. Mendeley or Jabref), then those files are retrieved, indexed, and imported as well.

Curses interface

The curses interface ("xapers show ...") provides a simple way to display search results and retrieve files. Documents matching searches are displayed with their bibliographic information. Document tags can be manipulated, files and bibtex can be viewed, and source URLs can be opened in a browser.

xapers-adder

xapers-adder is a simple script that helps the adding of individual documents to your Xapers database. It can be used e.g. as a PDF handler in your favorite browser. It displays the PDF then presents the user with the option to import the document into Xapers. The user is prompted for any sources to retrieve and any initial tags to add. If the source is known, bibtex is retrieved and indexed. The resulting xapers entry for the document is displayed.

Development of more clever import methods is highly encouraged.

Python library

Xapers is a python library under the hood:

    >>> import xapers
    >>> db = xapers.Database('~/.xapers/docs')
    >>> docs = db.search('tag:new')
    >>> for doc in docs:
            doc.add_tags(['foo'])
            ...
    >>> 

Development of new interfaces to the underlying library is highly encouraged.

Page last updated: Fri Apr 3 14:08:23 EDT 2015

Icon  Name                    Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] COPYING 2015-04-03 14:05 651 [   ] COPYING-GPL-3 2015-04-03 14:05 34K [   ] Makefile 2015-04-03 14:05 1.1K [   ] NEWS 2015-04-03 14:05 1.0K [   ] README 2015-04-03 14:05 5.0K [TXT] README.html 2015-04-03 14:08 7.0K [TXT] SOURCES.txt 2015-04-03 14:05 3.1K [   ] TODO 2015-04-03 14:05 1.4K [DIR] bin/ 2015-04-03 14:05 - [DIR] lib/ 2015-04-03 14:05 - [DIR] man/ 2015-04-03 14:05 - [DIR] releases/ 2015-04-03 14:05 - [IMG] screenshot.png 2015-04-03 14:05 26K [TXT] setup.py 2015-04-03 14:05 564 [DIR] test/ 2015-04-03 14:05 - [   ] update 2015-04-03 14:08 1.6K [TXT] xapers.1.html 2015-04-03 14:08 13K
Apache/2.4.25 (Debian) Server at finestructure.net Port 443