async_pokepy
An, in the works, asynchronous wrapper for the PokeAPI.co API.
You can check out the (failing) pipelines @ gitlab.
Documentation
The docs are available @ readthedocs.
Installing
The wrapper is available on PyPi, you can install it with:
pip install async_pokepy
Better caching
It's very recommended to install the library with lru-dict,
you can do this by installing the wrapper with this command:
pip install async_pokepy[lru]
The wrapper will throw a warning if you try to use it without this extra package.
Tests and docs
If you also want to be able to run the tests/lint install it with:
pip install async_pokepy[tests]
The best way to run tests is by using tox
.
For docs building:
pip install async_pokepy[docs]
Example
import asyncio
import async_pokepy
async def main(query):
client = await async_pokepy.Client.connect()
pokemon = await client.get_pokemon(query)
fmt = ", ".join(map(str, pokemon.abilities))
print("{0} has the abilities {1}".format(pokemon, fmt))
await client.close()
loop = asyncio.get_event_loop()
loop.run_until_complete(main("Snorlax"))
This will output: "Snorlax has the abilities Gluttony, Thick Fat, Immunity".
You can check out more examples in the example
folder in the github repository or in the introduction section of the docs.