All Projects → NandaScott → Scrython

NandaScott / Scrython

Licence: MIT License
A python wrapper for the Scryfall API

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Scrython

Swiftfall
Wrapper for Scryfall API written in Swift
Stars: ✭ 21 (-75.86%)
Mutual labels:  json-api, magic-the-gathering, api-wrapper, mtg-api, scryfall-api
activecampaign-python
ActiveCampaign API wrapper written in python.
Stars: ✭ 25 (-71.26%)
Mutual labels:  wrapper, api-wrapper
mkm-sdk
Python SDK for Magickartenmarkt API
Stars: ✭ 33 (-62.07%)
Mutual labels:  api-wrapper, mtg-api
Dis-Snek
A Python API wrapper for Discord
Stars: ✭ 71 (-18.39%)
Mutual labels:  wrapper, api-wrapper
Tlaw
The Last API Wrapper: Pragmatic API wrapper framework
Stars: ✭ 112 (+28.74%)
Mutual labels:  wrapper, api-wrapper
PowerSchool-API
A Node.js library for interacting with the PowerSchool SIS API.
Stars: ✭ 21 (-75.86%)
Mutual labels:  wrapper, api-wrapper
HerePy
A library that provides a Python interface to the HERE APIs.
Stars: ✭ 73 (-16.09%)
Mutual labels:  wrapper, api-wrapper
Python Poloniex
Poloniex API wrapper for Python 2.7 & 3
Stars: ✭ 557 (+540.23%)
Mutual labels:  wrapper, api-wrapper
Pyblox
An API wrapper for Roblox written in Python. (Receives Updates)
Stars: ✭ 30 (-65.52%)
Mutual labels:  wrapper, api-wrapper
cablecuttr
An R wrapper for CanIStream.It API
Stars: ✭ 17 (-80.46%)
Mutual labels:  wrapper, api-wrapper
Binancedotnet
Official C# Wrapper for the Binance exchange API, with REST and WebSocket endpoints
Stars: ✭ 102 (+17.24%)
Mutual labels:  wrapper, api-wrapper
oxford dictionary
📙 A Ruby wrapper for the Oxford Dictionary API
Stars: ✭ 23 (-73.56%)
Mutual labels:  wrapper, api-wrapper
Discord.jl
The Julia Discord API Wrapper
Stars: ✭ 93 (+6.9%)
Mutual labels:  wrapper, api-wrapper
nanoleaf-aurora
A java wrapper for the Nanoleaf Aurora API
Stars: ✭ 19 (-78.16%)
Mutual labels:  wrapper, api-wrapper
Golang Tmdb
This is a Golang wrapper for working with TMDb API. It aims to support version 3.
Stars: ✭ 36 (-58.62%)
Mutual labels:  wrapper, api-wrapper
mtgtools
collection of tools for easy handling of Magic: The Gathering data on your computer
Stars: ✭ 35 (-59.77%)
Mutual labels:  magic-the-gathering, scryfall-api
Pycoingecko
Python wrapper for the CoinGecko API
Stars: ✭ 270 (+210.34%)
Mutual labels:  wrapper, api-wrapper
Cuda Api Wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
Stars: ✭ 362 (+316.09%)
Mutual labels:  wrapper, api-wrapper
discord.bat
🗑️ the BEST discord lib
Stars: ✭ 38 (-56.32%)
Mutual labels:  wrapper, api-wrapper
popyt
A very easy to use Youtube Data v3 API wrapper.
Stars: ✭ 42 (-51.72%)
Mutual labels:  wrapper, api-wrapper

Scrython

Scrython is a wrapper for the Scryfall API, designed for an easier use. Make sure to familiarize yourself with the docs.

Here is a link to the Scryfall API documentation.

Dependencies

  • python >= 3.5.3
  • asyncio >= 3.4.3
  • aiohttp >= 3.4.4

Basic usage

You can install scrython by running pip install scrython. Note that it requires asyncio and aiohttp too.

Scrython can be imported using import scrython at the top of your code. I've written to library to attempt to be familiar for those who already use it. As such, modules like cards are named to reflect the endpoints found in api.scryfall.com/cards/and so on. For the most part I've kept all the class attributes the same as their key names, except for a few cases where I've found better functionality.

    >>>import scrython
    >>>card = scrython.cards.Named(fuzzy="Black Lotus")
    >>>card.name()
    'Black Lotus'
    >>>card.id()
    'bd8fa327-dd41-4737-8f19-2cf5eb1f7cdd'
    >>>card.oracle_text()
    '{T}, Sacrifice Black Lotus: Add three mana of any one color to your mana pool.'

Breaking changes

Since Scryfall's API is constantly changing, this library will also be changing.

Versions will be broken down as such:

x.0.0: Overall library version

0.x.0: Major version changes. Includes anything that will break functionality from previous version, or adds upon them.

0.0.x: Minor patch changes.

It's important to keep up to date with library changes, since it relies on how Scryfall has updated it's own API. If they change something, my library will potentially break or be outdated until a fix is patched.

Key notes

There will be no attempts to keep backwards compatibility for the duration of this project.

There is no default rate limiting for this library. Not all projects are created equal, so not all of them will need a universal limit. It's up to the responsibility of the user to make sure they don't overload Scryfall's servers.

The simplest way to prevent sending too many requests too quickly is the following:

>>> time.sleep(0.1)
>>> card = scrython.cards.Random()
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].