Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/papis/papis-zotero
Zotero compatibility layer for papis
https://github.com/papis/papis-zotero
bibtex crossref papers papis publications scihub zotero
Last synced: about 2 months ago
JSON representation
Zotero compatibility layer for papis
- Host: GitHub
- URL: https://github.com/papis/papis-zotero
- Owner: papis
- License: gpl-3.0
- Created: 2018-09-01T00:51:59.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-05-24T04:56:19.000Z (7 months ago)
- Last Synced: 2024-07-14T11:24:55.853Z (5 months ago)
- Topics: bibtex, crossref, papers, papis, publications, scihub, zotero
- Language: Python
- Homepage:
- Size: 1.79 MB
- Stars: 65
- Watchers: 8
- Forks: 15
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- stars - papis/papis-zotero
README
|pypi| |ci|
Zotero compatibility for Papis
==============================Installation
------------Pip
^^^To install the latest release from PyPI
.. code:: bash
python -m pip install papis-zotero
To install the latest development version
.. code:: bash
python -m pip install papis-zotero@https://github.com/papis/papis-zotero.git#egg=papis-zotero
Nix
^^^For Nix and NixOS users, a Nix flake is included in this repository and can be
used to install the package. There are many ways of doing so, for instance like so:.. code:: nix
{
pkgs,
inputs,
...
}: {
home.packages = with pkgs; [
(
python3.withPackages
(
ps: [
inputs.papis.packages.${system}.default
inputs.papis-zotero.packages.${system}.default
# you can add other packages you might want to make available for papis
# ps.jinja2
]
)
)
# Here you can list other packages, such as
# typst
# hayagriva
# zotero_7
];
}Arch
^^^^Arch users can use the AUR to install `the package
`__.Importing from Zotero SQLite (preferred)
----------------------------------------Zotero also maintains a database of all its files and collections under a
``zotero.sqlite`` file. You can check where this file is located by going to
``Edit > Preferences > Advanced > Data Directory Location`` (may vary depending
on the Zotero version). The Zotero data directory should contain the ``zotero.sqlite``
file and a ``storage`` directory with the files for each document.The SQLite database maintained by Zotero can be imported directly (without
using a BibTeX export) by ``papis-zotero``. This can be done with:.. code:: bash
papis zotero import --from-sql-folder
Here, ``ZOTERO_DATA_DIRECTORY`` is the folder containing the ``zotero.sqlite``
file. By default, ``papis-zotero`` will add the imported documents to your
current library directory, but it can be customized using the
``--outfolder`` argument.Importing from BibTeX (alternative)
-----------------------------------Zotero can export different variants of BibTeX or BibLaTeX files
(from ``Files > Export Library``). You could import the resulting ``.bib`` file
directly with Papis (with the ``papis bibtex`` command), but ``papis-zotero``
provides a specialised command. This command has better support for special Zotero
fields. To import a given exported library run:.. code:: bash
papis zotero import --from-bibtex library.bib
BibTeX files exported by Zotero can include attached files as shown in the below
example:.. code:: bibtex
@article{Einstein1905Photon,
author = { A. Einstein },
doi = { 10.1002/andp.19053220607 },
journal = { Ann. Phys. },
pages = { 132--148 },
title = { Über einen die Erzeugung und Verwandlung des Lichtes
betreffenden heuristischen Gesichtspunkt },
file = { Full Text:path/to/some/relative/file.pdf },
volume = { 322 },
year = { 1905 },
}Given this, ``papis-zotero`` will interpret the path of the ``file`` entry
as a relative path to the ``library.bib`` passed to the import command using
``--from-bibtex``. The files are skipped if they do not exist at the expected
location.By default, ``papis-zotero`` will add the documents to your current library.
When initially importing a big library, it is recommended to always import it
into a scratch folder, so that you can verify the import. This can be easily done
using:.. code:: bash
papis zotero import --from-bibtex library.bib --outfolder some/folder/lib
When you are ready you can move this folder to a final Papis library.
Using Zotero connectors
-----------------------This plugin can also connect to a Zotero connector browser plugin. First, such
a plugin should be installed from the
`Zotero website `__. Then, make sure that
Zotero itself is not running (and connected to the connector) and run:.. code:: bash
papis zotero serve
Papis now starts listening to your browser for incoming data. Whenever you click the
Zotero button to add a paper, ``papis-zotero`` will add this paper to the Papis
library instead.Development
-----------This project uses ``pyproject.toml`` and ``hatchling`` for its build system.
To develop the code, it is recommended to start up a
`virtual environment `__ and
install the project in editable mode using, e.g.::python -m pip install -e '.[develop]'
After installation, always check that the command is correctly recognized, e.g.
by looking at the help output.. code:: bash
papis zotero --help
If you use the Nix flake, you can also use the included ``devShell`` with
``nix develop``... |pypi| image:: https://badge.fury.io/py/papis-zotero.svg
:target: https://badge.fury.io/py/papis-zotero
.. |ci| image:: https://github.com/papis/papis-zotero/workflows/CI/badge.svg
:target: https://github.com/papis/papis-zotero/actions?query=branch%3Amain+workflow%3ACI