Skip to content

steveYeah/PyBomb

Repository files navigation

ko-fi

Tests Coverage Release Drafter TestPyPi Release

Codecov PyPI Read the Docs

PyBomb

This will go into version 1.0 when all resources are supported.

Currently Supported Resources:

  • games
  • game
  • platforms

Support OSS, and me :)

If you find this project useful, please feel free to buy me a coffee

Install

pip install pybomb

Examples

To see a working example of Pybomb, take a look at the example project PyBomb-demo

GamesClient - search

import pybomb

my_key = your_giant_bomb_api_key
games_client = pybomb.GamesClient(my_key)

return_fields = ('id', 'name', 'platforms')
limit = 10
offset = 5
sort_by = 'name'
filter_by = {'platforms': pybomb.PS3}

response = games_client.search(
   filter_by=filter_by,
   return_fields=return_fields,
   sort_by=sort_by,
   desc=True,
   limit=limit,
   offset=offset
)

print response.results
print response.uri
print response.num_page_results
print response.num_total_results

GamesClient - quick_search

import pybomb

my_key = your_giant_bomb_api_key
games_client = pybomb.GamesClient(my_key)

response = games_client.quick_search(
  name='call of duty',
  platform=pybomb.PS3,
  sort_by='original_release_date',
  desc=True
)

print response.results
print response.uri
print response.num_page_results
print response.num_total_results

Documentation

The full documentation, including more examples can be found at readthedocs

Contributing

This project uses Poetry and Nox so make sure you have those setup!

Whilst working you can use

$ nox -rs tests

to run the tests, but once you have finished, make sure to run all of nox before making a PR

$ nox

This project also uses Pytest for tests, and we aim for 100% test coverage. The build will fail when the coverage is less than this, but feel free to use # pragma: no cover if it makes sense to do so (although this should be very rare). Mypy is also used, and we even use typeguard so typing is important here!

I am always happy to help where I can and I try to be as responsive as possible to PRs. Email me if I am slow, or if you need any help!