From 9b73e9150bc51477fc5a036c919982cdf6d2ac95 Mon Sep 17 00:00:00 2001 From: lordlogo2002 Date: Sat, 12 Jul 2025 16:27:16 +0200 Subject: [PATCH] feat: update version to 0.2.5 and add stultus module for external API interactions --- multinut/stultus.py | 37 +++++++++++++++++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 multinut/stultus.py diff --git a/multinut/stultus.py b/multinut/stultus.py new file mode 100644 index 0000000..162322a --- /dev/null +++ b/multinut/stultus.py @@ -0,0 +1,37 @@ +# multinut/stultus.py + +import requests + +BASE_URL = "https://stultus.chipperfluff.at" + +def _get(path: str, params: dict | list = None) -> bool: + try: + r = requests.get(f"{BASE_URL}/{path}", params=params, timeout=5) + r.raise_for_status() + return r.json().get("result", False) + except Exception as e: + raise RuntimeError(f"[STULTUS] Failed logic call to '{path}': {e}") + +def EQUALS(a, b): + return _get("equals", {"a": a, "b": b}) + +def GREATER(a, b): + return _get("greater", {"a": a, "b": b}) + +def LESSER(a, b): + return _get("lesser", {"a": a, "b": b}) + +def AND(*args): + return _get("and", [("val", str(v).lower()) for v in args]) + +def OR(*args): + return _get("or", [("val", str(v).lower()) for v in args]) + +def NOT(x): + return _get("not", {"val": str(x).lower()}) + +def GREATER_EQUAL(a, b): + return OR(GREATER(a, b), EQUALS(a, b)) + +def LESSER_EQUAL(a, b): + return OR(LESSER(a, b), EQUALS(a, b)) diff --git a/setup.py b/setup.py index f117c56..36affc9 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='multinut', - version='0.2.4', + version='0.2.5', packages=find_packages(), install_requires=["dotenv"], author='Chipperfluff',