From 6f3357224e4d23014db8ab698a92dacaa31c1100 Mon Sep 17 00:00:00 2001 From: Lukas Mahler Date: Sun, 8 Feb 2026 12:17:54 +0100 Subject: [PATCH 1/5] Update packages --- poetry.lock | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1819c7e..123fde8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -33,6 +33,17 @@ files = [ {file = "filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58"}, ] +[[package]] +name = "filelock" +version = "3.20.3" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.10" +files = [ + {file = "filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1"}, + {file = "filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1"}, +] + [[package]] name = "identify" version = "2.6.15" @@ -49,13 +60,13 @@ license = ["ukkonen"] [[package]] name = "nodeenv" -version = "1.9.1" +version = "1.10.0" description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, + {file = "nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827"}, + {file = "nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb"}, ] [[package]] @@ -187,29 +198,32 @@ files = [ [[package]] name = "vermin" -version = "1.7.0" +version = "1.8.0" description = "Concurrently detect the minimum Python versions needed to run code" optional = false python-versions = ">=3.0" files = [ - {file = "vermin-1.7.0-py2.py3-none-any.whl", hash = "sha256:5accad5f3599e428663af9f872debe27383edb85f737406f2d20855356e6ac2f"}, - {file = "vermin-1.7.0.tar.gz", hash = "sha256:e9e3c2c901dc2ceec746d9b9e807d6639ec4233a749ad62f51bc0334fbb38707"}, + {file = "vermin-1.8.0-py3-none-any.whl", hash = "sha256:6f2b98ad697a16ed3442e81a0f0baabfc38c185b78aaab1b1fecd87bdd6640b8"}, + {file = "vermin-1.8.0.tar.gz", hash = "sha256:3621955ac2a2950175c5b4a9b2fc3bd24bd416da0388893c9eb6971264e4ca1f"}, ] [[package]] name = "virtualenv" -version = "20.35.4" +version = "20.36.1" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" files = [ - {file = "virtualenv-20.35.4-py3-none-any.whl", hash = "sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b"}, - {file = "virtualenv-20.35.4.tar.gz", hash = "sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c"}, + {file = "virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f"}, + {file = "virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba"}, ] [package.dependencies] distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" +filelock = [ + {version = ">=3.16.1,<4", markers = "python_version < \"3.10\""}, + {version = ">=3.20.1,<4", markers = "python_version >= \"3.10\""}, +] platformdirs = ">=3.9.1,<5" typing-extensions = {version = ">=4.13.2", markers = "python_version < \"3.11\""} From c29168023d813f4c469d6af33743ae692393d560 Mon Sep 17 00:00:00 2001 From: Lukas Mahler Date: Sun, 8 Feb 2026 12:18:19 +0100 Subject: [PATCH 2/5] Update 'add_pattern' readme example --- tools/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/README.md b/tools/README.md index eee454b..db9f4b8 100644 --- a/tools/README.md +++ b/tools/README.md @@ -27,7 +27,7 @@ python tools/add_pattern.py --skin "Case Hardened" --name blaze_v2 --weapon "ak- Add a new group with an icon: ```bash -python tools/add_pattern.py --skin "Case Hardened" --name blaze_iconic --weapon "ak-47:111 222" --icon "🔥" +python tools/add_pattern.py --skin "Serpent Strike" --name gem_orange --weapon "desert eagle:425,698,363" --icon "🟧" ``` Add an ordered multi-weapon group and auto-generate the helper/tests: From 86dc345e9aa424901113d63c32bcc1eb112c1277 Mon Sep 17 00:00:00 2001 From: Lukas Mahler Date: Sun, 8 Feb 2026 12:19:37 +0100 Subject: [PATCH 3/5] Add 'gem_orange' for 'desert eagle | serpent strike' --- cs2pattern/__init__.py | 5 +++-- cs2pattern/modular.py | 13 ++++++++++++- cs2pattern/pattern.json | 11 +++++++++++ tests/test_pattern.py | 10 ++++++++-- 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/cs2pattern/__init__.py b/cs2pattern/__init__.py index e14e90a..c6f6875 100644 --- a/cs2pattern/__init__.py +++ b/cs2pattern/__init__.py @@ -1,6 +1,6 @@ __author__ = "Lukas Mahler" -__version__ = "0.6.1" -__date__ = "02.11.2025" +__version__ = "0.7.0" +__date__ = "08.02.2026" __email__ = "m@hler.eu" __status__ = "Development" @@ -21,6 +21,7 @@ 'gem_diamond', 'gem_gold', 'gem_green', + 'gem_orange', 'gem_pink', 'gem_purple', 'gem_white', diff --git a/cs2pattern/modular.py b/cs2pattern/modular.py index 516321f..a1c4c5b 100644 --- a/cs2pattern/modular.py +++ b/cs2pattern/modular.py @@ -1,6 +1,6 @@ __author__ = "Lukas Mahler" __version__ = "0.0.0" -__date__ = "02.11.2025" +__date__ = "08.02.2026" __email__ = "m@hler.eu" __status__ = "Development" @@ -268,6 +268,17 @@ def gem_green() -> tuple[list[int], bool]: return _lookup_group('acid fade', 'ssg 08', 'gem_green') +def gem_orange() -> tuple[list[int], bool]: + """ + Return a pattern list for max orange 'Desert Eagle | Serpent Strike'. + + :return: A list of patterns that are special for the skin and a boolean indicating if the list is ordered. + :rtype: tuple[list[int], bool] + """ + + return _lookup_group('serpent strike', 'desert eagle', 'gem_orange') + + def gem_pink() -> tuple[list[int], bool]: """ Return a pattern list for max pink 'Glock-18 | Pink DDPAT'. diff --git a/cs2pattern/pattern.json b/cs2pattern/pattern.json index 157b0cc..d705319 100644 --- a/cs2pattern/pattern.json +++ b/cs2pattern/pattern.json @@ -603,6 +603,17 @@ } ] }, + "serpent strike": { + "desert eagle": [ + { + "name": "gem_orange", + "ordered": true, + "pattern": [ + 425, 698, 363 + ] + } + ] + }, "urban masked": { "classic knife": [ { diff --git a/tests/test_pattern.py b/tests/test_pattern.py index 27c1048..8a448fa 100644 --- a/tests/test_pattern.py +++ b/tests/test_pattern.py @@ -1,6 +1,6 @@ __author__ = "Lukas Mahler" __version__ = "1.0.0" -__date__ = "02.11.2025" +__date__ = "08.02.2026" __email__ = "m@hler.eu" __status__ = "Production" @@ -8,6 +8,7 @@ import unittest from cs2pattern import ( + PatternInfo, abyss, berries, blaze, @@ -19,6 +20,7 @@ gem_diamond, gem_gold, gem_green, + gem_orange, gem_pink, gem_purple, gem_white, @@ -31,7 +33,6 @@ paw, phoenix, pussy, - PatternInfo, ) from cs2pattern.check import ICON_MAP, _normalize_input @@ -108,6 +109,10 @@ [(True, 'gem_green', (2, 3)), ("SSG 08 | Acid Fade (Factory New)", 575)], [(False, None, None), ("SSG 08 | Acid Fade (Factory New)", 123)], + # Test gem orange + [(True, 'gem_orange', (1, 3)), ("Desert Eagle | Serpent Strike (Factory New)", 425)], + [(False, None, None), ("Desert Eagle | Serpent Strike (Factory New)", 999)], + # Test gem pink [(True, 'gem_pink', None), ("Glock-18 | Pink DDPAT (Factory New)", 600)], [(False, None, None), ("Glock-18 | Pink DDPAT (Factory New)", 700)], @@ -212,6 +217,7 @@ def test_simple_helpers(self): (blaze, 'case hardened', 'karambit', 'blaze'), (gem_diamond, 'gamma doppler', 'karambit', 'gem_diamond'), (gem_green, 'acid fade', 'ssg 08', 'gem_green'), + (gem_orange, 'serpent strike', 'desert eagle', 'gem_orange'), (gem_pink, 'pink ddpat', 'glock-18', 'gem_pink'), (grinder, 'grinder', 'glock-18', 'gem_black'), (hive_blue, 'electric hive', 'awp', 'blue_hive'), From 711042e1b53795eb198102078b83fdbbc3460dcc Mon Sep 17 00:00:00 2001 From: Lukas Mahler Date: Sun, 8 Feb 2026 12:19:55 +0100 Subject: [PATCH 4/5] Order icons by key name --- cs2pattern/icons.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/cs2pattern/icons.json b/cs2pattern/icons.json index 79c88c1..7114f49 100644 --- a/cs2pattern/icons.json +++ b/cs2pattern/icons.json @@ -1,22 +1,23 @@ { - "white_scope": "🎯", - "gem_blue": "🟦", - "gem_red": "🟥", "blaze": "🔥", - "fire_and_ice": "❄️", + "blue_hive": "🔵", "fade": "🌈", + "fire_and_ice": "❄️", + "gem_black": "⬛️", + "gem_blue": "🟦", "gem_diamond": "💎", "gem_gold": "🟨", "gem_green": "🟩", + "gem_orange": "🟧", "gem_pink": "♀️", "gem_purple": "🟪", + "gem_red": "🟥", "gem_white": "⬜️", - "gem_black": "⬛️", - "blue_hive": "🔵", + "golden_cat": "🐈", "orange_hive": "🟠", + "phoenix": "🐦‍🔥", + "pussy": "🐾", "star": "⭐", - "golden_cat": "🐈", "stoner_cat": "🌿", - "phoenix": "🐦‍🔥", - "pussy": "🐾" + "white_scope": "🎯" } From 9f2d515d9f3207fb91abf7c626673c34fe4d4c4a Mon Sep 17 00:00:00 2001 From: Lukas Mahler Date: Sun, 8 Feb 2026 12:20:08 +0100 Subject: [PATCH 5/5] Update Version to 0.7.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 61b585d..0e93874 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "cs2pattern" -version = "0.6.1" +version = "0.7.0" description = "CS2 pattern utility" authors = ["Lukas Mahler "] readme = "README.md"