Releases: HarrisonTotty/fab
Releases · HarrisonTotty/fab
v0.3.0
New Features
- Added
tcgplayer_url()
method onCard
objects, which returns a URL for quickly searching the card on TCGPlayer. - Added the ability for
Deck
objects to search FaB DB (viaDeck.search_fabdb()
). - Added the ability to pull player Gem ID information from the official leaderboards.
- Added
notes
field toDeck
objects for better parity with FaB DB. You can also now render the notes (as markdown) within Jupyter notebooks! - Added various methods around
Card
andCardList
objects for more directly working with card colors (red/blue/yellow). - Added the Draft (
D
) format toDeck
objects. - Improved fine-grained control in
is_valid()
checks onDeck
objects. - Improved card rendering to properly include pitch/power/etc icons.
- Reduced default image size of the
.image()
method onCard
objects (and it is now configurable). - Added the ability to convert
Card
andCardList
objects to pandasDataFrame
andSeries
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
New Features
Deck
objects may now be imported from FaB DB viaDeck.from_fabdb()
.- Started some initial work on physical play spaces with
Arena
,PlayerSpace
,CombatChain
, andChainLink
. These objects are super WIP though.
Breaking Changes
- Calls to
CardList.draw()
now default toorder=-1
instead oforder=0
. (drawing from the end of the list rather than randomly).
Upstream Data Updates
- Added 235 cards and updated 262
v0.2.1
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
New Features
- Added a new field to
Card
objects calledlegality
. This is adict[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 identifierstr
. LikeCard.from_full_name()
, this requires a catalog. Deck.is_valid()
andDeck.filter_related()
now takes card legality into consideration.- Added
CardList.legality()
, which computes a mappingdict[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 typelist[str]
and thus breaksCardList.load()
against older versions of JSON files.- As mentioned above, the new
Card.legality
field also breaksCardList.load()
against older JSON files.
v0.1.9
New Features
- Added
render()
andrender_body()
methods onCard
objects. - Completely overhauled
graphics
andmeta
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
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
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
This release primarily does two things:
- Overhauls the
CardList.sort()
method. - Adds a bunch of tests to the project under
tests/
.
v0.1.5
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
This release starts to build out the graphics
module.