Pythonic wrapper around Valve's Artifact API
Project description
pyArtifact
Pythonic wrapper around Valve's Artifact API, with object mapping, filtering and hopefully more
Current phase: alpha -> feedback needed
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': 'https://steamcdn-a.akamaihd.net/apps/583950/icons/set01/10538.aeb7a6a47e1d8b1a26307ae25e329df3e3bb0843.png', 'large_image': 'https://steamcdn-a.akamaihd.net/apps/583950/icons/set01/10538_large_english.9b39d2d2bb4769b68fa3ac42abee35b1685a57de.png', '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)
1
>>> 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))
ADCJQUQI30zuwEYg2ABeF1Bu94BmWIBTEkLtAKlAZakAYmHh0JsdWUvUmVkIEV4YW1wbGU_
Plans
- 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.
Source Distribution
pyArtifact-0.3.2.tar.gz
(17.4 kB
view details)
Built Distribution
File details
Details for the file pyArtifact-0.3.2.tar.gz
.
File metadata
- Download URL: pyArtifact-0.3.2.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.8 CPython/3.6.6 Darwin/18.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d123ca6a0462a240c51d707a96cf04d93b6a4e0ad836690f7a1db77a2538fa5c |
|
MD5 | 8d5b3459995c26b83d372c98bc441156 |
|
BLAKE2b-256 | 32a4cdf96b58105a7e1ca1976afc11ca6e54faa3115ef98ed90976df27366776 |
File details
Details for the file pyArtifact-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: pyArtifact-0.3.2-py3-none-any.whl
- Upload date:
- Size: 71.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.8 CPython/3.6.6 Darwin/18.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20575e8aaa6437c3955548bc612faf948eba63d4ce6fa66763e16df4927f65dc |
|
MD5 | abd4374cfb65e54dcbbfd4175892ccee |
|
BLAKE2b-256 | cf102d93bbca042811d505af6a4519fd409c2b9c6405629f414f2433d29bb35a |