From 68ed2ab29209dfe874e452f802e4f4c7c286a057 Mon Sep 17 00:00:00 2001 From: Jan Date: Mon, 21 Jul 2025 13:10:24 +0200 Subject: [PATCH] Integrated Label Generation --- .../__pycache__/app.cpython-312.pyc | Bin 4228 -> 4907 bytes .../__pycache__/label.cpython-312.pyc | Bin 0 -> 756 bytes tools/python_utils/app.py | 24 ++++-- tools/python_utils/files/logo_stack.png | Bin 0 -> 5017 bytes tools/python_utils/files/main.typ | 69 ++++++++++++++++++ tools/python_utils/label.py | 14 ++++ tools/python_utils/python.sh | 2 +- tools/python_utils/shell.nix | 2 + 8 files changed, 103 insertions(+), 8 deletions(-) create mode 100644 tools/python_utils/__pycache__/label.cpython-312.pyc create mode 100644 tools/python_utils/files/logo_stack.png create mode 100644 tools/python_utils/files/main.typ create mode 100644 tools/python_utils/label.py diff --git a/tools/python_utils/__pycache__/app.cpython-312.pyc b/tools/python_utils/__pycache__/app.cpython-312.pyc index 72dd69d0c3b0c80d45f4bd9d62edc5771cc38c35..c62195c2bd6379577fa64159eaf0e4871eb09e59 100644 GIT binary patch delta 1214 zcmZ`%O>7fK6rR~1$KKiXI{rxrX`D2%2`jZlErGUaL={1L2!B%GQVYr2cs8y#8ywAU z6dXC&2Or>48jTQ0J(Nn7KuX{ei9=7#xoRcLl^iWOpsM21iy<5ky>!;j0wVCFdGpP; z-@Mg)@6|qBKcxJwC=y_?lDzue?wZmEpRA1@t6+dRE0_tk_fRIp0RtM+I`otPWDw?S zAR`-H=D`m0W;O@jJazDUl!Nb3M%Z5xZ5|8jTt|@UHjtTKd#s5u5702w#CRJ`FqCK` z6CNq_cxZo3tYSG2Hx$1dj?}>Vo-EUANVt3cFaX4>{pmYyM>k^r%ONOnB~FWP{t2IQ zaGd@o^hkvTJ#W~Ko|~ut3a4R$elFgGq0K+U?*({p^OAG|!sO!`nh2CAoalpo7IgkQnV2bSUR$%CRxe7yc zK^da=mC$+iBE=V)VIRHT%iOD5g46BuWx;1zU-%K=_?~+1RZ@URtNgbBgH`@2U*bCZ zGF%2%7`qHL;oOS2x&CgL%WrV%^c*05)<(Y>=ZK zEm}n#+pao&;rzK%ZGMW7A|c1Uk0@7MSY*{I*+o3pZiyzk$SEz_PIk8B7`7{S4z@!I zm-8+(U1+#G6Wg9$LtYTi0#}?}Dp;6IF+9eWZL(Aa|3v$m(cyY@xDicNPjAPP%~-k~ zOW(;iVxLscv;uqOjoW?|4?qoscZ0g5THm?>aR=vw;|*h1-)=No4u$(SH#Bb zQeNwG#W_p2=ZQBH#2XGG(y-dAbXmoGp1rbd4Na*t9GRlFI*ewR#v2+t0O=jIC-4Y_ l9|4&@RDV)M*t^REZnVWQ)C$wdNL)oQvBxpg`heod(Eqzx0aO40 delta 566 zcmZ3j)}qLJnwOW00SK1= zRgC(kBB>lH{Mi}|3`HO@ZA{Zs1l9<`%x7e%WU6G+6xuAr^pQ!&RX-y?H&wr&xH35- zUq7HIKPxr4q*%Y8D6=fFBvn5pH7PSOPq#R~v?w`svI?s=qwwSc)~Sr_o7vd>WR%%_g@-l`n|3NB}4>Ih;>zauc6Xh!&7j>;@zn7#?tGHaOqm7P`(YeUV%G zGPi7l%N-WZ4wV+~J3J!&zMZ}^l$V$+w_0emBIUBO@f9AE2G=hf46Ixos{Oj1x>r~v zZg7hgf#Pd&fS@R&*yJ=pt;zEQ11EnGl;?H^3WFlN_%6d_IU%vhRzmanIT^)2Gcz!$ Pe_#T#K8Q``7FGZNIgWB! diff --git a/tools/python_utils/__pycache__/label.cpython-312.pyc b/tools/python_utils/__pycache__/label.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..384b77f4610cac995c5365b781fd5ad87ec66927 GIT binary patch literal 756 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 j_+&ecbBQp75JLPPQIHV)wE