Desktop app build
7f47101 parent: a1d9142 modified
README.md +22 -0 | @@ -197,6 +197,28 @@ uv run python -m regine_cli.archive_cmd restore \ | ||
| 197 | 197 | --destination ~/Desktop/RD0001.RAF |
| 198 | 198 | ``` |
| 199 | 199 | |
| 200 | +### Construire une app de bureau (macOS, Linux, Windows) | |
| 201 | + | |
| 202 | +Pour distribuer `regine-gui` sans passer par `uv run python -m`, [PyInstaller](https://pyinstaller.org/) empaquette la GUI et ses dépendances (Python, PySide6, `regine-core`) en un exécutable autonome : | |
| 203 | + | |
| 204 | +```bash | |
| 205 | +uv sync --group build # installe pyinstaller (une seule fois) | |
| 206 | +uv run pyinstaller packages/regine-gui/Regine.spec --noconfirm \ | |
| 207 | + --distpath packages/regine-gui/dist --workpath packages/regine-gui/build | |
| 208 | +``` | |
| 209 | + | |
| 210 | +Le résultat apparaît dans `packages/regine-gui/dist/` : | |
| 211 | + | |
| 212 | +- **macOS** → `Regine.app`, double-cliquable (non signé : au premier lancement, clic droit → Ouvrir pour passer l'avertissement Gatekeeper « développeur non identifié »). | |
| 213 | +- **Linux/Windows** → un dossier `Regine/` contenant l'exécutable (`Regine` ou `Regine.exe`) et ses dépendances — pas de `.app`, ce format étant spécifique à macOS. | |
| 214 | + | |
| 215 | +**Est-ce que ça marche aussi sous Linux et Windows ?** PyInstaller lui-même est multiplateforme et le même `Regine.spec` fonctionne tel quel sur les trois OS (les instructions spécifiques à macOS, comme la création du `.app`, ne s'exécutent simplement pas ailleurs). Deux limites à connaître : | |
| 216 | + | |
| 217 | +- **Pas de cross-compilation** : PyInstaller empaquette pour l'OS sur lequel il tourne. Pour produire un exécutable Windows, il faut lancer cette commande *sur* une machine Windows (idem Linux) — un Mac ne peut pas fabriquer de `.exe`. | |
| 218 | +- **`exiftool` reste une dépendance externe non embarquée**, sur les trois plateformes : `regine-core` l'invoque en sous-processus (binaire système, pas un paquet Python), donc chaque machine cible doit l'avoir installé séparément, packaging ou non. | |
| 219 | + | |
| 220 | +Cette configuration n'a été construite et testée que sur macOS pour l'instant — un build Linux/Windows n'a pas encore été essayé en pratique, mais repose sur le même mécanisme. | |
| 221 | + | |
| 200 | 222 | ## Architecture du monorepo |
| 201 | 223 | |
| 202 | 224 | Une bibliothèque centrale porte toute la logique métier ; chaque interface (CLI aujourd'hui, GUI et agent IA demain) n'est qu'une façade fine au-dessus, sans logique dupliquée — Principe VI de la constitution. |
| @@ -197,6 +197,28 @@ uv run python -m regine_cli.archive_cmd restore \ | |||
| 197 | --destination ~/Desktop/RD0001.RAF | 197 | --destination ~/Desktop/RD0001.RAF |
| 198 | ``` | 198 | ``` |
| 199 | 199 | ||
| 200 | +### Construire une app de bureau (macOS, Linux, Windows) | ||
| 201 | + | ||
| 202 | +Pour distribuer `regine-gui` sans passer par `uv run python -m`, [PyInstaller](https://pyinstaller.org/) empaquette la GUI et ses dépendances (Python, PySide6, `regine-core`) en un exécutable autonome : | ||
| 203 | + | ||
| 204 | +```bash | ||
| 205 | +uv sync --group build # installe pyinstaller (une seule fois) | ||
| 206 | +uv run pyinstaller packages/regine-gui/Regine.spec --noconfirm \ | ||
| 207 | + --distpath packages/regine-gui/dist --workpath packages/regine-gui/build | ||
| 208 | +``` | ||
| 209 | + | ||
| 210 | +Le résultat apparaît dans `packages/regine-gui/dist/` : | ||
| 211 | + | ||
| 212 | +- **macOS** → `Regine.app`, double-cliquable (non signé : au premier lancement, clic droit → Ouvrir pour passer l'avertissement Gatekeeper « développeur non identifié »). | ||
| 213 | +- **Linux/Windows** → un dossier `Regine/` contenant l'exécutable (`Regine` ou `Regine.exe`) et ses dépendances — pas de `.app`, ce format étant spécifique à macOS. | ||
| 214 | + | ||
| 215 | +**Est-ce que ça marche aussi sous Linux et Windows ?** PyInstaller lui-même est multiplateforme et le même `Regine.spec` fonctionne tel quel sur les trois OS (les instructions spécifiques à macOS, comme la création du `.app`, ne s'exécutent simplement pas ailleurs). Deux limites à connaître : | ||
| 216 | + | ||
| 217 | +- **Pas de cross-compilation** : PyInstaller empaquette pour l'OS sur lequel il tourne. Pour produire un exécutable Windows, il faut lancer cette commande *sur* une machine Windows (idem Linux) — un Mac ne peut pas fabriquer de `.exe`. | ||
| 218 | +- **`exiftool` reste une dépendance externe non embarquée**, sur les trois plateformes : `regine-core` l'invoque en sous-processus (binaire système, pas un paquet Python), donc chaque machine cible doit l'avoir installé séparément, packaging ou non. | ||
| 219 | + | ||
| 220 | +Cette configuration n'a été construite et testée que sur macOS pour l'instant — un build Linux/Windows n'a pas encore été essayé en pratique, mais repose sur le même mécanisme. | ||
| 221 | + | ||
| 200 | ## Architecture du monorepo | 222 | ## Architecture du monorepo |
| 201 | 223 | ||
| 202 | Une bibliothèque centrale porte toute la logique métier ; chaque interface (CLI aujourd'hui, GUI et agent IA demain) n'est qu'une façade fine au-dessus, sans logique dupliquée — Principe VI de la constitution. | 224 | Une bibliothèque centrale porte toute la logique métier ; chaque interface (CLI aujourd'hui, GUI et agent IA demain) n'est qu'une façade fine au-dessus, sans logique dupliquée — Principe VI de la constitution. |
added
packages/regine-gui/Regine.spec +55 -0 | new file mode 100644 | ||
| @@ -0,0 +1,55 @@ | ||
| 1 | +# -*- mode: python ; coding: utf-8 -*- | |
| 2 | +# | |
| 3 | +# Génère Regine.app (macOS). Pour reconstruire après un changement de code, | |
| 4 | +# depuis la racine du dépôt : | |
| 5 | +# uv run pyinstaller packages/regine-gui/Regine.spec --noconfirm \ | |
| 6 | +# --distpath packages/regine-gui/dist --workpath packages/regine-gui/build | |
| 7 | +# L'app générée est dans packages/regine-gui/dist/Regine.app. | |
| 8 | + | |
| 9 | +a = Analysis( | |
| 10 | + ['src/regine_gui/app.py'], | |
| 11 | + pathex=[], | |
| 12 | + binaries=[], | |
| 13 | + datas=[], | |
| 14 | + hiddenimports=[], | |
| 15 | + hookspath=[], | |
| 16 | + hooksconfig={}, | |
| 17 | + runtime_hooks=[], | |
| 18 | + excludes=[], | |
| 19 | + noarchive=False, | |
| 20 | + optimize=0, | |
| 21 | +) | |
| 22 | +pyz = PYZ(a.pure) | |
| 23 | + | |
| 24 | +exe = EXE( | |
| 25 | + pyz, | |
| 26 | + a.scripts, | |
| 27 | + [], | |
| 28 | + exclude_binaries=True, | |
| 29 | + name='Regine', | |
| 30 | + debug=False, | |
| 31 | + bootloader_ignore_signals=False, | |
| 32 | + strip=False, | |
| 33 | + upx=True, | |
| 34 | + console=False, | |
| 35 | + disable_windowed_traceback=False, | |
| 36 | + argv_emulation=False, | |
| 37 | + target_arch=None, | |
| 38 | + codesign_identity=None, | |
| 39 | + entitlements_file=None, | |
| 40 | +) | |
| 41 | +coll = COLLECT( | |
| 42 | + exe, | |
| 43 | + a.binaries, | |
| 44 | + a.datas, | |
| 45 | + strip=False, | |
| 46 | + upx=True, | |
| 47 | + upx_exclude=[], | |
| 48 | + name='Regine', | |
| 49 | +) | |
| 50 | +app = BUNDLE( | |
| 51 | + coll, | |
| 52 | + name='Regine.app', | |
| 53 | + icon=None, # pas d'icône dédiée pour l'instant — ajouter un .icns ici le jour venu | |
| 54 | + bundle_identifier='com.regine.gui', | |
| 55 | +) | |
| new file mode 100644 | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | +# -*- mode: python ; coding: utf-8 -*- | ||
| 2 | +# | ||
| 3 | +# Génère Regine.app (macOS). Pour reconstruire après un changement de code, | ||
| 4 | +# depuis la racine du dépôt : | ||
| 5 | +# uv run pyinstaller packages/regine-gui/Regine.spec --noconfirm \ | ||
| 6 | +# --distpath packages/regine-gui/dist --workpath packages/regine-gui/build | ||
| 7 | +# L'app générée est dans packages/regine-gui/dist/Regine.app. | ||
| 8 | + | ||
| 9 | +a = Analysis( | ||
| 10 | + ['src/regine_gui/app.py'], | ||
| 11 | + pathex=[], | ||
| 12 | + binaries=[], | ||
| 13 | + datas=[], | ||
| 14 | + hiddenimports=[], | ||
| 15 | + hookspath=[], | ||
| 16 | + hooksconfig={}, | ||
| 17 | + runtime_hooks=[], | ||
| 18 | + excludes=[], | ||
| 19 | + noarchive=False, | ||
| 20 | + optimize=0, | ||
| 21 | +) | ||
| 22 | +pyz = PYZ(a.pure) | ||
| 23 | + | ||
| 24 | +exe = EXE( | ||
| 25 | + pyz, | ||
| 26 | + a.scripts, | ||
| 27 | + [], | ||
| 28 | + exclude_binaries=True, | ||
| 29 | + name='Regine', | ||
| 30 | + debug=False, | ||
| 31 | + bootloader_ignore_signals=False, | ||
| 32 | + strip=False, | ||
| 33 | + upx=True, | ||
| 34 | + console=False, | ||
| 35 | + disable_windowed_traceback=False, | ||
| 36 | + argv_emulation=False, | ||
| 37 | + target_arch=None, | ||
| 38 | + codesign_identity=None, | ||
| 39 | + entitlements_file=None, | ||
| 40 | +) | ||
| 41 | +coll = COLLECT( | ||
| 42 | + exe, | ||
| 43 | + a.binaries, | ||
| 44 | + a.datas, | ||
| 45 | + strip=False, | ||
| 46 | + upx=True, | ||
| 47 | + upx_exclude=[], | ||
| 48 | + name='Regine', | ||
| 49 | +) | ||
| 50 | +app = BUNDLE( | ||
| 51 | + coll, | ||
| 52 | + name='Regine.app', | ||
| 53 | + icon=None, # pas d'icône dédiée pour l'instant — ajouter un .icns ici le jour venu | ||
| 54 | + bundle_identifier='com.regine.gui', | ||
| 55 | +) | ||
modified
pyproject.toml +3 -0 | @@ -13,3 +13,6 @@ dev = [ | ||
| 13 | 13 | "pytest>=9.1.1", |
| 14 | 14 | "ruff>=0.16.8", |
| 15 | 15 | ] |
| 16 | +build = [ | |
| 17 | + "pyinstaller>=6.11", | |
| 18 | +] | |
| @@ -13,3 +13,6 @@ dev = [ | |||
| 13 | "pytest>=9.1.1", | 13 | "pytest>=9.1.1", |
| 14 | "ruff>=0.16.8", | 14 | "ruff>=0.16.8", |
| 15 | ] | 15 | ] |
| 16 | +build = [ | ||
| 17 | + "pyinstaller>=6.11", | ||
| 18 | +] | ||
modified
uv.lock +89 -0 | @@ -11,11 +11,21 @@ members = [ | ||
| 11 | 11 | ] |
| 12 | 12 | |
| 13 | 13 | [manifest.dependency-groups] |
| 14 | +build = [{ name = "pyinstaller", specifier = ">=6.11" }] | |
| 14 | 15 | dev = [ |
| 15 | 16 | { name = "pytest", specifier = ">=9.1.1" }, |
| 16 | 17 | { name = "ruff", specifier = ">=0.16.8" }, |
| 17 | 18 | ] |
| 18 | 19 | |
| 20 | +[[package]] | |
| 21 | +name = "altgraph" | |
| 22 | +version = "0.17.5" | |
| 23 | +source = { registry = "https://pypi.org/simple" } | |
| 24 | +sdist = { url = "https://files.pythonhosted.org/packages/7e/f8/97fdf103f38fed6792a1601dbc16cc8aac56e7459a9fff08c812d8ae177a/altgraph-0.17.5.tar.gz", hash = "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", size = 48428, upload-time = "2025-11-21T20:35:50.583Z" } | |
| 25 | +wheels = [ | |
| 26 | + { url = "https://files.pythonhosted.org/packages/a9/ba/000a1996d4308bc65120167c21241a3b205464a2e0b58deda26ae8ac21d1/altgraph-0.17.5-py2.py3-none-any.whl", hash = "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597", size = 21228, upload-time = "2025-11-21T20:35:49.444Z" }, | |
| 27 | +] | |
| 28 | + | |
| 19 | 29 | [[package]] |
| 20 | 30 | name = "colorama" |
| 21 | 31 | version = "0.4.6" |
| @@ -34,6 +44,18 @@ wheels = [ | ||
| 34 | 44 | { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, |
| 35 | 45 | ] |
| 36 | 46 | |
| 47 | +[[package]] | |
| 48 | +name = "macholib" | |
| 49 | +version = "1.16.4" | |
| 50 | +source = { registry = "https://pypi.org/simple" } | |
| 51 | +dependencies = [ | |
| 52 | + { name = "altgraph" }, | |
| 53 | +] | |
| 54 | +sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 59427, upload-time = "2025-11-22T08:28:38.373Z" } | |
| 55 | +wheels = [ | |
| 56 | + { url = "https://files.pythonhosted.org/packages/c7/d1/a9f36f8ecdf0fb7c9b1e78c8d7af12b8c8754e74851ac7b94a8305540fc7/macholib-1.16.4-py2.py3-none-any.whl", hash = "sha256:da1a3fa8266e30f0ce7e97c6a54eefaae8edd1e5f86f3eb8b95457cae90265ea", size = 38117, upload-time = "2025-11-22T08:28:36.939Z" }, | |
| 57 | +] | |
| 58 | + | |
| 37 | 59 | [[package]] |
| 38 | 60 | name = "packaging" |
| 39 | 61 | version = "26.3" |
| @@ -43,6 +65,15 @@ wheels = [ | ||
| 43 | 65 | { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, |
| 44 | 66 | ] |
| 45 | 67 | |
| 68 | +[[package]] | |
| 69 | +name = "pefile" | |
| 70 | +version = "2024.8.26" | |
| 71 | +source = { registry = "https://pypi.org/simple" } | |
| 72 | +sdist = { url = "https://files.pythonhosted.org/packages/03/4f/2750f7f6f025a1507cd3b7218691671eecfd0bbebebe8b39aa0fe1d360b8/pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632", size = 76008, upload-time = "2024-08-26T20:58:38.155Z" } | |
| 73 | +wheels = [ | |
| 74 | + { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f", size = 74766, upload-time = "2024-08-26T21:01:02.632Z" }, | |
| 75 | +] | |
| 76 | + | |
| 46 | 77 | [[package]] |
| 47 | 78 | name = "pluggy" |
| 48 | 79 | version = "1.6.0" |
| @@ -61,6 +92,46 @@ wheels = [ | ||
| 61 | 92 | { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, |
| 62 | 93 | ] |
| 63 | 94 | |
| 95 | +[[package]] | |
| 96 | +name = "pyinstaller" | |
| 97 | +version = "6.22.3" | |
| 98 | +source = { registry = "https://pypi.org/simple" } | |
| 99 | +dependencies = [ | |
| 100 | + { name = "altgraph" }, | |
| 101 | + { name = "macholib", marker = "sys_platform == 'darwin'" }, | |
| 102 | + { name = "packaging" }, | |
| 103 | + { name = "pefile", marker = "sys_platform == 'win32'" }, | |
| 104 | + { name = "pyinstaller-hooks-contrib" }, | |
| 105 | + { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, | |
| 106 | + { name = "setuptools" }, | |
| 107 | +] | |
| 108 | +sdist = { url = "https://files.pythonhosted.org/packages/63/41/f90302845945abd4ed647933ff5ee7c6ac93983187be67f897b6cb613331/pyinstaller-6.22.3.tar.gz", hash = "sha256:05eb2f5615503e72939a7224d68b4aff572c6b0438ee4a17d0a4b481f399362d", size = 4437180, upload-time = "2026-09-12T21:54:09.669Z" } | |
| 109 | +wheels = [ | |
| 110 | + { url = "https://files.pythonhosted.org/packages/ec/af/898f70947e27f8e65d55183c780e77112e023c0b4a6fba6255d4d563a27d/pyinstaller-6.22.3-py3-none-macosx_10_13_universal2.whl", hash = "sha256:052f4a1cd4f81092ccb7a18fe8ebc9ecf832a5917317e39fb3775af4e959b253", size = 1071847, upload-time = "2026-09-12T21:53:01.711Z" }, | |
| 111 | + { url = "https://files.pythonhosted.org/packages/c4/96/99f5184985141c2b024bfa61335e9142ae444555224f303186e59b7bb438/pyinstaller-6.22.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:312da84b4b31ab9750066a823734c11b7c68757fdd67c9f038bf19c330a954e4", size = 758172, upload-time = "2026-09-12T21:53:06.171Z" }, | |
| 112 | + { url = "https://files.pythonhosted.org/packages/69/9f/9ccb12cc1e6617042cb028fe79f0a756f5f03305bd14b584a4e043fe3844/pyinstaller-6.22.3-py3-none-manylinux2014_i686.whl", hash = "sha256:020d4fe0627f5c73dfbcfad1a6578ef354d5fe4bdccd9d8e5a615528f5a45d2b", size = 772135, upload-time = "2026-09-12T21:53:10.291Z" }, | |
| 113 | + { url = "https://files.pythonhosted.org/packages/c1/43/4b1d5193a88628c052db89f064433681076959a9f41d0d9f660001b49079/pyinstaller-6.22.3-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:9e4f7bd64b2103f14b4a6240fb9155e9fe7bc61391b4043bbddb7d3ebc8ab0fa", size = 770461, upload-time = "2026-09-12T21:53:14.592Z" }, | |
| 114 | + { url = "https://files.pythonhosted.org/packages/cb/83/f173f8757c618d83e116fa2b8e57c5cd796e5ad09792e664eabd6ac5edae/pyinstaller-6.22.3-py3-none-manylinux2014_s390x.whl", hash = "sha256:f82d0fb89f21c3ed6f482ee16f341bc59e8a31dbabb9bae9ef04e53ade4dc0d9", size = 764997, upload-time = "2026-09-12T21:53:19.079Z" }, | |
| 115 | + { url = "https://files.pythonhosted.org/packages/7b/b6/dd21d61fc5e25377be24eabf13e99e4e46548a5abe2bf7b15d8b3d9cc74a/pyinstaller-6.22.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:451a4ae14b719365bf1a2f0a99dae7b3463060061c3a394c70d5264cfb439528", size = 764974, upload-time = "2026-09-12T21:53:23.176Z" }, | |
| 116 | + { url = "https://files.pythonhosted.org/packages/6c/fd/d9590942972b1fc205519f7ccffb0d5cd8eb1d6fa61edad319c71d25baed/pyinstaller-6.22.3-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:ea240b5dfa831ff673c97505eee0ec24670bccf71396c83109440348944c83d0", size = 764450, upload-time = "2026-09-12T21:53:27.419Z" }, | |
| 117 | + { url = "https://files.pythonhosted.org/packages/72/d6/f22c55d1768433b65c460b19a3136dd9769b6c74b786149b829344654c7d/pyinstaller-6.22.3-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:a2b6fc26601e8c2596c3d54981566934a3382e85d05d0fe91b55b6a8dcc6b282", size = 763863, upload-time = "2026-09-12T21:53:31.609Z" }, | |
| 118 | + { url = "https://files.pythonhosted.org/packages/c5/87/cf28cfd42ceca889171e6dd5e7f1553d4372db83d047049ffb7cf95fcbd4/pyinstaller-6.22.3-py3-none-win32.whl", hash = "sha256:46a3e30a118341a1ec20667a5a95aa7e0aa8c4fa129893c0151b3eb3f801a722", size = 1390905, upload-time = "2026-09-12T21:53:38.133Z" }, | |
| 119 | + { url = "https://files.pythonhosted.org/packages/24/83/c5422204772a27aef643280fdc887b7ef55679989096b21dceb1b9625fc4/pyinstaller-6.22.3-py3-none-win_amd64.whl", hash = "sha256:500bd58c7bf7e584a8435adccbd763a0b918d5c12b08d74ff50fd79b2915458b", size = 1454907, upload-time = "2026-09-12T21:53:44.812Z" }, | |
| 120 | + { url = "https://files.pythonhosted.org/packages/67/2e/ebc93968bf63f81b122e205da116b16036b653b7ce2cc8ad86e3ddd19586/pyinstaller-6.22.3-py3-none-win_arm64.whl", hash = "sha256:31df3cc4261e804a53d358b7897c293ec8b88b167a7cca06c78018085c855f97", size = 1402956, upload-time = "2026-09-12T21:53:51.369Z" }, | |
| 121 | +] | |
| 122 | + | |
| 123 | +[[package]] | |
| 124 | +name = "pyinstaller-hooks-contrib" | |
| 125 | +version = "2026.7" | |
| 126 | +source = { registry = "https://pypi.org/simple" } | |
| 127 | +dependencies = [ | |
| 128 | + { name = "packaging" }, | |
| 129 | +] | |
| 130 | +sdist = { url = "https://files.pythonhosted.org/packages/26/60/d881fa1ba8c160c18d8e6f782bb16ec4640c08bc08fc50f704c368ad4f9e/pyinstaller_hooks_contrib-2026.7.tar.gz", hash = "sha256:5fbcaacb22c4f4aac869a127dce283f67a4b4cfcc37d496f2446603e6d68aefa", size = 175992, upload-time = "2026-08-24T21:26:58.713Z" } | |
| 131 | +wheels = [ | |
| 132 | + { url = "https://files.pythonhosted.org/packages/0a/67/350377af7b50416344ab8792756d414eef7629c618a73e9a0b13bb1552d9/pyinstaller_hooks_contrib-2026.7-py3-none-any.whl", hash = "sha256:24257a04c7a5a7a034cf28e39dcee20fbeeb9f043076729480f2e1b69904408a", size = 459445, upload-time = "2026-08-24T21:26:57.274Z" }, | |
| 133 | +] | |
| 134 | + | |
| 64 | 135 | [[package]] |
| 65 | 136 | name = "pyside6" |
| 66 | 137 | version = "6.11.2" |
| @@ -125,6 +196,15 @@ wheels = [ | ||
| 125 | 196 | { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" }, |
| 126 | 197 | ] |
| 127 | 198 | |
| 199 | +[[package]] | |
| 200 | +name = "pywin32-ctypes" | |
| 201 | +version = "0.2.3" | |
| 202 | +source = { registry = "https://pypi.org/simple" } | |
| 203 | +sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } | |
| 204 | +wheels = [ | |
| 205 | + { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, | |
| 206 | +] | |
| 207 | + | |
| 128 | 208 | [[package]] |
| 129 | 209 | name = "regine-agent" |
| 130 | 210 | version = "0.1.0" |
| @@ -192,6 +272,15 @@ wheels = [ | ||
| 192 | 272 | { url = "https://files.pythonhosted.org/packages/fe/a0/50787329e4f20bf9dc9f6230015d46ec69c51a97ace5bc202dae4755365d/ruff-0.16.8-py3-none-win_arm64.whl", hash = "sha256:d075e820af612102ce217f07cc93e69f9490b10ec13ea85fa87bd03d996cef8a", size = 10386316, upload-time = "2026-09-16T15:54:43.332Z" }, |
| 193 | 273 | ] |
| 194 | 274 | |
| 275 | +[[package]] | |
| 276 | +name = "setuptools" | |
| 277 | +version = "84.0.0" | |
| 278 | +source = { registry = "https://pypi.org/simple" } | |
| 279 | +sdist = { url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz", hash = "sha256:f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73", size = 1168449, upload-time = "2026-08-08T18:27:58.365Z" } | |
| 280 | +wheels = [ | |
| 281 | + { url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl", hash = "sha256:51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670", size = 818216, upload-time = "2026-08-08T18:27:56.719Z" }, | |
| 282 | +] | |
| 283 | + | |
| 195 | 284 | [[package]] |
| 196 | 285 | name = "shiboken6" |
| 197 | 286 | version = "6.11.2" |
| @@ -11,11 +11,21 @@ members = [ | |||
| 11 | ] | 11 | ] |
| 12 | 12 | ||
| 13 | [manifest.dependency-groups] | 13 | [manifest.dependency-groups] |
| 14 | +build = [{ name = "pyinstaller", specifier = ">=6.11" }] | ||
| 14 | dev = [ | 15 | dev = [ |
| 15 | { name = "pytest", specifier = ">=9.1.1" }, | 16 | { name = "pytest", specifier = ">=9.1.1" }, |
| 16 | { name = "ruff", specifier = ">=0.16.8" }, | 17 | { name = "ruff", specifier = ">=0.16.8" }, |
| 17 | ] | 18 | ] |
| 18 | 19 | ||
| 20 | +[[package]] | ||
| 21 | +name = "altgraph" | ||
| 22 | +version = "0.17.5" | ||
| 23 | +source = { registry = "https://pypi.org/simple" } | ||
| 24 | +sdist = { url = "https://files.pythonhosted.org/packages/7e/f8/97fdf103f38fed6792a1601dbc16cc8aac56e7459a9fff08c812d8ae177a/altgraph-0.17.5.tar.gz", hash = "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", size = 48428, upload-time = "2025-11-21T20:35:50.583Z" } | ||
| 25 | +wheels = [ | ||
| 26 | + { url = "https://files.pythonhosted.org/packages/a9/ba/000a1996d4308bc65120167c21241a3b205464a2e0b58deda26ae8ac21d1/altgraph-0.17.5-py2.py3-none-any.whl", hash = "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597", size = 21228, upload-time = "2025-11-21T20:35:49.444Z" }, | ||
| 27 | +] | ||
| 28 | + | ||
| 19 | [[package]] | 29 | [[package]] |
| 20 | name = "colorama" | 30 | name = "colorama" |
| 21 | version = "0.4.6" | 31 | version = "0.4.6" |
| @@ -34,6 +44,18 @@ wheels = [ | |||
| 34 | { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, | 44 | { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, |
| 35 | ] | 45 | ] |
| 36 | 46 | ||
| 47 | +[[package]] | ||
| 48 | +name = "macholib" | ||
| 49 | +version = "1.16.4" | ||
| 50 | +source = { registry = "https://pypi.org/simple" } | ||
| 51 | +dependencies = [ | ||
| 52 | + { name = "altgraph" }, | ||
| 53 | +] | ||
| 54 | +sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 59427, upload-time = "2025-11-22T08:28:38.373Z" } | ||
| 55 | +wheels = [ | ||
| 56 | + { url = "https://files.pythonhosted.org/packages/c7/d1/a9f36f8ecdf0fb7c9b1e78c8d7af12b8c8754e74851ac7b94a8305540fc7/macholib-1.16.4-py2.py3-none-any.whl", hash = "sha256:da1a3fa8266e30f0ce7e97c6a54eefaae8edd1e5f86f3eb8b95457cae90265ea", size = 38117, upload-time = "2025-11-22T08:28:36.939Z" }, | ||
| 57 | +] | ||
| 58 | + | ||
| 37 | [[package]] | 59 | [[package]] |
| 38 | name = "packaging" | 60 | name = "packaging" |
| 39 | version = "26.3" | 61 | version = "26.3" |
| @@ -43,6 +65,15 @@ wheels = [ | |||
| 43 | { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, | 65 | { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, |
| 44 | ] | 66 | ] |
| 45 | 67 | ||
| 68 | +[[package]] | ||
| 69 | +name = "pefile" | ||
| 70 | +version = "2024.8.26" | ||
| 71 | +source = { registry = "https://pypi.org/simple" } | ||
| 72 | +sdist = { url = "https://files.pythonhosted.org/packages/03/4f/2750f7f6f025a1507cd3b7218691671eecfd0bbebebe8b39aa0fe1d360b8/pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632", size = 76008, upload-time = "2024-08-26T20:58:38.155Z" } | ||
| 73 | +wheels = [ | ||
| 74 | + { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f", size = 74766, upload-time = "2024-08-26T21:01:02.632Z" }, | ||
| 75 | +] | ||
| 76 | + | ||
| 46 | [[package]] | 77 | [[package]] |
| 47 | name = "pluggy" | 78 | name = "pluggy" |
| 48 | version = "1.6.0" | 79 | version = "1.6.0" |
| @@ -61,6 +92,46 @@ wheels = [ | |||
| 61 | { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, | 92 | { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, |
| 62 | ] | 93 | ] |
| 63 | 94 | ||
| 95 | +[[package]] | ||
| 96 | +name = "pyinstaller" | ||
| 97 | +version = "6.22.3" | ||
| 98 | +source = { registry = "https://pypi.org/simple" } | ||
| 99 | +dependencies = [ | ||
| 100 | + { name = "altgraph" }, | ||
| 101 | + { name = "macholib", marker = "sys_platform == 'darwin'" }, | ||
| 102 | + { name = "packaging" }, | ||
| 103 | + { name = "pefile", marker = "sys_platform == 'win32'" }, | ||
| 104 | + { name = "pyinstaller-hooks-contrib" }, | ||
| 105 | + { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, | ||
| 106 | + { name = "setuptools" }, | ||
| 107 | +] | ||
| 108 | +sdist = { url = "https://files.pythonhosted.org/packages/63/41/f90302845945abd4ed647933ff5ee7c6ac93983187be67f897b6cb613331/pyinstaller-6.22.3.tar.gz", hash = "sha256:05eb2f5615503e72939a7224d68b4aff572c6b0438ee4a17d0a4b481f399362d", size = 4437180, upload-time = "2026-09-12T21:54:09.669Z" } | ||
| 109 | +wheels = [ | ||
| 110 | + { url = "https://files.pythonhosted.org/packages/ec/af/898f70947e27f8e65d55183c780e77112e023c0b4a6fba6255d4d563a27d/pyinstaller-6.22.3-py3-none-macosx_10_13_universal2.whl", hash = "sha256:052f4a1cd4f81092ccb7a18fe8ebc9ecf832a5917317e39fb3775af4e959b253", size = 1071847, upload-time = "2026-09-12T21:53:01.711Z" }, | ||
| 111 | + { url = "https://files.pythonhosted.org/packages/c4/96/99f5184985141c2b024bfa61335e9142ae444555224f303186e59b7bb438/pyinstaller-6.22.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:312da84b4b31ab9750066a823734c11b7c68757fdd67c9f038bf19c330a954e4", size = 758172, upload-time = "2026-09-12T21:53:06.171Z" }, | ||
| 112 | + { url = "https://files.pythonhosted.org/packages/69/9f/9ccb12cc1e6617042cb028fe79f0a756f5f03305bd14b584a4e043fe3844/pyinstaller-6.22.3-py3-none-manylinux2014_i686.whl", hash = "sha256:020d4fe0627f5c73dfbcfad1a6578ef354d5fe4bdccd9d8e5a615528f5a45d2b", size = 772135, upload-time = "2026-09-12T21:53:10.291Z" }, | ||
| 113 | + { url = "https://files.pythonhosted.org/packages/c1/43/4b1d5193a88628c052db89f064433681076959a9f41d0d9f660001b49079/pyinstaller-6.22.3-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:9e4f7bd64b2103f14b4a6240fb9155e9fe7bc61391b4043bbddb7d3ebc8ab0fa", size = 770461, upload-time = "2026-09-12T21:53:14.592Z" }, | ||
| 114 | + { url = "https://files.pythonhosted.org/packages/cb/83/f173f8757c618d83e116fa2b8e57c5cd796e5ad09792e664eabd6ac5edae/pyinstaller-6.22.3-py3-none-manylinux2014_s390x.whl", hash = "sha256:f82d0fb89f21c3ed6f482ee16f341bc59e8a31dbabb9bae9ef04e53ade4dc0d9", size = 764997, upload-time = "2026-09-12T21:53:19.079Z" }, | ||
| 115 | + { url = "https://files.pythonhosted.org/packages/7b/b6/dd21d61fc5e25377be24eabf13e99e4e46548a5abe2bf7b15d8b3d9cc74a/pyinstaller-6.22.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:451a4ae14b719365bf1a2f0a99dae7b3463060061c3a394c70d5264cfb439528", size = 764974, upload-time = "2026-09-12T21:53:23.176Z" }, | ||
| 116 | + { url = "https://files.pythonhosted.org/packages/6c/fd/d9590942972b1fc205519f7ccffb0d5cd8eb1d6fa61edad319c71d25baed/pyinstaller-6.22.3-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:ea240b5dfa831ff673c97505eee0ec24670bccf71396c83109440348944c83d0", size = 764450, upload-time = "2026-09-12T21:53:27.419Z" }, | ||
| 117 | + { url = "https://files.pythonhosted.org/packages/72/d6/f22c55d1768433b65c460b19a3136dd9769b6c74b786149b829344654c7d/pyinstaller-6.22.3-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:a2b6fc26601e8c2596c3d54981566934a3382e85d05d0fe91b55b6a8dcc6b282", size = 763863, upload-time = "2026-09-12T21:53:31.609Z" }, | ||
| 118 | + { url = "https://files.pythonhosted.org/packages/c5/87/cf28cfd42ceca889171e6dd5e7f1553d4372db83d047049ffb7cf95fcbd4/pyinstaller-6.22.3-py3-none-win32.whl", hash = "sha256:46a3e30a118341a1ec20667a5a95aa7e0aa8c4fa129893c0151b3eb3f801a722", size = 1390905, upload-time = "2026-09-12T21:53:38.133Z" }, | ||
| 119 | + { url = "https://files.pythonhosted.org/packages/24/83/c5422204772a27aef643280fdc887b7ef55679989096b21dceb1b9625fc4/pyinstaller-6.22.3-py3-none-win_amd64.whl", hash = "sha256:500bd58c7bf7e584a8435adccbd763a0b918d5c12b08d74ff50fd79b2915458b", size = 1454907, upload-time = "2026-09-12T21:53:44.812Z" }, | ||
| 120 | + { url = "https://files.pythonhosted.org/packages/67/2e/ebc93968bf63f81b122e205da116b16036b653b7ce2cc8ad86e3ddd19586/pyinstaller-6.22.3-py3-none-win_arm64.whl", hash = "sha256:31df3cc4261e804a53d358b7897c293ec8b88b167a7cca06c78018085c855f97", size = 1402956, upload-time = "2026-09-12T21:53:51.369Z" }, | ||
| 121 | +] | ||
| 122 | + | ||
| 123 | +[[package]] | ||
| 124 | +name = "pyinstaller-hooks-contrib" | ||
| 125 | +version = "2026.7" | ||
| 126 | +source = { registry = "https://pypi.org/simple" } | ||
| 127 | +dependencies = [ | ||
| 128 | + { name = "packaging" }, | ||
| 129 | +] | ||
| 130 | +sdist = { url = "https://files.pythonhosted.org/packages/26/60/d881fa1ba8c160c18d8e6f782bb16ec4640c08bc08fc50f704c368ad4f9e/pyinstaller_hooks_contrib-2026.7.tar.gz", hash = "sha256:5fbcaacb22c4f4aac869a127dce283f67a4b4cfcc37d496f2446603e6d68aefa", size = 175992, upload-time = "2026-08-24T21:26:58.713Z" } | ||
| 131 | +wheels = [ | ||
| 132 | + { url = "https://files.pythonhosted.org/packages/0a/67/350377af7b50416344ab8792756d414eef7629c618a73e9a0b13bb1552d9/pyinstaller_hooks_contrib-2026.7-py3-none-any.whl", hash = "sha256:24257a04c7a5a7a034cf28e39dcee20fbeeb9f043076729480f2e1b69904408a", size = 459445, upload-time = "2026-08-24T21:26:57.274Z" }, | ||
| 133 | +] | ||
| 134 | + | ||
| 64 | [[package]] | 135 | [[package]] |
| 65 | name = "pyside6" | 136 | name = "pyside6" |
| 66 | version = "6.11.2" | 137 | version = "6.11.2" |
| @@ -125,6 +196,15 @@ wheels = [ | |||
| 125 | { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" }, | 196 | { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" }, |
| 126 | ] | 197 | ] |
| 127 | 198 | ||
| 199 | +[[package]] | ||
| 200 | +name = "pywin32-ctypes" | ||
| 201 | +version = "0.2.3" | ||
| 202 | +source = { registry = "https://pypi.org/simple" } | ||
| 203 | +sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } | ||
| 204 | +wheels = [ | ||
| 205 | + { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, | ||
| 206 | +] | ||
| 207 | + | ||
| 128 | [[package]] | 208 | [[package]] |
| 129 | name = "regine-agent" | 209 | name = "regine-agent" |
| 130 | version = "0.1.0" | 210 | version = "0.1.0" |
| @@ -192,6 +272,15 @@ wheels = [ | |||
| 192 | { url = "https://files.pythonhosted.org/packages/fe/a0/50787329e4f20bf9dc9f6230015d46ec69c51a97ace5bc202dae4755365d/ruff-0.16.8-py3-none-win_arm64.whl", hash = "sha256:d075e820af612102ce217f07cc93e69f9490b10ec13ea85fa87bd03d996cef8a", size = 10386316, upload-time = "2026-09-16T15:54:43.332Z" }, | 272 | { url = "https://files.pythonhosted.org/packages/fe/a0/50787329e4f20bf9dc9f6230015d46ec69c51a97ace5bc202dae4755365d/ruff-0.16.8-py3-none-win_arm64.whl", hash = "sha256:d075e820af612102ce217f07cc93e69f9490b10ec13ea85fa87bd03d996cef8a", size = 10386316, upload-time = "2026-09-16T15:54:43.332Z" }, |
| 193 | ] | 273 | ] |
| 194 | 274 | ||
| 275 | +[[package]] | ||
| 276 | +name = "setuptools" | ||
| 277 | +version = "84.0.0" | ||
| 278 | +source = { registry = "https://pypi.org/simple" } | ||
| 279 | +sdist = { url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz", hash = "sha256:f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73", size = 1168449, upload-time = "2026-08-08T18:27:58.365Z" } | ||
| 280 | +wheels = [ | ||
| 281 | + { url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl", hash = "sha256:51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670", size = 818216, upload-time = "2026-08-08T18:27:56.719Z" }, | ||
| 282 | +] | ||
| 283 | + | ||
| 195 | [[package]] | 284 | [[package]] |
| 196 | name = "shiboken6" | 285 | name = "shiboken6" |
| 197 | version = "6.11.2" | 286 | version = "6.11.2" |