Skip to main content

Asynchronous Python client for the Scryfall API

Project description

aioscryfall is a Python client for the Scryfall API. It is primarily designed for asynchronous use with asyncio, but a synchronous client is also provided.

The development is essentially feature complete but the documentation is largely absent, at present. (I need to remind myself how mkdocs works and figure out what I want to say)

As of right now, Python 3.11 is required because I wanted to use a number of typing features that were added in 3.11. I may change this in the future, but it is a lower priority than getting the API to a point where I am happy with it.

Everything is extensively typed and I have tried to make the API as intuitive as possible. I have also tried to make the API as close to the Scryfall API as possible, but I have made some changes to make it more Pythonic (namely converting paginated lists into iterable generators).

A minimal use case to get yourself started:

import asyncio
import aiohttp
from aioscryfall.api.cards import UniqueMode
from 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])

Or if you prefer not to use async:

from aioscryfall.api.cards import UniqueMode
from aioscryfall.sync.client import ScryfallSyncClient

client = ScryfallSyncClient()
bolts = list(client.cards.search("lightning bolt", unique=UniqueMode.PRINTS))
print(len(bolts), bolts[0])

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

aioscryfall-0.4.2.tar.gz (308.0 kB view details)

Uploaded Source

Built Distribution

aioscryfall-0.4.2-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

Details for the file aioscryfall-0.4.2.tar.gz.

File metadata

  • Download URL: aioscryfall-0.4.2.tar.gz
  • Upload date:
  • Size: 308.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for aioscryfall-0.4.2.tar.gz
Algorithm Hash digest
SHA256 fed6b6ba6aec3162481f3478e5291ab36771b7ac8dfdd891ca63d8066ca91fc5
MD5 52bf00e26fbbb591d18f6e0d3dc0dea5
BLAKE2b-256 a79f36d26e4aad67b2c962114ecb84a350641dae13794b48b6392fd419165879

See more details on using hashes here.

File details

Details for the file aioscryfall-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: aioscryfall-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 33.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for aioscryfall-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1cff07fe4e321d89c3da862c64f25d5d35a692a3eff2b4d8c14f6ebef31a15cd
MD5 188f8bc240054ddfe79700b29622b08c
BLAKE2b-256 7ecc5cecbec7b97c849e9044a62cb899a94a780a20553fabf2d15611a91618d0

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