Skip to main content

A flexible and easy to use pokemon library.

Project description

PokeLance

logo

license black mypy ruff stars commits py versions

A flexible, statically typed and easy to use pokeapi wrapper for python 🚀


Features:

  • Modern and pythonic API asynchronously built on top of aiohttp
  • Flexible and easy to use
  • Statically typed with mypy
  • Linted with ruff
  • Well documented
  • Optimized for speed and performance
  • Automatically caches data for faster access
  • Caches endpoints for user convenience

Installation

$ python -m pip install PokeLance

Usage

import asyncio

from pokelance import PokeLance

client = PokeLance()  # Create a client instance


async def main() -> None:
    print(await client.ping())  # Ping the pokeapi
    print(await client.berry.fetch_berry("cheri"))  # Fetch a berry from the pokeapi
    print(await client.berry.fetch_berry_flavor("spicy"))
    print(await client.berry.fetch_berry_firmness("very-soft"))
    print(client.berry.get_berry("cheri"))  # Get a cached berry it will return None if it doesn't exist
    print(client.berry.get_berry_flavor("spicy"))
    print(client.berry.get_berry_firmness("very-soft"))
    await client.close()  # Close the client
    return None


asyncio.run(main())

With Async Context Manager

import asyncio

import aiohttp
from pokelance import PokeLance


async def main() -> None:
    # Use an async context manager to create a client instance
    async with aiohttp.ClientSession() as session, PokeLance(session=session) as client:
        print(await client.ping())  # Ping the pokeapi
        print(await client.berry.fetch_berry("cheri"))  # Fetch a berry from the pokeapi
        print(await client.berry.fetch_berry_flavor("spicy"))
        print(await client.berry.fetch_berry_firmness("very-soft"))
        print(client.berry.get_berry("cheri"))  # Get a cached berry it will return None if it doesn't exist
        print(client.berry.get_berry_flavor("spicy"))
        print(client.berry.get_berry_firmness("very-soft"))
        # The client will be closed automatically when the async context manager exits
    return None

asyncio.run(main())

Important Links


!!! note "Note" This is a work in progress. If you find any bugs or have any suggestions, please open an issue here.


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

pokelance-0.0.21a0.tar.gz (48.5 kB view details)

Uploaded Source

Built Distribution

pokelance-0.0.21a0-py3-none-any.whl (71.5 kB view details)

Uploaded Python 3

File details

Details for the file pokelance-0.0.21a0.tar.gz.

File metadata

  • Download URL: pokelance-0.0.21a0.tar.gz
  • Upload date:
  • Size: 48.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.2 Linux/5.15.0-1034-azure

File hashes

Hashes for pokelance-0.0.21a0.tar.gz
Algorithm Hash digest
SHA256 0a7c1f8d782d6fc1890889d3dfa50f91b561bf7854dc10d75d52920e8a1589b3
MD5 310edb8f62f8a7b7da6c511840d8a9d3
BLAKE2b-256 a5b2a752cf625d5b8192078b230a7f33fde449a7796b7e2b93d4c80484e91a11

See more details on using hashes here.

File details

Details for the file pokelance-0.0.21a0-py3-none-any.whl.

File metadata

  • Download URL: pokelance-0.0.21a0-py3-none-any.whl
  • Upload date:
  • Size: 71.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.2 Linux/5.15.0-1034-azure

File hashes

Hashes for pokelance-0.0.21a0-py3-none-any.whl
Algorithm Hash digest
SHA256 0af2e72c4434dbdc29cb045a912dbb131f4bed770e45323cd02115795be9e282
MD5 df588a1544cc2e97c01ccc8114efa776
BLAKE2b-256 5233fcc34994a78bcf8ef1bde2774ee1612ae282f174c1f126c4341796272866

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