mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2025-12-16 15:40:12 +01:00
This commit is contained in:
parent
3769ad9186
commit
454269daab
6 changed files with 72 additions and 4 deletions
|
|
@ -13,7 +13,7 @@
|
||||||
# HOST=0.0.0.0 # Uvicorn bind host (only when APP_MODE=web).
|
# HOST=0.0.0.0 # Uvicorn bind host (only when APP_MODE=web).
|
||||||
# PORT=8080 # Uvicorn port.
|
# PORT=8080 # Uvicorn port.
|
||||||
# WORKERS=1 # Uvicorn worker count.
|
# WORKERS=1 # Uvicorn worker count.
|
||||||
APP_VERSION=v2.9.1 # Matches dockerhub compose.
|
APP_VERSION=v3.0.0 # Matches dockerhub compose.
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# Theming
|
# Theming
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,9 @@ This format follows Keep a Changelog principles and aims for Semantic Versioning
|
||||||
- Link PRs/issues inline when helpful, e.g., (#123) or [#123]. Reference-style links at the bottom are encouraged for readability.
|
- Link PRs/issues inline when helpful, e.g., (#123) or [#123]. Reference-style links at the bottom are encouraged for readability.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
_No unreleased changes yet_
|
||||||
|
|
||||||
|
## [3.0.0] - 2025-10-19
|
||||||
### Summary
|
### Summary
|
||||||
Major infrastructure upgrade to Parquet format with comprehensive performance improvements, simplified data management, and instant setup via GitHub downloads.
|
Major infrastructure upgrade to Parquet format with comprehensive performance improvements, simplified data management, and instant setup via GitHub downloads.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ services:
|
||||||
# WEB_THEME_FILTER_PREWARM: "0"
|
# WEB_THEME_FILTER_PREWARM: "0"
|
||||||
WEB_AUTO_ENFORCE: "0" # 1=auto-run compliance export after builds
|
WEB_AUTO_ENFORCE: "0" # 1=auto-run compliance export after builds
|
||||||
WEB_CUSTOM_EXPORT_BASE: "" # Optional: custom base dir for deck export artifacts
|
WEB_CUSTOM_EXPORT_BASE: "" # Optional: custom base dir for deck export artifacts
|
||||||
APP_VERSION: "2.9.1" # Displayed version label (set per release/tag)
|
APP_VERSION: "v3.0.0" # Displayed version label (set per release/tag)
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
# Misc / Land Selection (Step 7) Environment Tuning
|
# Misc / Land Selection (Step 7) Environment Tuning
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ services:
|
||||||
# WEB_THEME_FILTER_PREWARM: "0"
|
# WEB_THEME_FILTER_PREWARM: "0"
|
||||||
WEB_AUTO_ENFORCE: "0" # 1=auto-run compliance export after builds
|
WEB_AUTO_ENFORCE: "0" # 1=auto-run compliance export after builds
|
||||||
WEB_CUSTOM_EXPORT_BASE: "" # Optional: custom base dir for deck export artifacts
|
WEB_CUSTOM_EXPORT_BASE: "" # Optional: custom base dir for deck export artifacts
|
||||||
APP_VERSION: "2.9.1" # Displayed version label (set per release/tag)
|
APP_VERSION: "v3.0.0" # Displayed version label (set per release/tag)
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
# Misc / Land Selection (Step 7) Environment Tuning
|
# Misc / Land Selection (Step 7) Environment Tuning
|
||||||
|
|
|
||||||
65
docs/releases/v3.0.0.md
Normal file
65
docs/releases/v3.0.0.md
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# MTG Python Deckbuilder v3.0.0
|
||||||
|
|
||||||
|
**Release Date**: October 19, 2025
|
||||||
|
|
||||||
|
### Summary
|
||||||
|
Major infrastructure upgrade: migrated to Parquet data format with comprehensive performance improvements, combo tag support, simplified data management, and instant setup via GitHub downloads.
|
||||||
|
|
||||||
|
### What's New
|
||||||
|
- **Instant Setup** - Download pre-tagged card database from GitHub instead of 15-20 minute initial build
|
||||||
|
- **Parquet Migration** - Unified `all_cards.parquet` replaces multiple CSV files for faster, more efficient card storage
|
||||||
|
- **Combo Tags** - 226 cards now tagged with combo-enabling abilities for better synergy detection
|
||||||
|
- **Parallel Tagging** - Optional 4.2x speedup for card tagging (22s → 5.2s)
|
||||||
|
- **Automatic Deduplication** - No more duplicate card printings cluttering your deck options
|
||||||
|
- **Built-in Commander Filtering** - Instant identification of 2,751 commanders and 31 backgrounds
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- **First-Run Experience** - Auto-downloads pre-tagged data on first run (seconds vs. 15-20 minutes)
|
||||||
|
- **Faster Startup** - Binary columnar format loads significantly faster than text parsing
|
||||||
|
- **Smaller File Sizes** - Single Parquet file is more compact than multiple CSVs
|
||||||
|
- **Better Data Quality** - Automatic validation, deduplication, and type checking
|
||||||
|
- **Cleaner Organization** - Single source of truth for all 29,857 cards
|
||||||
|
- **Web Performance** - Card browser, commander catalog, and owned cards all benefit from faster data access
|
||||||
|
- **Weekly Updates** - Pre-tagged data refreshed weekly via GitHub Actions
|
||||||
|
|
||||||
|
### For Users
|
||||||
|
Everything works the same or better! Main visible differences:
|
||||||
|
- **First-time users**: Setup completes in seconds (auto-downloads pre-tagged data)
|
||||||
|
- Faster load times and data operations
|
||||||
|
- Better card recommendations with combo tag support
|
||||||
|
- More reliable data handling
|
||||||
|
- Web UI includes manual "Download from GitHub" button for instant refresh
|
||||||
|
|
||||||
|
### Technical Details
|
||||||
|
- Data stored in `card_files/processed/all_cards.parquet`
|
||||||
|
- Boolean flags (`isCommander`, `isBackground`) replace separate CSV files
|
||||||
|
- CLI execution: `python -m code.main`
|
||||||
|
- Headless execution: `python -m code.headless_runner --config <path>`
|
||||||
|
- GitHub Actions and Docker builds updated for Parquet workflow
|
||||||
|
|
||||||
|
### Breaking Changes
|
||||||
|
- **MAJOR**: CSV-based card data deprecated in favor of Parquet format
|
||||||
|
- Existing CSV workflows require migration to use processed Parquet files
|
||||||
|
- Module imports updated - use `python -m code.main` for CLI execution
|
||||||
|
- Some internal APIs changed to support unified data source
|
||||||
|
|
||||||
|
### Migration Guide
|
||||||
|
For existing users:
|
||||||
|
1. Pull latest code: `git pull`
|
||||||
|
2. Delete old CSV files (optional): `rm csv_files/*.csv`
|
||||||
|
3. Let auto-download fetch pre-tagged data OR run manual setup
|
||||||
|
4. Existing decks and configs remain compatible
|
||||||
|
|
||||||
|
For Docker users:
|
||||||
|
1. Pull new image: `docker pull mwisnowski/mtg-python-deckbuilder:v3.0.0`
|
||||||
|
2. Use updated docker-compose files (included)
|
||||||
|
3. Volume mounts work the same
|
||||||
|
|
||||||
|
### Full Changelog
|
||||||
|
See [CHANGELOG.md](../../CHANGELOG.md#300---2025-10-19) for complete details.
|
||||||
|
|
||||||
|
### Known Issues
|
||||||
|
- None at release time
|
||||||
|
|
||||||
|
### Acknowledgments
|
||||||
|
This release represents a significant architectural improvement to support better performance and maintainability going forward. Thank you to all contributors and users who provided feedback!
|
||||||
|
|
@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "mtg-deckbuilder"
|
name = "mtg-deckbuilder"
|
||||||
version = "2.9.1"
|
version = "3.0.0"
|
||||||
description = "A command-line tool for building and analyzing Magic: The Gathering decks"
|
description = "A command-line tool for building and analyzing Magic: The Gathering decks"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = {file = "LICENSE"}
|
license = {file = "LICENSE"}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue