Metadata-Version: 2.1
Name: aioscryfall
Version: 0.4.1.dev1
Summary: Asynchronous Python client for the Scryfall API
Project-URL: Homepage, https://github.com/gwax/aioscryfall
Project-URL: Bug Tracker, https://github.com/gwax/aioscryfall/issues
Author-email: George Leslie-Waksman <waksman@gmail.com>
License: MIT
License-File: LICENSE
Keywords: magic,mtg,scryfall
Requires-Python: >=3.11
Requires-Dist: aiohttp
Requires-Dist: aiolimiter
Requires-Dist: appdirs
Requires-Dist: msgspec
Requires-Dist: requests
Requires-Dist: requests-cache
Provides-Extra: dev
Requires-Dist: aiofiles; extra == 'dev'
Requires-Dist: aioresponses; extra == 'dev'
Requires-Dist: black; extra == 'dev'
Requires-Dist: doc8; extra == 'dev'
Requires-Dist: isort; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pygments; extra == 'dev'
Requires-Dist: pylint; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: types-aiofiles; extra == 'dev'
Description-Content-Type: text/x-rst

aioscryfall - Asynchronous Python client for Scryfall API
=========================================================

This is an early work in progress. I am currently in the phase of getting all of the
features in place. Once everything is in place, I will clean up the API and add
some abstraction layers and documentation on top.

For now, the API is very low level and you will need to read the Scryfall API and
the code to figure out how to use it.

You will need Python >= 3.11 (I may change this to support earlier versions in the future) and you will need to use aiohttp.

A minimal use case to get yourself started:

.. code:: python

    import asyncio
    import aiohttp
    from aioscryfall.api.cards import UniqueMode
    import aioscryfall.client import ScryfallClient

    async def get_bolt():
        async with aiohttp.ClientSession() as session:
            client = ScryfallClient(session)
            bolts = [c async for c in client.cards.search("lightning bolt", unique=UniqueMode.PRINTS)]
            return bolts

    bolts = asyncio.run(get_bolt())
    print(len(bolts), bolts[0])
