Skip to content

Releases: HarrisonTotty/fab

v0.3.0

24 Jul 01:47
Compare
Choose a tag to compare

New Features

  • Added tcgplayer_url() method on Card objects, which returns a URL for quickly searching the card on TCGPlayer.
  • Added the ability for Deck objects to search FaB DB (via Deck.search_fabdb()).
  • Added the ability to pull player Gem ID information from the official leaderboards.
  • Added notes field to Deck objects for better parity with FaB DB. You can also now render the notes (as markdown) within Jupyter notebooks!
  • Added various methods around Card and CardList objects for more directly working with card colors (red/blue/yellow).
  • Added the Draft (D) format to Deck objects.
  • Improved fine-grained control in is_valid() checks on Deck objects.
  • Improved card rendering to properly include pitch/power/etc icons.
  • Reduced default image size of the .image() method on Card objects (and it is now configurable).
  • Added the ability to convert Card and CardList objects to pandas DataFrame and Series objects!

Other Changes

  • Improved API documentation.
  • Updated getting started notebook and added a data science notebook.
  • Improved some type annotations.

Upstream Data Updates

  • Updated 144 cards.

v0.2.2

15 Jul 17:42
Compare
Choose a tag to compare

New Features

  • Deck objects may now be imported from FaB DB via Deck.from_fabdb().
  • Started some initial work on physical play spaces with Arena, PlayerSpace, CombatChain, and ChainLink. These objects are super WIP though.

Breaking Changes

  • Calls to CardList.draw() now default to order=-1 instead of order=0. (drawing from the end of the list rather than randomly).

Upstream Data Updates

  • Added 235 cards and updated 262

v0.2.1

30 Jun 22:54
Compare
Choose a tag to compare

New Features

  • The ability to auto-build decks! This adds a new method called Deck.auto_build().
  • The ability to .filter() on card legality and rarity.

v0.2.0

30 Jun 16:11
Compare
Choose a tag to compare

New Features

  • Added a new field to Card objects called legality. This is a dict[str, bool] that holds the current legality of the card for each game format.
  • Added graphics.pie_chart().
  • Added the ability to load/save Deck objects to/from .txt files. These are essentially deck lists with lines of the format {count} {full_name}.
  • Added Card.from_identifier(), allowing you to create a card object from an identifier str. Like Card.from_full_name(), this requires a catalog.
  • Deck.is_valid() and Deck.filter_related() now takes card legality into consideration.
  • Added CardList.legality(), which computes a mapping dict[str, bool] as to whether a list of cards is legal for each format (that it doesn't contain any illegal cards for that format).
  • Added many new constants to meta.

Breaking Changes

  • Card.image_urls is now simplified to type list[str] and thus breaks CardList.load() against older versions of JSON files.
  • As mentioned above, the new Card.legality field also breaks CardList.load() against older JSON files.

v0.1.9

25 Jun 04:12
Compare
Choose a tag to compare

New Features

  • Added render() and render_body() methods on Card objects.
  • Completely overhauled graphics and meta submodules.

General Changes

  • Improved documentation (mostly via "Returns" sections).
  • Certain CardList methods sort their results.
  • Switched to_json() methods to indent results.

Bug Fixes

Too many to count.

Card Data Updates

Added 0 cards and updated 502 cards.

v0.1.8

22 Jun 23:16
Compare
Choose a tag to compare

This is the first major release of the fab library. This release improves code documentation and adds online documentation via readthedocs. I should again mention that this project is still really early in development, so I don't really support anything other than GNU/Linux systems running Python 3.9

v0.1.7

17 Jun 03:21
Compare
Choose a tag to compare
v0.1.7 Pre-release
Pre-release

This release fixes a lot of issues with sorting/filtering cards and working with Deck objects. In addition, this release includes a "getting started" notebook.

v0.1.6

15 Jun 23:45
Compare
Choose a tag to compare
v0.1.6 Pre-release
Pre-release

This release primarily does two things:

  • Overhauls the CardList.sort() method.
  • Adds a bunch of tests to the project under tests/.

v0.1.5

15 Jun 00:03
Compare
Choose a tag to compare
v0.1.5 Pre-release
Pre-release

This release refactors a lot of stuff. Among other things:

  • Added the concept of card and card set catalogs.
  • Added Deck objects and the ability to validate/build card decks.
  • Added some new card statistics.
  • Modified some graphical functionality.

v0.1.4

13 Jun 22:43
Compare
Choose a tag to compare
v0.1.4 Pre-release
Pre-release

This release starts to build out the graphics module.