From b68f0acc34e732d74917020c71248699cc90bf8b Mon Sep 17 00:00:00 2001 From: Andreas Griffin <116060138+andreasgriffin@users.noreply.github.com> Date: Sat, 28 Dec 2024 11:23:41 +0100 Subject: [PATCH] Trezor and ledger screenshots (#41) - removed briefcase - IntAnalyzer for impossible recipient amounts - FilenameInfo for better parsing of filenames --- .update_version.py | 6 +- README.md | 4 +- bitcoin_safe/__init__.py | 2 +- bitcoin_safe/config.py | 8 +- bitcoin_safe/gui/locales/app_ar_AE.qm | Bin 95257 -> 95574 bytes bitcoin_safe/gui/locales/app_ar_AE.ts | 27 +- bitcoin_safe/gui/locales/app_de_DE.qm | Bin 109489 -> 109840 bytes bitcoin_safe/gui/locales/app_de_DE.ts | 27 +- bitcoin_safe/gui/locales/app_es_ES.qm | Bin 106765 -> 107132 bytes bitcoin_safe/gui/locales/app_es_ES.ts | 27 +- bitcoin_safe/gui/locales/app_fr_FR.qm | Bin 110731 -> 111084 bytes bitcoin_safe/gui/locales/app_fr_FR.ts | 27 +- bitcoin_safe/gui/locales/app_hi_IN.qm | Bin 100235 -> 100502 bytes bitcoin_safe/gui/locales/app_hi_IN.ts | 27 +- bitcoin_safe/gui/locales/app_it_IT.qm | Bin 105575 -> 105922 bytes bitcoin_safe/gui/locales/app_it_IT.ts | 27 +- bitcoin_safe/gui/locales/app_ja_JP.qm | Bin 81607 -> 81828 bytes bitcoin_safe/gui/locales/app_ja_JP.ts | 27 +- bitcoin_safe/gui/locales/app_pt_PT.qm | Bin 105765 -> 106146 bytes bitcoin_safe/gui/locales/app_pt_PT.ts | 27 +- bitcoin_safe/gui/locales/app_ru_RU.qm | Bin 106253 -> 106584 bytes bitcoin_safe/gui/locales/app_ru_RU.ts | 27 +- bitcoin_safe/gui/locales/app_zh_CN.qm | Bin 73243 -> 73430 bytes bitcoin_safe/gui/locales/app_zh_CN.ts | 27 +- bitcoin_safe/gui/qt/analyzers.py | 15 + bitcoin_safe/gui/qt/custom_edits.py | 17 + bitcoin_safe/gui/qt/qt_wallet.py | 2 +- bitcoin_safe/gui/qt/recipients.py | 5 + bitcoin_safe/gui/qt/spinbox.py | 49 +- bitcoin_safe/gui/qt/tutorial_screenshots.py | 9 +- bitcoin_safe/gui/qt/tx_export.py | 2 +- bitcoin_safe/gui/qt/ui_tx.py | 6 +- bitcoin_safe/gui/qt/wizard.py | 4 +- .../screenshots/bitbox02-wallet-export.png | Bin 26546 -> 26127 bytes .../gui/screenshots/ledger-generate-seed.png | Bin 0 -> 39037 bytes .../ledger-register-multisig-decriptor.png | Bin 0 -> 51403 bytes .../gui/screenshots/ledger-view-seed.png | Bin 0 -> 15115 bytes .../gui/screenshots/ledger-wallet-export.png | Bin 0 -> 12209 bytes .../gui/screenshots/trezor-generate-seed.png | Bin 0 -> 17253 bytes .../trezor-register-multisig-decriptor.png | Bin 0 -> 76134 bytes .../gui/screenshots/trezor-wallet-export.png | Bin 0 -> 31892 bytes bitcoin_safe/hardware_signers.py | 14 + bitcoin_safe/pdf_statement.py | 14 +- bitcoin_safe/signature_manager.py | 83 +- bitcoin_safe/util.py | 2 +- poetry.lock | 810 ++++-------------- pyproject.toml | 146 ++-- tests/non_gui/test_filename_info.py | 182 ++++ tools/build.py | 123 ++- 49 files changed, 886 insertions(+), 887 deletions(-) create mode 100644 bitcoin_safe/gui/screenshots/ledger-generate-seed.png create mode 100644 bitcoin_safe/gui/screenshots/ledger-register-multisig-decriptor.png create mode 100644 bitcoin_safe/gui/screenshots/ledger-view-seed.png create mode 100644 bitcoin_safe/gui/screenshots/ledger-wallet-export.png create mode 100644 bitcoin_safe/gui/screenshots/trezor-generate-seed.png create mode 100644 bitcoin_safe/gui/screenshots/trezor-register-multisig-decriptor.png create mode 100644 bitcoin_safe/gui/screenshots/trezor-wallet-export.png create mode 100644 tests/non_gui/test_filename_info.py diff --git a/.update_version.py b/.update_version.py index bbd39d2..31e09b4 100644 --- a/.update_version.py +++ b/.update_version.py @@ -39,9 +39,9 @@ def update_poetry_version(file_path, new_version): # Update the version under tool.poetry if "tool" in data and "poetry" in data["tool"] and "version" in data["tool"]["poetry"]: data["tool"]["poetry"]["version"] = new_version - data["tool"]["briefcase"]["version"] = new_version - data["tool"]["briefcase"]["app"]["bitcoin-safe"]["linux"]["flatpak"]["version"] = new_version - data["tool"]["briefcase"]["app"]["bitcoin-safe"]["linux"]["appimage"]["version"] = new_version + # data["tool"]["briefcase"]["version"] = new_version + # data["tool"]["briefcase"]["app"]["bitcoin-safe"]["linux"]["flatpak"]["version"] = new_version + # data["tool"]["briefcase"]["app"]["bitcoin-safe"]["linux"]["appimage"]["version"] = new_version # Write the updated data back to pyproject.toml with open(file_path, "w") as file: diff --git a/README.md b/README.md index 9ed1ae6..47356d6 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - **Easy** Multisig-Wallet Setup - Step-by-Step instructions for a secure MultiSig setup with PDF backup sheets - Test transactions ensure that all hardware signers are ready - - Full support for [Coldcard](https://store.coinkite.com/promo/8BFF877000C34A86F410), [Coldcard Q](https://store.coinkite.com/promo/8BFF877000C34A86F410), [Bitbox02](https://shiftcrypto.ch/bitbox02/?ref=MOB4dk7gpm), [Blockstream Jade](https://store.blockstream.com/?code=XEocg5boS77D), [Trezor](https://trezor.io), [Foundation Passport](https://foundation.xyz/passport), [Keystone](https://keyst.one), [Specter DIY](https://specter.solutions/hardware), using *QR*, *USB*, and *SD-card* + - Full support for [Coldcard](https://store.coinkite.com/promo/8BFF877000C34A86F410), [Coldcard Q](https://store.coinkite.com/promo/8BFF877000C34A86F410), [Bitbox02](https://shiftcrypto.ch/bitbox02/?ref=MOB4dk7gpm), [Blockstream Jade](https://store.blockstream.com/?code=XEocg5boS77D), [Trezor](https://trezor.io), [Foundation Passport](https://foundation.xyz/passport), [Keystone](https://keyst.one), [Ledger](https://shop.ledger.com/pages/ledger-nano-s-plus), [Specter DIY](https://specter.solutions/hardware), using *QR*, *USB*, and *SD-card* - **Secure**: Hardware signers only - All wallets require hardware signers/wallets for safe seed storage - Powered by **[BDK](https://github.com/bitcoindevkit/bdk)** @@ -21,7 +21,7 @@ - **Sending** for non-technical users - 1-click fee selection via mempool-blocks - Automatic merging of utxos when fees are low -- **SyncChat**: +- **Sync & Chat**: - Encrypted cloud backup (via nostr) of labels - Label synchronization between different computers - Wallet chat and PSBTs sharing between different computers diff --git a/bitcoin_safe/__init__.py b/bitcoin_safe/__init__.py index 59690c3..dc32bc7 100644 --- a/bitcoin_safe/__init__.py +++ b/bitcoin_safe/__init__.py @@ -1,2 +1,2 @@ # this is the source of the version information -__version__ = "1.0.0b5" +__version__ = "1.0.0rc1" diff --git a/bitcoin_safe/config.py b/bitcoin_safe/config.py index 58468e8..504f75b 100644 --- a/bitcoin_safe/config.py +++ b/bitcoin_safe/config.py @@ -46,11 +46,7 @@ from .network_config import NetworkConfig, NetworkConfigs from .storage import BaseSaveableClass -from .util import ( - briefcase_project_dir, - path_to_rel_home_path, - rel_home_path_to_abs_path, -) +from .util import current_project_dir, path_to_rel_home_path, rel_home_path_to_abs_path MIN_RELAY_FEE = 1 FEE_RATIO_HIGH_WARNING = 0.05 # warn user if fee/amount for on-chain tx is higher than this @@ -65,7 +61,7 @@ class UserConfig(BaseSaveableClass): VERSION = "0.1.6" app_name = "bitcoin_safe" - locales_path = briefcase_project_dir() / "gui" / "locales" + locales_path = current_project_dir() / "gui" / "locales" config_dir = Path(appdirs.user_config_dir(app_name)) config_file = config_dir / (app_name + ".conf") diff --git a/bitcoin_safe/gui/locales/app_ar_AE.qm b/bitcoin_safe/gui/locales/app_ar_AE.qm index 63a27282f21304c5728e8a72dec1fe4836bba93a..6e5dedee32ab81b895c274c0e03f777511e1e4d2 100644 GIT binary patch delta 6718 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 Yn!Guq{(oM~>CuqYcFkElf|WGتوليف إلى العناوين المحددة + + AmountAnalyzer + + Amount too small + المبلغ صغير جدًا + + + Amount too large + المبلغ كبير جدًا + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... مزامنة متعددة الأجهزة والدردشة - Choose trusted computers in SyncChat tab on each computer. - اختر الحواسيب الموثوقة في تبويب SyncChat على كل جهاز. + Choose trusted computers in Sync & Chat tab on each computer. + اختر الحواسيب الموثوقة في تبويب المزامنة والدردشة على كل جهاز. See video @@ -1720,8 +1731,8 @@ Location of signing device: ..... استيراد التسميات - SyncChat - SyncChat + Sync && Chat + المزامنة && الدردشة All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} تسجيل multisig على الموقعين - SyncChat - SyncChat + Sync & Chat + المزامنة & الدردشة Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} نسخة احتياطية لبذور {id} + + Total + الإجمالي + Created at {date} with أُنشئ في {date} مع diff --git a/bitcoin_safe/gui/locales/app_de_DE.qm b/bitcoin_safe/gui/locales/app_de_DE.qm index 0de808e5c2e38a48a246748f522432ad26aebfb6..59e18b5f2d60d1586934de4aa8edc5c0a268c81e 100644 GIT binary patch delta 6696 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ür ausgewählte Adressen generieren + + AmountAnalyzer + + Amount too small + Betrag zu klein + + + Amount too large + Betrag zu groß + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... Mehr-Computer-Synchronisation und Chat - Choose trusted computers in SyncChat tab on each computer. - Wählen Sie vertrauenswürdige Computer im SyncChat-Tab auf jedem Computer aus. + Choose trusted computers in Sync & Chat tab on each computer. + Wählen Sie vertrauenswürdige Computer im Synchronisieren & Chatten-Tab auf jedem Computer aus. See video @@ -1717,8 +1728,8 @@ Location of signing device: ..... Etiketten importieren - SyncChat - SyncChat + Sync && Chat + Synchronisieren && Chatten All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2739,8 +2750,8 @@ below {rate} Multisig auf Signern registrieren - SyncChat - SyncChat + Sync & Chat + Synchronisieren & Chatten Send test {j} @@ -3251,6 +3262,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} Seed-Backup von {id} + + Total + Gesamt + Created at {date} with Erstellt am {date} mit diff --git a/bitcoin_safe/gui/locales/app_es_ES.qm b/bitcoin_safe/gui/locales/app_es_ES.qm index ca903670a552c03c657591f9ea0b8b5212c1ad4c..2c06632e2b4e38bbc97ad669077927ea89a06f3f 100644 GIT binary patch delta 6795 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 U$p11hKP)^dFr+9gp2b=I4{4G2x&QzG delta 6489 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 diff --git a/bitcoin_safe/gui/locales/app_es_ES.ts b/bitcoin_safe/gui/locales/app_es_ES.ts index 1f82023..622c7c4 100644 --- a/bitcoin_safe/gui/locales/app_es_ES.ts +++ b/bitcoin_safe/gui/locales/app_es_ES.ts @@ -127,6 +127,17 @@ Generar para direcciones seleccionadas + + AmountAnalyzer + + Amount too small + Cantidad demasiado pequeña + + + Amount too large + Cantidad demasiado grande + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... Sincronización entre múltiples computadoras y chat - Choose trusted computers in SyncChat tab on each computer. - Elija computadoras de confianza en la pestaña SyncChat en cada computadora. + Choose trusted computers in Sync & Chat tab on each computer. + Elija computadoras de confianza en la pestaña Sincronizar & Chatear en cada computadora. See video @@ -1720,8 +1731,8 @@ Location of signing device: ..... Importar etiquetas - SyncChat - SyncChat + Sync && Chat + Sincronizar && Chatear All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} Registrar multisig en firmantes - SyncChat - SyncChat + Sync & Chat + Sincronizar & Chatear Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} Copia de seguridad de semilla de {id} + + Total + Total + Created at {date} with Creado el {date} con diff --git a/bitcoin_safe/gui/locales/app_fr_FR.qm b/bitcoin_safe/gui/locales/app_fr_FR.qm index 06845f245ffee91e1518409ad159228225e22de1..9a5f7df0c3bdb110f24775826e10c1c5fece26d3 100644 GIT binary patch delta 6783 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 WZ;7aX{EQEZO&A+hT(^v6w*DWuRs4Pc delta 6447 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 diff --git a/bitcoin_safe/gui/locales/app_fr_FR.ts b/bitcoin_safe/gui/locales/app_fr_FR.ts index a938f5b..56c965d 100644 --- a/bitcoin_safe/gui/locales/app_fr_FR.ts +++ b/bitcoin_safe/gui/locales/app_fr_FR.ts @@ -127,6 +127,17 @@ Générer aux adresses sélectionnées + + AmountAnalyzer + + Amount too small + Montant trop petit + + + Amount too large + Montant trop grand + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... Synchronisation multi-ordinateur et chat - Choose trusted computers in SyncChat tab on each computer. - Choisissez des ordinateurs de confiance dans l'onglet SyncChat sur chaque ordinateur. + Choose trusted computers in Sync & Chat tab on each computer. + Choisissez des ordinateurs de confiance dans l'onglet Synchroniser & Discuter sur chaque ordinateur. See video @@ -1720,8 +1731,8 @@ Voulez-vous continuer malgré tout ? Importer les étiquettes - SyncChat - SyncChat + Sync && Chat + Synchroniser && Discuter All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} Enregistrer le multisig sur les signataires - SyncChat - SyncChat + Sync & Chat + Synchroniser & Discuter Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} Sauvegarde de graine de {id} + + Total + Total + Created at {date} with Créé le {date} avec diff --git a/bitcoin_safe/gui/locales/app_hi_IN.qm b/bitcoin_safe/gui/locales/app_hi_IN.qm index 0310fae9162697852f0324f891e949b3db2b7459..ffebe6324c3d13290bc6b7f502933da8092267bb 100644 GIT binary patch delta 6675 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 XJviw9=fy)sw#?M;(BvtsU9चयनित पतों के लिए उत्पन्न करें + + AmountAnalyzer + + Amount too small + राशि बहुत छोटी है + + + Amount too large + राशि बहुत बड़ी है + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... मल्टी-कंप्यूटर सिंक्रोनाइजेशन और चैट - Choose trusted computers in SyncChat tab on each computer. - प्रत्येक कंप्यूटर पर SyncChat टैब में विश्वसनीय कंप्यूटरों का चयन करें। + Choose trusted computers in Sync & Chat tab on each computer. + प्रत्येक कंप्यूटर पर सिंक और चैट टैब में विश्वसनीय कंप्यूटरों का चयन करें। See video @@ -1720,8 +1731,8 @@ Location of signing device: ..... लेबल आयात करें - SyncChat - SyncChat + Sync && Chat + सिंक && चैट All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} साइनर्स पर मल्टीसिग पंजीकृत करें - SyncChat - SyncChat + Sync & Chat + सिंक & चैट Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} {id} का सीड बैकअप + + Total + कुल + Created at {date} with {date} को बनाया गया diff --git a/bitcoin_safe/gui/locales/app_it_IT.qm b/bitcoin_safe/gui/locales/app_it_IT.qm index 39a04fdde83d7e7a9386a0c0d11bb6a96cb5fbc1..3a81ab15a888690251d3928482b43c387d1c414a 100644 GIT binary patch delta 6757 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 diff --git a/bitcoin_safe/gui/locales/app_it_IT.ts b/bitcoin_safe/gui/locales/app_it_IT.ts index db6b71f..67cd03f 100644 --- a/bitcoin_safe/gui/locales/app_it_IT.ts +++ b/bitcoin_safe/gui/locales/app_it_IT.ts @@ -127,6 +127,17 @@ Genera agli indirizzi selezionati + + AmountAnalyzer + + Amount too small + Importo troppo piccolo + + + Amount too large + Importo troppo grande + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... Sincronizzazione tra più computer e chat - Choose trusted computers in SyncChat tab on each computer. - Scegli computer fidati nella scheda SyncChat su ogni computer. + Choose trusted computers in Sync & Chat tab on each computer. + Scegli computer fidati nella scheda Sincronizza & Chatta su ogni computer. See video @@ -1720,8 +1731,8 @@ Vuoi procedere comunque? Importa etichette - SyncChat - SyncChat + Sync && Chat + Sincronizza && Chatta All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} Registra multisig sui firmatari - SyncChat - SyncChat + Sync & Chat + Sincronizza & Chatta Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} Backup del seme di {id} + + Total + Totale + Created at {date} with Creato il {date} con diff --git a/bitcoin_safe/gui/locales/app_ja_JP.qm b/bitcoin_safe/gui/locales/app_ja_JP.qm index a182e44fa0d10f659b6f81573c5d996c9a5d7713..6b1353b0932cb0d0a9fea964d8720057e1b084d6 100644 GIT binary patch delta 6691 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 delta 6485 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 E0Itp3ivR!s diff --git a/bitcoin_safe/gui/locales/app_ja_JP.ts b/bitcoin_safe/gui/locales/app_ja_JP.ts index f8ccd1f..51f9ffe 100644 --- a/bitcoin_safe/gui/locales/app_ja_JP.ts +++ b/bitcoin_safe/gui/locales/app_ja_JP.ts @@ -127,6 +127,17 @@ 選択したアドレスに生成 + + AmountAnalyzer + + Amount too small + 金額が小さすぎます + + + Amount too large + 金額が大きすぎます + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... マルチコンピュータ同期とチャット - Choose trusted computers in SyncChat tab on each computer. - 各コンピューターのSyncChatタブで信頼できるコンピューターを選択してください。 + Choose trusted computers in Sync & Chat tab on each computer. + 各コンピューターの同期&チャットタブで信頼できるコンピューターを選択してください。 See video @@ -1720,8 +1731,8 @@ Location of signing device: ..... ラベルのインポート - SyncChat - SyncChat + Sync && Chat + 同期 && チャット All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} マルチシグをサイナーに登録 - SyncChat - SyncChat + Sync & Chat + 同期 & チャット Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} {id}のシードバックアップ + + Total + 合計 + Created at {date} with {date}に作成された diff --git a/bitcoin_safe/gui/locales/app_pt_PT.qm b/bitcoin_safe/gui/locales/app_pt_PT.qm index ebc193eb898a28b623b1496875b5423da26d5df5..f1f9170b91872e3ebfc6f50caa8843cf20386cda 100644 GIT binary patch delta 6802 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 diff --git a/bitcoin_safe/gui/locales/app_pt_PT.ts b/bitcoin_safe/gui/locales/app_pt_PT.ts index d99b064..756eaa2 100644 --- a/bitcoin_safe/gui/locales/app_pt_PT.ts +++ b/bitcoin_safe/gui/locales/app_pt_PT.ts @@ -127,6 +127,17 @@ Gerar para endereços selecionados + + AmountAnalyzer + + Amount too small + Montante demasiado pequeno + + + Amount too large + Montante demasiado grande + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... Sincronização entre múltiplos computadores e chat - Choose trusted computers in SyncChat tab on each computer. - Escolha computadores de confiança na aba SyncChat em cada computador. + Choose trusted computers in Sync & Chat tab on each computer. + Escolha computadores de confiança na aba Sincronizar & Conversar em cada computador. See video @@ -1720,8 +1731,8 @@ Deseja prosseguir mesmo assim? Importar etiquetas - SyncChat - SyncChat + Sync && Chat + Sincronizar && Conversar All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} Registrar multisig nos assinantes - SyncChat - SyncChat + Sync & Chat + Sincronizar & Conversar Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} Cópia de segurança da semente de {id} + + Total + Total + Created at {date} with Criado em {date} com diff --git a/bitcoin_safe/gui/locales/app_ru_RU.qm b/bitcoin_safe/gui/locales/app_ru_RU.qm index 0a1784d95d85cef28770b4f5676bf9df03c5354e..daffddd0e8bbcd32ef090faadca0ac6256c1a260 100644 GIT binary patch delta 6729 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 delta 6486 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 w?iw{Генерировать на выбранные адреса + + AmountAnalyzer + + Amount too small + Сумма слишком мала + + + Amount too large + Сумма слишком велика + + BTCSpinBox @@ -946,8 +957,8 @@ Location of signing device: ..... Синхронизация и чат на нескольких компьютерах - Choose trusted computers in SyncChat tab on each computer. - Выберите доверенные компьютеры на вкладке SyncChat на каждом компьютере. + Choose trusted computers in Sync & Chat tab on each computer. + Выберите доверенные компьютеры на вкладке Синхронизация & Чат на каждом компьютере. See video @@ -1720,8 +1731,8 @@ Location of signing device: ..... Импортировать метки - SyncChat - SyncChat + Sync && Chat + Синхронизация && Чат All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2742,8 +2753,8 @@ below {rate} Зарегистрировать мультисиг на подписывающих устройствах - SyncChat - SyncChat + Sync & Chat + Синхронизация & Чат Send test {j} @@ -3254,6 +3265,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} Резервная копия семени {id} + + Total + Итого + Created at {date} with Создано {date} с diff --git a/bitcoin_safe/gui/locales/app_zh_CN.qm b/bitcoin_safe/gui/locales/app_zh_CN.qm index 3885588b3b1c8cf572ea79f24cd1d8af340eac8d..c29d1356a69fd75e253f67601023909e61c2794b 100644 GIT binary patch delta 6660 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 Fe*mp@6%POa delta 6480 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 Z+aJ?(Y生成到选定地址 + + AmountAnalyzer + + Amount too small + 金额太小 + + + Amount too large + 金额太大 + + BTCSpinBox @@ -947,8 +958,8 @@ Location of signing device: ..... 多电脑同步和聊天 - Choose trusted computers in SyncChat tab on each computer. - 在每台电脑上的SyncChat标签中选择受信任的电脑。 + Choose trusted computers in Sync & Chat tab on each computer. + 在每台电脑上的同步与聊天标签中选择受信任的电脑。 See video @@ -1723,8 +1734,8 @@ Location of signing device: ..... 导入标签 - SyncChat - SyncChat + Sync && Chat + 同步 && 聊天 All Files (*);;JSONL Files (*.jsonl);;JSON Files (*.json) @@ -2748,8 +2759,8 @@ below {rate} 在签名器上注册多签 - SyncChat - SyncChat + Sync & Chat + 同步 & 聊天 Send test {j} @@ -3261,6 +3272,10 @@ It is best to use your own server, such as {link}. Seed backup of {id} {id}的种子备份 + + Total + 总计 + Created at {date} with 在 {date} 创建的 diff --git a/bitcoin_safe/gui/qt/analyzers.py b/bitcoin_safe/gui/qt/analyzers.py index f39ba7f..8149cc9 100644 --- a/bitcoin_safe/gui/qt/analyzers.py +++ b/bitcoin_safe/gui/qt/analyzers.py @@ -168,3 +168,18 @@ def analyze(self, input: str, pos: int = 0) -> AnalyzerMessage: return AnalyzerMessage(self.tr("Valid Address"), AnalyzerState.Valid) else: return AnalyzerMessage(self.tr("Invalid Address"), AnalyzerState.Invalid) + + +class AmountAnalyzer(QObject): + def __init__(self, parent: QObject | None = None) -> None: + super().__init__(parent) + self.max_amount = 0 + self.min_amount = 0 + + def analyze(self, input: float) -> AnalyzerMessage: # type: ignore + if input < self.min_amount: + return AnalyzerMessage(self.tr("Amount too small"), AnalyzerState.Invalid) + if input > self.max_amount: + return AnalyzerMessage(self.tr("Amount too large"), AnalyzerState.Invalid) + + return AnalyzerMessage("Amount within allowed range", AnalyzerState.Valid) diff --git a/bitcoin_safe/gui/qt/custom_edits.py b/bitcoin_safe/gui/qt/custom_edits.py index 66c982d..e3b18a8 100644 --- a/bitcoin_safe/gui/qt/custom_edits.py +++ b/bitcoin_safe/gui/qt/custom_edits.py @@ -79,6 +79,23 @@ def worst_message(l: List[AnalyzerMessage]): return l[states.index(worst_state)] +class BaseIntAnalyzer: + @abstractmethod + def analyze(self, input: int) -> AnalyzerMessage: + raise NotImplementedError() + + def normalize(self, input: int) -> int: + return input + + @staticmethod + def worst_message(l: List[AnalyzerMessage]): + if not l: + return AnalyzerMessage("", AnalyzerState.Valid) + states = [message.state for message in l] + worst_state = max(states) + return l[states.index(worst_state)] + + class AnalyzerLineEdit(QLineEdit): def __init__(self, parent=None) -> None: super().__init__(parent=parent) diff --git a/bitcoin_safe/gui/qt/qt_wallet.py b/bitcoin_safe/gui/qt/qt_wallet.py index 5b32bff..d68d2e3 100644 --- a/bitcoin_safe/gui/qt/qt_wallet.py +++ b/bitcoin_safe/gui/qt/qt_wallet.py @@ -398,7 +398,7 @@ def wallet_signals(self) -> WalletSignals: def updateUi(self) -> None: self.tabs.setTabText(self.tabs.indexOf(self.send_tab), self.tr("Send")) self.tabs.setTabText(self.tabs.indexOf(self.wallet_descriptor_tab), self.tr("Descriptor")) - self.tabs.setTabText(self.tabs.indexOf(self.sync_tab_widget), self.tr("SyncChat")) + self.tabs.setTabText(self.tabs.indexOf(self.sync_tab_widget), self.tr("Sync && Chat")) self.tabs.setTabText(self.tabs.indexOf(self.history_tab), self.tr("History")) self.tabs.setTabText(self.tabs.indexOf(self.addresses_tab), self.tr("Receive")) diff --git a/bitcoin_safe/gui/qt/recipients.py b/bitcoin_safe/gui/qt/recipients.py index 5b23858..420e167 100644 --- a/bitcoin_safe/gui/qt/recipients.py +++ b/bitcoin_safe/gui/qt/recipients.py @@ -32,6 +32,7 @@ from pathlib import Path from bitcoin_safe.gui.qt.address_edit import AddressEdit +from bitcoin_safe.gui.qt.analyzers import AmountAnalyzer from bitcoin_safe.gui.qt.labeledit import WalletLabelAndCategoryEdit from bitcoin_safe.gui.qt.util import Message, MessageType, read_QIcon from bitcoin_safe.gui.qt.wrappers import Menu @@ -121,6 +122,10 @@ def __init__( self.amount_layout = QHBoxLayout() self.amount_spin_box = BTCSpinBox(self.signals.get_network()) + amount_analyzer = AmountAnalyzer() + amount_analyzer.min_amount = 0 + amount_analyzer.max_amount = int(21e6 * 1e8) + self.amount_spin_box.setAnalyzer(amount_analyzer) self.label_unit = QLabel(unit_str(self.signals.get_network())) self.send_max_button = QPushButton() self.send_max_button.setCheckable(True) diff --git a/bitcoin_safe/gui/qt/spinbox.py b/bitcoin_safe/gui/qt/spinbox.py index 97da859..10f922b 100644 --- a/bitcoin_safe/gui/qt/spinbox.py +++ b/bitcoin_safe/gui/qt/spinbox.py @@ -27,15 +27,50 @@ # SOFTWARE. -from typing import Tuple +from typing import Optional, Tuple import bdkpython as bdk from PyQt6 import QtGui, QtWidgets +from PyQt6.QtWidgets import QWidget + +from bitcoin_safe.gui.qt.analyzers import AmountAnalyzer +from bitcoin_safe.gui.qt.custom_edits import AnalyzerState from ...util import Satoshis -class BTCSpinBox(QtWidgets.QDoubleSpinBox): +class AnalyzerSpinBox(QtWidgets.QDoubleSpinBox): + def __init__(self, parent: QWidget | None = None) -> None: + super().__init__(parent) + self._smart_state: Optional[AmountAnalyzer] = None + self.valueChanged.connect(self.format_and_apply_validator) + + def setAnalyzer(self, smart_state: AmountAnalyzer): + """Set a custom validator.""" + self._smart_state = smart_state + + def analyzer(self) -> Optional[AmountAnalyzer]: + return self._smart_state + + def format_as_error(self, value: bool) -> None: + if value: + self.setStyleSheet(f"{self.__class__.__name__}" + " { background-color: #ff6c54; }") + else: + self.setStyleSheet("") + + def format_and_apply_validator(self) -> None: + analyzer = self.analyzer() + if not analyzer: + self.format_as_error(False) + return + + analysis = analyzer.analyze(self.value()) + error = bool(self.text()) and (analysis.state != AnalyzerState.Valid) + self.format_as_error(error) + self.setToolTip(analysis.msg if error else "") + + +class BTCSpinBox(AnalyzerSpinBox): "A Satoshi Spin Box. The value stored is in Satoshis." def __init__(self, network: bdk.Network, parent=None) -> None: @@ -45,6 +80,10 @@ def __init__(self, network: bdk.Network, parent=None) -> None: self.setDecimals(0) # Set the number of decimal places self.setRange(0, 21e6 * 1e8) # Define range as required + def setValue(self, val: float) -> None: + super().setValue(val) + self.format_and_apply_validator() + def set_max(self, value: bool) -> None: self.setDisabled(value) self._is_max = value @@ -74,3 +113,9 @@ def validate(self, text: str | None, pos: int) -> Tuple[QtGui.QValidator.State, except ValueError: # If it fails, the text is not valid return QtGui.QValidator.State.Invalid, text, pos + + def set_warning_maximum(self, value: int) -> None: + if not self._smart_state: + return + self._smart_state.max_amount = value + self.format_and_apply_validator() diff --git a/bitcoin_safe/gui/qt/tutorial_screenshots.py b/bitcoin_safe/gui/qt/tutorial_screenshots.py index da95b91..a505ace 100644 --- a/bitcoin_safe/gui/qt/tutorial_screenshots.py +++ b/bitcoin_safe/gui/qt/tutorial_screenshots.py @@ -45,14 +45,7 @@ class ScreenshotsTutorial(QWidget): - enabled_hardware_signers = [ - HardwareSigners.q, - HardwareSigners.coldcard, - HardwareSigners.bitbox02, - HardwareSigners.jade, - HardwareSigners.passport, - HardwareSigners.specterdiy, - ] + enabled_hardware_signers = HardwareSigners.as_list() # activate all of them def __init__( self, diff --git a/bitcoin_safe/gui/qt/tx_export.py b/bitcoin_safe/gui/qt/tx_export.py index 16d91fc..c474961 100644 --- a/bitcoin_safe/gui/qt/tx_export.py +++ b/bitcoin_safe/gui/qt/tx_export.py @@ -84,7 +84,7 @@ def __init__( self.button_copy = CopyToolButton(data=self.data, network=network, parent=self) self.add_button(self.button_copy) - # SyncChat + # Sync & Chat self.button_sync_share = SyncChatToolButton( data=self.data, network=network, sync_tabs=sync_tabs, parent=self ) diff --git a/bitcoin_safe/gui/qt/ui_tx.py b/bitcoin_safe/gui/qt/ui_tx.py index 7604dac..3282619 100644 --- a/bitcoin_safe/gui/qt/ui_tx.py +++ b/bitcoin_safe/gui/qt/ui_tx.py @@ -1597,14 +1597,16 @@ def get_global_xpub_dict(self, wallets: List[Wallet]) -> Dict[str, Tuple[str, st def reapply_max_amounts(self, fee_amount: int) -> None: recipient_group_boxes = self.recipients.get_recipient_group_boxes() for recipient_group_box in recipient_group_boxes: - recipient_group_box.recipient_widget.amount_spin_box.setMaximum(self.get_total_input_value()) + recipient_group_box.recipient_widget.amount_spin_box.set_warning_maximum( + self.get_total_input_value() + ) recipient_group_boxes_max_checked = [ recipient_group_box for recipient_group_box in recipient_group_boxes if recipient_group_box.recipient_widget.send_max_button.isChecked() ] - total_change_amount = self.get_total_change_amount(include_max_checked=False) - fee_amount + total_change_amount = max(0, self.get_total_change_amount(include_max_checked=False) - fee_amount) for recipient_group_box in recipient_group_boxes_max_checked: self.set_max_amount( recipient_group_box, total_change_amount // len(recipient_group_boxes_max_checked) diff --git a/bitcoin_safe/gui/qt/wizard.py b/bitcoin_safe/gui/qt/wizard.py index a61e921..cd5f53a 100644 --- a/bitcoin_safe/gui/qt/wizard.py +++ b/bitcoin_safe/gui/qt/wizard.py @@ -1378,7 +1378,7 @@ def updateUi(self) -> None:

  • {self.tr('Multi-computer synchronization and chat')}
    • -
    • {self.tr('Choose trusted computers in SyncChat tab on each computer.') + ' '+ link('https://github.com/andreasgriffin/bitcoin-safe?tab=readme-ov-file#psbt-sharing-with-trusted-devices', self.tr('See video')) }
    • +
    • {self.tr('Choose trusted computers in Sync & Chat tab on each computer.') + ' '+ link('https://github.com/andreasgriffin/bitcoin-safe?tab=readme-ov-file#psbt-sharing-with-trusted-devices', self.tr('See video')) }
    """, @@ -1840,7 +1840,7 @@ def updateUi(self) -> None: TutorialStep.receive: self.tr("Receive Test"), TutorialStep.distribute: self.tr("Put in secure locations"), TutorialStep.register: self.tr("Register multisig on signers"), - TutorialStep.sync: self.tr("SyncChat"), + TutorialStep.sync: self.tr("Sync & Chat"), } for i, tutoral_step in enumerate(self.get_send_tests_steps()): labels[tutoral_step] = ( diff --git a/bitcoin_safe/gui/screenshots/bitbox02-wallet-export.png b/bitcoin_safe/gui/screenshots/bitbox02-wallet-export.png index 3b2791e32fc80540927e6c3e2800dd3f44798bc2..1542dfb067fdaa0c263592af1817640bb1aa1fb8 100644 GIT binary patch literal 26127 zcmeFYWmH_-)-77NySpSLxVr~Ua7l0{xVyVUkR(WONr2$)?gWAa53a#2XwWw+`|Q(h zYp;FpzCZWht-T3FQLI{P&N2Gvy^pb?RFq^fP)SiC5D3Prmr`mF2wW2c0z-j}2wwSC zmxBX-2(^-wRCy&SN$u$DU~Xk=27%DO_j@n$vPYb}&rm&|_Dz>Nw%ede=0P59Tpg

    =9dbB}hF%jlJ8ffu} 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 literal 26546 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 literal 0 HcmV?d00001 diff --git a/bitcoin_safe/gui/screenshots/trezor-register-multisig-decriptor.png b/bitcoin_safe/gui/screenshots/trezor-register-multisig-decriptor.png new file mode 100644 index 0000000000000000000000000000000000000000..57c38cbc979efccd89c23e62bd0a7b551f7cf0ce GIT binary patch literal 76134 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 literal 0 HcmV?d00001 diff --git a/bitcoin_safe/gui/screenshots/trezor-wallet-export.png b/bitcoin_safe/gui/screenshots/trezor-wallet-export.png new file mode 100644 index 0000000000000000000000000000000000000000..9b023e90af25704b7d4f0a813c6423ee98694d51 GIT binary patch literal 31892 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%0DqxCQ++;uhr7>}_ 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 Table: def add_page_break(self) -> None: self.elements.append(PageBreak()) # Add a page break between documents if needed - def _address_table(self, address_info: List[Tuple[str, str]]) -> None: + def _address_table(self, address_info: List[Tuple[str, str]], total_amount: str) -> None: self.elements.append( self.create_balance_table( - table=np.array(address_info), + table=np.array(address_info + [(translate("pdf", "Total"), total_amount)]), widths=[400, 120], header=["Address", f"Balance [{unit_str(self.network)}]"], styles=[self.style_paragraph_left, self.style_paragraph_right], @@ -221,6 +223,7 @@ def create_pdf( wallet_descriptor_string: str, address_info: List[Tuple[str, str]], threshold: int, + total_amount: str, ) -> None: self.elements.append(Paragraph(title, style=self.style_heading)) @@ -239,7 +242,7 @@ def create_pdf( self._descriptor_part(wallet_descriptor_string, threshold) - self._address_table(address_info=address_info) + self._address_table(address_info=address_info, total_amount=total_amount) def save_pdf(self, filename: str) -> None: @@ -270,9 +273,11 @@ def make_and_open_pdf_statement(wallet: Wallet, lang_code: str) -> None: info = DescriptorInfo.from_str(wallet.multipath_descriptor.as_string()) address_info: List[Tuple[str, str]] = [] + total_amount = 0 for address in wallet.get_addresses(): balance = wallet.get_addr_balance(address).total if balance: + total_amount += balance address_info.append( ( address, @@ -300,6 +305,9 @@ def make_and_open_pdf_statement(wallet: Wallet, lang_code: str) -> None: wallet_descriptor_string=wallet.multipath_descriptor.as_string(), address_info=address_info, threshold=info.threshold, + total_amount=Satoshis(value=total_amount, network=wallet.network).format( + color_formatting="rich", show_unit=False, unicode_space_character=False + ), ) temp_file = os.path.join(Path.home(), f"{file_title}.pdf") diff --git a/bitcoin_safe/signature_manager.py b/bitcoin_safe/signature_manager.py index a85b963..62d9c48 100644 --- a/bitcoin_safe/signature_manager.py +++ b/bitcoin_safe/signature_manager.py @@ -31,11 +31,12 @@ import logging import os import platform +import re import shutil import subprocess from dataclasses import dataclass from pathlib import Path -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Optional, Tuple, Union import pgpy # Python-native OpenPGP library import requests @@ -45,36 +46,72 @@ @dataclass -class SimpleGPGKey: - key: str - repository: str # org/repo_name - prefix: str - manifest_ending: Optional[str] = None +class FilenameInfo: + app_name: str + extension: str + version: str + architecture: Optional[str] = None + extra_info: Optional[str] = None - @staticmethod - def extract_prefix_and_version(filename: str) -> tuple[Optional[str], Optional[str]]: - import re + @classmethod + def modify_filename_remove_architecture(cls, filename: str) -> Optional[Tuple[str, str]]: + # Capture architecture specifically + arch_regex = r"(.*?)([-_.](x86_64|arm64|aarch64|amd64))(.*)" + match = re.match(arch_regex, filename) + if match: + # Reconstruct the filename without the architecture part + parts_without_arch = match.group(1) + match.group(4) + architecture = match.group(3) # Capture the architecture + return (parts_without_arch, architecture) + return None # Return None if no architecture or matching issue - if filename.endswith(".deb"): - match = re.search(r"(.+)_(.+?)(?:-.+)?_.*\.deb", filename) - if match: - return (match.group(1), match.group(2)) + @classmethod + def from_filename(cls, filename: str) -> Optional["FilenameInfo"]: + architecture = None + if res := cls.modify_filename_remove_architecture(filename=filename): + filename, architecture = res + + # try with 4 digit version numbering + regex = ( + r"(?P.+?)" # Capture app name up to the version, non-greedy + r"[-_.](?P\d+\.\d+\.\d+\.\d+[a-zA-Z0-9]*)?" # Capture version number, potentially including additional alphanumeric characters + r"(?:[-_.](?P[^-]+))?" # Optionally capture extra info with generalized separator + r"\.(?P[^._-]+)$" # Capture the extension, ensure no inclusion of '-' or '_' + ) - # try with - separator - match = re.search(r"(.*?)-([\d\.]+[a-zA-Z0-9]*)", filename) + match = re.match(regex, filename) if match: - return (match.group(1), match.group(2)) + return FilenameInfo(**match.groupdict(), architecture=architecture) + + # try with 3 digit version numbering + regex = ( + r"(?P.+?)" # Capture app name up to the version, non-greedy + r"[-_.](?P\d+\.\d+\.\d+[a-zA-Z0-9]*)?" # Capture version number, potentially including additional alphanumeric characters + r"(?:[-_.](?P[^-]+))?" # Optionally capture extra info with generalized separator + r"\.(?P[^._-]+)$" # Capture the extension, ensure no inclusion of '-' or '_' + ) - # try with _ separator - match = re.search(r"(.*?)_([\d\.]+[a-zA-Z0-9]*)", filename) + match = re.match(regex, filename) if match: - return (match.group(1), match.group(2)) - return (None, None) + return FilenameInfo(**match.groupdict(), architecture=architecture) + + return None + + +@dataclass +class SimpleGPGKey: + key: str + repository: str # org/repo_name + prefix: str + manifest_ending: Optional[str] = None def get_tag_if_mine(self, filename: str) -> Optional[str]: - prefix, version = self.extract_prefix_and_version(filename) - if prefix and prefix.lower() == self.prefix.lower(): - return version + info = FilenameInfo.from_filename(filename) + if not info or not info.app_name or not info.version: + return None + + if info.app_name.lower() == self.prefix.lower(): + return info.version return None diff --git a/bitcoin_safe/util.py b/bitcoin_safe/util.py index e05801f..290acf6 100644 --- a/bitcoin_safe/util.py +++ b/bitcoin_safe/util.py @@ -846,7 +846,7 @@ def calculate_ema( return ema -def briefcase_project_dir() -> Path: +def current_project_dir() -> Path: # __file__ == /tmp/.mount_Bitcoix7tQIZ/usr/app/bitcoin_safe/util.py return Path(__file__).parent diff --git a/poetry.lock b/poetry.lock index 38dcd67..5e619da 100644 --- a/poetry.lock +++ b/poetry.lock @@ -22,25 +22,6 @@ files = [ {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, ] -[[package]] -name = "arrow" -version = "1.3.0" -description = "Better dates & times for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, - {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, -] - -[package.dependencies] -python-dateutil = ">=2.7.0" -types-python-dateutil = ">=2.8.10" - -[package.extras] -doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] - [[package]] name = "base58" version = "2.1.1" @@ -76,20 +57,6 @@ files = [ {file = "bdkpython-0.31.0-cp39-cp39-win_amd64.whl", hash = "sha256:6d6d844a62fcf758ac5ebcdffe263c1fed4f5add9287400bc50a110f39d93476"}, ] -[[package]] -name = "binaryornot" -version = "0.4.4" -description = "Ultra-lightweight pure Python package to check if a file is binary or text." -optional = false -python-versions = "*" -files = [ - {file = "binaryornot-0.4.4-py2.py3-none-any.whl", hash = "sha256:b8b71173c917bddcd2c16070412e369c3ed7f0528926f70cac18a6c97fd563e4"}, - {file = "binaryornot-0.4.4.tar.gz", hash = "sha256:359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061"}, -] - -[package.dependencies] -chardet = ">=3.0.2" - [[package]] name = "bitcoin-nostr-chat" version = "0.5.1" @@ -110,13 +77,13 @@ requests = ">=2.31.0,<3.0.0" [[package]] name = "bitcoin-qr-tools" -version = "1.0.0" +version = "1.0.1" description = "Python bitcoin qr reader and generator" optional = false python-versions = "<3.13,>=3.9" files = [ - {file = "bitcoin_qr_tools-1.0.0-py3-none-any.whl", hash = "sha256:ba1af1135d741ba414fae6e6ab2b570c21600e99dd9ee6e6782e1312158c6c06"}, - {file = "bitcoin_qr_tools-1.0.0.tar.gz", hash = "sha256:cc45e3236ed8bba5ac9055db332a8cbe6102514ff09c54b392c7cbf2fd80bb66"}, + {file = "bitcoin_qr_tools-1.0.1-py3-none-any.whl", hash = "sha256:873077fc385566200d640b181edec8f026f08579ad3c5450bd4a37116e6b5fa3"}, + {file = "bitcoin_qr_tools-1.0.1.tar.gz", hash = "sha256:f0ef6c0d3e78b4b06c6654c4982efb283616bd7248164cbb93e613dfc9be3d03"}, ] [package.dependencies] @@ -153,38 +120,6 @@ python-bitcointx = "1.1.4" requests = ">=2.32.3,<3.0.0" trezor = ">=0.13.9,<0.14.0" -[[package]] -name = "briefcase" -version = "0.3.19" -description = "Tools to support converting a Python project into a standalone native application." -optional = false -python-versions = ">=3.8" -files = [ - {file = "briefcase-0.3.19-py3-none-any.whl", hash = "sha256:d5f47ddd23fe7ea79870e13ea9bf43bbb51d238a2fdd3ef75d1a59bffdeff3f1"}, - {file = "briefcase-0.3.19.tar.gz", hash = "sha256:53d8344b73f357b155f892e3fcf19be97bcabb8b3997ebeaa483eb692d326748"}, -] - -[package.dependencies] -build = ">=0.10" -cookiecutter = ">=2.6.0,<3.0" -dmgbuild = {version = ">=1.6,<2.0", markers = "sys_platform == \"darwin\""} -GitPython = ">=3.1,<4.0" -packaging = ">=22.0" -pip = ">=23.1.2" -platformdirs = ">=2.6,<5.0" -psutil = ">=5.9,<6.0" -python-dateutil = ">=2.9.0.post0" -requests = ">=2.28,<3.0" -rich = ">=12.6,<14.0" -setuptools = ">=60" -tomli = {version = ">=2.0,<3.0", markers = "python_version <= \"3.10\""} -tomli-w = ">=1.0,<2.0" -wheel = ">=0.37" - -[package.extras] -dev = ["coverage-conditional-plugin (==0.9.0)", "coverage[toml] (==7.5.3)", "pre-commit (==3.5.0)", "pre-commit (==3.7.1)", "pytest (==8.2.2)", "pytest-xdist (==3.6.1)", "setuptools-scm (==8.1.0)", "tox (==4.15.1)"] -docs = ["furo (==2024.5.6)", "pyenchant (==3.2.2)", "sphinx (==7.1.2)", "sphinx (==7.3.7)", "sphinx-autobuild (==2021.3.14)", "sphinx-autobuild (==2024.4.16)", "sphinx-copybutton (==0.5.2)", "sphinx-tabs (==3.4.5)", "sphinxcontrib-spelling (==8.0.0)"] - [[package]] name = "build" version = "1.2.2.post1" @@ -403,116 +338,103 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, +python-versions = ">=3.7" +files = [ + {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, + {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, + {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, ] [[package]] @@ -532,13 +454,13 @@ rapidfuzz = ">=3.0.0,<4.0.0" [[package]] name = "click" -version = "8.1.7" +version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -583,27 +505,6 @@ files = [ [package.dependencies] construct = ">=2.10,<3.0" -[[package]] -name = "cookiecutter" -version = "2.6.0" -description = "A command-line utility that creates projects from project templates, e.g. creating a Python package project from a Python package project template." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cookiecutter-2.6.0-py3-none-any.whl", hash = "sha256:a54a8e37995e4ed963b3e82831072d1ad4b005af736bb17b99c2cbd9d41b6e2d"}, - {file = "cookiecutter-2.6.0.tar.gz", hash = "sha256:db21f8169ea4f4fdc2408d48ca44859349de2647fbe494a9d6c3edfc0542c21c"}, -] - -[package.dependencies] -arrow = "*" -binaryornot = ">=0.4.4" -click = ">=7.0,<9.0.0" -Jinja2 = ">=2.7,<4.0.0" -python-slugify = ">=4.0.0" -pyyaml = ">=5.3.1" -requests = ">=2.23.0" -rich = "*" - [[package]] name = "crashtest" version = "0.4.1" @@ -731,44 +632,6 @@ files = [ {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, ] -[[package]] -name = "dmgbuild" -version = "1.6.2" -description = "macOS command line utility to build disk images" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dmgbuild-1.6.2-py3-none-any.whl", hash = "sha256:f78200b992027ccd2aa63872ed6ed11464e9149249303b8eee477e65280993d1"}, - {file = "dmgbuild-1.6.2.tar.gz", hash = "sha256:dba01d29f10c6804f2d72301600ddd03724daa41cd21a95409c44a3e199b19aa"}, -] - -[package.dependencies] -ds-store = ">=1.1.0" -mac-alias = ">=2.0.1" - -[package.extras] -dev = ["coverage (==7.6.0)", "pre-commit (==3.5.0)", "pre-commit (==3.8.0)", "pytest (==8.3.2)", "pytest-cov (==5.0.0)", "tox (==4.16.0)"] -docs = ["sphinx (==7.1.2)", "sphinx (==7.4.7)", "sphinx-autobuild (==2021.3.14)", "sphinx-autobuild (==2024.4.16)", "sphinx-rtd-theme (==2.0.0)"] - -[[package]] -name = "ds-store" -version = "1.3.1" -description = "Manipulate Finder .DS_Store files from Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "ds_store-1.3.1-py3-none-any.whl", hash = "sha256:fbacbb0bd5193ab3e66e5a47fff63619f15e374ffbec8ae29744251a6c8f05b5"}, - {file = "ds_store-1.3.1.tar.gz", hash = "sha256:c27d413caf13c19acb85d75da4752673f1f38267f9eb6ba81b3b5aa99c2d207c"}, -] - -[package.dependencies] -mac-alias = ">=2.0.1" - -[package.extras] -dev = ["pre-commit", "tox"] -docs = ["sphinx", "sphinx-autobuild", "sphinx-rtd-theme"] -test = ["pytest", "pytest-cov", "pytest-tldr"] - [[package]] name = "dulwich" version = "0.21.7" @@ -1007,38 +870,6 @@ defusedxml = "*" fonttools = ">=4.34.0" Pillow = ">=6.2.2,<9.2.dev0 || >=9.3.dev0" -[[package]] -name = "gitdb" -version = "4.0.11" -description = "Git Object Database" -optional = false -python-versions = ">=3.7" -files = [ - {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, - {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, -] - -[package.dependencies] -smmap = ">=3.0.1,<6" - -[[package]] -name = "gitpython" -version = "3.1.43" -description = "GitPython is a Python library used to interact with Git repositories" -optional = false -python-versions = ">=3.7" -files = [ - {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"}, - {file = "GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"}, -] - -[package.dependencies] -gitdb = ">=4.0.1,<5" - -[package.extras] -doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] -test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] - [[package]] name = "hidapi" version = "0.14.0.post4" @@ -1263,23 +1094,6 @@ files = [ test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] trio = ["async_generator", "trio"] -[[package]] -name = "jinja2" -version = "3.1.4" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, -] - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - [[package]] name = "keyring" version = "24.3.1" @@ -1470,22 +1284,6 @@ html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] source = ["Cython (>=3.0.11)"] -[[package]] -name = "mac-alias" -version = "2.2.2" -description = "Generate/parse Mac OS Alias records from Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "mac_alias-2.2.2-py3-none-any.whl", hash = "sha256:504ab8ac546f35bbd75ad014d6ad977c426660aa721f2cd3acf3dc2f664141bd"}, - {file = "mac_alias-2.2.2.tar.gz", hash = "sha256:c99c728eb512e955c11f1a6203a0ffa8883b26549e8afe68804031aa5da856b7"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -docs = ["sphinx", "sphinx-autobuild", "sphinx-rtd-theme"] -test = ["pytest", "pytest-cov", "pytest-tldr"] - [[package]] name = "macholib" version = "1.16.3" @@ -1500,111 +1298,6 @@ files = [ [package.dependencies] altgraph = ">=0.17" -[[package]] -name = "markdown-it-py" -version = "3.0.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -optional = false -python-versions = ">=3.8" -files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] - -[package.dependencies] -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark"] -code-style = ["pre-commit (>=3.0,<4.0)"] -compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] -linkify = ["linkify-it-py (>=1,<3)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "markupsafe" -version = "3.0.2" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.9" -files = [ - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, - {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, -] - -[[package]] -name = "mdurl" -version = "0.1.2" -description = "Markdown URL utilities" -optional = false -python-versions = ">=3.7" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] - [[package]] name = "mnemonic" version = "0.21" @@ -1771,66 +1464,66 @@ files = [ [[package]] name = "numpy" -version = "2.2.0" +version = "2.2.1" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9"}, - {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3"}, - {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83"}, - {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a"}, - {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31"}, - {file = "numpy-2.2.0-cp310-cp310-win32.whl", hash = "sha256:b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661"}, - {file = "numpy-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da"}, - {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74"}, - {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e"}, - {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b"}, - {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d"}, - {file = "numpy-2.2.0-cp311-cp311-win32.whl", hash = "sha256:4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410"}, - {file = "numpy-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e"}, - {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038"}, - {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03"}, - {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a"}, - {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef"}, - {file = "numpy-2.2.0-cp312-cp312-win32.whl", hash = "sha256:afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1"}, - {file = "numpy-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13"}, - {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671"}, - {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571"}, - {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d"}, - {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742"}, - {file = "numpy-2.2.0-cp313-cp313-win32.whl", hash = "sha256:3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e"}, - {file = "numpy-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d"}, - {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529"}, - {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3"}, - {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab"}, - {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72"}, - {file = "numpy-2.2.0-cp313-cp313t-win32.whl", hash = "sha256:30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066"}, - {file = "numpy-2.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221"}, - {file = "numpy-2.2.0.tar.gz", hash = "sha256:140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675"}, + {file = "numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308"}, + {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957"}, + {file = "numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf"}, + {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2"}, + {file = "numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528"}, + {file = "numpy-2.2.1-cp310-cp310-win32.whl", hash = "sha256:48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95"}, + {file = "numpy-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb"}, + {file = "numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5"}, + {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73"}, + {file = "numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591"}, + {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8"}, + {file = "numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0"}, + {file = "numpy-2.2.1-cp311-cp311-win32.whl", hash = "sha256:b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd"}, + {file = "numpy-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"}, + {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"}, + {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"}, + {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"}, + {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"}, + {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"}, + {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"}, + {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e"}, + {file = "numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348"}, + {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59"}, + {file = "numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af"}, + {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51"}, + {file = "numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716"}, + {file = "numpy-2.2.1-cp313-cp313-win32.whl", hash = "sha256:9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e"}, + {file = "numpy-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008"}, + {file = "numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84"}, + {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631"}, + {file = "numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d"}, + {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5"}, + {file = "numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71"}, + {file = "numpy-2.2.1-cp313-cp313t-win32.whl", hash = "sha256:93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2"}, + {file = "numpy-2.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800"}, + {file = "numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e"}, + {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"}, ] [[package]] @@ -2002,17 +1695,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa typing = ["typing-extensions"] xmp = ["defusedxml"] -[[package]] -name = "pip" -version = "24.3.1" -description = "The PyPA recommended tool for installing Python packages." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pip-24.3.1-py3-none-any.whl", hash = "sha256:3790624780082365f47549d032f3770eeb2b1e8bd1f7b2e02dace1afa361b4ed"}, - {file = "pip-24.3.1.tar.gz", hash = "sha256:ebcb60557f2aefabc2e0f918751cd24ea0d56d8ec5445fe1807f1d2109660b99"}, -] - [[package]] name = "pkginfo" version = "1.12.0" @@ -2158,34 +1840,6 @@ files = [ {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, ] -[[package]] -name = "psutil" -version = "5.9.8" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"}, - {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"}, - {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"}, - {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"}, - {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"}, - {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"}, - {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"}, - {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"}, - {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"}, - {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"}, - {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"}, - {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"}, - {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"}, - {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"}, - {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"}, - {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"}, -] - -[package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] - [[package]] name = "ptyprocess" version = "0.7.0" @@ -2298,20 +1952,6 @@ files = [ {file = "pygame-2.6.1.tar.gz", hash = "sha256:56fb02ead529cee00d415c3e007f75e0780c655909aaa8e8bf616ee09c9feb1f"}, ] -[[package]] -name = "pygments" -version = "2.18.0" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, -] - -[package.extras] -windows-terminal = ["colorama (>=0.4.6)"] - [[package]] name = "pyinstaller" version = "6.11.1" @@ -2348,13 +1988,13 @@ hook-testing = ["execnet (>=1.5.0)", "psutil", "pytest (>=2.7.3)"] [[package]] name = "pyinstaller-hooks-contrib" -version = "2024.10" +version = "2024.11" description = "Community maintained hooks for PyInstaller" optional = false python-versions = ">=3.8" files = [ - {file = "pyinstaller_hooks_contrib-2024.10-py3-none-any.whl", hash = "sha256:ad47db0e153683b4151e10d231cb91f2d93c85079e78d76d9e0f57ac6c8a5e10"}, - {file = "pyinstaller_hooks_contrib-2024.10.tar.gz", hash = "sha256:8a46655e5c5b0186b5e527399118a9b342f10513eb1425c483fa4f6d02e8800c"}, + {file = "pyinstaller_hooks_contrib-2024.11-py3-none-any.whl", hash = "sha256:2781d121a1ee961152ba7287a262c65a1078da30c9ef7621cb8c819326884fd5"}, + {file = "pyinstaller_hooks_contrib-2024.11.tar.gz", hash = "sha256:84399af6b4b902030958063df25f657abbff249d0f329c5344928355c9833ab4"}, ] [package.dependencies] @@ -2444,6 +2084,7 @@ python-versions = "*" files = [ {file = "PyQt6_Charts_Qt6-6.8.1-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:40df5c70482e6f10ab1d5f7ac1744ddde97e14722e8db1e41d01e25b540ea5d8"}, {file = "PyQt6_Charts_Qt6-6.8.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:eeb435a44344db843711bbeae7b09b524230501a607238c4c6734606e7593489"}, + {file = "PyQt6_Charts_Qt6-6.8.1-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:80dcef5bab01901aa50643680a7dbc5132b577f8aa5d68f3617b9e006f4732f4"}, {file = "PyQt6_Charts_Qt6-6.8.1-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:fcd77a96bc1c2e2f92ffead543d6bba951eaec4c1b63c894e2ff9f7d314af075"}, {file = "PyQt6_Charts_Qt6-6.8.1-py3-none-manylinux_2_39_aarch64.whl", hash = "sha256:ec473791fa79b124539cc154d577cb8958997b65f4aff6dd0139fcad217695db"}, {file = "PyQt6_Charts_Qt6-6.8.1-py3-none-win_amd64.whl", hash = "sha256:404be7fb5ded6a0285f6e16c6d5457f57e95425caed65878b41bd5a084c84ec8"}, @@ -2459,6 +2100,7 @@ python-versions = "*" files = [ {file = "PyQt6_Qt6-6.8.1-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:1eb8460a1fdb38d0b2458c2974c01d471c1e59e4eb19ea63fc447aaba3ad530e"}, {file = "PyQt6_Qt6-6.8.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9f3790c4ce4dc576e48b8718d55fb8743057e6cbd53a6ca1dd253ffbac9b7287"}, + {file = "PyQt6_Qt6-6.8.1-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:d6ca5d2b9d2ec0ee4a814b2175f641a5c4299cb80b45e0f5f8356632663f89b3"}, {file = "PyQt6_Qt6-6.8.1-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:08065d595f1e6fc2dde9f4450eeff89082f4bad26f600a8e9b9cc5966716bfcf"}, {file = "PyQt6_Qt6-6.8.1-py3-none-manylinux_2_39_aarch64.whl", hash = "sha256:20843cb86bd94942d1cd99e39bf1aeabb875b241a35a8ab273e4bbbfa63776db"}, {file = "PyQt6_Qt6-6.8.1-py3-none-win_amd64.whl", hash = "sha256:006d786693d0511fbcf184a862edbd339c6ed1bb3bd9de363d73a19ed4b23dff"}, @@ -2578,20 +2220,6 @@ files = [ {file = "python_bitcointx-1.1.4-py3-none-any.whl", hash = "sha256:075a05a46920e31024fef226d8977f443e8405c65d669f1f1246fe58ba1df873"}, ] -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - [[package]] name = "python-gnupg" version = "0.5.3" @@ -2603,23 +2231,6 @@ files = [ {file = "python_gnupg-0.5.3-py2.py3-none-any.whl", hash = "sha256:2f8a4c6f63766feca6cc1416408f8b84e1b914fe7b54514e570fc5cbe92e9248"}, ] -[[package]] -name = "python-slugify" -version = "8.0.4" -description = "A Python slugify application that also handles Unicode" -optional = false -python-versions = ">=3.7" -files = [ - {file = "python-slugify-8.0.4.tar.gz", hash = "sha256:59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856"}, - {file = "python_slugify-8.0.4-py2.py3-none-any.whl", hash = "sha256:276540b79961052b66b7d116620b36518847f52d5fd9e3a70164fc8c50faa6b8"}, -] - -[package.dependencies] -text-unidecode = ">=1.3" - -[package.extras] -unidecode = ["Unidecode (>=1.1.1)"] - [[package]] name = "pyvirtualdisplay" version = "3.0" @@ -2874,25 +2485,6 @@ files = [ [package.dependencies] requests = ">=2.0.1,<3.0.0" -[[package]] -name = "rich" -version = "13.9.4" -description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, -] - -[package.dependencies] -markdown-it-py = ">=2.2.0" -pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} - -[package.extras] -jupyter = ["ipywidgets (>=7.5.1,<9)"] - [[package]] name = "secretstorage" version = "3.3.3" @@ -2972,17 +2564,6 @@ files = [ {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] -[[package]] -name = "smmap" -version = "5.0.1" -description = "A pure Python implementation of a sliding window memory map manager" -optional = false -python-versions = ">=3.7" -files = [ - {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, - {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, -] - [[package]] name = "snakeviz" version = "2.2.2" @@ -2997,17 +2578,6 @@ files = [ [package.dependencies] tornado = ">=2.0" -[[package]] -name = "text-unidecode" -version = "1.3" -description = "The most basic Text::Unidecode port" -optional = false -python-versions = "*" -files = [ - {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, - {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, -] - [[package]] name = "tomli" version = "2.2.1" @@ -3049,17 +2619,6 @@ files = [ {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] -[[package]] -name = "tomli-w" -version = "1.1.0" -description = "A lil' TOML writer" -optional = false -python-versions = ">=3.9" -files = [ - {file = "tomli_w-1.1.0-py3-none-any.whl", hash = "sha256:1403179c78193e3184bfaade390ddbd071cba48a32a2e62ba11aae47490c63f7"}, - {file = "tomli_w-1.1.0.tar.gz", hash = "sha256:49e847a3a304d516a169a601184932ef0f6b61623fe680f836a2aa7128ed0d33"}, -] - [[package]] name = "tomlkit" version = "0.13.2" @@ -3093,13 +2652,13 @@ files = [ [[package]] name = "translate-toolkit" -version = "3.14.4" +version = "3.14.5" description = "Tools and API for translation and localization engineering." optional = false python-versions = ">=3.9" files = [ - {file = "translate_toolkit-3.14.4-py3-none-any.whl", hash = "sha256:d190de7eba3e6d604203e71dcdade20a35550ddeff964d2d448fd369a8e7ee3e"}, - {file = "translate_toolkit-3.14.4.tar.gz", hash = "sha256:6bf58e151385b32e45c9643b24c80b3cd46ad5bcc4665afa5332974bc94cf79b"}, + {file = "translate_toolkit-3.14.5-py3-none-any.whl", hash = "sha256:9fc0d1b011c4a1af6f970905df5775206f9c5f76b26eae0c8c0e2693c817d976"}, + {file = "translate_toolkit-3.14.5.tar.gz", hash = "sha256:2846180b74a0b8cb7f51e7a70ae410c1310e9be37b7c6c849247c049e5c53dd0"}, ] [package.dependencies] @@ -3107,8 +2666,8 @@ cwcwidth = ">=0.1.9" lxml = ">=4.6.3" [package.extras] -all = ["BeautifulSoup4 (>=4.10.0)", "aeidon (==1.15)", "charset-normalizer (==3.4.0)", "cheroot (==10.0.1)", "fluent.syntax (==0.19.0)", "iniparse (==0.5)", "mistletoe (==1.4.0)", "phply (==1.2.6)", "pyenchant (==3.2.2)", "pyparsing (==3.2.0)", "python-Levenshtein (>=0.21.0)", "ruamel.yaml (==0.18.6)", "vobject (==0.9.9)"] -chardet = ["charset-normalizer (==3.4.0)"] +all = ["BeautifulSoup4 (>=4.10.0)", "aeidon (==1.15)", "charset-normalizer (==3.4.1)", "cheroot (==10.0.1)", "fluent.syntax (==0.19.0)", "iniparse (==0.5)", "mistletoe (==1.4.0)", "phply (==1.2.6)", "pyenchant (==3.2.2)", "pyparsing (==3.2.0)", "python-Levenshtein (>=0.21.0)", "ruamel.yaml (==0.18.6)", "vobject (==0.9.9)"] +chardet = ["charset-normalizer (==3.4.1)"] fluent = ["fluent.syntax (==0.19.0)"] ical = ["vobject (==0.9.9)"] ini = ["iniparse (==0.5)"] @@ -3163,17 +2722,6 @@ files = [ {file = "trove_classifiers-2024.10.21.16.tar.gz", hash = "sha256:17cbd055d67d5e9d9de63293a8732943fabc21574e4c7b74edf112b4928cf5f3"}, ] -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20241206" -description = "Typing stubs for python-dateutil" -optional = false -python-versions = ">=3.8" -files = [ - {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, - {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, -] - [[package]] name = "typing-extensions" version = "4.12.2" @@ -3187,13 +2735,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.3" +version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, + {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, + {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, ] [package.extras] @@ -3222,20 +2770,6 @@ platformdirs = ">=3.9.1,<5" docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] -[[package]] -name = "wheel" -version = "0.45.1" -description = "A built-package format for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, - {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, -] - -[package.extras] -test = ["pytest (>=6.0.0)", "setuptools (>=65)"] - [[package]] name = "xattr" version = "1.1.0" @@ -3331,4 +2865,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.11" -content-hash = "180a6d96f61eca3dd6207ec3d1e83d2066934bd8740ba8ddf79d4e4d4dd62ff1" +content-hash = "0b1c9204be3f7985e7789121c49a25d09522107987582d1d3b6ae39afd22e7cb" diff --git a/pyproject.toml b/pyproject.toml index 0520966..21483da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ line-length = 110 name = "bitcoin-safe" # the version here and in all other places in this toml are updated automatically # from the source: bitcoin_safe/__init__.py -version = "1.0.0b5" +version = "1.0.0rc1" description = "A bitcoin savings wallet for the entire family." authors = [ "andreasgriffin ",] license = "GPL-3.0" @@ -39,48 +39,18 @@ python-gnupg = "^0.5.2" # bitcoin-qr-tools = {path="../bitcoin-qr-tools"} # "^0.10.15" # bitcoin-nostr-chat = {path="../bitcoin-nostr-chat"} # "^0.2.6" # bitcoin-usb = {path="../bitcoin-usb"} # "^0.3.3" -bitcoin-qr-tools = "^1.0.0" +bitcoin-qr-tools = "^1.0.1" bitcoin-nostr-chat = "^0.5.1" bitcoin-usb = "^0.7.0" numpy = "^2.0.1" pgpy = "^0.6.0" -[tool.pytest.ini_options] -markers = [ - "marker_qt_1: marks tests as marker_qt_1 (deselect by default)", - "marker_qt_2: marks tests as marker_qt_2 (deselect by default)" -] - - -[tool.briefcase] -project_name = "Bitcoin-Safe" -bundle = "org.bitcoin-safe" -version = "1.0.0b5" -url = "www.bitcoin-safe.org" -author = "Andreas Griffin" -author_email = "andreasgriffin@proton.me" - -[tool.briefcase.license] -file = "LICENSE" - -[tool.briefcase.app.bitcoin-safe] -formal_name = "Bitcoin-Safe" -description = "A bitcoin wallet for the entire family." -long_description = "More details about the app should go here.\n" -sources = [ "bitcoin_safe",] -test_sources = [ "tests",] -test_requires = [ "pytest",] -resources = [ "bitcoin_safe/gui/locales/*.qm",] -# these requirements are updated from the poetry lock file automatically -requires = ["altgraph==0.17.4", "appdirs==1.4.4", "arrow==1.3.0", "base58==2.1.1", "bdkpython==0.31.0", "binaryornot==0.4.4", "bitcoin-nostr-chat==0.5.1", "bitcoin-qr-tools==1.0.0", "bitcoin-usb==0.7.0", "briefcase==0.3.19", "build==1.2.2.post1", "cachecontrol==0.14.1", "cbor2==5.6.5", "certifi==2024.8.30", "cffi==1.17.1", "cfgv==3.4.0", "chardet==5.2.0", "charset-normalizer==3.4.0", "cleo==2.1.0", "click==8.1.7", "colorama==0.4.6", "construct==2.10.70", "construct-classes==0.1.2", "cookiecutter==2.6.0", "crashtest==0.4.1", "cryptography==43.0.3", "cwcwidth==0.1.9", "defusedxml==0.7.1", "distlib==0.3.9", "dmgbuild==1.6.2", "ds-store==1.3.1", "dulwich==0.21.7", "ecdsa==0.19.0", "exceptiongroup==1.2.2", "fastjsonschema==2.21.1", "filelock==3.16.1", "fonttools==4.55.3", "fpdf2==2.8.1", "gitdb==4.0.11", "gitpython==3.1.43", "hidapi==0.14.0.post4", "hwi==3.1.0", "identify==2.6.3", "idna==3.10", "importlib-metadata==8.5.0", "iniconfig==2.0.0", "installer==0.7.0", "jaraco-classes==3.4.0", "jeepney==0.8.0", "jinja2==3.1.4", "keyring==24.3.1", "libusb1==3.1.0", "lxml==5.3.0", "mac-alias==2.2.2", "macholib==1.16.3", "markdown-it-py==3.0.0", "markupsafe==3.0.2", "mdurl==0.1.2", "mnemonic==0.21", "more-itertools==10.5.0", "msgpack==1.1.0", "mss==9.0.2", "nodeenv==1.9.1", "noiseprotocol==0.3.1", "nostr-sdk==0.32.2", "numpy==2.2.0", "opencv-python-headless==4.10.0.84", "packaging==24.2", "pefile==2023.2.7", "pexpect==4.9.0", "pgpy==0.6.0", "pillow==10.4.0", "pip==24.3.1", "pkginfo==1.12.0", "platformdirs==4.3.6", "pluggy==1.5.0", "poetry-core==1.9.1", "poetry-plugin-export==1.8.0", "pre-commit==3.8.0", "protobuf==4.25.5", "psutil==5.9.8", "ptyprocess==0.7.0", "pyaes==1.6.1", "pyasn1==0.6.1", "pycparser==2.22", "pygame==2.6.1", "pygments==2.18.0", "pyinstaller==6.11.1", "pyinstaller-hooks-contrib==2024.10", "pyprof2calltree==1.4.5", "pyproject-hooks==1.2.0", "pyqrcode==1.2.1", "pyqt6==6.8.0", "pyqt6-charts==6.8.0", "pyqt6-charts-qt6==6.8.1", "pyqt6-qt6==6.8.1", "pyqt6-sip==13.9.1", "pyserial==3.5", "pytest==8.3.4", "pytest-qt==4.4.0", "pytest-xvfb==3.0.0", "python-bitcointx==1.1.4", "python-dateutil==2.9.0.post0", "python-gnupg==0.5.3", "python-slugify==8.0.4", "pyvirtualdisplay==3.0", "pywin32-ctypes==0.2.3", "pyyaml==6.0.2", "pyzbar==0.1.9", "rapidfuzz==3.10.1", "reportlab==4.0.8", "requests==2.32.3", "requests-toolbelt==1.0.0", "rich==13.9.4", "secretstorage==3.3.3", "segno==1.6.1", "semver==3.0.2", "setuptools==75.6.0", "shellingham==1.5.4", "six==1.17.0", "smmap==5.0.1", "snakeviz==2.2.2", "text-unidecode==1.3", "tomli==2.2.1", "tomli-w==1.1.0", "tomlkit==0.13.2", "tornado==6.4.2", "translate-toolkit==3.14.2", "trezor==0.13.9", "trove-classifiers==2024.10.21.16", "types-python-dateutil==2.9.0.20241206", "typing-extensions==4.12.2", "urllib3==2.2.3", "virtualenv==20.28.0", "wheel==0.45.1", "zipp==3.21.0"] - - [tool.poetry.group.dev.dependencies] pytest = "^8.2.2" pytest-qt = ">=4.4.0" -briefcase = "0.3.19" +# briefcase = "0.3.19" requests = "^2.31.0" pre-commit = "^3.8.0" python-gnupg = "^0.5.2" @@ -93,61 +63,93 @@ poetry = "^1.8.4" pyinstaller = "^6.11.0" poetry-plugin-export = "^1.8.0" -[tool.briefcase.app.bitcoin-safe.macOS] -universal_build = true -requires = [ "std-nslog~=1.0.0",] -system_runtime_requires = [ "libzbar0", "libsecp256k1-1",] -[tool.briefcase.app.bitcoin-safe.linux] -icon = "tools/resources/icon" +[tool.pytest.ini_options] +markers = [ + "marker_qt_1: marks tests as marker_qt_1 (deselect by default)", + "marker_qt_2: marks tests as marker_qt_2 (deselect by default)" +] + + +# [tool.briefcase] +# project_name = "Bitcoin-Safe" +# bundle = "org.bitcoin-safe" +# version = "1.0.0b5" +# url = "www.bitcoin-safe.org" +# author = "Andreas Griffin" +# author_email = "andreasgriffin@proton.me" + +# [tool.briefcase.license] +# file = "LICENSE" + +# [tool.briefcase.app.bitcoin-safe] +# formal_name = "Bitcoin-Safe" +# description = "A bitcoin wallet for the entire family." +# long_description = "More details about the app should go here.\n" +# sources = [ "bitcoin_safe",] +# test_sources = [ "tests",] +# test_requires = [ "pytest",] +# resources = [ "bitcoin_safe/gui/locales/*.qm",] +# # these requirements are updated from the poetry lock file automatically +# requires = ["altgraph==0.17.4", "appdirs==1.4.4", "arrow==1.3.0", "base58==2.1.1", "bdkpython==0.31.0", "binaryornot==0.4.4", "bitcoin-nostr-chat==0.5.1", "bitcoin-qr-tools==1.0.0", "bitcoin-usb==0.7.0", "briefcase==0.3.19", "build==1.2.2.post1", "cachecontrol==0.14.1", "cbor2==5.6.5", "certifi==2024.8.30", "cffi==1.17.1", "cfgv==3.4.0", "chardet==5.2.0", "charset-normalizer==3.4.0", "cleo==2.1.0", "click==8.1.7", "colorama==0.4.6", "construct==2.10.70", "construct-classes==0.1.2", "cookiecutter==2.6.0", "crashtest==0.4.1", "cryptography==43.0.3", "cwcwidth==0.1.9", "defusedxml==0.7.1", "distlib==0.3.9", "dmgbuild==1.6.2", "ds-store==1.3.1", "dulwich==0.21.7", "ecdsa==0.19.0", "exceptiongroup==1.2.2", "fastjsonschema==2.21.1", "filelock==3.16.1", "fonttools==4.55.3", "fpdf2==2.8.1", "gitdb==4.0.11", "gitpython==3.1.43", "hidapi==0.14.0.post4", "hwi==3.1.0", "identify==2.6.3", "idna==3.10", "importlib-metadata==8.5.0", "iniconfig==2.0.0", "installer==0.7.0", "jaraco-classes==3.4.0", "jeepney==0.8.0", "jinja2==3.1.4", "keyring==24.3.1", "libusb1==3.1.0", "lxml==5.3.0", "mac-alias==2.2.2", "macholib==1.16.3", "markdown-it-py==3.0.0", "markupsafe==3.0.2", "mdurl==0.1.2", "mnemonic==0.21", "more-itertools==10.5.0", "msgpack==1.1.0", "mss==9.0.2", "nodeenv==1.9.1", "noiseprotocol==0.3.1", "nostr-sdk==0.32.2", "numpy==2.2.0", "opencv-python-headless==4.10.0.84", "packaging==24.2", "pefile==2023.2.7", "pexpect==4.9.0", "pgpy==0.6.0", "pillow==10.4.0", "pip==24.3.1", "pkginfo==1.12.0", "platformdirs==4.3.6", "pluggy==1.5.0", "poetry-core==1.9.1", "poetry-plugin-export==1.8.0", "pre-commit==3.8.0", "protobuf==4.25.5", "psutil==5.9.8", "ptyprocess==0.7.0", "pyaes==1.6.1", "pyasn1==0.6.1", "pycparser==2.22", "pygame==2.6.1", "pygments==2.18.0", "pyinstaller==6.11.1", "pyinstaller-hooks-contrib==2024.10", "pyprof2calltree==1.4.5", "pyproject-hooks==1.2.0", "pyqrcode==1.2.1", "pyqt6==6.8.0", "pyqt6-charts==6.8.0", "pyqt6-charts-qt6==6.8.1", "pyqt6-qt6==6.8.1", "pyqt6-sip==13.9.1", "pyserial==3.5", "pytest==8.3.4", "pytest-qt==4.4.0", "pytest-xvfb==3.0.0", "python-bitcointx==1.1.4", "python-dateutil==2.9.0.post0", "python-gnupg==0.5.3", "python-slugify==8.0.4", "pyvirtualdisplay==3.0", "pywin32-ctypes==0.2.3", "pyyaml==6.0.2", "pyzbar==0.1.9", "rapidfuzz==3.10.1", "reportlab==4.0.8", "requests==2.32.3", "requests-toolbelt==1.0.0", "rich==13.9.4", "secretstorage==3.3.3", "segno==1.6.1", "semver==3.0.2", "setuptools==75.6.0", "shellingham==1.5.4", "six==1.17.0", "smmap==5.0.1", "snakeviz==2.2.2", "text-unidecode==1.3", "tomli==2.2.1", "tomli-w==1.1.0", "tomlkit==0.13.2", "tornado==6.4.2", "translate-toolkit==3.14.2", "trezor==0.13.9", "trove-classifiers==2024.10.21.16", "types-python-dateutil==2.9.0.20241206", "typing-extensions==4.12.2", "urllib3==2.2.3", "virtualenv==20.28.0", "wheel==0.45.1", "zipp==3.21.0"] + + + +# [tool.briefcase.app.bitcoin-safe.macOS] +# universal_build = true +# requires = [ "std-nslog~=1.0.0",] +# system_runtime_requires = [ "libzbar0", "libsecp256k1-1",] + +# [tool.briefcase.app.bitcoin-safe.linux] +# icon = "tools/resources/icon" -[tool.briefcase.app.bitcoin-safe.windows] -requires = [] -use_full_install_path = false +# [tool.briefcase.app.bitcoin-safe.windows] +# requires = [] +# use_full_install_path = false -[tool.briefcase.app.bitcoin-safe.iOS] -supported = false +# [tool.briefcase.app.bitcoin-safe.iOS] +# supported = false -[tool.briefcase.app.bitcoin-safe.android] -supported = false +# [tool.briefcase.app.bitcoin-safe.android] +# supported = false -[tool.briefcase.app.bitcoin-safe.web] -supported = false +# [tool.briefcase.app.bitcoin-safe.web] +# supported = false -[tool.briefcase.app.bitcoin-safe.macOS.entitlement] -"com.apple.security.device.camera" = true +# [tool.briefcase.app.bitcoin-safe.macOS.entitlement] +# "com.apple.security.device.camera" = true -[tool.briefcase.app.bitcoin-safe.macOS.info] -NSCameraUsageDescription = "This application supports scanning QR-codes." +# [tool.briefcase.app.bitcoin-safe.macOS.info] +# NSCameraUsageDescription = "This application supports scanning QR-codes." -[tool.briefcase.app.bitcoin-safe.linux.appimage] -# deprecated. appimage are build using the -# dedicated docker container -manylinux = "manylinux_2_28" -icon = "tools/resources/icon" -resources = [ "tools/resources/icon/*.png", "tools/resources/icon/*.svg",] -version = "1.0.0b5" -# system_requires = [ "cmake", "gcc", "gcc-c++", "make", "perl", "git", "libxcb", "libxcb-devel", "xcb-util", "xcb-util-devel", "mesa-libGL-devel", "openssl-devel", "bison", "flex", "gperf", "sqlite-devel", "libicu-devel"] +# [tool.briefcase.app.bitcoin-safe.linux.appimage] +# # deprecated. appimage are build using the +# # dedicated docker container +# manylinux = "manylinux_2_28" +# icon = "tools/resources/icon" +# resources = [ "tools/resources/icon/*.png", "tools/resources/icon/*.svg",] +# version = "1.0.0b5" +# # system_requires = [ "cmake", "gcc", "gcc-c++", "make", "perl", "git", "libxcb", "libxcb-devel", "xcb-util", "xcb-util-devel", "mesa-libGL-devel", "openssl-devel", "bison", "flex", "gperf", "sqlite-devel", "libicu-devel"] -[tool.briefcase.app.bitcoin-safe.linux.flatpak] -bundle = "org.bitcoinsafe" -flatpak_runtime = "org.kde.Platform" -flatpak_runtime_version = "6.6" -flatpak_sdk = "org.kde.Sdk" +# [tool.briefcase.app.bitcoin-safe.linux.flatpak] +# bundle = "org.bitcoinsafe" +# flatpak_runtime = "org.kde.Platform" +# flatpak_runtime_version = "6.6" +# flatpak_sdk = "org.kde.Sdk" -version = "1.0.0b5" +# version = "1.0.0b5" -[tool.briefcase.app.bitcoin-safe.linux.system.debian] +# [tool.briefcase.app.bitcoin-safe.linux.system.debian] -[tool.briefcase.app.bitcoin-safe.linux.system.rhel] -system_runtime_requires = [ "qt6-qtbase-gui",] +# [tool.briefcase.app.bitcoin-safe.linux.system.rhel] +# system_runtime_requires = [ "qt6-qtbase-gui",] -[tool.briefcase.app.bitcoin-safe.linux.system.suse] -system_runtime_requires = [ "libQt6Gui6",] +# [tool.briefcase.app.bitcoin-safe.linux.system.suse] +# system_runtime_requires = [ "libQt6Gui6",] -[tool.briefcase.app.bitcoin-safe.linux.system.arch] +# [tool.briefcase.app.bitcoin-safe.linux.system.arch] diff --git a/tests/non_gui/test_filename_info.py b/tests/non_gui/test_filename_info.py new file mode 100644 index 0000000..3a13f19 --- /dev/null +++ b/tests/non_gui/test_filename_info.py @@ -0,0 +1,182 @@ +# +# Bitcoin Safe +# Copyright (C) 2024 Andreas Griffin +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of version 3 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.html +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import logging + +from bitcoin_safe.signature_manager import FilenameInfo + +logger = logging.getLogger(__name__) + + +def test_name_splitting_sparrow(): + filename = "Sparrow-2.0.0-aarch64.dmg" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Sparrow', extension='dmg', version='2.0.0', architecture='aarch64', extra_info=None)" + ) + + filename = "Sparrow-2.0.0.msi" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Sparrow', extension='msi', version='2.0.0', architecture=None, extra_info=None)" + ) + + filename = "Sparrow-2.0.0.zip" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Sparrow', extension='zip', version='2.0.0', architecture=None, extra_info=None)" + ) + + filename = "sparrow_2.0.0-1_amd64.deb" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='deb', version='2.0.0', architecture='amd64', extra_info='1')" + ) + + filename = "sparrow-2.0.0-1.x86_64.rpm" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='rpm', version='2.0.0', architecture='x86_64', extra_info='1')" + ) + + filename = "sparrow-2.0.0-x86_64.tar.gz" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='gz', version='2.0.0', architecture='x86_64', extra_info='tar')" + ) + + filename = "sparrow_2.0.0-1_arm64.deb" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='deb', version='2.0.0', architecture='arm64', extra_info='1')" + ) + + filename = "sparrow-2.0.0-1.aarch64.rpm" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='rpm', version='2.0.0', architecture='aarch64', extra_info='1')" + ) + + filename = "sparrow-2.0.0-aarch64.tar.gz" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='gz', version='2.0.0', architecture='aarch64', extra_info='tar')" + ) + + filename = "sparrow-2.0.0-manifest.txt.asc" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='asc', version='2.0.0', architecture=None, extra_info='manifest.txt')" + ) + + filename = "sparrow-2.0.0-manifest.txt" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow', extension='txt', version='2.0.0', architecture=None, extra_info='manifest')" + ) + + filename = "sparrow-server-2.0.0-1.x86_64.rpm" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='sparrow-server', extension='rpm', version='2.0.0', architecture='x86_64', extra_info='1')" + ) + + +def test_name_bitcoin_safe(): + + filename = "Bitcoin-Safe-1.0.0b4-portable.exe" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Bitcoin-Safe', extension='exe', version='1.0.0b4', architecture=None, extra_info='portable')" + ) + + filename = "Bitcoin-Safe-1.0.0b4-setup.exe" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Bitcoin-Safe', extension='exe', version='1.0.0b4', architecture=None, extra_info='setup')" + ) + + for arch in ["arm64", "x86_64"]: + filename = f"Bitcoin-Safe-1.0.0b4_{arch}-setup.exe" + info = FilenameInfo.from_filename(filename) + assert info.app_name == "Bitcoin-Safe" + assert info.version == "1.0.0b4" + assert info.architecture == arch + assert info.extra_info == "setup" + + filename = "Bitcoin-Safe-1.0.3-x86_64.AppImage" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Bitcoin-Safe', extension='AppImage', version='1.0.3', architecture='x86_64', extra_info=None)" + ) + + filename = "Bitcoin-Safe_11.022.333beta3-x86_64_extra_info.AppImage" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Bitcoin-Safe', extension='AppImage', version='11.022.333beta3', architecture='x86_64', extra_info='extra_info')" + ) + + filename = "Bitcoin-Safe_11.022.333beta3-x86_64.AppImage" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Bitcoin-Safe', extension='AppImage', version='11.022.333beta3', architecture='x86_64', extra_info=None)" + ) + + filename = "Bitcoin-Safe-1.0.3.dmg" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='Bitcoin-Safe', extension='dmg', version='1.0.3', architecture=None, extra_info=None)" + ) + + +def test_name_splitting_linux_packages(): + + filename = "libreoffice-qt6-7.6.7.2-r0.apk" + info = FilenameInfo.from_filename(filename) + assert ( + str(info) + == "FilenameInfo(app_name='libreoffice-qt6', extension='apk', version='7.6.7.2', architecture=None, extra_info='r0')" + ) diff --git a/tools/build.py b/tools/build.py index 0d52ccf..f182bc8 100644 --- a/tools/build.py +++ b/tools/build.py @@ -36,7 +36,6 @@ from pathlib import Path from typing import List, Literal -import tomlkit from translation_handler import TranslationHandler, run_local from bitcoin_safe import __version__ @@ -81,49 +80,49 @@ def app_name_formatter(module_name: str) -> str: return "-".join(parts) - def update_briefcase_requires( - self, - pyproject_path="pyproject.toml", - poetry_lock_path="poetry.lock", - additional_requires=[], - ): - - # Load pyproject.toml - with open(pyproject_path, "r") as file: - pyproject_data = tomlkit.load(file) - - # Load and parse poetry lock file - with open(poetry_lock_path, "r") as file: - poetry_lock_data = tomlkit.load(file) - - briefcase_requires = [] - # Extract packages from the lock file - for package in poetry_lock_data["package"]: - name = package["name"] - if name in ["xattr", "poetry"]: - continue - version = package["version"] - if package.get("source"): - briefcase_requires.append(package.get("source", {}).get("url")) - else: - briefcase_requires.append(f"{name}=={version}") - - # Append any additional requires - briefcase_requires.extend(additional_requires) - - # Ensure the structure exists before updating it - pyproject_data.setdefault("tool", {}).setdefault("briefcase", {}).setdefault("app", {}).setdefault( - "bitcoin-safe", {} - )["requires"] = briefcase_requires - - # update version - pyproject_data.setdefault("tool", {}).setdefault("briefcase", {})["version"] = self.version - # update version - pyproject_data.setdefault("tool", {}).setdefault("poetry", {})["version"] = self.version - - # Write updated pyproject.toml - with open(pyproject_path, "w") as file: - tomlkit.dump(pyproject_data, file) + # def update_briefcase_requires( + # self, + # pyproject_path="pyproject.toml", + # poetry_lock_path="poetry.lock", + # additional_requires=[], + # ): + + # # Load pyproject.toml + # with open(pyproject_path, "r") as file: + # pyproject_data = tomlkit.load(file) + + # # Load and parse poetry lock file + # with open(poetry_lock_path, "r") as file: + # poetry_lock_data = tomlkit.load(file) + + # briefcase_requires = [] + # # Extract packages from the lock file + # for package in poetry_lock_data["package"]: + # name = package["name"] + # if name in ["xattr", "poetry"]: + # continue + # version = package["version"] + # if package.get("source"): + # briefcase_requires.append(package.get("source", {}).get("url")) + # else: + # briefcase_requires.append(f"{name}=={version}") + + # # Append any additional requires + # briefcase_requires.extend(additional_requires) + + # # Ensure the structure exists before updating it + # pyproject_data.setdefault("tool", {}).setdefault("briefcase", {}).setdefault("app", {}).setdefault( + # "bitcoin-safe", {} + # )["requires"] = briefcase_requires + + # # update version + # pyproject_data.setdefault("tool", {}).setdefault("briefcase", {})["version"] = self.version + # # update version + # pyproject_data.setdefault("tool", {}).setdefault("poetry", {})["version"] = self.version + + # # Write updated pyproject.toml + # with open(pyproject_path, "w") as file: + # tomlkit.dump(pyproject_data, file) def build_appimage_docker( self, no_cache=False, build_commit: None | str | Literal["current_commit"] = "current_commit" @@ -298,40 +297,40 @@ def build_dmg( # Perform the move shutil.move(str(file), str(DISTDIR / new_dir_name)) - def briefcase_appimage(self, **kwargs): - # briefcase appimage building works on some systems, but not on others... unknown why. - # so we build using the bitcoin_safe docker by default - run_local("poetry run briefcase -u package linux appimage") + # def briefcase_appimage(self, **kwargs): + # # briefcase appimage building works on some systems, but not on others... unknown why. + # # so we build using the bitcoin_safe docker by default + # run_local("poetry run briefcase -u package linux appimage") - def briefcase_windows(self, **kwargs): - run_local("poetry run briefcase -u package windows") + # def briefcase_windows(self, **kwargs): + # run_local("poetry run briefcase -u package windows") - def briefcase_mac(self, **kwargs): - run_local("python3 -m poetry run briefcase -u package macOS app --no-notarize") + # def briefcase_mac(self, **kwargs): + # run_local("python3 -m poetry run briefcase -u package macOS app --no-notarize") - def briefcase_deb(self, **kwargs): - # _run_local(" briefcase -u package --target ubuntu:23.10") # no bdkpython for python3.11 - # _run_local(" briefcase -u package --target ubuntu:23.04") # no bdkpython for python3.11 - run_local("poetry run briefcase -u package --target ubuntu:22.04 -p deb") + # def briefcase_deb(self, **kwargs): + # # _run_local(" briefcase -u package --target ubuntu:23.10") # no bdkpython for python3.11 + # # _run_local(" briefcase -u package --target ubuntu:23.04") # no bdkpython for python3.11 + # run_local("poetry run briefcase -u package --target ubuntu:22.04 -p deb") - def briefcase_flatpak(self, **kwargs): - run_local("poetry run briefcase package linux flatpak") + # def briefcase_flatpak(self, **kwargs): + # run_local("poetry run briefcase package linux flatpak") - shutil.rmtree("build") + # shutil.rmtree("build") def package_application( self, targets: List[TARGET_LITERAL], build_commit: None | str | Literal["current_commit"] = None, ): - self.update_briefcase_requires() + # self.update_briefcase_requires() f_map = { "appimage": self.build_appimage_docker, "windows": self.build_windows_exe_and_installer_docker, "mac": self.build_dmg, - "deb": self.briefcase_deb, - "flatpak": self.briefcase_flatpak, + # "deb": self.briefcase_deb, + # "flatpak": self.briefcase_flatpak, "snap": self.build_snap, }