Skip to main content

A Python wrapper for the friendly PokeAPI database

Project description

Pokebase swampert

actions Python 3.6 pypi Python >=3.8 github

pokebase is a simple but powerful Python interface to the PokéAPI database

Maintainer: GregHilmes

Installation

Version Support

pokebase 1.3.0 supports Python 3.6. Install it with pip install pokebase

pokebase 1.4.0 drops support for Python 3.6 and adds support for Python >=3.8 <=3.12. Install it with pip install https://github.com/PokeAPI/pokebase/archive/1.4.0.zip

Usage

>>> import pokebase as pb
>>> chesto = pb.APIResource('berry', 'chesto')
>>> chesto.name
'chesto'
>>>
chesto.natural_gift_type.name
'water'
>>> charmander = pb.pokemon('charmander') # Quick lookup.
>>> charmander.height
6
>>> # Now with sprites! (again!)
>>> s1 = pb.SpriteResource('pokemon', 17)
<pokebase.interface.SpriteResource object at 0x7f2f15660860>
>>> s1.url
'<https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/17.png>'
>>> s2 = pb.SpriteResource('pokemon', 1, other=True, official_artwork=True)
>>> s2.path
'/home/user/.cache/pokebase/sprite/pokemon/other-sprites/official-artwork/1.png'
>>> s3 = pb.SpriteResource('pokemon', 3, female=True, back=True)
>>> s3.img_data b'x89PNGrnx1anx00x00x00rIHDRx00x00x00 ... xca^x7fxbbd\*x00x00x00x00IENDxaeB`x82'

... And it's just that simple.

Nomenclature

  • an endpoint is the results of an API call like http://pokeapi.co/api/v2/berry or http://pokeapi.co/api/v2/move
  • a resource is the actual data, from a call to http://pokeapi.co/api/v2/pokemon/1

Testing

Python unit tests are in a separate tests directory and can be run via python -m tests.

Notes to the developer using this module

The quick data lookup for a Pokémon type, is pokebase.type_('type-name'), not pokebase.type('type-name'). This is because of a naming conflict with the built-in type function, were you to from pokebase import *.

When changing the cache, avoid importing the cache constants directly. You should only import them with the whole cache module. If you do not do this, calling set_cache will not change your local copy of the variable.

NOT THIS!

>>> from pokebase.cache import API_CACHE

Do this :)

>>> from pokebase import cache
>>> cache.API_CACHE

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

pokebase-1.4.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

pokebase-1.4.1-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file pokebase-1.4.1.tar.gz.

File metadata

  • Download URL: pokebase-1.4.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pokebase-1.4.1.tar.gz
Algorithm Hash digest
SHA256 036116b1696dce7ef96ead3e892476648d6e3eec52fbd1e63677f944de259ecc
MD5 eec92bfc977619f71d3a275d03f1f1ac
BLAKE2b-256 cff50c827ba3ed055c9a266ca809ebaf152a6d6b0a7932d9a48b78d471dbd2ba

See more details on using hashes here.

File details

Details for the file pokebase-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: pokebase-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pokebase-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c3f6dcd010711f5e7e9e4bc9a0bacf094b92a9144499c449c35f00a8ce46478
MD5 3a24a341c7accc5e207aa94cc064dfe3
BLAKE2b-256 776fc96b0855965a1d151fc930168ed2e78f7c414872531899036f0b4b5093d4

See more details on using hashes here.

Supported by

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