mtg_python_deckbuilder/code
matt bff64de370 fix: systematically handle numpy arrays from Parquet files across codebase
- Add ensure_theme_tags_list() utility to builder_utils for simpler numpy array handling
- Update phase3_creatures.py: 6 locations now use bu.ensure_theme_tags_list()
- Update phase4_spells.py: 9 locations now use bu.ensure_theme_tags_list()
- Update tagger.py: 2 locations use hasattr/list() for numpy compatibility
- Update extract_themes.py: 2 locations use hasattr/list() for numpy compatibility
- Fix build-similarity-cache.yml verification script to handle numpy arrays
- Enhance workflow debug output to show complete row data

Parquet files return numpy.ndarray objects for array columns, not Python lists.
The M4 migration added numpy support to canonical parse_theme_tags() in builder_utils,
but many parts of the codebase still used isinstance(list) checks that fail with arrays.
This commit systematically replaces all 19 instances with proper numpy array handling.

Fixes GitHub Actions workflow 'RuntimeError: No theme tags found' and verification failures.
2025-10-18 22:47:09 -07:00
..
config/themes/catalog bugfix: update editorial_governance to use small smaple set of themes instead of looking for the full library 2025-10-06 09:50:56 -07:00
deck_builder fix: systematically handle numpy arrays from Parquet files across codebase 2025-10-18 22:47:09 -07:00
file_setup feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
scripts fix: systematically handle numpy arrays from Parquet files across codebase 2025-10-18 22:47:09 -07:00
services feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
tagging fix: systematically handle numpy arrays from Parquet files across codebase 2025-10-18 22:47:09 -07:00
tests feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
web fix: use correct processed/ path for similarity cache building 2025-10-18 21:43:04 -07:00
__init__.py Release v1.1.0: headless runner + tagging updates (Discard Matters, Freerunning, Craft, Spree, Explore/Map, Rad, Energy/Resource Engine, Spawn/Scion) 2025-08-22 16:32:39 -07:00
commander_exclusions.py Finalize MDFC follow-ups, docs, and diagnostics tooling 2025-10-02 15:31:05 -07:00
exceptions.py feat: Added Partners, Backgrounds, and related variation selections to commander building. 2025-10-06 09:17:59 -07:00
headless_runner.py feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
input_handler.py Revert "Massively overhauled the tagging process, refactored code to improve general effeciciency, implemented parallel processing to reduce total runtime" 2025-08-15 10:04:19 -07:00
logging_util.py Consolidated constants that are duplicated in various constant files. Implemented dataclass methodoligies for tagging counter-related cards tagging 2025-08-15 09:36:37 -07:00
main.py feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
path_util.py feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
price_check.py Moved the builder, tagger, and setup modules into their own folders, along with constants to help provide better clarity and readability. Additionally added a missing call for the tag_for_artifcact_triggers() function 2025-01-28 10:19:44 -08:00
random_util.py feat(themes): whitelist governance, synergy cap, docs + tests; feat(random): laid roadwork for random implementation, testing in headless confirmed 2025-09-17 13:23:27 -07:00
settings.py feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging 2025-10-18 21:32:12 -07:00
type_definitions.py Bracket enforcement + inline gating; global pool prune; compliance JSON artifacts; UI combos gating; compose envs consolidated; fix YAML; bump version to 2.2.5 2025-09-03 18:00:06 -07:00
type_definitions_theme_catalog.py fix: allow theme catalog ids and refresh baseline 2025-09-27 15:53:47 -07:00