/pyzotero

A Python wrapper for the Zotero API v3

Primary LanguagePythonMIT LicenseMIT

Build Status Coverage Status Wheel Status Supported Python versions Docs MIT licensed PyPI Version

Quickstart

  1. pip install pyzotero
  2. You'll need the ID of the personal or group library you want to access:
    • Your personal library ID is available here, in the section Your userID for use in API calls
    • For group libraries, the ID can be found by opening the group's page: https://www.zotero.org/groups/groupname, and hovering over the group settings link. The ID is the integer after /groups/
  3. You'll also need to get an API key here
  4. Are you accessing your own Zotero library? library_type is user
  5. Are you accessing a shared group library? library_type is group.

Then:

from pyzotero import zotero
zot = zotero.Zotero(library_id, library_type, api_key)
items = zot.top(limit=5)
# we've retrieved the latest five top-level items in our library
# we can print each item's item type and ID
for item in items:
    print('Item: %s | Key: %s') % (item['data']['itemType'], item['data']['key'])

Documentation

Full documentation of available Pyzotero methods, code examples, and sample output is available on Read The Docs.

Installation

  • Using pip: pip install pyzotero (it's available as a wheel, and is tested on Python 2.7, 3.4, 3.5, and 3.6)
  • From a local clone, if you wish to install Pyzotero from a specific branch:

Example:

git clone git://github.com/urschrei/pyzotero.git
cd pyzotero
git checkout dev
pip install .

Testing

Run test_zotero.py in the pyzotero/test directory, or, using Nose, nosetests from the top-level directory.

Issues

Pyzotero remains in development as of September 2015. The latest commits can be found on the dev branch. If you encounter an error, please open an issue.

Pull Requests

Pull requests are welcomed. Please read the contribution guidelines.

Versioning

As of v1.0.0, Pyzotero is versioned according to Semver; version increments are performed as follows:

  1. MAJOR version will increment with incompatible API changes,
  2. MINOR version will increment when functionality is added in a backwards-compatible manner, and
  3. PATCH version will increment with backwards-compatible bug fixes.

License

Pyzotero is licensed under the MIT license. See license.txt for details.

† This isn't strictly true: you only need an API key for personal libraries and non-public group libraries.