fablazing-cli 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/CHANGELOG.md +6 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/PKG-INFO +1 -1
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/pyproject.toml +1 -1
- fablazing_cli-0.2.1/src/fablazing_cli/__init__.py +1 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/matchup.py +18 -1
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/reference.py +3 -1
- fablazing_cli-0.2.0/src/fablazing_cli/__init__.py +0 -1
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/.gitignore +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/README.md +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/client.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/__init__.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/auth.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/card.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/hero.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/meta.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/commands/tournaments.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/config.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/main.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/output.py +0 -0
- {fablazing_cli-0.2.0 → fablazing_cli-0.2.1}/src/fablazing_cli/resolve.py +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.1
|
|
4
|
+
|
|
5
|
+
- Matchup: when no card clears the tech-card significance bar (common in
|
|
6
|
+
close matchups), show the closest candidates with their scores instead
|
|
7
|
+
of an empty section
|
|
8
|
+
|
|
3
9
|
## 0.2.0
|
|
4
10
|
|
|
5
11
|
- `fabz meta matrix`: matchup matrix for the top-N heroes (win rate +
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "fablazing-cli"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.1"
|
|
8
8
|
description = "Fablazing analytics from your terminal - Flesh and Blood matchups, meta, cards, and tournaments."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.1"
|
|
@@ -92,12 +92,29 @@ def matchup(
|
|
|
92
92
|
c.get("card_id", ""),
|
|
93
93
|
pct(c.get("frequency")),
|
|
94
94
|
pct(c.get("win_rate")),
|
|
95
|
-
f"
|
|
95
|
+
f"{c.get('wilson_improvement', 0) * 100:+.1f}%",
|
|
96
96
|
c.get("match_count", ""),
|
|
97
97
|
]
|
|
98
98
|
for c in tech[:top]
|
|
99
99
|
]
|
|
100
100
|
tables.append((f"{name} - tech cards (Wilson outperformers)", ["Card", "Freq", "WR", "Wilson delta", "Matches"], tech_rows))
|
|
101
|
+
candidates = data.get(f"{deck_key}_tech_candidates")
|
|
102
|
+
if not tech and candidates:
|
|
103
|
+
cand_rows = [
|
|
104
|
+
[
|
|
105
|
+
c.get("card_id", ""),
|
|
106
|
+
pct(c.get("frequency")),
|
|
107
|
+
pct(c.get("win_rate")),
|
|
108
|
+
f"{c.get('wilson_improvement', 0) * 100:+.1f}%",
|
|
109
|
+
c.get("match_count", ""),
|
|
110
|
+
]
|
|
111
|
+
for c in candidates[:top]
|
|
112
|
+
]
|
|
113
|
+
tables.append((
|
|
114
|
+
f"{name} - tech candidates (none met the significance bar)",
|
|
115
|
+
["Card", "Freq", "WR", "Wilson delta", "Matches"],
|
|
116
|
+
cand_rows,
|
|
117
|
+
))
|
|
101
118
|
|
|
102
119
|
game_length = data.get("game_length") or {}
|
|
103
120
|
turns = game_length.get("turns") or {}
|
|
@@ -33,7 +33,9 @@ analytics and paper tournament results for competitive Flesh and Blood.
|
|
|
33
33
|
Teklovossen) are stored under their base hero id, with transform stats
|
|
34
34
|
in deck1_transform / deck2_transform.
|
|
35
35
|
- Tech cards are Wilson-scored against the matchup baseline, so a lucky
|
|
36
|
-
streak on a small sample doesn't make the list.
|
|
36
|
+
streak on a small sample doesn't make the list. In close matchups no
|
|
37
|
+
card may clear the bar - then `tech_candidates` lists the closest
|
|
38
|
+
near-misses with their scores, explicitly marked below-threshold.
|
|
37
39
|
- Tournament standings and decklists come from official paper events.
|
|
38
40
|
- Freshness: `matchup` queries live match data (ingested every ~5
|
|
39
41
|
minutes). Meta snapshot/movers and card trends/popular are daily
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|