Skip to main content

A Python interface to boardgamegeek.com's API

Project description

https://travis-ci.org/lcosmin/boardgamegeek.svg?branch=master https://coveralls.io/repos/lcosmin/boardgamegeek/badge.png?branch=master

Introduction

boardgamegeek is a Python library which makes it easy to access data off BoardGameGeek using their official XML API.

It’s an almost completely rewritten fork of libBGG.

Features

This library exposes (as Python objects with properties) the following BoardGameGeek entities:

  • Users

  • Games

  • User collections

  • Player guilds

requests-cache is used for locally caching replies in order to reduce the amount of requests sent to the server.

Quick Install

To install boardgamegeek, just use pip:

> pip install boardgamegeek

Documentation

Documentation is available at http://boardgamegeek.readthedocs.org/

Usage

Here’s a quick usage example:

>>> from boardgamegeek import BoardGameGeek
>>> bgg = BoardGameGeek()
>>> g = bgg.game("Android: Netrunner")
>>> g.name
'Android: Netrunner'
>>> g.id
124742
>>> for n in g.alternative_names: print n.encode("utf-8")
...
安卓纪元:矩阵潜袭

If you want to use the disk cache:

>>> bgg = BoardGameGeek(cache="sqlite:///tmp/cache.db?ttl=3600&fast_save=0")
>>> g = bgg.game("Celtica")
>>> g.id
21293

To Do

  • Not all the information exposed by the official API is stored into the Python objects. Need to improve this.

  • Try to support the other sites from the boardgamegeek’s family

  • Improve documentation :)

  • Improve unit testing

Contributions/suggestions are welcome.

Changelog

0.0.13

Features

  • Improved code for fetching an user’s buddies and guilds

  • Improved code for fetching guild members

  • Added support for listing Plays by user and by game

0.0.12

Features

  • Added some basic argument validation to prevent pointless calls to BGG’s API

  • When some object (game, user name, etc.) is not found, the functions return None instead of raising an exception

0.0.11

Features

  • Collections and Guilds are now iterable

Bugfixes

  • Fixed __str__ for Collection

0.0.10

Features

  • Updated documentation

  • Improved Python 3.x compatibility (using unicode_literals)

  • Added Travis integration

Bugfixes

  • Fixed float division for Python 3.x

0.0.9

Features

  • Added support for retrieving an user’s buddy and guild lists

  • Started implementing some basic unit tests

Bugfixes

  • Fixed handling of non-existing user names

  • Properly returning the maximum number of players for a game

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boardgamegeek-0.0.13.tar.gz (16.3 kB view details)

Uploaded Source

File details

Details for the file boardgamegeek-0.0.13.tar.gz.

File metadata

File hashes

Hashes for boardgamegeek-0.0.13.tar.gz
Algorithm Hash digest
SHA256 b2b5af9ffe3f97519839b572c1a5cba7b75c5b9ace0d7b24873843f8d53111a5
MD5 5ee644a53db7fe31b37894f259fd8032
BLAKE2b-256 e9c678a81f8d2a29fc46af2f761ee453689f32cc71867843390375431962154b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page