Awesome
<p align="center"> <img src="assets/aiopokeapi-readme-banner.png"> <h1 align="center"> AioPokéApi</h1> <p align="center"> An Asynchronous API wrapper for the <a href="https://pokeapi.co">PokéApi</a> written in <b>Python</b>. </p> <p align="center"> <img id="tests" src="https://img.shields.io/github/actions/workflow/status/beastmatser/aiopokeapi/tests.yml?branch=main&label=Tests&logo=github&style=flat-square"> <img id="pypi-version" src="https://img.shields.io/pypi/v/aiopokeapi?label=Pypi%20version&logo=pypi&logoColor=ffffff&style=flat-square"> <img id="python-version" src="https://img.shields.io/pypi/pyversions/aiopokeapi?label=Python%20version&logo=python&logoColor=ffffff&style=flat-square"> <img id="license" src="https://img.shields.io/github/license/beastmatser/aiopokeapi?label=License&style=flat-square"> <img id="style" src="https://img.shields.io/badge/Code%20style-black-black?style=flat-square"> </p> <p align="center"> <a href="https://github.com/beastmatser/aiopokeapi/issues/new/choose"> Report issue</a> · <a href="https://github.com/beastmatser/aiopokeapi/issues/new/choose"> Request feature</a> · <a href="https://github.com/beastmatser/aiopokeapi/fork"> Fork project</a> </p>:old_key: Key Features
- Use of modern Python keywords:
async
andawait
. - Every object is fully type hinted.
- Objects get cached, this increases speed and avoids unnecessary API requests.
:earth_africa: Documentation
AioPokéApi has a very minimal website, which you can find here. It also has some documentation.
:comet: Installation
pip install aiopokeapi
<details>
<summary>
:gear: <i> Didn't work?</i>
</summary>
Depending on your Python installation, you might need to use one of the following:
-
Python is not in PATH
path/to/python.exe -m pip install aiopokeapi
-
Python is in PATH but pip is not
python -m pip install aiopokeapi
-
Unix systems can use pip3/python3 commands
pip3 install aiopokeapi
python3 -m pip install aiopokeapi
-
Using multiple Python versions
py -m pip install aiopokeapi
:rocket: Getting started
Aiopoke's goal is to be simple and easy to use:
import asyncio
import aiopoke
async def main():
client = aiopoke.AiopokeClient()
ability = await client.get_ability(1)
generation = await ability.generation.fetch()
await client.close()
asyncio.run(main())
Or even better, using a context manager:
# in main()
async with aiopoke.AiopokeClient() as client:
ability = await client.get_ability(1)
generation = await ability.generation.fetch()