Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Pythonic wrapper around Valve's Artifact API

Project description


Pythonic wrapper around Valve's Artifact API, with object mapping, filtering and hopefully more

Current phase: alpha -> feedback needed

MIT License pypi version Documentation Status Build Status

Here's what we can do so far

>>> from pyartifact import Cards
>>> cards = Cards()
>>> cards.load_all_sets()
>>> repr(cards.get('Storm Spirit').includes[0])
<Artifact card: {'id': 10538, 'base_id': 10538, 'name': 'Ball Lightning', 'type': 'Spell', 'text': "Move an <span style='font-weight:bold;color:#736e80;'>allied black hero</span> to an empty combat position in any lane.", 'mini_image': '', 'large_image': '', 'ingame_image': None, '_CardBase__references': [], 'color': 'black', 'rarity': None, 'item_def': None, 'mana_cost': 3, 'illustrator': 'JiHun Lee'}>

>>> filtered = cards.filter.type('Spell').mana_cost(gt=4).color('black').rarity('Rare')
>>> len(filtered)
>>> for card in filtered:
...     print(card)
The Cover of Night

# Deck encoding (wrapper not done)
>>> from pyartifact import decode_deck_string
>>> deck_contents = decode_deck_string('ADCJQUQI30zuwEYg2ABeF1Bu94BmWIBTEkLtAKlAZakAYmHh0JsdWUvUmVkIEV4YW1wbGU_')
>>> print(deck_contents['name'])
Blue/Red Example
>>> print(deck_contents['heroes'])
[{'id': 4003, 'turn': 1}, {'id': 10006, 'turn': 1}, {'id': 10030, 'turn': 1}, {'id': 10033, 'turn': 3}, {'id': 10065, 'turn': 2}]
>>> from pyartifact import encode_deck
>>> print(encode_deck(deck_contents))


  • Provide text sanitizers (text atm. has html) - to markdown, strip, etc., use for deck encoding/decoding
  • Add more filtering options
  • Cleanup code structure (possible performance improvements)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyartifact, version 0.3.2
Filename, size File type Python version Upload date Hashes
Filename, size pyArtifact-0.3.2-py3-none-any.whl (71.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pyArtifact-0.3.2.tar.gz (17.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page