From 2e5cda668953349650612ad103541fd00e1a637f Mon Sep 17 00:00:00 2001 From: WorldTeacher Date: Tue, 10 Feb 2026 14:33:54 +0100 Subject: [PATCH] bump python version, ruff check --- .python-version | 2 +- config/config.py | 5 + pyproject.toml | 4 +- src/__init__.py | 1 + src/backend/catalogue.py | 4 +- src/backend/database.py | 10 +- src/background/autoadder.py | 2 - src/background/documentation_server.py | 2 +- src/database/connection.py | 10 +- src/documents/__init__.py | 1 - src/parsers/transformers/transformers.py | 1 - src/services/catalogue.py | 16 +- src/services/zotero.py | 10 +- src/shared/config.py | 10 +- src/transformers/transformers.py | 2 +- src/ui/dialogs/Ui_new_subject.py | 30 +- src/ui/dialogs/Ui_settings.py | 2 - src/ui/dialogs/confirm_extend_ui.py | 9 +- .../dialogs/dialog_sources/app_status_ui.py | 20 +- .../dialog_sources/apparat_extend_ui.py | 21 +- .../dialog_sources/confirm_extend_ui.py | 9 +- .../dialogs/dialog_sources/deletedialog_ui.py | 90 +- .../dialog_sources/documentprint_ui.py | 82 +- .../dialog_sources/edit_bookdata_ui.py | 20 +- .../dialog_sources/elsa_add_table_entry_ui.py | 14 +- .../elsa_generate_citation_ui.py | 11 +- .../elsa_generator_confirm_ui.py | 19 +- src/ui/dialogs/dialog_sources/login_ui.py | 6 +- .../dialogs/dialog_sources/mail_preview_ui.py | 125 +- .../dialogs/dialog_sources/medianadder_ui.py | 43 +- .../newMailTemplateDesigner_ui.py | 106 +- .../dialog_sources/order_neweditions_ui.py | 67 +- .../dialog_sources/parsed_titles_ui.py | 16 +- src/ui/dialogs/dialog_sources/reminder_ui.py | 9 +- src/ui/dialogs/dialog_sources/settings_ui.py | 138 +- src/ui/dialogs/elsa_add_entry.py | 2 +- src/ui/dialogs/ext_app.py | 10 +- src/ui/dialogs/login.py | 3 +- src/ui/dialogs/mailTemplate.py | 2 - src/ui/dialogs/mail_preview_ui.py | 22 +- src/ui/dialogs/parsed_titles.py | 2 - src/ui/dialogs/parsed_titles_ui.py | 16 +- src/ui/dialogs/progress.py | 3 +- src/ui/dialogs/settings.py | 7 +- src/ui/extensions/__init__.py | 4 + src/ui/semesterapparat_ui_ui.py | 974 ++++++++----- src/ui/userInterface.py | 19 +- src/ui/widgets/__init__.py | 3 +- src/ui/widgets/admin_edit_prof.py | 24 +- src/ui/widgets/admin_query.py | 4 +- src/ui/widgets/elsa_main.py | 11 +- src/ui/widgets/iconLine.py | 4 +- src/ui/widgets/searchPage.py | 11 +- .../widget_sources/admin_edit_prof_ui.py | 59 +- .../widget_sources/admin_edit_user_ui.py | 4 +- .../admin_update_signatures_ui.py | 80 +- .../widget_sources/calendar_entry_ui.py | 16 +- .../widget_sources/elsa_maindialog_ui.py | 147 +- .../widgets/widget_sources/icon_widget_ui.py | 8 +- .../new_edition_check_book_ui.py | 153 ++- .../new_edition_check_found_result_ui.py | 101 +- .../new_edition_check_selector_ui.py | 37 +- .../widget_sources/new_edition_check_ui.py | 56 +- .../search_statistic_page_ui.py | 334 +++-- .../widget_sources/welcome_wizard_ui.py | 458 +++--- src/utils/docs_ui.py | 33 +- src/utils/documentation.py | 20 +- src/utils/files.py | 20 +- src/utils/sortgenerator.py | 17 +- uv.lock | 1223 ++++++++--------- 70 files changed, 2946 insertions(+), 1858 deletions(-) diff --git a/.python-version b/.python-version index 24ee5b1..6324d40 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.13 +3.14 diff --git a/config/config.py b/config/config.py index 6d5bce8..8db3b6a 100644 --- a/config/config.py +++ b/config/config.py @@ -4,6 +4,7 @@ from omegaconf import OmegaConf, DictConfig import os from pathlib import Path + @dataclass class OpenAI: api_key: str @@ -15,6 +16,7 @@ class OpenAI: def _setattr(self, name: str, value: Any): setattr(self, name, value) + @dataclass class Zotero: api_key: str @@ -33,6 +35,7 @@ class Database: name: str path: Union[str, Path, None] temp: Union[str, Path, None] + def getattr(self, name: str): return getattr(self, name) @@ -45,6 +48,7 @@ class Database: if isinstance(self.temp, str): self.temp = Path(self.temp).expanduser() + @dataclass class Mail: smtp_server: str @@ -138,6 +142,7 @@ class Config: _config: Optional[DictConfig] = None config_exists: bool = True + def __init__(self, config_path: str): """ Loads the configuration file and stores it for future access. diff --git a/pyproject.toml b/pyproject.toml index 12849c6..7c3266e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,13 +22,14 @@ dependencies = [ "pdfquery>=0.4.3", "playwright>=1.49.1", "pymupdf>=1.26.6", - "pyramid>=2.0.2", + "flask>=3.1.0", "pyside6>=6.9.1", "python-docx>=1.1.2", "pyzotero>=1.6.4", "ratelimit>=2.2.1", "regex>=2025.11.3", "requests>=2.32.3", + "setuptools>=82.0.0", "zensical>=0.0.10", ] @@ -37,6 +38,7 @@ dev = [ "bump-my-version>=0.29.0", "icecream>=2.1.4", "nuitka>=2.5.9", + "prek>=0.3.2", "pyinstaller>=6.17.0", ] swbtest = ["alive-progress>=3.3.0"] diff --git a/src/__init__.py b/src/__init__.py index 6e4cabf..7172238 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -19,6 +19,7 @@ def get_app_base_path() -> Path: # Initialize LOG_DIR and CONFIG_DIR with fallbacks for frozen apps try: from appdirs import AppDirs + app = AppDirs("SemesterApparatsManager", "SAM") _user_log_dir = app.user_log_dir _user_config_dir = app.user_config_dir diff --git a/src/backend/catalogue.py b/src/backend/catalogue.py index 272b822..889ddb9 100644 --- a/src/backend/catalogue.py +++ b/src/backend/catalogue.py @@ -172,14 +172,14 @@ class Catalogue: # based on PPN, get title, people, edition, year, language, pages, isbn, link = f"https://rds.ibs-bw.de/phfreiburg/opac/RDSIndexrecord/{ppn}" result = self.search(link) - soup = BeautifulSoup(result, "html.parser") + BeautifulSoup(result, "html.parser") def get_ppn(self, searchterm: str) -> str | None: links = self.get_book_links(searchterm) ppn = None for link in links: result = self.search(link) - soup = BeautifulSoup(result, "html.parser") + BeautifulSoup(result, "html.parser") # debug: link # print(link) ppn = link.split("/")[-1] diff --git a/src/backend/database.py b/src/backend/database.py index f7f6d45..07db645 100644 --- a/src/backend/database.py +++ b/src/backend/database.py @@ -1227,7 +1227,9 @@ class Database: if app_id: return AppPresentError(app_id) if not prof_id: - log.debug("prof id not present, creating prof with data: {}", preview(prof, 300)) + log.debug( + "prof id not present, creating prof with data: {}", preview(prof, 300) + ) prof_id = self.createProf(prof) log.debug("prof_id: {}", preview(prof_id, 50)) query = f"INSERT OR IGNORE INTO semesterapparat (appnr, name, erstellsemester, dauer, prof_id, fach,deletion_status,konto) VALUES ('{app.appnr}', '{app.name}', '{app.created_semester}', '{app.eternal}', {prof_id}, '{app.subject}', '{0}', '{SEMAP_MEDIA_ACCOUNTS[app.appnr]}')" @@ -1399,7 +1401,11 @@ class Database: apparat_data.apparat.apparat_id_adis, apparat_data.apparat.appnr, ) - log.debug("Updating apparat: query: {} params: {}", preview(query, 200), preview(params, 300)) + log.debug( + "Updating apparat: query: {} params: {}", + preview(query, 200), + preview(params, 300), + ) self.query_db(query, params) def checkApparatExists(self, app_name: str): diff --git a/src/background/autoadder.py b/src/background/autoadder.py index ea853f3..b6f4b8a 100644 --- a/src/background/autoadder.py +++ b/src/background/autoadder.py @@ -1,4 +1,3 @@ -import sys import time from src.shared.logging import log @@ -7,7 +6,6 @@ from src.shared.logging import log from PySide6.QtCore import QThread from PySide6.QtCore import Signal as Signal -from src import LOG_DIR from src.database import Database # use centralized logging from src.shared.logging diff --git a/src/background/documentation_server.py b/src/background/documentation_server.py index 57cffcb..f82f4ff 100644 --- a/src/background/documentation_server.py +++ b/src/background/documentation_server.py @@ -20,4 +20,4 @@ class DocumentationThread(QThread): def stop(self): self.requestInterruption() # ask the loop above to exit if self._server: - self._server.shutdown() # unblock handle_request() \ No newline at end of file + self._server.shutdown() # unblock handle_request() diff --git a/src/database/connection.py b/src/database/connection.py index d8b535d..cd77c83 100644 --- a/src/database/connection.py +++ b/src/database/connection.py @@ -1162,7 +1162,9 @@ class Database: if app_id: return AppPresentError(app_id) if not prof_id: - bloat.debug("prof id not present, creating prof with data: {}", preview(prof, 300)) + bloat.debug( + "prof id not present, creating prof with data: {}", preview(prof, 300) + ) prof_id = self.createProf(prof) log.debug("prof_id: {}", preview(prof_id, 50)) query = f"INSERT OR IGNORE INTO semesterapparat (appnr, name, erstellsemester, dauer, prof_id, fach,deletion_status,konto) VALUES ('{app.appnr}', '{app.name}', '{app.created_semester}', '{app.eternal}', {prof_id}, '{app.subject}', '{0}', '{SEMAP_MEDIA_ACCOUNTS[app.appnr]}')" @@ -1324,7 +1326,11 @@ class Database: apparat_data.apparat.apparat_id_adis, apparat_data.apparat.appnr, ) - log.debug("Updating apparat: query: {} params: {}", preview(query, 200), preview(params, 300)) + log.debug( + "Updating apparat: query: {} params: {}", + preview(query, 200), + preview(params, 300), + ) self.query_db(query, params) def checkApparatExists(self, app_name: str): diff --git a/src/documents/__init__.py b/src/documents/__init__.py index 139597f..8b13789 100644 --- a/src/documents/__init__.py +++ b/src/documents/__init__.py @@ -1,2 +1 @@ - diff --git a/src/parsers/transformers/transformers.py b/src/parsers/transformers/transformers.py index 37eea26..2099f91 100644 --- a/src/parsers/transformers/transformers.py +++ b/src/parsers/transformers/transformers.py @@ -2,7 +2,6 @@ from __future__ import annotations import json import re -import sys from dataclasses import dataclass from dataclasses import field as dataclass_field from typing import Any, List diff --git a/src/services/catalogue.py b/src/services/catalogue.py index 8562900..2955e14 100644 --- a/src/services/catalogue.py +++ b/src/services/catalogue.py @@ -48,8 +48,8 @@ class Catalogue: log.info(f"Searching for term: {searchterm}") links = self.get_book_links(searchterm) - # debug: links - # print(links) + # debug: links + # print(links) for elink in links: result = self.search(elink) # in result search for class col-xs-12 rds-dl RDS_LOCATION @@ -167,16 +167,16 @@ class Catalogue: # based on PPN, get title, people, edition, year, language, pages, isbn, link = f"https://rds.ibs-bw.de/phfreiburg/opac/RDSIndexrecord/{ppn}" result = self.search(link) - soup = BeautifulSoup(result, "html.parser") + BeautifulSoup(result, "html.parser") def get_ppn(self, searchterm: str) -> str | None: links = self.get_book_links(searchterm) ppn = None for link in links: result = self.search(link) - soup = BeautifulSoup(result, "html.parser") - # debug: link - # print(link) + BeautifulSoup(result, "html.parser") + # debug: link + # print(link) ppn = link.split("/")[-1] if ppn and regex.match(r"^\d{8,10}[X\d]?$", ppn): return ppn @@ -268,8 +268,8 @@ class Catalogue: # Find the signature for the entry whose location mentions "Semesterapparat" for g in groups: - # debug: group contents - # print(g) + # debug: group contents + # print(g) loc = g.get("location", "").lower() if "semesterapparat" in loc: signature = g.get("signature") diff --git a/src/services/zotero.py b/src/services/zotero.py index e66a846..1759a18 100644 --- a/src/services/zotero.py +++ b/src/services/zotero.py @@ -5,7 +5,7 @@ from pyzotero import zotero from src import settings from src.services.webrequest import BibTextTransformer, WebRequest -from src.shared.logging import log, get_bloat_logger, preview +from src.shared.logging import get_bloat_logger, preview @dataclass @@ -216,7 +216,9 @@ class ZoteroController: resp = self.zot.create_items([item]) # type: ignore if "successful" in resp.keys(): bloat = get_bloat_logger() - bloat.debug("Zotero create_items response (preview): {}", preview(resp, 1000)) + bloat.debug( + "Zotero create_items response (preview): {}", preview(resp, 1000) + ) return resp["successful"]["0"]["key"] else: return None @@ -249,7 +251,9 @@ class ZoteroController: ] chapter.creators += authors - bloat.debug("Zotero Chapter payload (preview): {}", preview(chapter.to_dict(), 1000)) + bloat.debug( + "Zotero Chapter payload (preview): {}", preview(chapter.to_dict(), 1000) + ) return self.createItem(chapter.to_dict()) pass diff --git a/src/shared/config.py b/src/shared/config.py index 029dd15..fb0ebd6 100644 --- a/src/shared/config.py +++ b/src/shared/config.py @@ -22,7 +22,7 @@ class Settings: def save_settings(self, config_path: str | Path = "config.yaml") -> None: """Save the settings to the config file. - + Args: config_path: Path to the configuration file """ @@ -37,10 +37,10 @@ class Settings: @classmethod def load_settings(cls, config_path: str | Path = "config.yaml") -> dict[str, Any]: """Load the settings from the config file. - + Args: config_path: Path to the configuration file - + Returns: Dictionary containing the loaded settings """ @@ -56,10 +56,10 @@ class Settings: def load_config(config_path: str | Path = "config.yaml") -> dict[str, Any]: """Convenience function to load configuration. - + Args: config_path: Path to the configuration file - + Returns: Dictionary containing the loaded settings """ diff --git a/src/transformers/transformers.py b/src/transformers/transformers.py index b47ea8c..1a40c83 100644 --- a/src/transformers/transformers.py +++ b/src/transformers/transformers.py @@ -2,7 +2,6 @@ from __future__ import annotations import json import re -import sys from dataclasses import dataclass from dataclasses import field as dataclass_field from typing import Any, List @@ -12,6 +11,7 @@ from src.core.models import BookData # use centralized logging from src.shared.logging + ###Pydatnic models @dataclass class Item: diff --git a/src/ui/dialogs/Ui_new_subject.py b/src/ui/dialogs/Ui_new_subject.py index db6ebde..6ac1ce5 100644 --- a/src/ui/dialogs/Ui_new_subject.py +++ b/src/ui/dialogs/Ui_new_subject.py @@ -22,7 +22,12 @@ class Ui_Dialog(object): self.verticalLayout.addWidget(self.label) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.gridLayout.addItem(spacerItem, 0, 1, 1, 1) self.checkBox = QtWidgets.QCheckBox(Dialog) self.checkBox.setObjectName("checkBox") @@ -42,22 +47,33 @@ class Ui_Dialog(object): self.verticalLayout_2.addWidget(self.frame) self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.verticalLayout_2.addWidget(self.buttonBox) self.frame.setVisible(False) - self.checkBox.stateChanged.connect(lambda: self.frame.setVisible(self.checkBox.isChecked())) + self.checkBox.stateChanged.connect( + lambda: self.frame.setVisible(self.checkBox.isChecked()) + ) self.retranslateUi(Dialog) - self.buttonBox.accepted.connect(Dialog.accept) # type: ignore - self.buttonBox.rejected.connect(Dialog.reject) # type: ignore + self.buttonBox.accepted.connect(Dialog.accept) # type: ignore + self.buttonBox.rejected.connect(Dialog.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) - self.label.setText(_translate("Dialog", "Das eingegebene Fach wurde nicht in der Datenbank gefunden. Soll es angelegt werden?")) + self.label.setText( + _translate( + "Dialog", + "Das eingegebene Fach wurde nicht in der Datenbank gefunden. Soll es angelegt werden?", + ) + ) self.checkBox.setText(_translate("Dialog", "Ja")) self.label_2.setText(_translate("Dialog", "Name des Neuen Faches:")) + def return_state(self): - return self.lineEdit.text() \ No newline at end of file + return self.lineEdit.text() diff --git a/src/ui/dialogs/Ui_settings.py b/src/ui/dialogs/Ui_settings.py index 4009cf6..e31b478 100644 --- a/src/ui/dialogs/Ui_settings.py +++ b/src/ui/dialogs/Ui_settings.py @@ -166,8 +166,6 @@ class Ui_Dialog(object): self.os_apps.setChecked(config.default_apps) applications = config.custom_applications for application in applications: - name = application.application - file_type = application.extensions display_name = application.name # print(name, file_type, display_name) # # create new item diff --git a/src/ui/dialogs/confirm_extend_ui.py b/src/ui/dialogs/confirm_extend_ui.py index a82c515..c75a864 100644 --- a/src/ui/dialogs/confirm_extend_ui.py +++ b/src/ui/dialogs/confirm_extend_ui.py @@ -16,15 +16,18 @@ class Ui_extend_confirm(object): self.buttonBox = QtWidgets.QDialogButtonBox(parent=extend_confirm) self.buttonBox.setGeometry(QtCore.QRect(290, 20, 81, 241)) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Vertical) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.textEdit = QtWidgets.QTextEdit(parent=extend_confirm) self.textEdit.setGeometry(QtCore.QRect(10, 10, 271, 81)) self.textEdit.setObjectName("textEdit") self.retranslateUi(extend_confirm) - self.buttonBox.accepted.connect(extend_confirm.accept) # type: ignore - self.buttonBox.rejected.connect(extend_confirm.reject) # type: ignore + self.buttonBox.accepted.connect(extend_confirm.accept) # type: ignore + self.buttonBox.rejected.connect(extend_confirm.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(extend_confirm) def retranslateUi(self, extend_confirm): diff --git a/src/ui/dialogs/dialog_sources/app_status_ui.py b/src/ui/dialogs/dialog_sources/app_status_ui.py index 4cd5d91..680debf 100644 --- a/src/ui/dialogs/dialog_sources/app_status_ui.py +++ b/src/ui/dialogs/dialog_sources/app_status_ui.py @@ -8,27 +8,25 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, - QMetaObject, QObject, QPoint, QRect, - QSize, QTime, QUrl, Qt) -from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, - QFont, QFontDatabase, QGradient, QIcon, - QImage, QKeySequence, QLinearGradient, QPainter, - QPalette, QPixmap, QRadialGradient, QTransform) -from PySide6.QtWidgets import (QApplication, QSizePolicy, QWidget) +from PySide6.QtCore import ( + QCoreApplication, + QMetaObject, +) + class Ui_Form(object): def setupUi(self, Form): if not Form.objectName(): - Form.setObjectName(u"Form") + Form.setObjectName("Form") Form.resize(300, 500) self.retranslateUi(Form) QMetaObject.connectSlotsByName(Form) + # setupUi def retranslateUi(self, Form): - Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None)) - # retranslateUi + Form.setWindowTitle(QCoreApplication.translate("Form", "Form", None)) + # retranslateUi diff --git a/src/ui/dialogs/dialog_sources/apparat_extend_ui.py b/src/ui/dialogs/dialog_sources/apparat_extend_ui.py index c197967..6dc2da8 100644 --- a/src/ui/dialogs/dialog_sources/apparat_extend_ui.py +++ b/src/ui/dialogs/dialog_sources/apparat_extend_ui.py @@ -13,7 +13,9 @@ class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(388, 103) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth()) @@ -23,11 +25,16 @@ class Ui_Dialog(object): self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox.setGeometry(QtCore.QRect(290, 30, 81, 241)) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Vertical) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Abort|QtWidgets.QDialogButtonBox.StandardButton.Save) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Abort + | QtWidgets.QDialogButtonBox.StandardButton.Save + ) self.buttonBox.setObjectName("buttonBox") self.label = QtWidgets.QLabel(parent=Dialog) self.label.setGeometry(QtCore.QRect(10, 0, 281, 31)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) @@ -60,14 +67,16 @@ class Ui_Dialog(object): self.dauerapp.setObjectName("dauerapp") self.retranslateUi(Dialog) - self.buttonBox.accepted.connect(Dialog.accept) # type: ignore - self.buttonBox.rejected.connect(Dialog.reject) # type: ignore + self.buttonBox.accepted.connect(Dialog.accept) # type: ignore + self.buttonBox.rejected.connect(Dialog.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) - self.label.setText(_translate("Dialog", "Bis wann soll der Apparat verlängert werden?")) + self.label.setText( + _translate("Dialog", "Bis wann soll der Apparat verlängert werden?") + ) self.rad_sommer.setText(_translate("Dialog", "Sommer")) self.rad_winter.setText(_translate("Dialog", "Winter")) self.sem_year.setPlaceholderText(_translate("Dialog", "2023")) diff --git a/src/ui/dialogs/dialog_sources/confirm_extend_ui.py b/src/ui/dialogs/dialog_sources/confirm_extend_ui.py index 2eed1d9..8e46fe3 100644 --- a/src/ui/dialogs/dialog_sources/confirm_extend_ui.py +++ b/src/ui/dialogs/dialog_sources/confirm_extend_ui.py @@ -20,13 +20,16 @@ class Ui_extend_confirm(object): self.horizontalLayout.addWidget(self.textEdit) self.buttonBox = QtWidgets.QDialogButtonBox(parent=extend_confirm) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Vertical) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.horizontalLayout.addWidget(self.buttonBox) self.retranslateUi(extend_confirm) - self.buttonBox.accepted.connect(extend_confirm.accept) # type: ignore - self.buttonBox.rejected.connect(extend_confirm.reject) # type: ignore + self.buttonBox.accepted.connect(extend_confirm.accept) # type: ignore + self.buttonBox.rejected.connect(extend_confirm.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(extend_confirm) def retranslateUi(self, extend_confirm): diff --git a/src/ui/dialogs/dialog_sources/deletedialog_ui.py b/src/ui/dialogs/dialog_sources/deletedialog_ui.py index 138b6d6..6ccf5f5 100644 --- a/src/ui/dialogs/dialog_sources/deletedialog_ui.py +++ b/src/ui/dialogs/dialog_sources/deletedialog_ui.py @@ -8,34 +8,43 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject) -from PySide6.QtWidgets import (QHBoxLayout, QLabel, QLineEdit, QPushButton, QSizePolicy, - QSpacerItem, QTableWidget, QTableWidgetItem, QVBoxLayout) +from PySide6.QtCore import QCoreApplication, QMetaObject +from PySide6.QtWidgets import ( + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QSizePolicy, + QSpacerItem, + QTableWidget, + QTableWidgetItem, + QVBoxLayout, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(1001, 649) self.verticalLayout = QVBoxLayout(Dialog) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.label = QLabel(Dialog) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.lineEdit = QLineEdit(Dialog) - self.lineEdit.setObjectName(u"lineEdit") + self.lineEdit.setObjectName("lineEdit") self.horizontalLayout.addWidget(self.lineEdit) - self.verticalLayout.addLayout(self.horizontalLayout) self.tableWidget = QTableWidget(Dialog) - if (self.tableWidget.columnCount() < 7): + if self.tableWidget.columnCount() < 7: self.tableWidget.setColumnCount(7) __qtablewidgetitem = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem) @@ -51,64 +60,81 @@ class Ui_Dialog(object): self.tableWidget.setHorizontalHeaderItem(5, __qtablewidgetitem5) __qtablewidgetitem6 = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(6, __qtablewidgetitem6) - self.tableWidget.setObjectName(u"tableWidget") + self.tableWidget.setObjectName("tableWidget") self.tableWidget.setAlternatingRowColors(True) self.tableWidget.horizontalHeader().setStretchLastSection(True) self.verticalLayout.addWidget(self.tableWidget) self.horizontalLayout_2 = QHBoxLayout() - self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") - self.horizontalSpacer_2 = QSpacerItem(20, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.horizontalSpacer_2 = QSpacerItem( + 20, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_2.addItem(self.horizontalSpacer_2) self.reset_btn = QPushButton(Dialog) - self.reset_btn.setObjectName(u"reset_btn") + self.reset_btn.setObjectName("reset_btn") self.horizontalLayout_2.addWidget(self.reset_btn) - self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_2.addItem(self.horizontalSpacer) self.delete_btn = QPushButton(Dialog) - self.delete_btn.setObjectName(u"delete_btn") + self.delete_btn.setObjectName("delete_btn") self.horizontalLayout_2.addWidget(self.delete_btn) self.cancel_btn = QPushButton(Dialog) - self.cancel_btn.setObjectName(u"cancel_btn") + self.cancel_btn.setObjectName("cancel_btn") self.horizontalLayout_2.addWidget(self.cancel_btn) - self.verticalLayout.addLayout(self.horizontalLayout_2) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"Medium suchen", None)) - self.lineEdit.setPlaceholderText(QCoreApplication.translate("Dialog", u"Titel/Signatursuche", None)) + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.label.setText(QCoreApplication.translate("Dialog", "Medium suchen", None)) + self.lineEdit.setPlaceholderText( + QCoreApplication.translate("Dialog", "Titel/Signatursuche", None) + ) ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(1) - ___qtablewidgetitem.setText(QCoreApplication.translate("Dialog", u"Apparat", None)) + ___qtablewidgetitem.setText( + QCoreApplication.translate("Dialog", "Apparat", None) + ) ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(2) - ___qtablewidgetitem1.setText(QCoreApplication.translate("Dialog", u"Signatur", None)) + ___qtablewidgetitem1.setText( + QCoreApplication.translate("Dialog", "Signatur", None) + ) ___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(3) - ___qtablewidgetitem2.setText(QCoreApplication.translate("Dialog", u"Titel", None)) + ___qtablewidgetitem2.setText( + QCoreApplication.translate("Dialog", "Titel", None) + ) ___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(4) - ___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", u"Auflage", None)) + ___qtablewidgetitem3.setText( + QCoreApplication.translate("Dialog", "Auflage", None) + ) ___qtablewidgetitem4 = self.tableWidget.horizontalHeaderItem(5) - ___qtablewidgetitem4.setText(QCoreApplication.translate("Dialog", u"ISBN", None)) + ___qtablewidgetitem4.setText(QCoreApplication.translate("Dialog", "ISBN", None)) ___qtablewidgetitem5 = self.tableWidget.horizontalHeaderItem(6) - ___qtablewidgetitem5.setText(QCoreApplication.translate("Dialog", u"ID", None)) - self.reset_btn.setText(QCoreApplication.translate("Dialog", u"Zur\u00fccksetzen", None)) - self.delete_btn.setText(QCoreApplication.translate("Dialog", u"L\u00f6schen", None)) - self.cancel_btn.setText(QCoreApplication.translate("Dialog", u"Abbrechen", None)) - # retranslateUi + ___qtablewidgetitem5.setText(QCoreApplication.translate("Dialog", "ID", None)) + self.reset_btn.setText( + QCoreApplication.translate("Dialog", "Zur\u00fccksetzen", None) + ) + self.delete_btn.setText( + QCoreApplication.translate("Dialog", "L\u00f6schen", None) + ) + self.cancel_btn.setText(QCoreApplication.translate("Dialog", "Abbrechen", None)) + # retranslateUi diff --git a/src/ui/dialogs/dialog_sources/documentprint_ui.py b/src/ui/dialogs/dialog_sources/documentprint_ui.py index aa7e341..761a346 100644 --- a/src/ui/dialogs/dialog_sources/documentprint_ui.py +++ b/src/ui/dialogs/dialog_sources/documentprint_ui.py @@ -74,7 +74,10 @@ class Ui_Dialog(object): self.verticalLayout_4 = QtWidgets.QVBoxLayout() self.verticalLayout_4.setObjectName("verticalLayout_4") self.textBrowser = QtWidgets.QTextBrowser(parent=self.frame) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.textBrowser.sizePolicy().hasHeightForWidth()) @@ -91,12 +94,16 @@ class Ui_Dialog(object): font = QtGui.QFont() font.setBold(False) self.tableWidget.setFont(font) - self.tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) + self.tableWidget.setEditTriggers( + QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers + ) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(2) self.tableWidget.setRowCount(0) item = QtWidgets.QTableWidgetItem() - item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter) + item.setTextAlignment( + QtCore.Qt.AlignmentFlag.AlignLeading | QtCore.Qt.AlignmentFlag.AlignVCenter + ) self.tableWidget.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(1, item) @@ -113,30 +120,55 @@ class Ui_Dialog(object): def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) - self.label.setText(_translate("Dialog", "Mit dem Klick auf Okay wird eine Übersicht aller aktiven Semesterapparate erstellt und an den FollowME Drucker gesendet. Es kann bis zu 5 Minuten dauern, bis das Dokument im Drucker angezeigt wird.")) + self.label.setText( + _translate( + "Dialog", + "Mit dem Klick auf Okay wird eine Übersicht aller aktiven Semesterapparate erstellt und an den FollowME Drucker gesendet. Es kann bis zu 5 Minuten dauern, bis das Dokument im Drucker angezeigt wird.", + ) + ) self.pushButton.setText(_translate("Dialog", "Dokument erstellen und drucken")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page), _translate("Dialog", "Semesterapparatsübersicht")) - self.label_2.setText(_translate("Dialog", "Hier kann das Dokument für die Semesterapparatsschilder erstellt werden. Hierfür müssen die entsprechenden Apparate ausgewählt werden. Mithilfe dieser wird das Dokument erstellt.")) - self.pushButton_2.setText(_translate("Dialog", "Dokument erstellen und drucken")) - self.btn_load_current_apparats.setText(_translate("Dialog", "Aktuelle Apparate laden")) + self.toolBox.setItemText( + self.toolBox.indexOf(self.page), + _translate("Dialog", "Semesterapparatsübersicht"), + ) + self.label_2.setText( + _translate( + "Dialog", + "Hier kann das Dokument für die Semesterapparatsschilder erstellt werden. Hierfür müssen die entsprechenden Apparate ausgewählt werden. Mithilfe dieser wird das Dokument erstellt.", + ) + ) + self.pushButton_2.setText( + _translate("Dialog", "Dokument erstellen und drucken") + ) + self.btn_load_current_apparats.setText( + _translate("Dialog", "Aktuelle Apparate laden") + ) self.expertMode.setText(_translate("Dialog", "Expertenmodus")) - self.textBrowser.setHtml(_translate("Dialog", "\n" -"\n" -"

SELECT

\n" -"

prof.lname || \' (\' || semesterapparat.name || \')\' AS formatted_result

\n" -"

from

\n" -"

semesterapparat

\n" -"

INNER JOIN prof ON semesterapparat.prof_id = prof.id

\n" -"

WHERE

\n" -"

(erstellsemester = \'SoSe 25\'

\n" -"

OR erstellsemester = \'WiSe 24/25\')

\n" -"

and semesterapparat.deletion_status = 0

")) + self.textBrowser.setHtml( + _translate( + "Dialog", + '\n' + '\n" + '

SELECT

\n' + "

prof.lname || ' (' || semesterapparat.name || ')' AS formatted_result

\n" + '

from

\n' + '

semesterapparat

\n' + '

INNER JOIN prof ON semesterapparat.prof_id = prof.id

\n' + '

WHERE

\n' + "

(erstellsemester = 'SoSe 25'

\n" + "

OR erstellsemester = 'WiSe 24/25')

\n" + '

and semesterapparat.deletion_status = 0

', + ) + ) self.manualCheck.setText(_translate("Dialog", "Anfragen und anzeigen")) item = self.tableWidget.horizontalHeaderItem(1) item.setText(_translate("Dialog", "Name")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("Dialog", "Semesterapparatsschilder")) + self.toolBox.setItemText( + self.toolBox.indexOf(self.page_2), + _translate("Dialog", "Semesterapparatsschilder"), + ) diff --git a/src/ui/dialogs/dialog_sources/edit_bookdata_ui.py b/src/ui/dialogs/dialog_sources/edit_bookdata_ui.py index be8db53..4fa9065 100644 --- a/src/ui/dialogs/dialog_sources/edit_bookdata_ui.py +++ b/src/ui/dialogs/dialog_sources/edit_bookdata_ui.py @@ -16,13 +16,18 @@ class Ui_Dialog(object): self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox.setGeometry(QtCore.QRect(260, 530, 161, 32)) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.gridLayoutWidget = QtWidgets.QWidget(parent=Dialog) self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 0, 441, 531)) self.gridLayoutWidget.setObjectName("gridLayoutWidget") self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) - self.gridLayout.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint) + self.gridLayout.setSizeConstraint( + QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint + ) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.label_10 = QtWidgets.QLabel(parent=self.gridLayoutWidget) @@ -66,7 +71,12 @@ class Ui_Dialog(object): self.label_2 = QtWidgets.QLabel(parent=self.gridLayoutWidget) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 1, 1, 1, 1) - spacerItem = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem = QtWidgets.QSpacerItem( + 5, + 20, + QtWidgets.QSizePolicy.Policy.Fixed, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.gridLayout.addItem(spacerItem, 8, 0, 1, 1) self.line_title = QtWidgets.QLineEdit(parent=self.gridLayoutWidget) self.line_title.setObjectName("line_title") @@ -97,8 +107,8 @@ class Ui_Dialog(object): self.gridLayout.addWidget(self.line_publisher, 4, 2, 1, 1) self.retranslateUi(Dialog) - self.buttonBox.accepted.connect(Dialog.accept) # type: ignore - self.buttonBox.rejected.connect(Dialog.reject) # type: ignore + self.buttonBox.accepted.connect(Dialog.accept) # type: ignore + self.buttonBox.rejected.connect(Dialog.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): diff --git a/src/ui/dialogs/dialog_sources/elsa_add_table_entry_ui.py b/src/ui/dialogs/dialog_sources/elsa_add_table_entry_ui.py index 786741e..0db32b6 100644 --- a/src/ui/dialogs/dialog_sources/elsa_add_table_entry_ui.py +++ b/src/ui/dialogs/dialog_sources/elsa_add_table_entry_ui.py @@ -653,9 +653,7 @@ class Ui_Dialog(object): QCoreApplication.translate("Dialog", "Zitat erstellen", None) ) self.label.setText( - QCoreApplication.translate( - "Dialog", "Autor(en)\n" " Nachname, Vorname", None - ) + QCoreApplication.translate("Dialog", "Autor(en)\n Nachname, Vorname", None) ) # if QT_CONFIG(tooltip) self.book_author.setToolTip( @@ -697,15 +695,13 @@ class Ui_Dialog(object): ) self.label_21.setText(QCoreApplication.translate("Dialog", "Auflage", None)) self.label_19.setText( - QCoreApplication.translate( - "Dialog", "Autor(en)\n" "Nachname, Vorname", None - ) + QCoreApplication.translate("Dialog", "Autor(en)\nNachname, Vorname", None) ) self.label_30.setText(QCoreApplication.translate("Dialog", "ISBN", None)) self.label_25.setText(QCoreApplication.translate("Dialog", "Ort", None)) self.label_22.setText( QCoreApplication.translate( - "Dialog", "Herausgebername(n)\n" "Nachname, Vorname", None + "Dialog", "Herausgebername(n)\nNachname, Vorname", None ) ) # if QT_CONFIG(tooltip) @@ -717,9 +713,7 @@ class Ui_Dialog(object): # endif // QT_CONFIG(tooltip) self.page_warn_3.setText("") self.label_10.setText( - QCoreApplication.translate( - "Dialog", "Autor(en)\n" "Nachname, Vorname", None - ) + QCoreApplication.translate("Dialog", "Autor(en)\nNachname, Vorname", None) ) self.label_14.setText( QCoreApplication.translate("Dialog", "Name der Zeitschrift", None) diff --git a/src/ui/dialogs/dialog_sources/elsa_generate_citation_ui.py b/src/ui/dialogs/dialog_sources/elsa_generate_citation_ui.py index 2315132..0546749 100644 --- a/src/ui/dialogs/dialog_sources/elsa_generate_citation_ui.py +++ b/src/ui/dialogs/dialog_sources/elsa_generate_citation_ui.py @@ -30,7 +30,12 @@ class Ui_Dialog(object): self.radio_hg = QtWidgets.QRadioButton(parent=self.select_type) self.radio_hg.setObjectName("radio_hg") self.verticalLayout.addWidget(self.radio_hg) - spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.verticalLayout.addItem(spacerItem) self.verticalLayout_2.addWidget(self.select_type) self.check = QtWidgets.QGroupBox(parent=Dialog) @@ -57,7 +62,9 @@ class Ui_Dialog(object): self.verticalLayout_3.addWidget(self.citation_style_result) self.pushButton = QtWidgets.QPushButton(parent=self.check) self.pushButton.setObjectName("pushButton") - self.verticalLayout_3.addWidget(self.pushButton, 0, QtCore.Qt.AlignmentFlag.AlignRight) + self.verticalLayout_3.addWidget( + self.pushButton, 0, QtCore.Qt.AlignmentFlag.AlignRight + ) self.verticalLayout_2.addWidget(self.check) self.verticalLayout_2.setStretch(0, 20) self.verticalLayout_2.setStretch(1, 80) diff --git a/src/ui/dialogs/dialog_sources/elsa_generator_confirm_ui.py b/src/ui/dialogs/dialog_sources/elsa_generator_confirm_ui.py index 9c38f0f..ae52bfe 100644 --- a/src/ui/dialogs/dialog_sources/elsa_generator_confirm_ui.py +++ b/src/ui/dialogs/dialog_sources/elsa_generator_confirm_ui.py @@ -13,7 +13,9 @@ class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(530, 210) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth()) @@ -98,14 +100,17 @@ class Ui_Dialog(object): self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Vertical) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setCenterButtons(False) self.buttonBox.setObjectName("buttonBox") self.horizontalLayout.addWidget(self.buttonBox) self.retranslateUi(Dialog) - self.buttonBox.accepted.connect(Dialog.accept) # type: ignore - self.buttonBox.rejected.connect(Dialog.reject) # type: ignore + self.buttonBox.accepted.connect(Dialog.accept) # type: ignore + self.buttonBox.rejected.connect(Dialog.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): @@ -117,4 +122,8 @@ class Ui_Dialog(object): self.label_2.setText(_translate("Dialog", "Autor(en)")) self.label_3.setText(_translate("Dialog", "Buchtitel")) self.label_4.setText(_translate("Dialog", "Seite(n)")) - self.label_6.setText(_translate("Dialog", "Hier können fehlerhafte / fehlende Daten geändert werden")) + self.label_6.setText( + _translate( + "Dialog", "Hier können fehlerhafte / fehlende Daten geändert werden" + ) + ) diff --git a/src/ui/dialogs/dialog_sources/login_ui.py b/src/ui/dialogs/dialog_sources/login_ui.py index 2a2c72b..c0dd0e7 100644 --- a/src/ui/dialogs/dialog_sources/login_ui.py +++ b/src/ui/dialogs/dialog_sources/login_ui.py @@ -14,7 +14,11 @@ class Ui_Dialog(object): Dialog.setObjectName("Dialog") Dialog.resize(218, 190) icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(":/icons/resources/1f510.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) + icon.addPixmap( + QtGui.QPixmap(":/icons/resources/1f510.svg"), + QtGui.QIcon.Mode.Normal, + QtGui.QIcon.State.Off, + ) Dialog.setWindowIcon(icon) self.label = QtWidgets.QLabel(parent=Dialog) self.label.setGeometry(QtCore.QRect(20, 40, 71, 21)) diff --git a/src/ui/dialogs/dialog_sources/mail_preview_ui.py b/src/ui/dialogs/dialog_sources/mail_preview_ui.py index 8fd1ef7..41cf715 100644 --- a/src/ui/dialogs/dialog_sources/mail_preview_ui.py +++ b/src/ui/dialogs/dialog_sources/mail_preview_ui.py @@ -8,27 +8,38 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject, QSize, Qt) -from PySide6.QtWidgets import (QComboBox, QDialogButtonBox, QGridLayout, QHBoxLayout, QLabel, - QLineEdit, QPushButton, QRadioButton, QSizePolicy, - QSpacerItem, QTextEdit) +from PySide6.QtCore import QCoreApplication, QMetaObject, QSize, Qt +from PySide6.QtWidgets import ( + QComboBox, + QDialogButtonBox, + QGridLayout, + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QRadioButton, + QSizePolicy, + QSpacerItem, + QTextEdit, +) + class Ui_eMailPreview(object): def setupUi(self, eMailPreview): if not eMailPreview.objectName(): - eMailPreview.setObjectName(u"eMailPreview") + eMailPreview.setObjectName("eMailPreview") eMailPreview.resize(700, 668) self.gridLayout_2 = QGridLayout(eMailPreview) - self.gridLayout_2.setObjectName(u"gridLayout_2") + self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout = QGridLayout() - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.prof_name = QLineEdit(eMailPreview) - self.prof_name.setObjectName(u"prof_name") + self.prof_name.setObjectName("prof_name") self.gridLayout.addWidget(self.prof_name, 2, 2, 1, 1) self.newTemplate = QPushButton(eMailPreview) - self.newTemplate.setObjectName(u"newTemplate") + self.newTemplate.setObjectName("newTemplate") self.newTemplate.setAutoFillBackground(False) self.newTemplate.setIconSize(QSize(24, 24)) self.newTemplate.setAutoDefault(True) @@ -37,134 +48,146 @@ class Ui_eMailPreview(object): self.gridLayout.addWidget(self.newTemplate, 0, 3, 1, 1) self.comboBox = QComboBox(eMailPreview) - self.comboBox.setObjectName(u"comboBox") + self.comboBox.setObjectName("comboBox") self.gridLayout.addWidget(self.comboBox, 0, 2, 1, 1) self.mail_header = QLineEdit(eMailPreview) - self.mail_header.setObjectName(u"mail_header") + self.mail_header.setObjectName("mail_header") self.gridLayout.addWidget(self.mail_header, 3, 2, 1, 1) self.label_6 = QLabel(eMailPreview) - self.label_6.setObjectName(u"label_6") + self.label_6.setObjectName("label_6") self.gridLayout.addWidget(self.label_6, 4, 0, 1, 1) self.mail_body = QTextEdit(eMailPreview) - self.mail_body.setObjectName(u"mail_body") + self.mail_body.setObjectName("mail_body") self.gridLayout.addWidget(self.mail_body, 5, 2, 1, 1) self.label_2 = QLabel(eMailPreview) - self.label_2.setObjectName(u"label_2") + self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) self.mail_name = QLineEdit(eMailPreview) - self.mail_name.setObjectName(u"mail_name") + self.mail_name.setObjectName("mail_name") self.gridLayout.addWidget(self.mail_name, 1, 2, 1, 1) self.label_5 = QLabel(eMailPreview) - self.label_5.setObjectName(u"label_5") + self.label_5.setObjectName("label_5") self.gridLayout.addWidget(self.label_5, 0, 0, 1, 1) self.label_4 = QLabel(eMailPreview) - self.label_4.setObjectName(u"label_4") + self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 3, 0, 1, 1) self.horizontalLayout_3 = QHBoxLayout() - self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.gender_male = QRadioButton(eMailPreview) - self.gender_male.setObjectName(u"gender_male") + self.gender_male.setObjectName("gender_male") self.horizontalLayout_3.addWidget(self.gender_male) self.gender_female = QRadioButton(eMailPreview) - self.gender_female.setObjectName(u"gender_female") + self.gender_female.setObjectName("gender_female") self.horizontalLayout_3.addWidget(self.gender_female) self.gender_non = QRadioButton(eMailPreview) - self.gender_non.setObjectName(u"gender_non") + self.gender_non.setObjectName("gender_non") self.horizontalLayout_3.addWidget(self.gender_non) - self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_3.addItem(self.horizontalSpacer) - self.gridLayout.addLayout(self.horizontalLayout_3, 4, 2, 1, 1) self.label_3 = QLabel(eMailPreview) - self.label_3.setObjectName(u"label_3") - self.label_3.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop) + self.label_3.setObjectName("label_3") + self.label_3.setAlignment(Qt.AlignLeading | Qt.AlignLeft | Qt.AlignTop) self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1) self.label = QLabel(eMailPreview) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.horizontalLayout_2 = QHBoxLayout() - self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") - self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.horizontalSpacer_2 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_2.addItem(self.horizontalSpacer_2) self.btn_okay = QPushButton(eMailPreview) - self.btn_okay.setObjectName(u"btn_okay") + self.btn_okay.setObjectName("btn_okay") self.horizontalLayout_2.addWidget(self.btn_okay) self.buttonBox = QDialogButtonBox(eMailPreview) - self.buttonBox.setObjectName(u"buttonBox") + self.buttonBox.setObjectName("buttonBox") self.buttonBox.setOrientation(Qt.Horizontal) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel) self.buttonBox.setCenterButtons(True) self.horizontalLayout_2.addWidget(self.buttonBox) - self.gridLayout.addLayout(self.horizontalLayout_2, 6, 2, 1, 1) - self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) - self.retranslateUi(eMailPreview) self.buttonBox.accepted.connect(eMailPreview.accept) self.buttonBox.rejected.connect(eMailPreview.reject) self.newTemplate.setDefault(False) - QMetaObject.connectSlotsByName(eMailPreview) + # setupUi def retranslateUi(self, eMailPreview): - eMailPreview.setWindowTitle(QCoreApplication.translate("eMailPreview", u"eMail Voransicht", None)) + eMailPreview.setWindowTitle( + QCoreApplication.translate("eMailPreview", "eMail Voransicht", None) + ) self.newTemplate.setText("") - self.label_6.setText(QCoreApplication.translate("eMailPreview", u"Anrede", None)) - self.label_2.setText(QCoreApplication.translate("eMailPreview", u"Prof", None)) - self.label_5.setText(QCoreApplication.translate("eMailPreview", u"Art", None)) - self.label_4.setText(QCoreApplication.translate("eMailPreview", u"Betreff", None)) - self.gender_male.setText(QCoreApplication.translate("eMailPreview", u"M", None)) - self.gender_female.setText(QCoreApplication.translate("eMailPreview", u"W", None)) - self.gender_non.setText(QCoreApplication.translate("eMailPreview", u"Divers", None)) - self.label_3.setText(QCoreApplication.translate("eMailPreview", u"Mail", None)) - self.label.setText(QCoreApplication.translate("eMailPreview", u"eMail", None)) -#if QT_CONFIG(statustip) + self.label_6.setText(QCoreApplication.translate("eMailPreview", "Anrede", None)) + self.label_2.setText(QCoreApplication.translate("eMailPreview", "Prof", None)) + self.label_5.setText(QCoreApplication.translate("eMailPreview", "Art", None)) + self.label_4.setText( + QCoreApplication.translate("eMailPreview", "Betreff", None) + ) + self.gender_male.setText(QCoreApplication.translate("eMailPreview", "M", None)) + self.gender_female.setText( + QCoreApplication.translate("eMailPreview", "W", None) + ) + self.gender_non.setText( + QCoreApplication.translate("eMailPreview", "Divers", None) + ) + self.label_3.setText(QCoreApplication.translate("eMailPreview", "Mail", None)) + self.label.setText(QCoreApplication.translate("eMailPreview", "eMail", None)) + # if QT_CONFIG(statustip) self.btn_okay.setStatusTip("") -#endif // QT_CONFIG(statustip) -#if QT_CONFIG(whatsthis) - self.btn_okay.setWhatsThis(QCoreApplication.translate("eMailPreview", u"test", None)) -#endif // QT_CONFIG(whatsthis) - self.btn_okay.setText(QCoreApplication.translate("eMailPreview", u"Senden", None)) - # retranslateUi + # endif // QT_CONFIG(statustip) + # if QT_CONFIG(whatsthis) + self.btn_okay.setWhatsThis( + QCoreApplication.translate("eMailPreview", "test", None) + ) + # endif // QT_CONFIG(whatsthis) + self.btn_okay.setText( + QCoreApplication.translate("eMailPreview", "Senden", None) + ) + # retranslateUi diff --git a/src/ui/dialogs/dialog_sources/medianadder_ui.py b/src/ui/dialogs/dialog_sources/medianadder_ui.py index 52e90ac..572206f 100644 --- a/src/ui/dialogs/dialog_sources/medianadder_ui.py +++ b/src/ui/dialogs/dialog_sources/medianadder_ui.py @@ -14,7 +14,11 @@ class Ui_Dialog(object): Dialog.setObjectName("Dialog") Dialog.resize(620, 481) icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(":/icons/resources/2795.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) + icon.addPixmap( + QtGui.QPixmap(":/icons/resources/2795.svg"), + QtGui.QIcon.Mode.Normal, + QtGui.QIcon.State.Off, + ) Dialog.setWindowIcon(icon) self.label = QtWidgets.QLabel(parent=Dialog) self.label.setGeometry(QtCore.QRect(20, 10, 47, 21)) @@ -47,12 +51,22 @@ class Ui_Dialog(object): self.tableWidget.setAutoFillBackground(False) self.tableWidget.setLineWidth(0) self.tableWidget.setMidLineWidth(0) - self.tableWidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.tableWidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.tableWidget.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.SizeAdjustPolicy.AdjustToContents) - self.tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) + self.tableWidget.setVerticalScrollBarPolicy( + QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff + ) + self.tableWidget.setHorizontalScrollBarPolicy( + QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff + ) + self.tableWidget.setSizeAdjustPolicy( + QtWidgets.QAbstractScrollArea.SizeAdjustPolicy.AdjustToContents + ) + self.tableWidget.setEditTriggers( + QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers + ) self.tableWidget.setAlternatingRowColors(True) - self.tableWidget.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.NoSelection) + self.tableWidget.setSelectionMode( + QtWidgets.QAbstractItemView.SelectionMode.NoSelection + ) self.tableWidget.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(4) @@ -179,7 +193,9 @@ class Ui_Dialog(object): self.horizontalLayout.addWidget(self.tableWidget) self.listWidget = QtWidgets.QListWidget(parent=Dialog) self.listWidget.setGeometry(QtCore.QRect(10, 110, 281, 321)) - self.listWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu) + self.listWidget.setContextMenuPolicy( + QtCore.Qt.ContextMenuPolicy.CustomContextMenu + ) self.listWidget.setObjectName("listWidget") self.label_4 = QtWidgets.QLabel(parent=Dialog) self.label_4.setGeometry(QtCore.QRect(330, 50, 181, 21)) @@ -354,7 +370,16 @@ class Ui_Dialog(object): self.list_amount.setText(_translate("Dialog", "0")) self.btn_save.setText(_translate("Dialog", "Ok")) self.btn_cancel.setText(_translate("Dialog", "Abbrechen")) - self.check_use_any_book.setToolTip(_translate("Dialog", "Verwendet ein zufälliges Buch des Datensatzes, nützlich wenn das Buch noch nicht im Apparat ist")) + self.check_use_any_book.setToolTip( + _translate( + "Dialog", + "Verwendet ein zufälliges Buch des Datensatzes, nützlich wenn das Buch noch nicht im Apparat ist", + ) + ) self.check_use_any_book.setText(_translate("Dialog", "Jedes Buch verwenden")) - self.check_use_exact_signature.setToolTip(_translate("Dialog", "Verwendet die eingegebene Signatur für die Suche von Daten")) + self.check_use_exact_signature.setToolTip( + _translate( + "Dialog", "Verwendet die eingegebene Signatur für die Suche von Daten" + ) + ) self.check_use_exact_signature.setText(_translate("Dialog", "Exakte Signatur")) diff --git a/src/ui/dialogs/dialog_sources/newMailTemplateDesigner_ui.py b/src/ui/dialogs/dialog_sources/newMailTemplateDesigner_ui.py index f13b04c..30800da 100644 --- a/src/ui/dialogs/dialog_sources/newMailTemplateDesigner_ui.py +++ b/src/ui/dialogs/dialog_sources/newMailTemplateDesigner_ui.py @@ -8,24 +8,36 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject, Qt) -from PySide6.QtWidgets import (QComboBox, QDialogButtonBox, QGridLayout, QHBoxLayout, QLabel, - QLineEdit, QPushButton, QSizePolicy, QSpacerItem, - QTextEdit, QVBoxLayout, QWidget) +from PySide6.QtCore import QCoreApplication, QMetaObject, Qt +from PySide6.QtWidgets import ( + QComboBox, + QDialogButtonBox, + QGridLayout, + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QSizePolicy, + QSpacerItem, + QTextEdit, + QVBoxLayout, + QWidget, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(689, 572) self.verticalLayout_2 = QVBoxLayout(Dialog) - self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.verticalLayout_2.setObjectName("verticalLayout_2") self.verticalLayout = QVBoxLayout() - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.gridLayout = QGridLayout() - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.label = QLabel(Dialog) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) @@ -36,19 +48,19 @@ class Ui_Dialog(object): self.placeholder_list.addItem("") self.placeholder_list.addItem("") self.placeholder_list.addItem("") - self.placeholder_list.setObjectName(u"placeholder_list") + self.placeholder_list.setObjectName("placeholder_list") self.placeholder_list.setFocusPolicy(Qt.NoFocus) self.placeholder_list.setSizeAdjustPolicy(QComboBox.AdjustToContents) self.gridLayout.addWidget(self.placeholder_list, 1, 0, 1, 1) self.label_2 = QLabel(Dialog) - self.label_2.setObjectName(u"label_2") + self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 0, 1, 1, 1) self.lineEdit = QLineEdit(Dialog) - self.lineEdit.setObjectName(u"lineEdit") + self.lineEdit.setObjectName("lineEdit") self.lineEdit.setEnabled(True) self.lineEdit.setFocusPolicy(Qt.NoFocus) self.lineEdit.setFrame(False) @@ -57,50 +69,51 @@ class Ui_Dialog(object): self.gridLayout.addWidget(self.lineEdit, 1, 1, 1, 1) self.insertPlaceholder = QPushButton(Dialog) - self.insertPlaceholder.setObjectName(u"insertPlaceholder") + self.insertPlaceholder.setObjectName("insertPlaceholder") self.insertPlaceholder.setFocusPolicy(Qt.NoFocus) self.gridLayout.addWidget(self.insertPlaceholder, 1, 2, 1, 1) - self.verticalLayout.addLayout(self.gridLayout) self.label_3 = QLabel(Dialog) - self.label_3.setObjectName(u"label_3") + self.label_3.setObjectName("label_3") self.verticalLayout.addWidget(self.label_3) self.subject = QLineEdit(Dialog) - self.subject.setObjectName(u"subject") + self.subject.setObjectName("subject") self.verticalLayout.addWidget(self.subject) self.templateEdit = QTextEdit(Dialog) - self.templateEdit.setObjectName(u"templateEdit") + self.templateEdit.setObjectName("templateEdit") self.verticalLayout.addWidget(self.templateEdit) self.horizontalLayout_3 = QHBoxLayout() - self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.testTemplate = QPushButton(Dialog) - self.testTemplate.setObjectName(u"testTemplate") + self.testTemplate.setObjectName("testTemplate") self.horizontalLayout_3.addWidget(self.testTemplate) - self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_2 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_3.addItem(self.horizontalSpacer_2) - self.verticalLayout.addLayout(self.horizontalLayout_3) - self.verticalLayout_2.addLayout(self.verticalLayout) self.buttonBox = QDialogButtonBox(Dialog) - self.buttonBox.setObjectName(u"buttonBox") + self.buttonBox.setObjectName("buttonBox") self.buttonBox.setOrientation(Qt.Horizontal) - self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Discard|QDialogButtonBox.Save) + self.buttonBox.setStandardButtons( + QDialogButtonBox.Cancel | QDialogButtonBox.Discard | QDialogButtonBox.Save + ) self.verticalLayout_2.addWidget(self.buttonBox) @@ -113,21 +126,40 @@ class Ui_Dialog(object): self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"Platzhalter", None)) - self.placeholder_list.setItemText(0, QCoreApplication.translate("Dialog", u"\u00abAnrede\u00bb", None)) - self.placeholder_list.setItemText(1, QCoreApplication.translate("Dialog", u"\u00abApparatsName\u00bb", None)) - self.placeholder_list.setItemText(2, QCoreApplication.translate("Dialog", u"\u00abApparatsFach\u00bb", None)) - self.placeholder_list.setItemText(3, QCoreApplication.translate("Dialog", u"\u00abApparatsNummer\u00bb", None)) - self.placeholder_list.setItemText(4, QCoreApplication.translate("Dialog", u"\u00abDozentName\u00bb", None)) - self.placeholder_list.setItemText(5, QCoreApplication.translate("Dialog", u"\u00abSignatur\u00bb", None)) + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.label.setText(QCoreApplication.translate("Dialog", "Platzhalter", None)) + self.placeholder_list.setItemText( + 0, QCoreApplication.translate("Dialog", "\u00abAnrede\u00bb", None) + ) + self.placeholder_list.setItemText( + 1, QCoreApplication.translate("Dialog", "\u00abApparatsName\u00bb", None) + ) + self.placeholder_list.setItemText( + 2, QCoreApplication.translate("Dialog", "\u00abApparatsFach\u00bb", None) + ) + self.placeholder_list.setItemText( + 3, QCoreApplication.translate("Dialog", "\u00abApparatsNummer\u00bb", None) + ) + self.placeholder_list.setItemText( + 4, QCoreApplication.translate("Dialog", "\u00abDozentName\u00bb", None) + ) + self.placeholder_list.setItemText( + 5, QCoreApplication.translate("Dialog", "\u00abSignatur\u00bb", None) + ) + + self.label_2.setText(QCoreApplication.translate("Dialog", "Beschreibung", None)) + self.insertPlaceholder.setText( + QCoreApplication.translate( + "Dialog", "An aktiver Position einf\u00fcgen", None + ) + ) + self.label_3.setText(QCoreApplication.translate("Dialog", "Betreff", None)) + self.testTemplate.setText( + QCoreApplication.translate("Dialog", "Template testen", None) + ) - self.label_2.setText(QCoreApplication.translate("Dialog", u"Beschreibung", None)) - self.insertPlaceholder.setText(QCoreApplication.translate("Dialog", u"An aktiver Position einf\u00fcgen", None)) - self.label_3.setText(QCoreApplication.translate("Dialog", u"Betreff", None)) - self.testTemplate.setText(QCoreApplication.translate("Dialog", u"Template testen", None)) # retranslateUi - diff --git a/src/ui/dialogs/dialog_sources/order_neweditions_ui.py b/src/ui/dialogs/dialog_sources/order_neweditions_ui.py index 92f8cee..b49cb9a 100644 --- a/src/ui/dialogs/dialog_sources/order_neweditions_ui.py +++ b/src/ui/dialogs/dialog_sources/order_neweditions_ui.py @@ -8,19 +8,27 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject) -from PySide6.QtWidgets import (QHBoxLayout, QPushButton, QSizePolicy, QSpacerItem, QTableWidget, - QTableWidgetItem, QVBoxLayout) +from PySide6.QtCore import QCoreApplication, QMetaObject +from PySide6.QtWidgets import ( + QHBoxLayout, + QPushButton, + QSizePolicy, + QSpacerItem, + QTableWidget, + QTableWidgetItem, + QVBoxLayout, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(808, 629) self.verticalLayout = QVBoxLayout(Dialog) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.tableWidget = QTableWidget(Dialog) - if (self.tableWidget.columnCount() < 8): + if self.tableWidget.columnCount() < 8: self.tableWidget.setColumnCount(8) __qtablewidgetitem = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem) @@ -38,48 +46,61 @@ class Ui_Dialog(object): self.tableWidget.setHorizontalHeaderItem(6, __qtablewidgetitem6) __qtablewidgetitem7 = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(7, __qtablewidgetitem7) - self.tableWidget.setObjectName(u"tableWidget") + self.tableWidget.setObjectName("tableWidget") self.verticalLayout.addWidget(self.tableWidget) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") - self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalLayout.setObjectName("horizontalLayout") + self.horizontalSpacer = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout.addItem(self.horizontalSpacer) self.pushButton = QPushButton(Dialog) - self.pushButton.setObjectName(u"pushButton") + self.pushButton.setObjectName("pushButton") self.horizontalLayout.addWidget(self.pushButton) - self.verticalLayout.addLayout(self.horizontalLayout) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(0) - ___qtablewidgetitem.setText(QCoreApplication.translate("Dialog", u"Bestellen", None)) + ___qtablewidgetitem.setText( + QCoreApplication.translate("Dialog", "Bestellen", None) + ) ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(1) - ___qtablewidgetitem1.setText(QCoreApplication.translate("Dialog", u"Signatur", None)) + ___qtablewidgetitem1.setText( + QCoreApplication.translate("Dialog", "Signatur", None) + ) ___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(2) - ___qtablewidgetitem2.setText(QCoreApplication.translate("Dialog", u"Titel", None)) + ___qtablewidgetitem2.setText( + QCoreApplication.translate("Dialog", "Titel", None) + ) ___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(3) - ___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", u"ISBN", None)) + ___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", "ISBN", None)) ___qtablewidgetitem4 = self.tableWidget.horizontalHeaderItem(4) - ___qtablewidgetitem4.setText(QCoreApplication.translate("Dialog", u"Autor", None)) + ___qtablewidgetitem4.setText( + QCoreApplication.translate("Dialog", "Autor", None) + ) ___qtablewidgetitem5 = self.tableWidget.horizontalHeaderItem(5) - ___qtablewidgetitem5.setText(QCoreApplication.translate("Dialog", u"Auflage", None)) + ___qtablewidgetitem5.setText( + QCoreApplication.translate("Dialog", "Auflage", None) + ) ___qtablewidgetitem6 = self.tableWidget.horizontalHeaderItem(6) - ___qtablewidgetitem6.setText(QCoreApplication.translate("Dialog", u"Standort", None)) + ___qtablewidgetitem6.setText( + QCoreApplication.translate("Dialog", "Standort", None) + ) ___qtablewidgetitem7 = self.tableWidget.horizontalHeaderItem(7) - ___qtablewidgetitem7.setText(QCoreApplication.translate("Dialog", u"Link", None)) - self.pushButton.setText(QCoreApplication.translate("Dialog", u"Bestellen", None)) - # retranslateUi + ___qtablewidgetitem7.setText(QCoreApplication.translate("Dialog", "Link", None)) + self.pushButton.setText(QCoreApplication.translate("Dialog", "Bestellen", None)) + # retranslateUi diff --git a/src/ui/dialogs/dialog_sources/parsed_titles_ui.py b/src/ui/dialogs/dialog_sources/parsed_titles_ui.py index 5d5cadf..631dc95 100644 --- a/src/ui/dialogs/dialog_sources/parsed_titles_ui.py +++ b/src/ui/dialogs/dialog_sources/parsed_titles_ui.py @@ -38,7 +38,12 @@ class Ui_Form(object): self.label_2 = QtWidgets.QLabel(parent=self.horizontalLayoutWidget) self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout.addItem(spacerItem) self.frame_2 = QtWidgets.QFrame(parent=Form) self.frame_2.setGeometry(QtCore.QRect(10, 80, 381, 201)) @@ -54,7 +59,9 @@ class Ui_Form(object): self.listWidget = QtWidgets.QListWidget(parent=self.horizontalLayoutWidget_2) self.listWidget.setObjectName("listWidget") self.horizontalLayout_2.addWidget(self.listWidget) - self.listWidget_done = QtWidgets.QListWidget(parent=self.horizontalLayoutWidget_2) + self.listWidget_done = QtWidgets.QListWidget( + parent=self.horizontalLayoutWidget_2 + ) self.listWidget_done.setObjectName("listWidget_done") self.horizontalLayout_2.addWidget(self.listWidget_done) self.progressBar = QtWidgets.QProgressBar(parent=Form) @@ -63,7 +70,10 @@ class Ui_Form(object): self.progressBar.setObjectName("progressBar") self.buttonBox = QtWidgets.QDialogButtonBox(parent=Form) self.buttonBox.setGeometry(QtCore.QRect(230, 290, 156, 23)) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.toolButton = QtWidgets.QToolButton(parent=Form) self.toolButton.setGeometry(QtCore.QRect(20, 290, 25, 19)) diff --git a/src/ui/dialogs/dialog_sources/reminder_ui.py b/src/ui/dialogs/dialog_sources/reminder_ui.py index feea85f..35605e5 100644 --- a/src/ui/dialogs/dialog_sources/reminder_ui.py +++ b/src/ui/dialogs/dialog_sources/reminder_ui.py @@ -16,7 +16,10 @@ class Ui_Erinnerung(object): self.buttonBox = QtWidgets.QDialogButtonBox(parent=Erinnerung) self.buttonBox.setGeometry(QtCore.QRect(190, 270, 161, 32)) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.message_box = QtWidgets.QTextEdit(parent=Erinnerung) self.message_box.setGeometry(QtCore.QRect(10, 60, 341, 201)) @@ -32,8 +35,8 @@ class Ui_Erinnerung(object): self.dateEdit.setObjectName("dateEdit") self.retranslateUi(Erinnerung) - self.buttonBox.accepted.connect(Erinnerung.accept) # type: ignore - self.buttonBox.rejected.connect(Erinnerung.reject) # type: ignore + self.buttonBox.accepted.connect(Erinnerung.accept) # type: ignore + self.buttonBox.rejected.connect(Erinnerung.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(Erinnerung) def retranslateUi(self, Erinnerung): diff --git a/src/ui/dialogs/dialog_sources/settings_ui.py b/src/ui/dialogs/dialog_sources/settings_ui.py index 0ac4637..8e54d89 100644 --- a/src/ui/dialogs/dialog_sources/settings_ui.py +++ b/src/ui/dialogs/dialog_sources/settings_ui.py @@ -14,7 +14,10 @@ class Ui_Dialog(object): Dialog.setObjectName("Dialog") Dialog.setWindowModality(QtCore.Qt.WindowModality.NonModal) Dialog.resize(651, 679) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth()) @@ -22,7 +25,10 @@ class Ui_Dialog(object): self.verticalLayout = QtWidgets.QVBoxLayout(Dialog) self.verticalLayout.setObjectName("verticalLayout") self.toolBox = QtWidgets.QToolBox(parent=Dialog) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.toolBox.sizePolicy().hasHeightForWidth()) @@ -31,7 +37,10 @@ class Ui_Dialog(object): self.toolBox.setObjectName("toolBox") self.page_1 = QtWidgets.QWidget() self.page_1.setGeometry(QtCore.QRect(0, 0, 633, 511)) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + QtWidgets.QSizePolicy.Policy.MinimumExpanding, + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.page_1.sizePolicy().hasHeightForWidth()) @@ -64,7 +73,12 @@ class Ui_Dialog(object): self.save_path = QtWidgets.QLineEdit(parent=self.page_1) self.save_path.setObjectName("save_path") self.gridLayout_3.addWidget(self.save_path, 2, 1, 1, 1) - spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.gridLayout_3.addItem(spacerItem, 3, 1, 1, 1) self.toolBox.addItem(self.page_1, "") self.page_2 = QtWidgets.QWidget() @@ -85,7 +99,10 @@ class Ui_Dialog(object): self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.zotero_api_key = QtWidgets.QLineEdit(parent=self.page_2) - self.zotero_api_key.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhHiddenText|QtCore.Qt.InputMethodHint.ImhSensitiveData) + self.zotero_api_key.setInputMethodHints( + QtCore.Qt.InputMethodHint.ImhHiddenText + | QtCore.Qt.InputMethodHint.ImhSensitiveData + ) self.zotero_api_key.setObjectName("zotero_api_key") self.gridLayout.addWidget(self.zotero_api_key, 0, 2, 1, 1) self.label_2 = QtWidgets.QLabel(parent=self.page_2) @@ -95,7 +112,12 @@ class Ui_Dialog(object): self.toggle_api_visibility.setText("") self.toggle_api_visibility.setObjectName("toggle_api_visibility") self.gridLayout.addWidget(self.toggle_api_visibility, 0, 3, 1, 1) - spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem1 = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1) self.toolBox.addItem(self.page_2, "") self.page_3 = QtWidgets.QWidget() @@ -111,7 +133,9 @@ class Ui_Dialog(object): self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") - self.use_username_smtp_login = QtWidgets.QCheckBox(parent=self.email_settingsPage1_2) + self.use_username_smtp_login = QtWidgets.QCheckBox( + parent=self.email_settingsPage1_2 + ) self.use_username_smtp_login.setTristate(False) self.use_username_smtp_login.setObjectName("use_username_smtp_login") self.gridLayout_2.addWidget(self.use_username_smtp_login, 4, 1, 1, 1) @@ -119,7 +143,10 @@ class Ui_Dialog(object): self.label_6.setObjectName("label_6") self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1) self.smtp_port = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2) - self.smtp_port.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhDigitsOnly|QtCore.Qt.InputMethodHint.ImhPreferNumbers) + self.smtp_port.setInputMethodHints( + QtCore.Qt.InputMethodHint.ImhDigitsOnly + | QtCore.Qt.InputMethodHint.ImhPreferNumbers + ) self.smtp_port.setClearButtonEnabled(True) self.smtp_port.setObjectName("smtp_port") self.gridLayout_2.addWidget(self.smtp_port, 1, 1, 1, 1) @@ -127,7 +154,9 @@ class Ui_Dialog(object): self.label_7.setObjectName("label_7") self.gridLayout_2.addWidget(self.label_7, 2, 0, 1, 1) self.sender_email = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2) - self.sender_email.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhEmailCharactersOnly) + self.sender_email.setInputMethodHints( + QtCore.Qt.InputMethodHint.ImhEmailCharactersOnly + ) self.sender_email.setClearButtonEnabled(True) self.sender_email.setObjectName("sender_email") self.gridLayout_2.addWidget(self.sender_email, 2, 1, 1, 1) @@ -140,7 +169,10 @@ class Ui_Dialog(object): self.label_9.setObjectName("label_9") self.gridLayout_2.addWidget(self.label_9, 7, 0, 1, 1) self.password = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2) - self.password.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhHiddenText|QtCore.Qt.InputMethodHint.ImhSensitiveData) + self.password.setInputMethodHints( + QtCore.Qt.InputMethodHint.ImhHiddenText + | QtCore.Qt.InputMethodHint.ImhSensitiveData + ) self.password.setClearButtonEnabled(True) self.password.setObjectName("password") self.gridLayout_2.addWidget(self.password, 5, 1, 1, 1) @@ -178,7 +210,12 @@ class Ui_Dialog(object): self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") - spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem2 = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout_3.addItem(spacerItem2) self.bold = QtWidgets.QPushButton(parent=self.email_settingsPage2_2) self.bold.setCheckable(True) @@ -192,7 +229,12 @@ class Ui_Dialog(object): self.underscore.setCheckable(True) self.underscore.setObjectName("underscore") self.horizontalLayout_3.addWidget(self.underscore) - spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem3 = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout_3.addItem(spacerItem3) self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.horizontalLayout = QtWidgets.QHBoxLayout() @@ -218,7 +260,12 @@ class Ui_Dialog(object): self.font_size.addItem("") self.font_size.addItem("") self.horizontalLayout.addWidget(self.font_size) - spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem4 = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout.addItem(spacerItem4) self.verticalLayout_2.addLayout(self.horizontalLayout) self.verticalLayout_3.addLayout(self.verticalLayout_2) @@ -275,7 +322,10 @@ class Ui_Dialog(object): self.verticalLayout.addWidget(self.toolBox) self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.verticalLayout.addWidget(self.buttonBox) self.label_5.setBuddy(self.db_name) @@ -285,37 +335,62 @@ class Ui_Dialog(object): self.retranslateUi(Dialog) self.toolBox.setCurrentIndex(2) self.email_settings.setCurrentIndex(0) - self.buttonBox.accepted.connect(Dialog.accept) # type: ignore - self.buttonBox.rejected.connect(Dialog.reject) # type: ignore + self.buttonBox.accepted.connect(Dialog.accept) # type: ignore + self.buttonBox.rejected.connect(Dialog.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.db_name.setText(_translate("Dialog", "sap.db")) - self.label_5.setToolTip(_translate("Dialog", "

Name der Datenbank, welche verwendet werden soll. Muss auf .db enden

")) + self.label_5.setToolTip( + _translate( + "Dialog", + '

Name der Datenbank, welche verwendet werden soll. Muss auf .db enden

', + ) + ) self.label_5.setText(_translate("Dialog", "Datenbankname")) - self.label_12.setToolTip(_translate("Dialog", "Pfad, an dem heruntergeladene Dateien gespeichert werden sollen")) + self.label_12.setToolTip( + _translate( + "Dialog", + "Pfad, an dem heruntergeladene Dateien gespeichert werden sollen", + ) + ) self.label_12.setText(_translate("Dialog", "Temporäre Dateien")) self.label_11.setText(_translate("Dialog", "Datenbankpfad")) self.tb_set_save_path.setText(_translate("Dialog", "...")) self.tb_select_db.setText(_translate("Dialog", "...")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_1), _translate("Dialog", "Datenbank")) + self.toolBox.setItemText( + self.toolBox.indexOf(self.page_1), _translate("Dialog", "Datenbank") + ) self.label_4.setText(_translate("Dialog", "Bibliothekstyp")) self.label_3.setText(_translate("Dialog", "Bibliotheks-ID")) self.label_2.setText(_translate("Dialog", "API Key")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("Dialog", "Zotero")) - self.use_username_smtp_login.setStatusTip(_translate("Dialog", "Anklicken, wenn Nutzername benötigt wird, um sich beim Server anzumelden")) - self.use_username_smtp_login.setText(_translate("Dialog", "Nutzername zum\n" -" Anmelden verwenden")) + self.toolBox.setItemText( + self.toolBox.indexOf(self.page_2), _translate("Dialog", "Zotero") + ) + self.use_username_smtp_login.setStatusTip( + _translate( + "Dialog", + "Anklicken, wenn Nutzername benötigt wird, um sich beim Server anzumelden", + ) + ) + self.use_username_smtp_login.setText( + _translate("Dialog", "Nutzername zum\n Anmelden verwenden") + ) self.label_6.setText(_translate("Dialog", "Port")) self.label_7.setText(_translate("Dialog", "Sender-eMail")) - self.mail_username.setStatusTip(_translate("Dialog", "Kürzel, von der Hochschule vergeben, bsp: Aky547")) + self.mail_username.setStatusTip( + _translate("Dialog", "Kürzel, von der Hochschule vergeben, bsp: Aky547") + ) self.label.setText(_translate("Dialog", "SMTP-Server")) self.label_10.setText(_translate("Dialog", "Passwort")) self.label_8.setText(_translate("Dialog", "Nutzername")) self.label_13.setText(_translate("Dialog", "Printmail")) - self.email_settings.setTabText(self.email_settings.indexOf(self.email_settingsPage1_2), _translate("Dialog", "Allgemeines")) + self.email_settings.setTabText( + self.email_settings.indexOf(self.email_settingsPage1_2), + _translate("Dialog", "Allgemeines"), + ) self.bold.setText(_translate("Dialog", "Fett")) self.italic.setText(_translate("Dialog", "Kursiv")) self.underscore.setText(_translate("Dialog", "Unterstrichen")) @@ -335,7 +410,14 @@ class Ui_Dialog(object): self.font_size.setItemText(13, _translate("Dialog", "48")) self.font_size.setItemText(14, _translate("Dialog", "72")) self.debug.setText(_translate("Dialog", "Debug")) - self.email_settings.setTabText(self.email_settings.indexOf(self.email_settingsPage2_2), _translate("Dialog", "Signatur")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_3), _translate("Dialog", "e-Mail")) + self.email_settings.setTabText( + self.email_settings.indexOf(self.email_settingsPage2_2), + _translate("Dialog", "Signatur"), + ) + self.toolBox.setItemText( + self.toolBox.indexOf(self.page_3), _translate("Dialog", "e-Mail") + ) self.groupBox.setTitle(_translate("Dialog", "Farben")) - self.toolBox.setItemText(self.toolBox.indexOf(self.page_4), _translate("Dialog", "Icons")) + self.toolBox.setItemText( + self.toolBox.indexOf(self.page_4), _translate("Dialog", "Icons") + ) diff --git a/src/ui/dialogs/elsa_add_entry.py b/src/ui/dialogs/elsa_add_entry.py index edd8a32..8a4eaa6 100644 --- a/src/ui/dialogs/elsa_add_entry.py +++ b/src/ui/dialogs/elsa_add_entry.py @@ -187,7 +187,7 @@ class ElsaAddEntry(QtWidgets.QDialog, Ui_Dialog): # data = data[0] bib = BibTextTransformer() bib.get_data(data) - data:BookData = bib.return_data() + data: BookData = bib.return_data() self.setdata(data, pages) def setdata(self, data: BookData, pages=None): diff --git a/src/ui/dialogs/ext_app.py b/src/ui/dialogs/ext_app.py index b6c80c7..b70f45b 100644 --- a/src/ui/dialogs/ext_app.py +++ b/src/ui/dialogs/ext_app.py @@ -18,7 +18,10 @@ class Ui_Frame(object): self.label.setObjectName("label") self.buttonBox = QtWidgets.QDialogButtonBox(Frame) self.buttonBox.setGeometry(QtCore.QRect(90, 90, 156, 23)) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.sem_winter = QtWidgets.QRadioButton(Frame) self.sem_winter.setGeometry(QtCore.QRect(60, 40, 82, 17)) @@ -36,13 +39,16 @@ class Ui_Frame(object): def retranslateUi(self, Frame): _translate = QtCore.QCoreApplication.translate Frame.setWindowTitle(_translate("Frame", "Frame")) - self.label.setText(_translate("Frame", "Bis wann soll der Apparat verlängert werden?")) + self.label.setText( + _translate("Frame", "Bis wann soll der Apparat verlängert werden?") + ) self.sem_winter.setText(_translate("Frame", "Winter")) self.sem_sommer.setText(_translate("Frame", "Sommer")) if __name__ == "__main__": import sys + app = QtWidgets.QApplication(sys.argv) Frame = QtWidgets.QFrame() ui = Ui_Frame() diff --git a/src/ui/dialogs/login.py b/src/ui/dialogs/login.py index 671164c..abefe6c 100644 --- a/src/ui/dialogs/login.py +++ b/src/ui/dialogs/login.py @@ -1,10 +1,8 @@ import hashlib -import sys from src.shared.logging import log from PySide6 import QtCore, QtWidgets -from src import LOG_DIR from src.database import Database from src.utils.icon import Icon @@ -12,6 +10,7 @@ from .dialog_sources.login_ui import Ui_Dialog # use centralized logging from src.shared.logging + class LoginDialog(Ui_Dialog): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") diff --git a/src/ui/dialogs/mailTemplate.py b/src/ui/dialogs/mailTemplate.py index 0ce9a2a..4cd5438 100644 --- a/src/ui/dialogs/mailTemplate.py +++ b/src/ui/dialogs/mailTemplate.py @@ -1,7 +1,5 @@ import os import re -import sys -from pathlib import Path from src.shared.logging import log, get_bloat_logger, preview from PySide6 import QtCore, QtWidgets diff --git a/src/ui/dialogs/mail_preview_ui.py b/src/ui/dialogs/mail_preview_ui.py index b633b07..ddf8c5c 100644 --- a/src/ui/dialogs/mail_preview_ui.py +++ b/src/ui/dialogs/mail_preview_ui.py @@ -16,7 +16,10 @@ class Ui_eMailPreview(object): self.buttonBox = QtWidgets.QDialogButtonBox(parent=eMailPreview) self.buttonBox.setGeometry(QtCore.QRect(310, 630, 341, 32)) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.gridLayoutWidget = QtWidgets.QWidget(parent=eMailPreview) self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 661, 621)) @@ -31,7 +34,11 @@ class Ui_eMailPreview(object): self.prof_name.setObjectName("prof_name") self.gridLayout.addWidget(self.prof_name, 2, 2, 1, 1) self.label_3 = QtWidgets.QLabel(parent=self.gridLayoutWidget) - self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop) + self.label_3.setAlignment( + QtCore.Qt.AlignmentFlag.AlignLeading + | QtCore.Qt.AlignmentFlag.AlignLeft + | QtCore.Qt.AlignmentFlag.AlignTop + ) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1) self.mail_name = QtWidgets.QLineEdit(parent=self.gridLayoutWidget) @@ -66,7 +73,12 @@ class Ui_eMailPreview(object): self.gender_non = QtWidgets.QRadioButton(parent=self.gridLayoutWidget) self.gender_non.setObjectName("gender_non") self.horizontalLayout_3.addWidget(self.gender_non) - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout_3.addItem(spacerItem) self.gridLayout.addLayout(self.horizontalLayout_3, 4, 2, 1, 1) self.label_6 = QtWidgets.QLabel(parent=self.gridLayoutWidget) @@ -74,8 +86,8 @@ class Ui_eMailPreview(object): self.gridLayout.addWidget(self.label_6, 4, 0, 1, 1) self.retranslateUi(eMailPreview) - self.buttonBox.accepted.connect(eMailPreview.accept) # type: ignore - self.buttonBox.rejected.connect(eMailPreview.reject) # type: ignore + self.buttonBox.accepted.connect(eMailPreview.accept) # type: ignore + self.buttonBox.rejected.connect(eMailPreview.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(eMailPreview) def retranslateUi(self, eMailPreview): diff --git a/src/ui/dialogs/parsed_titles.py b/src/ui/dialogs/parsed_titles.py index 13882d3..3a5c857 100644 --- a/src/ui/dialogs/parsed_titles.py +++ b/src/ui/dialogs/parsed_titles.py @@ -1,9 +1,7 @@ -import sys from src.shared.logging import log from PySide6 import QtWidgets -from src import LOG_DIR from src.background import AutoAdder from .dialog_sources.parsed_titles_ui import Ui_Form diff --git a/src/ui/dialogs/parsed_titles_ui.py b/src/ui/dialogs/parsed_titles_ui.py index 59f38d2..e047cc8 100644 --- a/src/ui/dialogs/parsed_titles_ui.py +++ b/src/ui/dialogs/parsed_titles_ui.py @@ -38,7 +38,12 @@ class Ui_Form(object): self.label_2 = QtWidgets.QLabel(parent=self.horizontalLayoutWidget) self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout.addItem(spacerItem) self.frame_2 = QtWidgets.QFrame(parent=Form) self.frame_2.setGeometry(QtCore.QRect(10, 80, 381, 201)) @@ -54,7 +59,9 @@ class Ui_Form(object): self.listWidget = QtWidgets.QListWidget(parent=self.horizontalLayoutWidget_2) self.listWidget.setObjectName("listWidget") self.horizontalLayout_2.addWidget(self.listWidget) - self.listWidget_done = QtWidgets.QListWidget(parent=self.horizontalLayoutWidget_2) + self.listWidget_done = QtWidgets.QListWidget( + parent=self.horizontalLayoutWidget_2 + ) self.listWidget_done.setObjectName("listWidget_done") self.horizontalLayout_2.addWidget(self.listWidget_done) self.progressBar = QtWidgets.QProgressBar(parent=Form) @@ -63,7 +70,10 @@ class Ui_Form(object): self.progressBar.setObjectName("progressBar") self.buttonBox = QtWidgets.QDialogButtonBox(parent=Form) self.buttonBox.setGeometry(QtCore.QRect(230, 290, 156, 23)) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) + self.buttonBox.setStandardButtons( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + | QtWidgets.QDialogButtonBox.StandardButton.Ok + ) self.buttonBox.setObjectName("buttonBox") self.toolButton = QtWidgets.QToolButton(parent=Form) self.toolButton.setGeometry(QtCore.QRect(20, 290, 25, 19)) diff --git a/src/ui/dialogs/progress.py b/src/ui/dialogs/progress.py index 9464ff3..030f2ca 100644 --- a/src/ui/dialogs/progress.py +++ b/src/ui/dialogs/progress.py @@ -34,7 +34,7 @@ class CheckThread(QtCore.QThread): swb_client = SWB() for i in tqdm_object: book: BookData = self.items[i] - author = ( + ( book.author.split(";")[0].replace(" ", "") if ";" in book.author else book.author.replace(" ", "") @@ -90,4 +90,3 @@ class ProgressDialog(QDialog): def start(self): # Start logic is managed externally; keep method for UI wiring pass - diff --git a/src/ui/dialogs/settings.py b/src/ui/dialogs/settings.py index fd3b12f..594ebd9 100644 --- a/src/ui/dialogs/settings.py +++ b/src/ui/dialogs/settings.py @@ -3,7 +3,7 @@ import sys from src.shared.logging import log, get_bloat_logger, preview from PySide6 import QtCore, QtGui, QtWidgets -from src import LOG_DIR, settings +from src import settings from src.ui.widgets.iconLine import IconWidget from src.utils.icon import Icon @@ -188,7 +188,9 @@ class Settings(QtWidgets.QDialog, _settings): def debug_mode(self): bloat = get_bloat_logger() - bloat.debug("Signature HTML (preview): {}", preview(self.editSignature.toHtml(), 2000)) + bloat.debug( + "Signature HTML (preview): {}", preview(self.editSignature.toHtml(), 2000) + ) def return_data(self): port = self.smtp_port.text() @@ -253,7 +255,6 @@ class Settings(QtWidgets.QDialog, _settings): def launch_settings(): - import sys app = QtWidgets.QApplication(sys.argv) window = Settings() diff --git a/src/ui/extensions/__init__.py b/src/ui/extensions/__init__.py index afbbfc0..f681989 100644 --- a/src/ui/extensions/__init__.py +++ b/src/ui/extensions/__init__.py @@ -1 +1,5 @@ from .ValidatorButton import ValidatorButton + +__all__ = [ + "ValidatorButton", +] diff --git a/src/ui/semesterapparat_ui_ui.py b/src/ui/semesterapparat_ui_ui.py index 13d7936..60096f3 100644 --- a/src/ui/semesterapparat_ui_ui.py +++ b/src/ui/semesterapparat_ui_ui.py @@ -8,21 +8,40 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject, QRect, - QSize, Qt) -from PySide6.QtGui import (QAction, QFont, QIcon) -from PySide6.QtWidgets import (QAbstractItemView, QAbstractScrollArea, QCheckBox, - QComboBox, QFormLayout, QFrame, QGridLayout, - QGroupBox, QHBoxLayout, QLabel, - QLineEdit, QMenu, QMenuBar, - QProgressBar, QPushButton, QSizePolicy, QSpacerItem, - QStatusBar, QTabWidget, QTableWidget, QTableWidgetItem, - QToolButton, QVBoxLayout, QWidget) +from PySide6.QtCore import QCoreApplication, QMetaObject, QRect, QSize, Qt +from PySide6.QtGui import QAction, QFont, QIcon +from PySide6.QtWidgets import ( + QAbstractItemView, + QAbstractScrollArea, + QCheckBox, + QComboBox, + QFormLayout, + QFrame, + QGridLayout, + QGroupBox, + QHBoxLayout, + QLabel, + QLineEdit, + QMenu, + QMenuBar, + QProgressBar, + QPushButton, + QSizePolicy, + QSpacerItem, + QStatusBar, + QTabWidget, + QTableWidget, + QTableWidgetItem, + QToolButton, + QVBoxLayout, + QWidget, +) + class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): - MainWindow.setObjectName(u"MainWindow") + MainWindow.setObjectName("MainWindow") MainWindow.setWindowModality(Qt.WindowModal) MainWindow.setEnabled(True) MainWindow.resize(1590, 800) @@ -35,90 +54,106 @@ class Ui_MainWindow(object): MainWindow.setMaximumSize(QSize(1590, 800)) MainWindow.setContextMenuPolicy(Qt.NoContextMenu) icon = QIcon() - icon.addFile(u"../../../../../../icons/logo.ico", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + icon.addFile( + "../../../../../../icons/logo.ico", + QSize(), + QIcon.Mode.Normal, + QIcon.State.Off, + ) MainWindow.setWindowIcon(icon) self.actionBeenden = QAction(MainWindow) - self.actionBeenden.setObjectName(u"actionBeenden") + self.actionBeenden.setObjectName("actionBeenden") self.actionBeenden.setMenuRole(QAction.QuitRole) self.actionBeenden.setShortcutVisibleInContextMenu(True) self.actionEinstellungen = QAction(MainWindow) - self.actionEinstellungen.setObjectName(u"actionEinstellungen") + self.actionEinstellungen.setObjectName("actionEinstellungen") self.actionEinstellungen.setShortcutVisibleInContextMenu(True) self.actionAbout = QAction(MainWindow) - self.actionAbout.setObjectName(u"actionAbout") + self.actionAbout.setObjectName("actionAbout") self.actionAbout.setMenuRole(QAction.AboutRole) self.actionDokumentation = QAction(MainWindow) - self.actionDokumentation.setObjectName(u"actionDokumentation") + self.actionDokumentation.setObjectName("actionDokumentation") self.actionMedien_loeschen = QAction(MainWindow) - self.actionMedien_loeschen.setObjectName(u"actionMedien_loeschen") + self.actionMedien_loeschen.setObjectName("actionMedien_loeschen") self.centralwidget = QWidget(MainWindow) - self.centralwidget.setObjectName(u"centralwidget") - sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth()) + self.centralwidget.setObjectName("centralwidget") + sizePolicy.setHeightForWidth( + self.centralwidget.sizePolicy().hasHeightForWidth() + ) self.centralwidget.setSizePolicy(sizePolicy) self.centralwidget.setAcceptDrops(True) self.verticalLayoutWidget = QWidget(self.centralwidget) - self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget") + self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayoutWidget.setGeometry(QRect(0, 0, 1271, 751)) self.mainLayout = QVBoxLayout(self.verticalLayoutWidget) - self.mainLayout.setObjectName(u"mainLayout") + self.mainLayout.setObjectName("mainLayout") self.mainLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.gridLayout = QGridLayout() - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.gridLayout.setContentsMargins(3, -1, -1, -1) self.tabWidget = QTabWidget(self.verticalLayoutWidget) - self.tabWidget.setObjectName(u"tabWidget") + self.tabWidget.setObjectName("tabWidget") self.tabWidget.setFocusPolicy(Qt.NoFocus) self.createApparat = QWidget() - self.createApparat.setObjectName(u"createApparat") - sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred) + self.createApparat.setObjectName("createApparat") + sizePolicy1 = QSizePolicy( + QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred + ) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) - sizePolicy1.setHeightForWidth(self.createApparat.sizePolicy().hasHeightForWidth()) + sizePolicy1.setHeightForWidth( + self.createApparat.sizePolicy().hasHeightForWidth() + ) self.createApparat.setSizePolicy(sizePolicy1) self.horizontalLayoutWidget_2 = QWidget(self.createApparat) - self.horizontalLayoutWidget_2.setObjectName(u"horizontalLayoutWidget_2") + self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2") self.horizontalLayoutWidget_2.setGeometry(QRect(0, 0, 1261, 163)) self.horizontalLayout_2 = QHBoxLayout(self.horizontalLayoutWidget_2) - self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.formLayout = QFormLayout() - self.formLayout.setObjectName(u"formLayout") + self.formLayout.setObjectName("formLayout") self.verticalLayout_2 = QVBoxLayout() - self.verticalLayout_2.setObjectName(u"verticalLayout_2") - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.verticalSpacer = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) self.verticalLayout_2.addItem(self.verticalSpacer) self.create_document = QPushButton(self.horizontalLayoutWidget_2) - self.create_document.setObjectName(u"create_document") + self.create_document.setObjectName("create_document") self.create_document.setFocusPolicy(Qt.NoFocus) self.verticalLayout_2.addWidget(self.create_document) self.create_new_app = QPushButton(self.horizontalLayoutWidget_2) - self.create_new_app.setObjectName(u"create_new_app") + self.create_new_app.setObjectName("create_new_app") self.create_new_app.setFocusPolicy(Qt.NoFocus) self.verticalLayout_2.addWidget(self.create_new_app) self.cancel_active_selection = QPushButton(self.horizontalLayoutWidget_2) - self.cancel_active_selection.setObjectName(u"cancel_active_selection") + self.cancel_active_selection.setObjectName("cancel_active_selection") self.cancel_active_selection.setEnabled(False) self.cancel_active_selection.setFocusPolicy(Qt.NoFocus) self.verticalLayout_2.addWidget(self.cancel_active_selection) - self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.verticalSpacer_2 = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) self.verticalLayout_2.addItem(self.verticalSpacer_2) - - self.formLayout.setLayout(1, QFormLayout.ItemRole.LabelRole, self.verticalLayout_2) + self.formLayout.setLayout( + 1, QFormLayout.ItemRole.LabelRole, self.verticalLayout_2 + ) self.tableWidget_apparate = QTableWidget(self.horizontalLayoutWidget_2) - if (self.tableWidget_apparate.columnCount() < 6): + if self.tableWidget_apparate.columnCount() < 6: self.tableWidget_apparate.setColumnCount(6) __qtablewidgetitem = QTableWidgetItem() self.tableWidget_apparate.setHorizontalHeaderItem(0, __qtablewidgetitem) @@ -132,49 +167,53 @@ class Ui_MainWindow(object): self.tableWidget_apparate.setHorizontalHeaderItem(4, __qtablewidgetitem4) __qtablewidgetitem5 = QTableWidgetItem() self.tableWidget_apparate.setHorizontalHeaderItem(5, __qtablewidgetitem5) - self.tableWidget_apparate.setObjectName(u"tableWidget_apparate") + self.tableWidget_apparate.setObjectName("tableWidget_apparate") self.tableWidget_apparate.setFocusPolicy(Qt.NoFocus) - self.tableWidget_apparate.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) + self.tableWidget_apparate.setSizeAdjustPolicy( + QAbstractScrollArea.AdjustToContents + ) self.tableWidget_apparate.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget_apparate.setAlternatingRowColors(True) self.tableWidget_apparate.setTextElideMode(Qt.ElideMiddle) self.tableWidget_apparate.setSortingEnabled(False) self.tableWidget_apparate.horizontalHeader().setCascadingSectionResizes(True) - self.formLayout.setWidget(1, QFormLayout.ItemRole.FieldRole, self.tableWidget_apparate) - + self.formLayout.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.tableWidget_apparate + ) self.horizontalLayout_2.addLayout(self.formLayout) self.line = QFrame(self.createApparat) - self.line.setObjectName(u"line") + self.line.setObjectName("line") self.line.setGeometry(QRect(0, 160, 1261, 21)) self.line.setFrameShape(QFrame.Shape.HLine) self.line.setFrameShadow(QFrame.Shadow.Sunken) self.gridLayoutWidget_2 = QWidget(self.createApparat) - self.gridLayoutWidget_2.setObjectName(u"gridLayoutWidget_2") + self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2") self.gridLayoutWidget_2.setEnabled(True) self.gridLayoutWidget_2.setGeometry(QRect(0, 180, 1412, 531)) self.gridLayout_2 = QGridLayout(self.gridLayoutWidget_2) - self.gridLayout_2.setObjectName(u"gridLayout_2") + self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_3 = QHBoxLayout() - self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.add_medium = QPushButton(self.gridLayoutWidget_2) - self.add_medium.setObjectName(u"add_medium") + self.add_medium.setObjectName("add_medium") self.add_medium.setFocusPolicy(Qt.NoFocus) self.horizontalLayout_3.addWidget(self.add_medium) - self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_5 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_3.addItem(self.horizontalSpacer_5) - self.gridLayout_2.addLayout(self.horizontalLayout_3, 11, 0, 1, 1) self.label = QLabel(self.gridLayoutWidget_2) - self.label.setObjectName(u"label") + self.label.setObjectName("label") font = QFont() font.setPointSize(11) font.setBold(True) @@ -183,12 +222,16 @@ class Ui_MainWindow(object): self.gridLayout_2.addWidget(self.label, 2, 0, 1, 1) self.app_group_box = QGroupBox(self.gridLayoutWidget_2) - self.app_group_box.setObjectName(u"app_group_box") + self.app_group_box.setObjectName("app_group_box") self.app_group_box.setEnabled(True) - sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed) + sizePolicy2 = QSizePolicy( + QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed + ) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(0) - sizePolicy2.setHeightForWidth(self.app_group_box.sizePolicy().hasHeightForWidth()) + sizePolicy2.setHeightForWidth( + self.app_group_box.sizePolicy().hasHeightForWidth() + ) self.app_group_box.setSizePolicy(sizePolicy2) self.app_group_box.setMinimumSize(QSize(0, 210)) font1 = QFont() @@ -196,13 +239,15 @@ class Ui_MainWindow(object): font1.setBold(True) self.app_group_box.setFont(font1) self.app_group_box.setFocusPolicy(Qt.NoFocus) - self.app_group_box.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter) + self.app_group_box.setAlignment( + Qt.AlignLeading | Qt.AlignLeft | Qt.AlignVCenter + ) self.app_group_box.setCheckable(False) self.document_list = QTableWidget(self.app_group_box) - if (self.document_list.columnCount() < 4): + if self.document_list.columnCount() < 4: self.document_list.setColumnCount(4) font2 = QFont() - font2.setFamilies([u"Arial"]) + font2.setFamilies(["Arial"]) font2.setPointSize(8) __qtablewidgetitem6 = QTableWidgetItem() __qtablewidgetitem6.setFont(font2) @@ -215,7 +260,7 @@ class Ui_MainWindow(object): self.document_list.setHorizontalHeaderItem(2, __qtablewidgetitem8) __qtablewidgetitem9 = QTableWidgetItem() self.document_list.setHorizontalHeaderItem(3, __qtablewidgetitem9) - self.document_list.setObjectName(u"document_list") + self.document_list.setObjectName("document_list") self.document_list.setGeometry(QRect(780, 20, 321, 181)) font3 = QFont() font3.setPointSize(10) @@ -232,54 +277,56 @@ class Ui_MainWindow(object): self.document_list.setSelectionMode(QAbstractItemView.SingleSelection) self.document_list.horizontalHeader().setDefaultSectionSize(107) self.appname_mand = QLabel(self.app_group_box) - self.appname_mand.setObjectName(u"appname_mand") + self.appname_mand.setObjectName("appname_mand") self.appname_mand.setGeometry(QRect(330, 50, 16, 21)) font4 = QFont() font4.setPointSize(9) font4.setBold(False) self.appname_mand.setFont(font4) self.profname_mand = QLabel(self.app_group_box) - self.profname_mand.setObjectName(u"profname_mand") + self.profname_mand.setObjectName("profname_mand") self.profname_mand.setGeometry(QRect(110, 110, 16, 21)) self.profname_mand.setFont(font4) self.prof_title = QLineEdit(self.app_group_box) - self.prof_title.setObjectName(u"prof_title") + self.prof_title.setObjectName("prof_title") self.prof_title.setGeometry(QRect(120, 80, 71, 20)) self.prof_title.setFont(font4) self.prof_title.setFocusPolicy(Qt.ClickFocus) self.fach_mand = QLabel(self.app_group_box) - self.fach_mand.setObjectName(u"fach_mand") + self.fach_mand.setObjectName("fach_mand") self.fach_mand.setGeometry(QRect(510, 50, 47, 21)) self.fach_mand.setFont(font4) self.fach_mand.setFocusPolicy(Qt.NoFocus) self.btn_apparat_apply = QPushButton(self.app_group_box) - self.btn_apparat_apply.setObjectName(u"btn_apparat_apply") + self.btn_apparat_apply.setObjectName("btn_apparat_apply") self.btn_apparat_apply.setGeometry(QRect(360, 150, 75, 23)) self.btn_apparat_apply.setFont(font4) self.label_9 = QLabel(self.app_group_box) - self.label_9.setObjectName(u"label_9") + self.label_9.setObjectName("label_9") self.label_9.setGeometry(QRect(20, 160, 71, 21)) self.label_9.setFont(font4) self.gridLayoutWidget_5 = QWidget(self.app_group_box) - self.gridLayoutWidget_5.setObjectName(u"gridLayoutWidget_5") + self.gridLayoutWidget_5.setObjectName("gridLayoutWidget_5") self.gridLayoutWidget_5.setGeometry(QRect(520, 30, 241, 61)) self.gridLayout_6 = QGridLayout(self.gridLayoutWidget_5) - self.gridLayout_6.setObjectName(u"gridLayout_6") + self.gridLayout_6.setObjectName("gridLayout_6") self.gridLayout_6.setContentsMargins(0, 0, 0, 0) self.app_fach = QComboBox(self.gridLayoutWidget_5) - self.app_fach.setObjectName(u"app_fach") + self.app_fach.setObjectName("app_fach") self.app_fach.setMaximumSize(QSize(16777215, 25)) self.app_fach.setFont(font4) self.app_fach.setEditable(True) self.gridLayout_6.addWidget(self.app_fach, 0, 1, 1, 1) - self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_7 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.gridLayout_6.addItem(self.horizontalSpacer_7, 0, 3, 1, 1) self.valid_check_app_fach = QToolButton(self.gridLayoutWidget_5) - self.valid_check_app_fach.setObjectName(u"valid_check_app_fach") + self.valid_check_app_fach.setObjectName("valid_check_app_fach") self.valid_check_app_fach.setFocusPolicy(Qt.NoFocus) self.valid_check_app_fach.setAutoRaise(True) self.valid_check_app_fach.setArrowType(Qt.NoArrow) @@ -287,26 +334,26 @@ class Ui_MainWindow(object): self.gridLayout_6.addWidget(self.valid_check_app_fach, 0, 2, 1, 1) self._mand = QLabel(self.app_group_box) - self._mand.setObjectName(u"_mand") + self._mand.setObjectName("_mand") self._mand.setGeometry(QRect(330, 90, 16, 21)) self._mand.setFont(font4) self.prof_tel_nr = QLineEdit(self.app_group_box) - self.prof_tel_nr.setObjectName(u"prof_tel_nr") + self.prof_tel_nr.setObjectName("prof_tel_nr") self.prof_tel_nr.setGeometry(QRect(120, 160, 121, 20)) self.prof_tel_nr.setFont(font4) self.prof_tel_nr.setInputMethodHints(Qt.ImhNone) self.check_eternal_app = QCheckBox(self.app_group_box) - self.check_eternal_app.setObjectName(u"check_eternal_app") + self.check_eternal_app.setObjectName("check_eternal_app") self.check_eternal_app.setEnabled(False) self.check_eternal_app.setGeometry(QRect(340, 120, 101, 17)) self.check_eternal_app.setFont(font4) self.sem_sommer = QCheckBox(self.app_group_box) - self.sem_sommer.setObjectName(u"sem_sommer") + self.sem_sommer.setObjectName("sem_sommer") self.sem_sommer.setGeometry(QRect(340, 100, 82, 17)) self.sem_sommer.setFont(font4) self.sem_sommer.setFocusPolicy(Qt.StrongFocus) self.drpdwn_prof_name = QComboBox(self.app_group_box) - self.drpdwn_prof_name.setObjectName(u"drpdwn_prof_name") + self.drpdwn_prof_name.setObjectName("drpdwn_prof_name") self.drpdwn_prof_name.setGeometry(QRect(120, 110, 121, 22)) self.drpdwn_prof_name.setFont(font4) self.drpdwn_prof_name.setFocusPolicy(Qt.StrongFocus) @@ -315,167 +362,177 @@ class Ui_MainWindow(object): self.drpdwn_prof_name.setInsertPolicy(QComboBox.InsertAlphabetically) self.drpdwn_prof_name.setFrame(True) self.mail_mand = QLabel(self.app_group_box) - self.mail_mand.setObjectName(u"mail_mand") + self.mail_mand.setObjectName("mail_mand") self.mail_mand.setGeometry(QRect(110, 140, 47, 21)) self.mail_mand.setFont(font4) self.label_3 = QLabel(self.app_group_box) - self.label_3.setObjectName(u"label_3") + self.label_3.setObjectName("label_3") self.label_3.setGeometry(QRect(20, 80, 61, 20)) self.label_3.setFont(font4) self.label_2 = QLabel(self.app_group_box) - self.label_2.setObjectName(u"label_2") + self.label_2.setObjectName("label_2") self.label_2.setGeometry(QRect(20, 50, 101, 21)) self.label_2.setFont(font4) self.label_8 = QLabel(self.app_group_box) - self.label_8.setObjectName(u"label_8") + self.label_8.setObjectName("label_8") self.label_8.setGeometry(QRect(20, 140, 71, 21)) self.label_8.setFont(font4) self.label_10 = QLabel(self.app_group_box) - self.label_10.setObjectName(u"label_10") + self.label_10.setObjectName("label_10") self.label_10.setGeometry(QRect(480, 50, 51, 21)) self.label_10.setFont(font4) self.prof_mail = QLineEdit(self.app_group_box) - self.prof_mail.setObjectName(u"prof_mail") + self.prof_mail.setObjectName("prof_mail") self.prof_mail.setGeometry(QRect(120, 140, 121, 20)) self.prof_mail.setFont(font4) self.prof_mail.setInputMethodHints(Qt.ImhEmailCharactersOnly) self.prof_mail.setMaxLength(200) self.formLayoutWidget_2 = QWidget(self.app_group_box) - self.formLayoutWidget_2.setObjectName(u"formLayoutWidget_2") + self.formLayoutWidget_2.setObjectName("formLayoutWidget_2") self.formLayoutWidget_2.setGeometry(QRect(560, 100, 211, 99)) self.formLayout_3 = QFormLayout(self.formLayoutWidget_2) - self.formLayout_3.setObjectName(u"formLayout_3") + self.formLayout_3.setObjectName("formLayout_3") self.formLayout_3.setContentsMargins(0, 0, 0, 0) self.label_12 = QLabel(self.formLayoutWidget_2) - self.label_12.setObjectName(u"label_12") + self.label_12.setObjectName("label_12") self.label_12.setFont(font4) self.formLayout_3.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_12) self.label_13 = QLabel(self.formLayoutWidget_2) - self.label_13.setObjectName(u"label_13") + self.label_13.setObjectName("label_13") self.label_13.setFont(font4) self.formLayout_3.setWidget(2, QFormLayout.ItemRole.LabelRole, self.label_13) self.apparat_id_adis = QLineEdit(self.formLayoutWidget_2) - self.apparat_id_adis.setObjectName(u"apparat_id_adis") + self.apparat_id_adis.setObjectName("apparat_id_adis") self.apparat_id_adis.setFont(font4) self.apparat_id_adis.setInputMethodHints(Qt.ImhPreferNumbers) - self.formLayout_3.setWidget(2, QFormLayout.ItemRole.FieldRole, self.apparat_id_adis) + self.formLayout_3.setWidget( + 2, QFormLayout.ItemRole.FieldRole, self.apparat_id_adis + ) self.prof_id_adis = QLineEdit(self.formLayoutWidget_2) - self.prof_id_adis.setObjectName(u"prof_id_adis") + self.prof_id_adis.setObjectName("prof_id_adis") self.prof_id_adis.setFont(font4) self.prof_id_adis.setInputMethodHints(Qt.ImhPreferNumbers) - self.formLayout_3.setWidget(1, QFormLayout.ItemRole.FieldRole, self.prof_id_adis) + self.formLayout_3.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.prof_id_adis + ) self.sem_year = QLineEdit(self.app_group_box) - self.sem_year.setObjectName(u"sem_year") + self.sem_year.setObjectName("sem_year") self.sem_year.setGeometry(QRect(410, 90, 113, 20)) self.sem_year.setFont(font4) self.sem_year.setFocusPolicy(Qt.StrongFocus) self.sem_year.setMaxLength(5) self.check_send_mail = QCheckBox(self.app_group_box) - self.check_send_mail.setObjectName(u"check_send_mail") + self.check_send_mail.setObjectName("check_send_mail") self.check_send_mail.setGeometry(QRect(450, 150, 91, 24)) self.check_send_mail.setFont(font4) self.sem_winter = QCheckBox(self.app_group_box) - self.sem_winter.setObjectName(u"sem_winter") + self.sem_winter.setObjectName("sem_winter") self.sem_winter.setGeometry(QRect(340, 80, 82, 17)) self.sem_winter.setFont(font4) self.sem_winter.setFocusPolicy(Qt.StrongFocus) self.label_4 = QLabel(self.app_group_box) - self.label_4.setObjectName(u"label_4") + self.label_4.setObjectName("label_4") self.label_4.setGeometry(QRect(20, 110, 71, 21)) self.label_4.setFont(font4) self.telnr_mand = QLabel(self.app_group_box) - self.telnr_mand.setObjectName(u"telnr_mand") + self.telnr_mand.setObjectName("telnr_mand") self.telnr_mand.setGeometry(QRect(110, 160, 47, 21)) self.telnr_mand.setFont(font4) self.btn_apparat_save = QPushButton(self.app_group_box) - self.btn_apparat_save.setObjectName(u"btn_apparat_save") + self.btn_apparat_save.setObjectName("btn_apparat_save") self.btn_apparat_save.setGeometry(QRect(270, 150, 75, 23)) self.btn_apparat_save.setFont(font4) self.label_5 = QLabel(self.app_group_box) - self.label_5.setObjectName(u"label_5") + self.label_5.setObjectName("label_5") self.label_5.setGeometry(QRect(250, 50, 91, 21)) self.label_5.setFont(font4) self.app_name = QLineEdit(self.app_group_box) - self.app_name.setObjectName(u"app_name") + self.app_name.setObjectName("app_name") self.app_name.setGeometry(QRect(340, 50, 113, 20)) self.app_name.setFont(font4) self.app_name.setFocusPolicy(Qt.StrongFocus) self.drpdwn_app_nr = QComboBox(self.app_group_box) - self.drpdwn_app_nr.setObjectName(u"drpdwn_app_nr") + self.drpdwn_app_nr.setObjectName("drpdwn_app_nr") self.drpdwn_app_nr.setGeometry(QRect(120, 50, 69, 22)) self.drpdwn_app_nr.setFont(font4) self.drpdwn_app_nr.setInputMethodHints(Qt.ImhNone) self.drpdwn_app_nr.setEditable(True) self.label_6 = QLabel(self.app_group_box) - self.label_6.setObjectName(u"label_6") + self.label_6.setObjectName("label_6") self.label_6.setGeometry(QRect(270, 90, 61, 21)) self.label_6.setFont(font4) self.valid_check_profname = QToolButton(self.app_group_box) - self.valid_check_profname.setObjectName(u"valid_check_profname") + self.valid_check_profname.setObjectName("valid_check_profname") self.valid_check_profname.setGeometry(QRect(240, 110, 23, 22)) self.valid_check_profname.setFocusPolicy(Qt.NoFocus) self.valid_check_profname.setAutoRaise(True) self.valid_check_profname.setArrowType(Qt.NoArrow) self.valid_check_appname = QToolButton(self.app_group_box) - self.valid_check_appname.setObjectName(u"valid_check_appname") + self.valid_check_appname.setObjectName("valid_check_appname") self.valid_check_appname.setGeometry(QRect(450, 50, 22, 22)) self.valid_check_appname.setFocusPolicy(Qt.NoFocus) self.valid_check_appname.setAutoRaise(True) self.valid_check_semester = QToolButton(self.app_group_box) - self.valid_check_semester.setObjectName(u"valid_check_semester") + self.valid_check_semester.setObjectName("valid_check_semester") self.valid_check_semester.setGeometry(QRect(520, 90, 22, 22)) self.valid_check_semester.setFocusPolicy(Qt.NoFocus) self.valid_check_semester.setAutoRaise(True) self.valid_check_mail = QToolButton(self.app_group_box) - self.valid_check_mail.setObjectName(u"valid_check_mail") + self.valid_check_mail.setObjectName("valid_check_mail") self.valid_check_mail.setGeometry(QRect(240, 140, 22, 22)) self.valid_check_mail.setFocusPolicy(Qt.NoFocus) self.valid_check_mail.setAutoRaise(True) self.valid_check_telnr = QToolButton(self.app_group_box) - self.valid_check_telnr.setObjectName(u"valid_check_telnr") + self.valid_check_telnr.setObjectName("valid_check_telnr") self.valid_check_telnr.setGeometry(QRect(240, 160, 22, 22)) self.valid_check_telnr.setFocusPolicy(Qt.NoFocus) self.valid_check_telnr.setAutoRaise(True) self.saveandcreate = QPushButton(self.app_group_box) - self.saveandcreate.setObjectName(u"saveandcreate") + self.saveandcreate.setObjectName("saveandcreate") self.saveandcreate.setEnabled(False) self.saveandcreate.setGeometry(QRect(270, 180, 161, 24)) self.saveandcreate.setFont(font4) self.verticalLayoutWidget_3 = QWidget(self.app_group_box) - self.verticalLayoutWidget_3.setObjectName(u"verticalLayoutWidget_3") + self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3") self.verticalLayoutWidget_3.setGeometry(QRect(1110, 17, 131, 181)) self.verticalLayout_8 = QVBoxLayout(self.verticalLayoutWidget_3) - self.verticalLayout_8.setObjectName(u"verticalLayout_8") + self.verticalLayout_8.setObjectName("verticalLayout_8") self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.btn_add_document = QPushButton(self.verticalLayoutWidget_3) - self.btn_add_document.setObjectName(u"btn_add_document") - sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.MinimumExpanding) + self.btn_add_document.setObjectName("btn_add_document") + sizePolicy3 = QSizePolicy( + QSizePolicy.Policy.Minimum, QSizePolicy.Policy.MinimumExpanding + ) sizePolicy3.setHorizontalStretch(0) sizePolicy3.setVerticalStretch(0) - sizePolicy3.setHeightForWidth(self.btn_add_document.sizePolicy().hasHeightForWidth()) + sizePolicy3.setHeightForWidth( + self.btn_add_document.sizePolicy().hasHeightForWidth() + ) self.btn_add_document.setSizePolicy(sizePolicy3) self.btn_add_document.setFont(font4) self.verticalLayout_8.addWidget(self.btn_add_document) self.btn_open_document = QPushButton(self.verticalLayoutWidget_3) - self.btn_open_document.setObjectName(u"btn_open_document") - sizePolicy3.setHeightForWidth(self.btn_open_document.sizePolicy().hasHeightForWidth()) + self.btn_open_document.setObjectName("btn_open_document") + sizePolicy3.setHeightForWidth( + self.btn_open_document.sizePolicy().hasHeightForWidth() + ) self.btn_open_document.setSizePolicy(sizePolicy3) self.btn_open_document.setFont(font4) self.verticalLayout_8.addWidget(self.btn_open_document) self.check_file = QPushButton(self.verticalLayoutWidget_3) - self.check_file.setObjectName(u"check_file") + self.check_file.setObjectName("check_file") sizePolicy3.setHeightForWidth(self.check_file.sizePolicy().hasHeightForWidth()) self.check_file.setSizePolicy(sizePolicy3) self.check_file.setFont(font4) @@ -483,8 +540,12 @@ class Ui_MainWindow(object): self.verticalLayout_8.addWidget(self.check_file) self.btn_extract_data_from_document = QPushButton(self.verticalLayoutWidget_3) - self.btn_extract_data_from_document.setObjectName(u"btn_extract_data_from_document") - sizePolicy3.setHeightForWidth(self.btn_extract_data_from_document.sizePolicy().hasHeightForWidth()) + self.btn_extract_data_from_document.setObjectName( + "btn_extract_data_from_document" + ) + sizePolicy3.setHeightForWidth( + self.btn_extract_data_from_document.sizePolicy().hasHeightForWidth() + ) self.btn_extract_data_from_document.setSizePolicy(sizePolicy3) self.btn_extract_data_from_document.setFont(font4) @@ -498,99 +559,108 @@ class Ui_MainWindow(object): self.gridLayout_2.addWidget(self.app_group_box, 1, 0, 1, 1) self.horizontalLayout_5 = QHBoxLayout() - self.horizontalLayout_5.setObjectName(u"horizontalLayout_5") - self.horizontalSpacer = QSpacerItem(20, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum) + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.horizontalSpacer = QSpacerItem( + 20, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_5.addItem(self.horizontalSpacer) self.chkbx_show_only_wit_neweditions = QCheckBox(self.gridLayoutWidget_2) - self.chkbx_show_only_wit_neweditions.setObjectName(u"chkbx_show_only_wit_neweditions") + self.chkbx_show_only_wit_neweditions.setObjectName( + "chkbx_show_only_wit_neweditions" + ) self.chkbx_show_only_wit_neweditions.setEnabled(False) self.horizontalLayout_5.addWidget(self.chkbx_show_only_wit_neweditions) - self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_3 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_5.addItem(self.horizontalSpacer_3) self.btn_reserve = QPushButton(self.gridLayoutWidget_2) - self.btn_reserve.setObjectName(u"btn_reserve") + self.btn_reserve.setObjectName("btn_reserve") self.horizontalLayout_5.addWidget(self.btn_reserve) self.add_layout = QHBoxLayout() - self.add_layout.setObjectName(u"add_layout") + self.add_layout.setObjectName("add_layout") self.label_info = QLabel(self.gridLayoutWidget_2) - self.label_info.setObjectName(u"label_info") + self.label_info.setObjectName("label_info") self.add_layout.addWidget(self.label_info) self.line_2 = QFrame(self.gridLayoutWidget_2) - self.line_2.setObjectName(u"line_2") + self.line_2.setObjectName("line_2") self.line_2.setFrameShape(QFrame.Shape.VLine) self.line_2.setFrameShadow(QFrame.Shadow.Sunken) self.add_layout.addWidget(self.line_2) self.progress_label = QLabel(self.gridLayoutWidget_2) - self.progress_label.setObjectName(u"progress_label") + self.progress_label.setObjectName("progress_label") self.add_layout.addWidget(self.progress_label) - self.horizontalLayout_5.addLayout(self.add_layout) - self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_4 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_5.addItem(self.horizontalSpacer_4) self.avail_layout = QHBoxLayout() - self.avail_layout.setObjectName(u"avail_layout") + self.avail_layout.setObjectName("avail_layout") self.label_20 = QLabel(self.gridLayoutWidget_2) - self.label_20.setObjectName(u"label_20") + self.label_20.setObjectName("label_20") self.avail_layout.addWidget(self.label_20) self.progressBar = QProgressBar(self.gridLayoutWidget_2) - self.progressBar.setObjectName(u"progressBar") + self.progressBar.setObjectName("progressBar") self.progressBar.setValue(24) self.avail_layout.addWidget(self.progressBar) self.label_eta = QLabel(self.gridLayoutWidget_2) - self.label_eta.setObjectName(u"label_eta") + self.label_eta.setObjectName("label_eta") self.avail_layout.addWidget(self.label_eta) - self.horizontalLayout_5.addLayout(self.avail_layout) self.line_3 = QFrame(self.gridLayoutWidget_2) - self.line_3.setObjectName(u"line_3") + self.line_3.setObjectName("line_3") self.line_3.setFrameShape(QFrame.Shape.VLine) self.line_3.setFrameShadow(QFrame.Shadow.Sunken) self.horizontalLayout_5.addWidget(self.line_3) self.avail_status = QLabel(self.gridLayoutWidget_2) - self.avail_status.setObjectName(u"avail_status") + self.avail_status.setObjectName("avail_status") self.horizontalLayout_5.addWidget(self.avail_status) self.automation_add_selected_books = QPushButton(self.gridLayoutWidget_2) - self.automation_add_selected_books.setObjectName(u"automation_add_selected_books") + self.automation_add_selected_books.setObjectName( + "automation_add_selected_books" + ) self.horizontalLayout_5.addWidget(self.automation_add_selected_books) - self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_2 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_5.addItem(self.horizontalSpacer_2) - self.gridLayout_2.addLayout(self.horizontalLayout_5, 4, 0, 1, 1) self.tableWidget_apparat_media = QTableWidget(self.gridLayoutWidget_2) - if (self.tableWidget_apparat_media.columnCount() < 7): + if self.tableWidget_apparat_media.columnCount() < 7: self.tableWidget_apparat_media.setColumnCount(7) __qtablewidgetitem10 = QTableWidgetItem() self.tableWidget_apparat_media.setHorizontalHeaderItem(0, __qtablewidgetitem10) @@ -606,42 +676,52 @@ class Ui_MainWindow(object): self.tableWidget_apparat_media.setHorizontalHeaderItem(5, __qtablewidgetitem15) __qtablewidgetitem16 = QTableWidgetItem() self.tableWidget_apparat_media.setHorizontalHeaderItem(6, __qtablewidgetitem16) - self.tableWidget_apparat_media.setObjectName(u"tableWidget_apparat_media") - sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Expanding) + self.tableWidget_apparat_media.setObjectName("tableWidget_apparat_media") + sizePolicy4 = QSizePolicy( + QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Expanding + ) sizePolicy4.setHorizontalStretch(0) sizePolicy4.setVerticalStretch(0) - sizePolicy4.setHeightForWidth(self.tableWidget_apparat_media.sizePolicy().hasHeightForWidth()) + sizePolicy4.setHeightForWidth( + self.tableWidget_apparat_media.sizePolicy().hasHeightForWidth() + ) self.tableWidget_apparat_media.setSizePolicy(sizePolicy4) self.tableWidget_apparat_media.setMinimumSize(QSize(1259, 0)) self.tableWidget_apparat_media.setFocusPolicy(Qt.NoFocus) self.tableWidget_apparat_media.setContextMenuPolicy(Qt.CustomContextMenu) - self.tableWidget_apparat_media.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) + self.tableWidget_apparat_media.setSizeAdjustPolicy( + QAbstractScrollArea.AdjustToContents + ) self.tableWidget_apparat_media.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget_apparat_media.setAlternatingRowColors(True) - self.tableWidget_apparat_media.setSelectionBehavior(QAbstractItemView.SelectRows) + self.tableWidget_apparat_media.setSelectionBehavior( + QAbstractItemView.SelectRows + ) self.tableWidget_apparat_media.setSortingEnabled(True) - self.tableWidget_apparat_media.horizontalHeader().setCascadingSectionResizes(True) + self.tableWidget_apparat_media.horizontalHeader().setCascadingSectionResizes( + True + ) self.gridLayout_2.addWidget(self.tableWidget_apparat_media, 9, 0, 1, 1) self.tabWidget.addTab(self.createApparat, "") self.search_statistics = QWidget() - self.search_statistics.setObjectName(u"search_statistics") + self.search_statistics.setObjectName("search_statistics") self.tabWidget.addTab(self.search_statistics, "") self.elsatab = QWidget() - self.elsatab.setObjectName(u"elsatab") + self.elsatab.setObjectName("elsatab") self.tabWidget.addTab(self.elsatab, "") self.admin = QWidget() - self.admin.setObjectName(u"admin") + self.admin.setObjectName("admin") self.frame = QFrame(self.admin) - self.frame.setObjectName(u"frame") + self.frame.setObjectName("frame") self.frame.setGeometry(QRect(0, 0, 1251, 711)) self.frame.setFrameShape(QFrame.StyledPanel) self.frame.setFrameShadow(QFrame.Raised) self.formLayout_2 = QFormLayout(self.frame) - self.formLayout_2.setObjectName(u"formLayout_2") + self.formLayout_2.setObjectName("formLayout_2") self.label_21 = QLabel(self.frame) - self.label_21.setObjectName(u"label_21") + self.label_21.setObjectName("label_21") self.formLayout_2.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_21) @@ -650,75 +730,78 @@ class Ui_MainWindow(object): self.select_action_box.addItem("") self.select_action_box.addItem("") self.select_action_box.addItem("") - self.select_action_box.setObjectName(u"select_action_box") + self.select_action_box.setObjectName("select_action_box") - self.formLayout_2.setWidget(0, QFormLayout.ItemRole.FieldRole, self.select_action_box) + self.formLayout_2.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.select_action_box + ) self.admin_action = QGroupBox(self.frame) - self.admin_action.setObjectName(u"admin_action") + self.admin_action.setObjectName("admin_action") font5 = QFont() font5.setBold(False) self.admin_action.setFont(font5) self.admin_action.setFlat(True) self.admin_action.setCheckable(False) - self.formLayout_2.setWidget(1, QFormLayout.ItemRole.FieldRole, self.admin_action) + self.formLayout_2.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.admin_action + ) self.tabWidget.addTab(self.admin, "") self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1) - self.horizontalLayout.addLayout(self.gridLayout) - self.mainLayout.addLayout(self.horizontalLayout) self.verticalLayoutWidget_2 = QWidget(self.centralwidget) - self.verticalLayoutWidget_2.setObjectName(u"verticalLayoutWidget_2") + self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") self.verticalLayoutWidget_2.setGeometry(QRect(1280, 0, 306, 751)) self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget_2) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.calendar_frame = QFrame(self.verticalLayoutWidget_2) - self.calendar_frame.setObjectName(u"calendar_frame") + self.calendar_frame.setObjectName("calendar_frame") self.calendar_frame.setFrameShape(QFrame.StyledPanel) self.calendar_frame.setFrameShadow(QFrame.Raised) self.verticalLayout_7 = QVBoxLayout(self.calendar_frame) - self.verticalLayout_7.setObjectName(u"verticalLayout_7") + self.verticalLayout_7.setObjectName("verticalLayout_7") self.calendarlayout = QVBoxLayout() - self.calendarlayout.setObjectName(u"calendarlayout") + self.calendarlayout.setObjectName("calendarlayout") self.verticalLayout_7.addLayout(self.calendarlayout) - self.verticalLayout.addWidget(self.calendar_frame) self.frame_creation_progress = QFrame(self.verticalLayoutWidget_2) - self.frame_creation_progress.setObjectName(u"frame_creation_progress") + self.frame_creation_progress.setObjectName("frame_creation_progress") self.verticalLayout_4 = QVBoxLayout(self.frame_creation_progress) self.verticalLayout_4.setSpacing(6) - self.verticalLayout_4.setObjectName(u"verticalLayout_4") + self.verticalLayout_4.setObjectName("verticalLayout_4") self.steps = QFrame(self.frame_creation_progress) - self.steps.setObjectName(u"steps") + self.steps.setObjectName("steps") self.steps.setFrameShape(QFrame.StyledPanel) self.steps.setFrameShadow(QFrame.Raised) self.verticalLayout_3 = QVBoxLayout(self.steps) self.verticalLayout_3.setSpacing(0) - self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.verticalLayout_3.setObjectName("verticalLayout_3") self.groupBox_2 = QGroupBox(self.steps) - self.groupBox_2.setObjectName(u"groupBox_2") + self.groupBox_2.setObjectName("groupBox_2") self.groupBox_2.setEnabled(True) - sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + sizePolicy5 = QSizePolicy( + QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding + ) sizePolicy5.setHorizontalStretch(0) sizePolicy5.setVerticalStretch(0) sizePolicy5.setHeightForWidth(self.groupBox_2.sizePolicy().hasHeightForWidth()) self.groupBox_2.setSizePolicy(sizePolicy5) self.groupBox_2.setFont(font) self.verticalLayout_6 = QVBoxLayout(self.groupBox_2) - self.verticalLayout_6.setObjectName(u"verticalLayout_6") + self.verticalLayout_6.setObjectName("verticalLayout_6") self.appdata_check = QCheckBox(self.groupBox_2) - self.appdata_check.setObjectName(u"appdata_check") + self.appdata_check.setObjectName("appdata_check") font6 = QFont() font6.setPointSize(8) font6.setBold(False) @@ -728,31 +811,30 @@ class Ui_MainWindow(object): self.verticalLayout_6.addWidget(self.appdata_check) self.media_check = QCheckBox(self.groupBox_2) - self.media_check.setObjectName(u"media_check") + self.media_check.setObjectName("media_check") self.media_check.setFont(font6) self.media_check.setFocusPolicy(Qt.NoFocus) self.verticalLayout_6.addWidget(self.media_check) self.ids_check = QCheckBox(self.groupBox_2) - self.ids_check.setObjectName(u"ids_check") + self.ids_check.setObjectName("ids_check") self.ids_check.setFont(font6) self.ids_check.setFocusPolicy(Qt.NoFocus) self.verticalLayout_6.addWidget(self.ids_check) - self.verticalLayout_3.addWidget(self.groupBox_2) self.groupBox = QGroupBox(self.steps) - self.groupBox.setObjectName(u"groupBox") + self.groupBox.setObjectName("groupBox") sizePolicy5.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth()) self.groupBox.setSizePolicy(sizePolicy5) self.groupBox.setFont(font) self.verticalLayout_5 = QVBoxLayout(self.groupBox) - self.verticalLayout_5.setObjectName(u"verticalLayout_5") + self.verticalLayout_5.setObjectName("verticalLayout_5") self.media_checked = QCheckBox(self.groupBox) - self.media_checked.setObjectName(u"media_checked") + self.media_checked.setObjectName("media_checked") font7 = QFont() font7.setPointSize(8) font7.setBold(False) @@ -766,25 +848,30 @@ class Ui_MainWindow(object): self.verticalLayout_5.addWidget(self.media_checked) self.media_edited_check = QCheckBox(self.groupBox) - self.media_edited_check.setObjectName(u"media_edited_check") + self.media_edited_check.setObjectName("media_edited_check") self.media_edited_check.setFont(font7) self.media_edited_check.setFocusPolicy(Qt.NoFocus) self.verticalLayout_5.addWidget(self.media_edited_check) self.app_created = QCheckBox(self.groupBox) - self.app_created.setObjectName(u"app_created") + self.app_created.setObjectName("app_created") self.app_created.setFont(font7) self.app_created.setFocusPolicy(Qt.NoFocus) self.verticalLayout_5.addWidget(self.app_created) self.btn_copy_adis_command = QPushButton(self.groupBox) - self.btn_copy_adis_command.setObjectName(u"btn_copy_adis_command") + self.btn_copy_adis_command.setObjectName("btn_copy_adis_command") self.btn_copy_adis_command.setFont(font7) self.btn_copy_adis_command.setAutoFillBackground(False) icon1 = QIcon() - icon1.addFile(u"../../../../../../.designer/backup/icons/information.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + icon1.addFile( + "../../../../../../.designer/backup/icons/information.png", + QSize(), + QIcon.Mode.Normal, + QIcon.State.Off, + ) self.btn_copy_adis_command.setIcon(icon1) self.btn_copy_adis_command.setCheckable(False) self.btn_copy_adis_command.setChecked(False) @@ -792,30 +879,27 @@ class Ui_MainWindow(object): self.verticalLayout_5.addWidget(self.btn_copy_adis_command) - self.verticalLayout_3.addWidget(self.groupBox) - self.verticalLayout_4.addWidget(self.steps) - self.verticalLayout.addWidget(self.frame_creation_progress) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) - self.menubar.setObjectName(u"menubar") + self.menubar.setObjectName("menubar") self.menubar.setGeometry(QRect(0, 0, 1590, 22)) self.menuDatei = QMenu(self.menubar) - self.menuDatei.setObjectName(u"menuDatei") + self.menuDatei.setObjectName("menuDatei") self.menuEinstellungen = QMenu(self.menubar) - self.menuEinstellungen.setObjectName(u"menuEinstellungen") + self.menuEinstellungen.setObjectName("menuEinstellungen") self.menuHelp = QMenu(self.menubar) - self.menuHelp.setObjectName(u"menuHelp") + self.menuHelp.setObjectName("menuHelp") MainWindow.setMenuBar(self.menubar) self.statusBar = QStatusBar(MainWindow) - self.statusBar.setObjectName(u"statusBar") + self.statusBar.setObjectName("statusBar") MainWindow.setStatusBar(self.statusBar) -#if QT_CONFIG(shortcut) + # if QT_CONFIG(shortcut) self.label_9.setBuddy(self.prof_tel_nr) self.label_3.setBuddy(self.prof_title) self.label_2.setBuddy(self.drpdwn_app_nr) @@ -826,7 +910,7 @@ class Ui_MainWindow(object): self.label_4.setBuddy(self.drpdwn_prof_name) self.label_5.setBuddy(self.app_name) self.label_6.setBuddy(self.sem_year) -#endif // QT_CONFIG(shortcut) + # endif // QT_CONFIG(shortcut) QWidget.setTabOrder(self.drpdwn_app_nr, self.drpdwn_prof_name) QWidget.setTabOrder(self.drpdwn_prof_name, self.prof_mail) QWidget.setTabOrder(self.prof_mail, self.prof_tel_nr) @@ -861,188 +945,410 @@ class Ui_MainWindow(object): self.tabWidget.setCurrentIndex(0) - QMetaObject.connectSlotsByName(MainWindow) + # setupUi def retranslateUi(self, MainWindow): - MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Semesterapparatsmanagement", None)) -#if QT_CONFIG(statustip) + MainWindow.setWindowTitle( + QCoreApplication.translate("MainWindow", "Semesterapparatsmanagement", None) + ) + # if QT_CONFIG(statustip) MainWindow.setStatusTip("") -#endif // QT_CONFIG(statustip) - self.actionBeenden.setText(QCoreApplication.translate("MainWindow", u"Beenden", None)) -#if QT_CONFIG(shortcut) - self.actionBeenden.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+Q", None)) -#endif // QT_CONFIG(shortcut) - self.actionEinstellungen.setText(QCoreApplication.translate("MainWindow", u"Einstellungen", None)) -#if QT_CONFIG(shortcut) - self.actionEinstellungen.setShortcut(QCoreApplication.translate("MainWindow", u"Alt+S", None)) -#endif // QT_CONFIG(shortcut) - self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About", None)) - self.actionDokumentation.setText(QCoreApplication.translate("MainWindow", u"Dokumentation", None)) -#if QT_CONFIG(shortcut) - self.actionDokumentation.setShortcut(QCoreApplication.translate("MainWindow", u"F1", None)) -#endif // QT_CONFIG(shortcut) - self.actionMedien_loeschen.setText(QCoreApplication.translate("MainWindow", u"Medien l\u00f6schen", None)) -#if QT_CONFIG(tooltip) - self.create_document.setToolTip(QCoreApplication.translate("MainWindow", u"Erstellt die \u00dcbersicht, welche am Regal ausgeh\u00e4ngt werden kann", None)) -#endif // QT_CONFIG(tooltip) - self.create_document.setText(QCoreApplication.translate("MainWindow", u"\u00dcbersicht erstellen", None)) - self.create_new_app.setText(QCoreApplication.translate("MainWindow", u"neu. App anlegen", None)) - self.cancel_active_selection.setText(QCoreApplication.translate("MainWindow", u"Auswahl abbrechen", None)) + # endif // QT_CONFIG(statustip) + self.actionBeenden.setText( + QCoreApplication.translate("MainWindow", "Beenden", None) + ) + # if QT_CONFIG(shortcut) + self.actionBeenden.setShortcut( + QCoreApplication.translate("MainWindow", "Ctrl+Q", None) + ) + # endif // QT_CONFIG(shortcut) + self.actionEinstellungen.setText( + QCoreApplication.translate("MainWindow", "Einstellungen", None) + ) + # if QT_CONFIG(shortcut) + self.actionEinstellungen.setShortcut( + QCoreApplication.translate("MainWindow", "Alt+S", None) + ) + # endif // QT_CONFIG(shortcut) + self.actionAbout.setText( + QCoreApplication.translate("MainWindow", "About", None) + ) + self.actionDokumentation.setText( + QCoreApplication.translate("MainWindow", "Dokumentation", None) + ) + # if QT_CONFIG(shortcut) + self.actionDokumentation.setShortcut( + QCoreApplication.translate("MainWindow", "F1", None) + ) + # endif // QT_CONFIG(shortcut) + self.actionMedien_loeschen.setText( + QCoreApplication.translate("MainWindow", "Medien l\u00f6schen", None) + ) + # if QT_CONFIG(tooltip) + self.create_document.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Erstellt die \u00dcbersicht, welche am Regal ausgeh\u00e4ngt werden kann", + None, + ) + ) + # endif // QT_CONFIG(tooltip) + self.create_document.setText( + QCoreApplication.translate("MainWindow", "\u00dcbersicht erstellen", None) + ) + self.create_new_app.setText( + QCoreApplication.translate("MainWindow", "neu. App anlegen", None) + ) + self.cancel_active_selection.setText( + QCoreApplication.translate("MainWindow", "Auswahl abbrechen", None) + ) ___qtablewidgetitem = self.tableWidget_apparate.horizontalHeaderItem(0) - ___qtablewidgetitem.setText(QCoreApplication.translate("MainWindow", u"AppNr", None)) + ___qtablewidgetitem.setText( + QCoreApplication.translate("MainWindow", "AppNr", None) + ) ___qtablewidgetitem1 = self.tableWidget_apparate.horizontalHeaderItem(1) - ___qtablewidgetitem1.setText(QCoreApplication.translate("MainWindow", u"App Name", None)) + ___qtablewidgetitem1.setText( + QCoreApplication.translate("MainWindow", "App Name", None) + ) ___qtablewidgetitem2 = self.tableWidget_apparate.horizontalHeaderItem(2) - ___qtablewidgetitem2.setText(QCoreApplication.translate("MainWindow", u"Professor", None)) + ___qtablewidgetitem2.setText( + QCoreApplication.translate("MainWindow", "Professor", None) + ) ___qtablewidgetitem3 = self.tableWidget_apparate.horizontalHeaderItem(3) - ___qtablewidgetitem3.setText(QCoreApplication.translate("MainWindow", u"g\u00fcltig bis", None)) + ___qtablewidgetitem3.setText( + QCoreApplication.translate("MainWindow", "g\u00fcltig bis", None) + ) ___qtablewidgetitem4 = self.tableWidget_apparate.horizontalHeaderItem(4) - ___qtablewidgetitem4.setText(QCoreApplication.translate("MainWindow", u"Dauerapparat", None)) + ___qtablewidgetitem4.setText( + QCoreApplication.translate("MainWindow", "Dauerapparat", None) + ) ___qtablewidgetitem5 = self.tableWidget_apparate.horizontalHeaderItem(5) - ___qtablewidgetitem5.setText(QCoreApplication.translate("MainWindow", u"KontoNr", None)) - self.add_medium.setText(QCoreApplication.translate("MainWindow", u"Medien hinzuf\u00fcgen", None)) - self.label.setText(QCoreApplication.translate("MainWindow", u" Medienliste", None)) - self.app_group_box.setTitle(QCoreApplication.translate("MainWindow", u"SemesterApparatsdetails", None)) + ___qtablewidgetitem5.setText( + QCoreApplication.translate("MainWindow", "KontoNr", None) + ) + self.add_medium.setText( + QCoreApplication.translate("MainWindow", "Medien hinzuf\u00fcgen", None) + ) + self.label.setText( + QCoreApplication.translate("MainWindow", " Medienliste", None) + ) + self.app_group_box.setTitle( + QCoreApplication.translate("MainWindow", "SemesterApparatsdetails", None) + ) ___qtablewidgetitem6 = self.document_list.horizontalHeaderItem(0) - ___qtablewidgetitem6.setText(QCoreApplication.translate("MainWindow", u"Dokumentname", None)) + ___qtablewidgetitem6.setText( + QCoreApplication.translate("MainWindow", "Dokumentname", None) + ) ___qtablewidgetitem7 = self.document_list.horizontalHeaderItem(1) - ___qtablewidgetitem7.setText(QCoreApplication.translate("MainWindow", u"Dateityp", None)) + ___qtablewidgetitem7.setText( + QCoreApplication.translate("MainWindow", "Dateityp", None) + ) ___qtablewidgetitem8 = self.document_list.horizontalHeaderItem(2) - ___qtablewidgetitem8.setText(QCoreApplication.translate("MainWindow", u"Neu?", None)) + ___qtablewidgetitem8.setText( + QCoreApplication.translate("MainWindow", "Neu?", None) + ) ___qtablewidgetitem9 = self.document_list.horizontalHeaderItem(3) - ___qtablewidgetitem9.setText(QCoreApplication.translate("MainWindow", u"path", None)) - self.appname_mand.setText(QCoreApplication.translate("MainWindow", u"*", None)) - self.profname_mand.setText(QCoreApplication.translate("MainWindow", u"*", None)) - self.fach_mand.setText(QCoreApplication.translate("MainWindow", u"*", None)) - self.btn_apparat_apply.setText(QCoreApplication.translate("MainWindow", u"Aktualisieren", None)) - self.label_9.setText(QCoreApplication.translate("MainWindow", u"Tel", None)) + ___qtablewidgetitem9.setText( + QCoreApplication.translate("MainWindow", "path", None) + ) + self.appname_mand.setText(QCoreApplication.translate("MainWindow", "*", None)) + self.profname_mand.setText(QCoreApplication.translate("MainWindow", "*", None)) + self.fach_mand.setText(QCoreApplication.translate("MainWindow", "*", None)) + self.btn_apparat_apply.setText( + QCoreApplication.translate("MainWindow", "Aktualisieren", None) + ) + self.label_9.setText(QCoreApplication.translate("MainWindow", "Tel", None)) self.valid_check_app_fach.setText("") - self._mand.setText(QCoreApplication.translate("MainWindow", u"*", None)) + self._mand.setText(QCoreApplication.translate("MainWindow", "*", None)) self.prof_tel_nr.setPlaceholderText("") - self.check_eternal_app.setText(QCoreApplication.translate("MainWindow", u"Dauerapparat", None)) - self.sem_sommer.setText(QCoreApplication.translate("MainWindow", u"Sommer", None)) -#if QT_CONFIG(tooltip) - self.drpdwn_prof_name.setToolTip(QCoreApplication.translate("MainWindow", u"Nachname, Vorname", None)) -#endif // QT_CONFIG(tooltip) + self.check_eternal_app.setText( + QCoreApplication.translate("MainWindow", "Dauerapparat", None) + ) + self.sem_sommer.setText( + QCoreApplication.translate("MainWindow", "Sommer", None) + ) + # if QT_CONFIG(tooltip) + self.drpdwn_prof_name.setToolTip( + QCoreApplication.translate("MainWindow", "Nachname, Vorname", None) + ) + # endif // QT_CONFIG(tooltip) self.drpdwn_prof_name.setPlaceholderText("") - self.mail_mand.setText(QCoreApplication.translate("MainWindow", u"*", None)) -#if QT_CONFIG(statustip) - self.label_3.setStatusTip(QCoreApplication.translate("MainWindow", u"sdvosdvsdv", None)) -#endif // QT_CONFIG(statustip) - self.label_3.setText(QCoreApplication.translate("MainWindow", u"Prof. Titel", None)) - self.label_2.setText(QCoreApplication.translate("MainWindow", u"Apparatsnummer", None)) - self.label_8.setText(QCoreApplication.translate("MainWindow", u"Mail", None)) - self.label_10.setText(QCoreApplication.translate("MainWindow", u"Fach", None)) + self.mail_mand.setText(QCoreApplication.translate("MainWindow", "*", None)) + # if QT_CONFIG(statustip) + self.label_3.setStatusTip( + QCoreApplication.translate("MainWindow", "sdvosdvsdv", None) + ) + # endif // QT_CONFIG(statustip) + self.label_3.setText( + QCoreApplication.translate("MainWindow", "Prof. Titel", None) + ) + self.label_2.setText( + QCoreApplication.translate("MainWindow", "Apparatsnummer", None) + ) + self.label_8.setText(QCoreApplication.translate("MainWindow", "Mail", None)) + self.label_10.setText(QCoreApplication.translate("MainWindow", "Fach", None)) self.prof_mail.setPlaceholderText("") - self.label_12.setText(QCoreApplication.translate("MainWindow", u"Prof-ID-aDIS", None)) - self.label_13.setText(QCoreApplication.translate("MainWindow", u"Apparat-ID-aDIS", None)) + self.label_12.setText( + QCoreApplication.translate("MainWindow", "Prof-ID-aDIS", None) + ) + self.label_13.setText( + QCoreApplication.translate("MainWindow", "Apparat-ID-aDIS", None) + ) self.prof_id_adis.setText("") - self.sem_year.setPlaceholderText(QCoreApplication.translate("MainWindow", u"2023", None)) - self.check_send_mail.setText(QCoreApplication.translate("MainWindow", u"Mail senden", None)) - self.sem_winter.setText(QCoreApplication.translate("MainWindow", u"Winter", None)) - self.label_4.setText(QCoreApplication.translate("MainWindow", u"Prof. Name", None)) - self.telnr_mand.setText(QCoreApplication.translate("MainWindow", u"*", None)) -#if QT_CONFIG(statustip) + self.sem_year.setPlaceholderText( + QCoreApplication.translate("MainWindow", "2023", None) + ) + self.check_send_mail.setText( + QCoreApplication.translate("MainWindow", "Mail senden", None) + ) + self.sem_winter.setText( + QCoreApplication.translate("MainWindow", "Winter", None) + ) + self.label_4.setText( + QCoreApplication.translate("MainWindow", "Prof. Name", None) + ) + self.telnr_mand.setText(QCoreApplication.translate("MainWindow", "*", None)) + # if QT_CONFIG(statustip) self.btn_apparat_save.setStatusTip("") -#endif // QT_CONFIG(statustip) - self.btn_apparat_save.setText(QCoreApplication.translate("MainWindow", u"Speichern", None)) - self.label_5.setText(QCoreApplication.translate("MainWindow", u"Apparatsname", None)) - self.label_6.setText(QCoreApplication.translate("MainWindow", u"Semester", None)) -#if QT_CONFIG(statustip) - self.valid_check_profname.setStatusTip(QCoreApplication.translate("MainWindow", u"Format: Nachname, Vorname", None)) -#endif // QT_CONFIG(statustip) + # endif // QT_CONFIG(statustip) + self.btn_apparat_save.setText( + QCoreApplication.translate("MainWindow", "Speichern", None) + ) + self.label_5.setText( + QCoreApplication.translate("MainWindow", "Apparatsname", None) + ) + self.label_6.setText(QCoreApplication.translate("MainWindow", "Semester", None)) + # if QT_CONFIG(statustip) + self.valid_check_profname.setStatusTip( + QCoreApplication.translate("MainWindow", "Format: Nachname, Vorname", None) + ) + # endif // QT_CONFIG(statustip) self.valid_check_profname.setText("") self.valid_check_appname.setText("") self.valid_check_semester.setText("") -#if QT_CONFIG(statustip) - self.valid_check_mail.setStatusTip(QCoreApplication.translate("MainWindow", u"mail@irgendwas.wasanderes", None)) -#endif // QT_CONFIG(statustip) + # if QT_CONFIG(statustip) + self.valid_check_mail.setStatusTip( + QCoreApplication.translate("MainWindow", "mail@irgendwas.wasanderes", None) + ) + # endif // QT_CONFIG(statustip) self.valid_check_mail.setText("") self.valid_check_telnr.setText("") - self.saveandcreate.setText(QCoreApplication.translate("MainWindow", u"Speichern und anlegen", None)) - self.btn_add_document.setText(QCoreApplication.translate("MainWindow", u"Dokument hinzuf\u00fcgen", None)) - self.btn_open_document.setText(QCoreApplication.translate("MainWindow", u"Dokument \u00f6ffnen", None)) -#if QT_CONFIG(tooltip) - self.check_file.setToolTip(QCoreApplication.translate("MainWindow", u"Abh\u00e4ngig von der Anzahl der Medien kann die Suche sehr lange dauern", None)) -#endif // QT_CONFIG(tooltip) - self.check_file.setText(QCoreApplication.translate("MainWindow", u"Medien aus Dokument\n" -" hinzuf\u00fcgen", None)) -#if QT_CONFIG(tooltip) - self.btn_extract_data_from_document.setToolTip(QCoreApplication.translate("MainWindow", u"Die Apparatsdetails werden aus dem Dokument gelesen und eingetragen\n" -"Die gew\u00fcnschten Medien werden automatisch in die Medienliste eingetragen, evtl. unvollst\u00e4ndig, da eBooks nicht erfasst werden k\u00f6nnenEinige Angaben m\u00fcssen ggf angepasst werden", None)) -#endif // QT_CONFIG(tooltip) - self.btn_extract_data_from_document.setText(QCoreApplication.translate("MainWindow", u"Daten aus Dokument\n" -"\u00fcbernehmen", None)) -#if QT_CONFIG(tooltip) - self.chkbx_show_only_wit_neweditions.setToolTip(QCoreApplication.translate("MainWindow", u"WIP - Broken", None)) -#endif // QT_CONFIG(tooltip) - self.chkbx_show_only_wit_neweditions.setText(QCoreApplication.translate("MainWindow", u"Nur Titel mit Neuauflagen anzeigen", None)) -#if QT_CONFIG(tooltip) - self.btn_reserve.setToolTip(QCoreApplication.translate("MainWindow", u"Dieser Knopf pr\u00fcft alle Werke, die mit einem roten X vermerkt sind. Sollten diese inzwischen im Apparat sein, wird dies aktualisiert", None)) -#endif // QT_CONFIG(tooltip) - self.btn_reserve.setText(QCoreApplication.translate("MainWindow", u"Medien mit \u274c im Apparat?", None)) - self.label_info.setText(QCoreApplication.translate("MainWindow", u"Medien werden hinzugef\u00fcgt", None)) - self.progress_label.setText(QCoreApplication.translate("MainWindow", u"Medium x/y", None)) - self.label_20.setText(QCoreApplication.translate("MainWindow", u"Medien werden gepr\u00fcft", None)) + self.saveandcreate.setText( + QCoreApplication.translate("MainWindow", "Speichern und anlegen", None) + ) + self.btn_add_document.setText( + QCoreApplication.translate("MainWindow", "Dokument hinzuf\u00fcgen", None) + ) + self.btn_open_document.setText( + QCoreApplication.translate("MainWindow", "Dokument \u00f6ffnen", None) + ) + # if QT_CONFIG(tooltip) + self.check_file.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Abh\u00e4ngig von der Anzahl der Medien kann die Suche sehr lange dauern", + None, + ) + ) + # endif // QT_CONFIG(tooltip) + self.check_file.setText( + QCoreApplication.translate( + "MainWindow", "Medien aus Dokument\n hinzuf\u00fcgen", None + ) + ) + # if QT_CONFIG(tooltip) + self.btn_extract_data_from_document.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Die Apparatsdetails werden aus dem Dokument gelesen und eingetragen\n" + "Die gew\u00fcnschten Medien werden automatisch in die Medienliste eingetragen, evtl. unvollst\u00e4ndig, da eBooks nicht erfasst werden k\u00f6nnenEinige Angaben m\u00fcssen ggf angepasst werden", + None, + ) + ) + # endif // QT_CONFIG(tooltip) + self.btn_extract_data_from_document.setText( + QCoreApplication.translate( + "MainWindow", "Daten aus Dokument\n\u00fcbernehmen", None + ) + ) + # if QT_CONFIG(tooltip) + self.chkbx_show_only_wit_neweditions.setToolTip( + QCoreApplication.translate("MainWindow", "WIP - Broken", None) + ) + # endif // QT_CONFIG(tooltip) + self.chkbx_show_only_wit_neweditions.setText( + QCoreApplication.translate( + "MainWindow", "Nur Titel mit Neuauflagen anzeigen", None + ) + ) + # if QT_CONFIG(tooltip) + self.btn_reserve.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Dieser Knopf pr\u00fcft alle Werke, die mit einem roten X vermerkt sind. Sollten diese inzwischen im Apparat sein, wird dies aktualisiert", + None, + ) + ) + # endif // QT_CONFIG(tooltip) + self.btn_reserve.setText( + QCoreApplication.translate( + "MainWindow", "Medien mit \u274c im Apparat?", None + ) + ) + self.label_info.setText( + QCoreApplication.translate( + "MainWindow", "Medien werden hinzugef\u00fcgt", None + ) + ) + self.progress_label.setText( + QCoreApplication.translate("MainWindow", "Medium x/y", None) + ) + self.label_20.setText( + QCoreApplication.translate("MainWindow", "Medien werden gepr\u00fcft", None) + ) self.label_eta.setText("") - self.avail_status.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) - self.automation_add_selected_books.setText(QCoreApplication.translate("MainWindow", u"Ausgew\u00e4hlte als verf\u00fcgbar markieren", None)) + self.avail_status.setText( + QCoreApplication.translate("MainWindow", "TextLabel", None) + ) + self.automation_add_selected_books.setText( + QCoreApplication.translate( + "MainWindow", "Ausgew\u00e4hlte als verf\u00fcgbar markieren", None + ) + ) ___qtablewidgetitem10 = self.tableWidget_apparat_media.horizontalHeaderItem(0) - ___qtablewidgetitem10.setText(QCoreApplication.translate("MainWindow", u"Buchtitel", None)) -#if QT_CONFIG(tooltip) - ___qtablewidgetitem10.setToolTip(QCoreApplication.translate("MainWindow", u"Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist", None)) -#endif // QT_CONFIG(tooltip) + ___qtablewidgetitem10.setText( + QCoreApplication.translate("MainWindow", "Buchtitel", None) + ) + # if QT_CONFIG(tooltip) + ___qtablewidgetitem10.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Es kann sein, dass der Buchtitel leer ist, dies kommt vor, wenn der Titel nicht passend formatiert ist", + None, + ) + ) + # endif // QT_CONFIG(tooltip) ___qtablewidgetitem11 = self.tableWidget_apparat_media.horizontalHeaderItem(1) - ___qtablewidgetitem11.setText(QCoreApplication.translate("MainWindow", u"Signatur", None)) + ___qtablewidgetitem11.setText( + QCoreApplication.translate("MainWindow", "Signatur", None) + ) ___qtablewidgetitem12 = self.tableWidget_apparat_media.horizontalHeaderItem(2) - ___qtablewidgetitem12.setText(QCoreApplication.translate("MainWindow", u"Auflage", None)) + ___qtablewidgetitem12.setText( + QCoreApplication.translate("MainWindow", "Auflage", None) + ) ___qtablewidgetitem13 = self.tableWidget_apparat_media.horizontalHeaderItem(3) - ___qtablewidgetitem13.setText(QCoreApplication.translate("MainWindow", u"Autor", None)) + ___qtablewidgetitem13.setText( + QCoreApplication.translate("MainWindow", "Autor", None) + ) ___qtablewidgetitem14 = self.tableWidget_apparat_media.horizontalHeaderItem(4) - ___qtablewidgetitem14.setText(QCoreApplication.translate("MainWindow", u"im Apparat?", None)) -#if QT_CONFIG(tooltip) - ___qtablewidgetitem14.setToolTip(QCoreApplication.translate("MainWindow", u"Diese Angabe ist nicht zuverl\u00e4ssig. Ist das \u274c vorhanden, kann das Medium im Apparat sein, aber aufgrund eines Bugs nicht gefunden worden", None)) -#endif // QT_CONFIG(tooltip) + ___qtablewidgetitem14.setText( + QCoreApplication.translate("MainWindow", "im Apparat?", None) + ) + # if QT_CONFIG(tooltip) + ___qtablewidgetitem14.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Diese Angabe ist nicht zuverl\u00e4ssig. Ist das \u274c vorhanden, kann das Medium im Apparat sein, aber aufgrund eines Bugs nicht gefunden worden", + None, + ) + ) + # endif // QT_CONFIG(tooltip) ___qtablewidgetitem15 = self.tableWidget_apparat_media.horizontalHeaderItem(5) - ___qtablewidgetitem15.setText(QCoreApplication.translate("MainWindow", u"Vorgemerkt", None)) + ___qtablewidgetitem15.setText( + QCoreApplication.translate("MainWindow", "Vorgemerkt", None) + ) ___qtablewidgetitem16 = self.tableWidget_apparat_media.horizontalHeaderItem(6) - ___qtablewidgetitem16.setText(QCoreApplication.translate("MainWindow", u"Link", None)) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.createApparat), QCoreApplication.translate("MainWindow", u"Anlegen", None)) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.search_statistics), QCoreApplication.translate("MainWindow", u"Suchen / Statistik", None)) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.elsatab), QCoreApplication.translate("MainWindow", u"ELSA", None)) - self.label_21.setText(QCoreApplication.translate("MainWindow", u"Aktion:", None)) - self.select_action_box.setItemText(0, QCoreApplication.translate("MainWindow", u"Nutzer anlegen", None)) - self.select_action_box.setItemText(1, QCoreApplication.translate("MainWindow", u"Nutzer bearbeiten", None)) - self.select_action_box.setItemText(2, QCoreApplication.translate("MainWindow", u"Lehrperson bearbeiten", None)) - self.select_action_box.setItemText(3, QCoreApplication.translate("MainWindow", u"Medien bearbeiten", None)) + ___qtablewidgetitem16.setText( + QCoreApplication.translate("MainWindow", "Link", None) + ) + self.tabWidget.setTabText( + self.tabWidget.indexOf(self.createApparat), + QCoreApplication.translate("MainWindow", "Anlegen", None), + ) + self.tabWidget.setTabText( + self.tabWidget.indexOf(self.search_statistics), + QCoreApplication.translate("MainWindow", "Suchen / Statistik", None), + ) + self.tabWidget.setTabText( + self.tabWidget.indexOf(self.elsatab), + QCoreApplication.translate("MainWindow", "ELSA", None), + ) + self.label_21.setText(QCoreApplication.translate("MainWindow", "Aktion:", None)) + self.select_action_box.setItemText( + 0, QCoreApplication.translate("MainWindow", "Nutzer anlegen", None) + ) + self.select_action_box.setItemText( + 1, QCoreApplication.translate("MainWindow", "Nutzer bearbeiten", None) + ) + self.select_action_box.setItemText( + 2, QCoreApplication.translate("MainWindow", "Lehrperson bearbeiten", None) + ) + self.select_action_box.setItemText( + 3, QCoreApplication.translate("MainWindow", "Medien bearbeiten", None) + ) - self.admin_action.setTitle(QCoreApplication.translate("MainWindow", u"GroupBox", None)) - self.tabWidget.setTabText(self.tabWidget.indexOf(self.admin), QCoreApplication.translate("MainWindow", u"Admin", None)) - self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"Software", None)) - self.appdata_check.setText(QCoreApplication.translate("MainWindow", u"Apparatsdaten eingegeben", None)) - self.media_check.setText(QCoreApplication.translate("MainWindow", u"Medien hinzugef\u00fcgt / importiert", None)) - self.ids_check.setText(QCoreApplication.translate("MainWindow", u"Prof-ID und Apparat-ID eingetragen", None)) - self.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"aDIS", None)) - self.media_checked.setText(QCoreApplication.translate("MainWindow", u"Medien gepr\u00fcft", None)) - self.media_edited_check.setText(QCoreApplication.translate("MainWindow", u"Medien bearbeitet", None)) - self.app_created.setText(QCoreApplication.translate("MainWindow", u"Apparat angelegt", None)) -#if QT_CONFIG(tooltip) - self.btn_copy_adis_command.setToolTip(QCoreApplication.translate("MainWindow", u"Hier klicken, um die aDIS Abfrage in die Zwischenablage zu kopieren", None)) -#endif // QT_CONFIG(tooltip) -#if QT_CONFIG(statustip) + self.admin_action.setTitle( + QCoreApplication.translate("MainWindow", "GroupBox", None) + ) + self.tabWidget.setTabText( + self.tabWidget.indexOf(self.admin), + QCoreApplication.translate("MainWindow", "Admin", None), + ) + self.groupBox_2.setTitle( + QCoreApplication.translate("MainWindow", "Software", None) + ) + self.appdata_check.setText( + QCoreApplication.translate("MainWindow", "Apparatsdaten eingegeben", None) + ) + self.media_check.setText( + QCoreApplication.translate( + "MainWindow", "Medien hinzugef\u00fcgt / importiert", None + ) + ) + self.ids_check.setText( + QCoreApplication.translate( + "MainWindow", "Prof-ID und Apparat-ID eingetragen", None + ) + ) + self.groupBox.setTitle(QCoreApplication.translate("MainWindow", "aDIS", None)) + self.media_checked.setText( + QCoreApplication.translate("MainWindow", "Medien gepr\u00fcft", None) + ) + self.media_edited_check.setText( + QCoreApplication.translate("MainWindow", "Medien bearbeitet", None) + ) + self.app_created.setText( + QCoreApplication.translate("MainWindow", "Apparat angelegt", None) + ) + # if QT_CONFIG(tooltip) + self.btn_copy_adis_command.setToolTip( + QCoreApplication.translate( + "MainWindow", + "Hier klicken, um die aDIS Abfrage in die Zwischenablage zu kopieren", + None, + ) + ) + # endif // QT_CONFIG(tooltip) + # if QT_CONFIG(statustip) self.btn_copy_adis_command.setStatusTip("") -#endif // QT_CONFIG(statustip) -#if QT_CONFIG(whatsthis) + # endif // QT_CONFIG(statustip) + # if QT_CONFIG(whatsthis) self.btn_copy_adis_command.setWhatsThis("") -#endif // QT_CONFIG(whatsthis) -#if QT_CONFIG(accessibility) + # endif // QT_CONFIG(whatsthis) + # if QT_CONFIG(accessibility) self.btn_copy_adis_command.setAccessibleDescription("") -#endif // QT_CONFIG(accessibility) - self.btn_copy_adis_command.setText(QCoreApplication.translate("MainWindow", u" aDIS Abfrage in Zwischenablage kopieren", None)) - self.menuDatei.setTitle(QCoreApplication.translate("MainWindow", u"Datei", None)) - self.menuEinstellungen.setTitle(QCoreApplication.translate("MainWindow", u"Bearbeiten", None)) - self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None)) - # retranslateUi + # endif // QT_CONFIG(accessibility) + self.btn_copy_adis_command.setText( + QCoreApplication.translate( + "MainWindow", " aDIS Abfrage in Zwischenablage kopieren", None + ) + ) + self.menuDatei.setTitle(QCoreApplication.translate("MainWindow", "Datei", None)) + self.menuEinstellungen.setTitle( + QCoreApplication.translate("MainWindow", "Bearbeiten", None) + ) + self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", "Help", None)) + # retranslateUi diff --git a/src/ui/userInterface.py b/src/ui/userInterface.py index c0c047f..151a402 100644 --- a/src/ui/userInterface.py +++ b/src/ui/userInterface.py @@ -36,10 +36,9 @@ from src.parsers import ( pdf_to_semap, word_to_semap, ) -from src.shared.logging import log, get_bloat_logger, preview +from src.shared.logging import get_bloat_logger, log, preview # bloat logger for large/raw previews -bloat = get_bloat_logger() from src.ui import Ui_Semesterapparat from src.ui.dialogs import ( About, @@ -74,6 +73,8 @@ from src.utils.files import delete_temp_contents as tempdelete from src.utils.files import recreateFile from src.utils.icon import Icon +bloat = get_bloat_logger() + log.success("UI started") valid_input = (0, 0, 0, 0, 0, 0) @@ -1124,8 +1125,8 @@ class Ui(QtWidgets.QMainWindow, Ui_Semesterapparat): ) def add_media_from_file(self): - app_id = self.db.getId(self.app_name.text()) - prof_id = self.db.getProfId(self.profdata) + self.db.getId(self.app_name.text()) + self.db.getProfId(self.profdata) def __open_dialog(signatures: list[str]): dialog = QtWidgets.QDialog() @@ -1151,25 +1152,25 @@ class Ui(QtWidgets.QMainWindow, Ui_Semesterapparat): # if file is selected, check for books in the file if self.document_list.currentRow() != -1: # #log.debug("File selected") - file = self.document_list.item( + self.document_list.item( self.document_list.currentRow(), 3, ).text() - file_type = self.document_list.item( + self.document_list.item( self.document_list.currentRow(), 1, ).text() - file_location = self.document_list.item( + self.document_list.item( self.document_list.currentRow(), 3, ).text() - file_name = self.document_list.item( + self.document_list.item( self.document_list.currentRow(), 0, ).text() - data = self.extract_document_data() + self.extract_document_data() # if file_location == "Database": # # create a temporaty file to use, delete it after use # temp_file = tempfile.NamedTemporaryFile( diff --git a/src/ui/widgets/__init__.py b/src/ui/widgets/__init__.py index 86eb215..008812e 100644 --- a/src/ui/widgets/__init__.py +++ b/src/ui/widgets/__init__.py @@ -13,7 +13,7 @@ __all__ = [ "NewEditionChecker", "NewEditionCheckSelector", "UpdateSignatures", - "UpdaterThread" + "UpdaterThread", ] from .admin_create_user import UserCreate @@ -29,4 +29,3 @@ from .MessageCalendar import MessageCalendar from .new_edition_check import NewEditionChecker, NewEditionCheckSelector from .searchPage import SearchStatisticPage from .signature_update import UpdateSignatures, UpdaterThread - diff --git a/src/ui/widgets/admin_edit_prof.py b/src/ui/widgets/admin_edit_prof.py index c99799f..dbc7504 100644 --- a/src/ui/widgets/admin_edit_prof.py +++ b/src/ui/widgets/admin_edit_prof.py @@ -1,18 +1,14 @@ -import sys - -from src.shared.logging import log, get_bloat_logger, preview - -# bloat logger for large object previews -bloat = get_bloat_logger() from PySide6 import QtWidgets -from src import LOG_DIR -from src.database import Database from src.core.models import Prof +from src.database import Database +from src.shared.logging import get_bloat_logger, preview -from .widget_sources.admin_edit_prof_ui import Ui_Dialog # +from .widget_sources.admin_edit_prof_ui import Ui_Dialog # use centralized logging from src.shared.logging +# bloat logger for large object previews +bloat = get_bloat_logger() class EditProf(QtWidgets.QDialog, Ui_Dialog): @@ -23,7 +19,7 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog): self.db = Database() self.edit_faculty_member_select_member.currentTextChanged.connect( - self.edit_faculty_member_set_data + self.edit_faculty_member_set_data, ) self.update_faculty_member.clicked.connect(self.edit_faculty_member_action) self.gather_data() @@ -32,8 +28,8 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog): self.add_faculty_member_data() apparats = self.db.getApparatsByProf( self.db.getProfId( - Prof(fullname=self.edit_faculty_member_select_member.currentText()) - ) + Prof(fullname=self.edit_faculty_member_select_member.currentText()), + ), ) if len(apparats) == 0: self.delete_faculty_member.setEnabled(True) @@ -41,7 +37,7 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog): if apparat.deleted == 0: self.delete_faculty_member.setEnabled(False) self.delete_faculty_member.setToolTip( - "Professoren mit Apparaten können nicht gelöscht werden" + "Professoren mit Apparaten können nicht gelöscht werden", ) break @@ -92,7 +88,7 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog): if self.edit_faculty_member_select_member.currentText() == "": return olddata = self.db.getProfByName( - self.edit_faculty_member_select_member.currentText() + self.edit_faculty_member_select_member.currentText(), ) bloat.debug("Old prof data (preview): {}", preview(olddata, 500)) data = olddata diff --git a/src/ui/widgets/admin_query.py b/src/ui/widgets/admin_query.py index 2a2ad17..f1f860e 100644 --- a/src/ui/widgets/admin_query.py +++ b/src/ui/widgets/admin_query.py @@ -1,9 +1,7 @@ from PySide6 import QtCore, QtWidgets -from src.utils.icon import Icon from src.database import Database - -from .widget_sources. import Ui_Form +from src.utils.icon import Icon class AdminQueryWidget(QtWidgets.QWidget, Ui_Form): diff --git a/src/ui/widgets/elsa_main.py b/src/ui/widgets/elsa_main.py index a43223e..146ed8e 100644 --- a/src/ui/widgets/elsa_main.py +++ b/src/ui/widgets/elsa_main.py @@ -7,10 +7,9 @@ from PySide6.QtGui import QRegularExpressionValidator from src.core.models import Prof, Semester from src.database import Database from src.parsers import elsa_word_to_csv -from src.shared.logging import log, get_bloat_logger, preview +from src.shared.logging import get_bloat_logger, log, preview # bloat logger for large/raw payloads -bloat = get_bloat_logger() from src.ui.dialogs import ElsaAddEntry, popus_confirm from src.ui.widgets.filepicker import FilePicker from src.ui.widgets.graph import DataQtGraph @@ -19,6 +18,8 @@ from src.utils.icon import Icon from .widget_sources.elsa_maindialog_ui import Ui_Dialog +bloat = get_bloat_logger() + class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): def __init__(self): @@ -234,7 +235,11 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): fullname=f"{prof.split(', ')[0]} {prof.split(', ')[1]}", ) prof_id = self.db.getProfId(profdata) - bloat.debug("ProfData (preview): {} id: {}", preview(profdata, 500), preview(prof_id, 50)) + bloat.debug( + "ProfData (preview): {} id: {}", + preview(profdata, 500), + preview(prof_id, 50), + ) if prof_id is None: self.db.createProf(profdata) diff --git a/src/ui/widgets/iconLine.py b/src/ui/widgets/iconLine.py index dce8c15..ea47354 100644 --- a/src/ui/widgets/iconLine.py +++ b/src/ui/widgets/iconLine.py @@ -8,7 +8,9 @@ from loguru import logger as log logger = log logger.remove() if Path("logs").exists(): - logger.add("logs/application.log", rotation="1 week", retention="1 month", enqueue=True) + logger.add( + "logs/application.log", rotation="1 week", retention="1 month", enqueue=True + ) # logger.add(sys.stderr, format="{time} {level} {message}", level="INFO") diff --git a/src/ui/widgets/searchPage.py b/src/ui/widgets/searchPage.py index 036ac0b..2e13b53 100644 --- a/src/ui/widgets/searchPage.py +++ b/src/ui/widgets/searchPage.py @@ -254,7 +254,10 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog): selected_apparats.append(data) # delete all selected apparats bloat = get_bloat_logger() - bloat.debug("Selected apparats for deletion (preview): {}", preview(selected_apparats, 1000)) + bloat.debug( + "Selected apparats for deletion (preview): {}", + preview(selected_apparats, 1000), + ) dialogs = [] for i in selected_apparats: app_id = i["app_id"] @@ -375,7 +378,11 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog): "x": [i[0] for i in data], "y": {"Erstellt": [i[1] for i in data], "Gelöscht": [i[2] for i in data]}, } - log.debug("Graph data sizes: x={}, y_keys={}", len(graph_data.get("x", [])), list(graph_data.get("y", {}).keys())) + log.debug( + "Graph data sizes: x={}, y_keys={}", + len(graph_data.get("x", [])), + list(graph_data.get("y", {}).keys()), + ) graph = DataQtGraph( title="Erstellte und gelöschte Apparate", data=graph_data, diff --git a/src/ui/widgets/widget_sources/admin_edit_prof_ui.py b/src/ui/widgets/widget_sources/admin_edit_prof_ui.py index 2724e9d..7e2c32c 100644 --- a/src/ui/widgets/widget_sources/admin_edit_prof_ui.py +++ b/src/ui/widgets/widget_sources/admin_edit_prof_ui.py @@ -26,10 +26,14 @@ class Ui_Dialog(object): self.faculty_member_old_telnr.setObjectName("faculty_member_old_telnr") self.gridLayout_2.addWidget(self.faculty_member_old_telnr, 1, 1, 1, 1) self.edit_faculty_member_title = QtWidgets.QLineEdit(parent=Dialog) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.edit_faculty_member_title.sizePolicy().hasHeightForWidth()) + sizePolicy.setHeightForWidth( + self.edit_faculty_member_title.sizePolicy().hasHeightForWidth() + ) self.edit_faculty_member_title.setSizePolicy(sizePolicy) self.edit_faculty_member_title.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) self.edit_faculty_member_title.setReadOnly(True) @@ -42,7 +46,9 @@ class Ui_Dialog(object): self.label_3.setObjectName("label_3") self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1) self.edit_faculty_member_select_member = QtWidgets.QComboBox(parent=Dialog) - self.edit_faculty_member_select_member.setObjectName("edit_faculty_member_select_member") + self.edit_faculty_member_select_member.setObjectName( + "edit_faculty_member_select_member" + ) self.gridLayout_2.addWidget(self.edit_faculty_member_select_member, 0, 1, 1, 1) self.faculty_member_oldmail = QtWidgets.QLineEdit(parent=Dialog) self.faculty_member_oldmail.setReadOnly(True) @@ -56,7 +62,12 @@ class Ui_Dialog(object): self.delete_faculty_member.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) self.delete_faculty_member.setObjectName("delete_faculty_member") self.horizontalLayout.addWidget(self.delete_faculty_member) - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Fixed, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout.addItem(spacerItem) self.update_faculty_member = QtWidgets.QPushButton(parent=Dialog) self.update_faculty_member.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) @@ -80,10 +91,14 @@ class Ui_Dialog(object): self.label_9.setObjectName("label_9") self.gridLayout_3.addWidget(self.label_9, 4, 0, 1, 1) self.edit_faculty_member_new_title = QtWidgets.QLineEdit(parent=Dialog) - self.edit_faculty_member_new_title.setObjectName("edit_faculty_member_new_title") + self.edit_faculty_member_new_title.setObjectName( + "edit_faculty_member_new_title" + ) self.gridLayout_3.addWidget(self.edit_faculty_member_new_title, 0, 1, 1, 1) self.user_faculty_member_new_telnr = QtWidgets.QLineEdit(parent=Dialog) - self.user_faculty_member_new_telnr.setObjectName("user_faculty_member_new_telnr") + self.user_faculty_member_new_telnr.setObjectName( + "user_faculty_member_new_telnr" + ) self.gridLayout_3.addWidget(self.user_faculty_member_new_telnr, 3, 1, 1, 1) self.label_8 = QtWidgets.QLabel(parent=Dialog) self.label_8.setObjectName("label_8") @@ -98,7 +113,9 @@ class Ui_Dialog(object): self.user_faculty_member_new_name.setObjectName("user_faculty_member_new_name") self.gridLayout_3.addWidget(self.user_faculty_member_new_name, 2, 1, 1, 1) self.edit_faculty_member_new_surname = QtWidgets.QLineEdit(parent=Dialog) - self.edit_faculty_member_new_surname.setObjectName("edit_faculty_member_new_surname") + self.edit_faculty_member_new_surname.setObjectName( + "edit_faculty_member_new_surname" + ) self.gridLayout_3.addWidget(self.edit_faculty_member_new_surname, 1, 1, 1, 1) self.label_5 = QtWidgets.QLabel(parent=Dialog) self.label_5.setObjectName("label_5") @@ -123,14 +140,28 @@ class Ui_Dialog(object): self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) - Dialog.setTabOrder(self.edit_faculty_member_select_member, self.faculty_member_old_telnr) + Dialog.setTabOrder( + self.edit_faculty_member_select_member, self.faculty_member_old_telnr + ) Dialog.setTabOrder(self.faculty_member_old_telnr, self.faculty_member_oldmail) - Dialog.setTabOrder(self.faculty_member_oldmail, self.edit_faculty_member_new_title) - Dialog.setTabOrder(self.edit_faculty_member_new_title, self.edit_faculty_member_new_surname) - Dialog.setTabOrder(self.edit_faculty_member_new_surname, self.user_faculty_member_new_name) - Dialog.setTabOrder(self.user_faculty_member_new_name, self.user_faculty_member_new_telnr) - Dialog.setTabOrder(self.user_faculty_member_new_telnr, self.user_faculty_member_new_mail) - Dialog.setTabOrder(self.user_faculty_member_new_mail, self.edit_faculty_member_title) + Dialog.setTabOrder( + self.faculty_member_oldmail, self.edit_faculty_member_new_title + ) + Dialog.setTabOrder( + self.edit_faculty_member_new_title, self.edit_faculty_member_new_surname + ) + Dialog.setTabOrder( + self.edit_faculty_member_new_surname, self.user_faculty_member_new_name + ) + Dialog.setTabOrder( + self.user_faculty_member_new_name, self.user_faculty_member_new_telnr + ) + Dialog.setTabOrder( + self.user_faculty_member_new_telnr, self.user_faculty_member_new_mail + ) + Dialog.setTabOrder( + self.user_faculty_member_new_mail, self.edit_faculty_member_title + ) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate diff --git a/src/ui/widgets/widget_sources/admin_edit_user_ui.py b/src/ui/widgets/widget_sources/admin_edit_user_ui.py index efc212a..6e7fd1f 100644 --- a/src/ui/widgets/widget_sources/admin_edit_user_ui.py +++ b/src/ui/widgets/widget_sources/admin_edit_user_ui.py @@ -28,7 +28,9 @@ class Ui_Dialog(object): self.user_edit_frame_new_password.setObjectName("user_edit_frame_new_password") self.gridLayout.addWidget(self.user_edit_frame_new_password, 1, 1, 1, 1) self.user_delete_frame_user_select = QtWidgets.QComboBox(parent=Dialog) - self.user_delete_frame_user_select.setObjectName("user_delete_frame_user_select") + self.user_delete_frame_user_select.setObjectName( + "user_delete_frame_user_select" + ) self.gridLayout.addWidget(self.user_delete_frame_user_select, 0, 1, 1, 1) self.label_2 = QtWidgets.QLabel(parent=Dialog) self.label_2.setObjectName("label_2") diff --git a/src/ui/widgets/widget_sources/admin_update_signatures_ui.py b/src/ui/widgets/widget_sources/admin_update_signatures_ui.py index 3cf93a6..9a86a84 100644 --- a/src/ui/widgets/widget_sources/admin_update_signatures_ui.py +++ b/src/ui/widgets/widget_sources/admin_update_signatures_ui.py @@ -8,76 +8,100 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject) -from PySide6.QtWidgets import (QFormLayout, QLabel, - QProgressBar, QPushButton, QSizePolicy, QSpacerItem, - QSpinBox, QVBoxLayout) +from PySide6.QtCore import QCoreApplication, QMetaObject +from PySide6.QtWidgets import ( + QFormLayout, + QLabel, + QProgressBar, + QPushButton, + QSizePolicy, + QSpacerItem, + QSpinBox, + QVBoxLayout, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(735, 384) self.verticalLayout = QVBoxLayout(Dialog) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.formLayout = QFormLayout() - self.formLayout.setObjectName(u"formLayout") + self.formLayout.setObjectName("formLayout") self.btn_update_signatures = QPushButton(Dialog) - self.btn_update_signatures.setObjectName(u"btn_update_signatures") + self.btn_update_signatures.setObjectName("btn_update_signatures") - self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.btn_update_signatures) + self.formLayout.setWidget( + 0, QFormLayout.ItemRole.LabelRole, self.btn_update_signatures + ) self.btn_add_missing_data = QPushButton(Dialog) - self.btn_add_missing_data.setObjectName(u"btn_add_missing_data") + self.btn_add_missing_data.setObjectName("btn_add_missing_data") - self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.btn_add_missing_data) + self.formLayout.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.btn_add_missing_data + ) self.formLayout_2 = QFormLayout() - self.formLayout_2.setObjectName(u"formLayout_2") + self.formLayout_2.setObjectName("formLayout_2") self.label = QLabel(Dialog) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.formLayout_2.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label) self.btn_add_medianr = QPushButton(Dialog) - self.btn_add_medianr.setObjectName(u"btn_add_medianr") + self.btn_add_medianr.setObjectName("btn_add_medianr") - self.formLayout_2.setWidget(1, QFormLayout.ItemRole.FieldRole, self.btn_add_medianr) + self.formLayout_2.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.btn_add_medianr + ) self.spin_thread_count = QSpinBox(Dialog) - self.spin_thread_count.setObjectName(u"spin_thread_count") + self.spin_thread_count.setObjectName("spin_thread_count") self.spin_thread_count.setMinimum(1) self.spin_thread_count.setValue(6) - self.formLayout_2.setWidget(0, QFormLayout.ItemRole.FieldRole, self.spin_thread_count) - + self.formLayout_2.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.spin_thread_count + ) self.formLayout.setLayout(1, QFormLayout.ItemRole.FieldRole, self.formLayout_2) - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.verticalSpacer = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) self.formLayout.setItem(2, QFormLayout.ItemRole.FieldRole, self.verticalSpacer) - self.verticalLayout.addLayout(self.formLayout) self.progressBar = QProgressBar(Dialog) - self.progressBar.setObjectName(u"progressBar") + self.progressBar.setObjectName("progressBar") self.progressBar.setValue(24) self.verticalLayout.addWidget(self.progressBar) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.btn_update_signatures.setText(QCoreApplication.translate("Dialog", u"Signaturen aktualisieren", None)) - self.btn_add_missing_data.setText(QCoreApplication.translate("Dialog", u"Fehlende Daten hinzuf\u00fcgen", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"Anzahl Parraleler Aktionen", None)) - self.btn_add_medianr.setText(QCoreApplication.translate("Dialog", u"Mediennummern erg\u00e4nzen", None)) - # retranslateUi + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.btn_update_signatures.setText( + QCoreApplication.translate("Dialog", "Signaturen aktualisieren", None) + ) + self.btn_add_missing_data.setText( + QCoreApplication.translate("Dialog", "Fehlende Daten hinzuf\u00fcgen", None) + ) + self.label.setText( + QCoreApplication.translate("Dialog", "Anzahl Parraleler Aktionen", None) + ) + self.btn_add_medianr.setText( + QCoreApplication.translate("Dialog", "Mediennummern erg\u00e4nzen", None) + ) + # retranslateUi diff --git a/src/ui/widgets/widget_sources/calendar_entry_ui.py b/src/ui/widgets/widget_sources/calendar_entry_ui.py index f0e43b6..3152483 100644 --- a/src/ui/widgets/widget_sources/calendar_entry_ui.py +++ b/src/ui/widgets/widget_sources/calendar_entry_ui.py @@ -22,10 +22,14 @@ class Ui_Dialog(object): self.horizontalLayout.addWidget(self.label_14) self.line_app_info = QtWidgets.QLineEdit(parent=Dialog) self.line_app_info.setEnabled(True) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.line_app_info.sizePolicy().hasHeightForWidth()) + sizePolicy.setHeightForWidth( + self.line_app_info.sizePolicy().hasHeightForWidth() + ) self.line_app_info.setSizePolicy(sizePolicy) self.line_app_info.setMaximumSize(QtCore.QSize(30, 16777215)) self.line_app_info.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) @@ -38,10 +42,14 @@ class Ui_Dialog(object): self.btn_delete_message.setObjectName("btn_delete_message") self.horizontalLayout.addWidget(self.btn_delete_message) self.spin_select_message = QtWidgets.QSpinBox(parent=Dialog) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.spin_select_message.sizePolicy().hasHeightForWidth()) + sizePolicy.setHeightForWidth( + self.spin_select_message.sizePolicy().hasHeightForWidth() + ) self.spin_select_message.setSizePolicy(sizePolicy) self.spin_select_message.setMaximumSize(QtCore.QSize(500, 16777215)) self.spin_select_message.setMinimum(1) diff --git a/src/ui/widgets/widget_sources/elsa_maindialog_ui.py b/src/ui/widgets/widget_sources/elsa_maindialog_ui.py index f342b08..c109588 100644 --- a/src/ui/widgets/widget_sources/elsa_maindialog_ui.py +++ b/src/ui/widgets/widget_sources/elsa_maindialog_ui.py @@ -19,7 +19,12 @@ class Ui_Dialog(object): self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") - spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.verticalLayout_2.addItem(spacerItem) self.elsa_add_new = QtWidgets.QPushButton(parent=Dialog) self.elsa_add_new.setObjectName("elsa_add_new") @@ -28,13 +33,22 @@ class Ui_Dialog(object): self.elsa_cancel_create.setEnabled(False) self.elsa_cancel_create.setObjectName("elsa_cancel_create") self.verticalLayout_2.addWidget(self.elsa_cancel_create) - spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem1 = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.verticalLayout_2.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_2) self.elsa_table = QtWidgets.QTableWidget(parent=Dialog) self.elsa_table.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) - self.elsa_table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.elsa_table.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) + self.elsa_table.setHorizontalScrollBarPolicy( + QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff + ) + self.elsa_table.setEditTriggers( + QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers + ) self.elsa_table.setObjectName("elsa_table") self.elsa_table.setColumnCount(3) self.elsa_table.setRowCount(0) @@ -70,7 +84,12 @@ class Ui_Dialog(object): self.elsa_date = QtWidgets.QLineEdit(parent=self.create_frame_elsa) self.elsa_date.setObjectName("elsa_date") self.gridLayout_2.addWidget(self.elsa_date, 1, 1, 1, 1) - spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem2 = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.gridLayout_2.addItem(spacerItem2, 3, 0, 1, 1) self.elsa_date_today = QtWidgets.QPushButton(parent=self.create_frame_elsa) self.elsa_date_today.setText("") @@ -107,50 +126,83 @@ class Ui_Dialog(object): self.formLayout_2.setObjectName("formLayout_2") self.label_4 = QtWidgets.QLabel(parent=self.newProf) self.label_4.setObjectName("label_4") - self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4) + self.formLayout_2.setWidget( + 1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4 + ) self.label_5 = QtWidgets.QLabel(parent=self.newProf) self.label_5.setObjectName("label_5") - self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_5) + self.formLayout_2.setWidget( + 2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_5 + ) self.label_6 = QtWidgets.QLabel(parent=self.newProf) self.label_6.setObjectName("label_6") - self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_6) + self.formLayout_2.setWidget( + 3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_6 + ) self.newProf_title = QtWidgets.QLineEdit(parent=self.newProf) self.newProf_title.setObjectName("newProf_title") - self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_title) + self.formLayout_2.setWidget( + 1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_title + ) self.newProf_mail = QtWidgets.QLineEdit(parent=self.newProf) self.newProf_mail.setObjectName("newProf_mail") - self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_mail) + self.formLayout_2.setWidget( + 2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_mail + ) self.newProf_telnr = QtWidgets.QLineEdit(parent=self.newProf) self.newProf_telnr.setObjectName("newProf_telnr") - self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_telnr) + self.formLayout_2.setWidget( + 3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_telnr + ) self.label_7 = QtWidgets.QLabel(parent=self.newProf) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy) self.label_7.setObjectName("label_7") - self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.label_7) - spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) - self.formLayout_2.setItem(4, QtWidgets.QFormLayout.ItemRole.FieldRole, spacerItem3) + self.formLayout_2.setWidget( + 0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.label_7 + ) + spacerItem3 = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) + self.formLayout_2.setItem( + 4, QtWidgets.QFormLayout.ItemRole.FieldRole, spacerItem3 + ) self.prof_icon = QtWidgets.QToolButton(parent=self.newProf) self.prof_icon.setText("") self.prof_icon.setIconSize(QtCore.QSize(24, 24)) self.prof_icon.setAutoRaise(True) self.prof_icon.setObjectName("prof_icon") - self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.prof_icon) + self.formLayout_2.setWidget( + 0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.prof_icon + ) self.horizontalLayout_2.addWidget(self.newProf) self.dokument_list_elsa = QtWidgets.QTableWidget(parent=self.create_frame_elsa) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.dokument_list_elsa.sizePolicy().hasHeightForWidth()) + sizePolicy.setHeightForWidth( + self.dokument_list_elsa.sizePolicy().hasHeightForWidth() + ) self.dokument_list_elsa.setSizePolicy(sizePolicy) self.dokument_list_elsa.setMinimumSize(QtCore.QSize(350, 0)) self.dokument_list_elsa.setBaseSize(QtCore.QSize(350, 0)) self.dokument_list_elsa.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) - self.dokument_list_elsa.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.dokument_list_elsa.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.NoDragDrop) + self.dokument_list_elsa.setHorizontalScrollBarPolicy( + QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff + ) + self.dokument_list_elsa.setDragDropMode( + QtWidgets.QAbstractItemView.DragDropMode.NoDragDrop + ) self.dokument_list_elsa.setObjectName("dokument_list_elsa") self.dokument_list_elsa.setColumnCount(4) self.dokument_list_elsa.setRowCount(0) @@ -169,10 +221,14 @@ class Ui_Dialog(object): self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setSpacing(10) self.verticalLayout_3.setObjectName("verticalLayout_3") - self.btn_add_document_elsa = QtWidgets.QPushButton(parent=self.create_frame_elsa) + self.btn_add_document_elsa = QtWidgets.QPushButton( + parent=self.create_frame_elsa + ) self.btn_add_document_elsa.setObjectName("btn_add_document_elsa") self.verticalLayout_3.addWidget(self.btn_add_document_elsa) - self.btn_open_document_elsa = QtWidgets.QPushButton(parent=self.create_frame_elsa) + self.btn_open_document_elsa = QtWidgets.QPushButton( + parent=self.create_frame_elsa + ) self.btn_open_document_elsa.setObjectName("btn_open_document_elsa") self.verticalLayout_3.addWidget(self.btn_open_document_elsa) self.check_file_elsa = QtWidgets.QPushButton(parent=self.create_frame_elsa) @@ -181,7 +237,12 @@ class Ui_Dialog(object): self.seperateEntries = QtWidgets.QCheckBox(parent=self.create_frame_elsa) self.seperateEntries.setObjectName("seperateEntries") self.verticalLayout_3.addWidget(self.seperateEntries) - spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + spacerItem4 = QtWidgets.QSpacerItem( + 20, + 40, + QtWidgets.QSizePolicy.Policy.Minimum, + QtWidgets.QSizePolicy.Policy.Expanding, + ) self.verticalLayout_3.addItem(spacerItem4) self.horizontalLayout_2.addLayout(self.verticalLayout_3) self.verticalLayout.addWidget(self.create_frame_elsa) @@ -202,23 +263,36 @@ class Ui_Dialog(object): self.quote_entry = QtWidgets.QPushButton(parent=self.media_table) self.quote_entry.setObjectName("quote_entry") self.horizontalLayout_6.addWidget(self.quote_entry) - spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) + spacerItem5 = QtWidgets.QSpacerItem( + 40, + 20, + QtWidgets.QSizePolicy.Policy.Expanding, + QtWidgets.QSizePolicy.Policy.Minimum, + ) self.horizontalLayout_6.addItem(spacerItem5) self.verticalLayout_4.addLayout(self.horizontalLayout_6) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.table_elsa_list = QtWidgets.QTableWidget(parent=self.media_table) self.table_elsa_list.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) - self.table_elsa_list.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) - self.table_elsa_list.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectItems) + self.table_elsa_list.setEditTriggers( + QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers + ) + self.table_elsa_list.setSelectionBehavior( + QtWidgets.QAbstractItemView.SelectionBehavior.SelectItems + ) self.table_elsa_list.setObjectName("table_elsa_list") self.table_elsa_list.setColumnCount(12) self.table_elsa_list.setRowCount(0) item = QtWidgets.QTableWidgetItem() - item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter) + item.setTextAlignment( + QtCore.Qt.AlignmentFlag.AlignLeading | QtCore.Qt.AlignmentFlag.AlignVCenter + ) self.table_elsa_list.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() - item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter) + item.setTextAlignment( + QtCore.Qt.AlignmentFlag.AlignLeading | QtCore.Qt.AlignmentFlag.AlignVCenter + ) self.table_elsa_list.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.table_elsa_list.setHorizontalHeaderItem(2, item) @@ -260,8 +334,12 @@ class Ui_Dialog(object): self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.elsa_statistics_table = QtWidgets.QTableWidget(parent=self.tab) self.elsa_statistics_table.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus) - self.elsa_statistics_table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff) - self.elsa_statistics_table.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) + self.elsa_statistics_table.setHorizontalScrollBarPolicy( + QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff + ) + self.elsa_statistics_table.setEditTriggers( + QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers + ) self.elsa_statistics_table.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle) self.elsa_statistics_table.setObjectName("elsa_statistics_table") self.elsa_statistics_table.setColumnCount(2) @@ -332,8 +410,9 @@ class Ui_Dialog(object): item.setText(_translate("Dialog", "File")) self.btn_add_document_elsa.setText(_translate("Dialog", "Dokument hinzufügen")) self.btn_open_document_elsa.setText(_translate("Dialog", "Dokument öffnen")) - self.check_file_elsa.setText(_translate("Dialog", "Medien aus Dokument\n" -"hinzufügen")) + self.check_file_elsa.setText( + _translate("Dialog", "Medien aus Dokument\nhinzufügen") + ) self.seperateEntries.setText(_translate("Dialog", "Abschnitte trennen")) self.quote_entry.setText(_translate("Dialog", " Eintrag zitieren ")) item = self.table_elsa_list.horizontalHeaderItem(0) @@ -364,4 +443,6 @@ class Ui_Dialog(object): item.setText(_translate("Dialog", "Semester")) item = self.elsa_statistics_table.horizontalHeaderItem(1) item.setText(_translate("Dialog", "Zugang")) - self.elsa_statistics.setTabText(self.elsa_statistics.indexOf(self.tab), _translate("Dialog", "Tabelle")) + self.elsa_statistics.setTabText( + self.elsa_statistics.indexOf(self.tab), _translate("Dialog", "Tabelle") + ) diff --git a/src/ui/widgets/widget_sources/icon_widget_ui.py b/src/ui/widgets/widget_sources/icon_widget_ui.py index 10c966d..df8a27e 100644 --- a/src/ui/widgets/widget_sources/icon_widget_ui.py +++ b/src/ui/widgets/widget_sources/icon_widget_ui.py @@ -20,10 +20,14 @@ class Ui_Dialog(object): self.icon_name_settings.setObjectName("icon_name_settings") self.horizontalLayout.addWidget(self.icon_name_settings) self.icon_filename_line = QtWidgets.QLineEdit(parent=Dialog) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Maximum, QtWidgets.QSizePolicy.Policy.Fixed) + sizePolicy = QtWidgets.QSizePolicy( + QtWidgets.QSizePolicy.Policy.Maximum, QtWidgets.QSizePolicy.Policy.Fixed + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.icon_filename_line.sizePolicy().hasHeightForWidth()) + sizePolicy.setHeightForWidth( + self.icon_filename_line.sizePolicy().hasHeightForWidth() + ) self.icon_filename_line.setSizePolicy(sizePolicy) self.icon_filename_line.setMinimumSize(QtCore.QSize(230, 0)) self.icon_filename_line.setObjectName("icon_filename_line") diff --git a/src/ui/widgets/widget_sources/new_edition_check_book_ui.py b/src/ui/widgets/widget_sources/new_edition_check_book_ui.py index c9defd8..c6668e8 100644 --- a/src/ui/widgets/widget_sources/new_edition_check_book_ui.py +++ b/src/ui/widgets/widget_sources/new_edition_check_book_ui.py @@ -8,29 +8,38 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject) -from PySide6.QtWidgets import (QFormLayout, QGridLayout, - QHBoxLayout, QLabel, QLineEdit, QPushButton, - QSizePolicy, QStackedWidget, QWidget) +from PySide6.QtCore import QCoreApplication, QMetaObject +from PySide6.QtWidgets import ( + QFormLayout, + QGridLayout, + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QSizePolicy, + QStackedWidget, + QWidget, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(618, 637) Dialog.setSizeGripEnabled(False) Dialog.setModal(False) self.gridLayout = QGridLayout(Dialog) - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.label_10 = QLabel(Dialog) - self.label_10.setObjectName(u"label_10") + self.label_10.setObjectName("label_10") self.gridLayout.addWidget(self.label_10, 0, 0, 1, 1) self.horizontalLayout_2 = QHBoxLayout() - self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_9 = QLabel(Dialog) - self.label_9.setObjectName(u"label_9") + self.label_9.setObjectName("label_9") sizePolicy = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -40,182 +49,194 @@ class Ui_Dialog(object): self.horizontalLayout_2.addWidget(self.label_9) self.label_book_index = QLabel(Dialog) - self.label_book_index.setObjectName(u"label_book_index") - sizePolicy.setHeightForWidth(self.label_book_index.sizePolicy().hasHeightForWidth()) + self.label_book_index.setObjectName("label_book_index") + sizePolicy.setHeightForWidth( + self.label_book_index.sizePolicy().hasHeightForWidth() + ) self.label_book_index.setSizePolicy(sizePolicy) self.horizontalLayout_2.addWidget(self.label_book_index) - self.gridLayout.addLayout(self.horizontalLayout_2, 0, 1, 1, 1) self.formLayout_2 = QFormLayout() - self.formLayout_2.setObjectName(u"formLayout_2") + self.formLayout_2.setObjectName("formLayout_2") self.label = QLabel(Dialog) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.formLayout_2.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label) self.line_ppn = QLineEdit(Dialog) - self.line_ppn.setObjectName(u"line_ppn") + self.line_ppn.setObjectName("line_ppn") self.formLayout_2.setWidget(0, QFormLayout.ItemRole.FieldRole, self.line_ppn) self.label_2 = QLabel(Dialog) - self.label_2.setObjectName(u"label_2") + self.label_2.setObjectName("label_2") self.formLayout_2.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_2) self.line_title = QLineEdit(Dialog) - self.line_title.setObjectName(u"line_title") + self.line_title.setObjectName("line_title") self.formLayout_2.setWidget(1, QFormLayout.ItemRole.FieldRole, self.line_title) self.label_3 = QLabel(Dialog) - self.label_3.setObjectName(u"label_3") + self.label_3.setObjectName("label_3") self.formLayout_2.setWidget(2, QFormLayout.ItemRole.LabelRole, self.label_3) self.line_signature = QLineEdit(Dialog) - self.line_signature.setObjectName(u"line_signature") + self.line_signature.setObjectName("line_signature") - self.formLayout_2.setWidget(2, QFormLayout.ItemRole.FieldRole, self.line_signature) + self.formLayout_2.setWidget( + 2, QFormLayout.ItemRole.FieldRole, self.line_signature + ) self.label_4 = QLabel(Dialog) - self.label_4.setObjectName(u"label_4") + self.label_4.setObjectName("label_4") self.formLayout_2.setWidget(3, QFormLayout.ItemRole.LabelRole, self.label_4) self.line_edition = QLineEdit(Dialog) - self.line_edition.setObjectName(u"line_edition") + self.line_edition.setObjectName("line_edition") - self.formLayout_2.setWidget(3, QFormLayout.ItemRole.FieldRole, self.line_edition) + self.formLayout_2.setWidget( + 3, QFormLayout.ItemRole.FieldRole, self.line_edition + ) self.label_5 = QLabel(Dialog) - self.label_5.setObjectName(u"label_5") + self.label_5.setObjectName("label_5") self.formLayout_2.setWidget(4, QFormLayout.ItemRole.LabelRole, self.label_5) self.line_publisher = QLineEdit(Dialog) - self.line_publisher.setObjectName(u"line_publisher") + self.line_publisher.setObjectName("line_publisher") - self.formLayout_2.setWidget(4, QFormLayout.ItemRole.FieldRole, self.line_publisher) + self.formLayout_2.setWidget( + 4, QFormLayout.ItemRole.FieldRole, self.line_publisher + ) self.label_6 = QLabel(Dialog) - self.label_6.setObjectName(u"label_6") + self.label_6.setObjectName("label_6") self.formLayout_2.setWidget(5, QFormLayout.ItemRole.LabelRole, self.label_6) self.line_year = QLineEdit(Dialog) - self.line_year.setObjectName(u"line_year") + self.line_year.setObjectName("line_year") self.formLayout_2.setWidget(5, QFormLayout.ItemRole.FieldRole, self.line_year) self.label_7 = QLabel(Dialog) - self.label_7.setObjectName(u"label_7") + self.label_7.setObjectName("label_7") self.formLayout_2.setWidget(6, QFormLayout.ItemRole.LabelRole, self.label_7) self.line_pages = QLineEdit(Dialog) - self.line_pages.setObjectName(u"line_pages") + self.line_pages.setObjectName("line_pages") self.formLayout_2.setWidget(6, QFormLayout.ItemRole.FieldRole, self.line_pages) self.label_8 = QLabel(Dialog) - self.label_8.setObjectName(u"label_8") + self.label_8.setObjectName("label_8") self.formLayout_2.setWidget(7, QFormLayout.ItemRole.LabelRole, self.label_8) self.line_author = QLineEdit(Dialog) - self.line_author.setObjectName(u"line_author") + self.line_author.setObjectName("line_author") self.formLayout_2.setWidget(7, QFormLayout.ItemRole.FieldRole, self.line_author) self.label_11 = QLabel(Dialog) - self.label_11.setObjectName(u"label_11") + self.label_11.setObjectName("label_11") self.formLayout_2.setWidget(8, QFormLayout.ItemRole.LabelRole, self.label_11) self.line_isbn = QLineEdit(Dialog) - self.line_isbn.setObjectName(u"line_isbn") + self.line_isbn.setObjectName("line_isbn") self.formLayout_2.setWidget(8, QFormLayout.ItemRole.FieldRole, self.line_isbn) self.horizontalLayout_3 = QHBoxLayout() - self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.label_source_local = QLabel(Dialog) - self.label_source_local.setObjectName(u"label_source_local") + self.label_source_local.setObjectName("label_source_local") self.label_source_local.setOpenExternalLinks(True) self.horizontalLayout_3.addWidget(self.label_source_local) self.label_source_external = QLabel(Dialog) - self.label_source_external.setObjectName(u"label_source_external") + self.label_source_external.setObjectName("label_source_external") self.label_source_external.setOpenExternalLinks(True) self.horizontalLayout_3.addWidget(self.label_source_external) - - self.formLayout_2.setLayout(9, QFormLayout.ItemRole.FieldRole, self.horizontalLayout_3) + self.formLayout_2.setLayout( + 9, QFormLayout.ItemRole.FieldRole, self.horizontalLayout_3 + ) self.label_12 = QLabel(Dialog) - self.label_12.setObjectName(u"label_12") + self.label_12.setObjectName("label_12") self.formLayout_2.setWidget(9, QFormLayout.ItemRole.LabelRole, self.label_12) - self.gridLayout.addLayout(self.formLayout_2, 1, 0, 1, 1) self.stackedWidget = QStackedWidget(Dialog) - self.stackedWidget.setObjectName(u"stackedWidget") + self.stackedWidget.setObjectName("stackedWidget") self.page = QWidget() - self.page.setObjectName(u"page") + self.page.setObjectName("page") self.stackedWidget.addWidget(self.page) self.page_2 = QWidget() - self.page_2.setObjectName(u"page_2") + self.page_2.setObjectName("page_2") self.stackedWidget.addWidget(self.page_2) self.gridLayout.addWidget(self.stackedWidget, 1, 1, 1, 1) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.btn_prev = QPushButton(Dialog) - self.btn_prev.setObjectName(u"btn_prev") + self.btn_prev.setObjectName("btn_prev") self.horizontalLayout.addWidget(self.btn_prev) self.btn_next = QPushButton(Dialog) - self.btn_next.setObjectName(u"btn_next") + self.btn_next.setObjectName("btn_next") self.horizontalLayout.addWidget(self.btn_next) - self.gridLayout.addLayout(self.horizontalLayout, 2, 1, 1, 1) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.label_10.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hltes Buch", None)) - self.label_9.setText(QCoreApplication.translate("Dialog", u"Gefundenes Buch", None)) - self.label_book_index.setText(QCoreApplication.translate("Dialog", u"TextLabel", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"PPN", None)) - self.label_2.setText(QCoreApplication.translate("Dialog", u"Titel", None)) - self.label_3.setText(QCoreApplication.translate("Dialog", u"Signatur", None)) - self.label_4.setText(QCoreApplication.translate("Dialog", u"Auflage", None)) - self.label_5.setText(QCoreApplication.translate("Dialog", u"Verlag", None)) - self.label_6.setText(QCoreApplication.translate("Dialog", u"Jahr", None)) - self.label_7.setText(QCoreApplication.translate("Dialog", u"Seiten", None)) - self.label_8.setText(QCoreApplication.translate("Dialog", u"Autor", None)) - self.label_11.setText(QCoreApplication.translate("Dialog", u"ISBN", None)) + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.label_10.setText( + QCoreApplication.translate("Dialog", "Ausgew\u00e4hltes Buch", None) + ) + self.label_9.setText( + QCoreApplication.translate("Dialog", "Gefundenes Buch", None) + ) + self.label_book_index.setText( + QCoreApplication.translate("Dialog", "TextLabel", None) + ) + self.label.setText(QCoreApplication.translate("Dialog", "PPN", None)) + self.label_2.setText(QCoreApplication.translate("Dialog", "Titel", None)) + self.label_3.setText(QCoreApplication.translate("Dialog", "Signatur", None)) + self.label_4.setText(QCoreApplication.translate("Dialog", "Auflage", None)) + self.label_5.setText(QCoreApplication.translate("Dialog", "Verlag", None)) + self.label_6.setText(QCoreApplication.translate("Dialog", "Jahr", None)) + self.label_7.setText(QCoreApplication.translate("Dialog", "Seiten", None)) + self.label_8.setText(QCoreApplication.translate("Dialog", "Autor", None)) + self.label_11.setText(QCoreApplication.translate("Dialog", "ISBN", None)) self.label_source_local.setText("") self.label_source_external.setText("") - self.label_12.setText(QCoreApplication.translate("Dialog", u"Quelle", None)) - self.btn_prev.setText(QCoreApplication.translate("Dialog", u"Previous", None)) - self.btn_next.setText(QCoreApplication.translate("Dialog", u"Next", None)) - # retranslateUi + self.label_12.setText(QCoreApplication.translate("Dialog", "Quelle", None)) + self.btn_prev.setText(QCoreApplication.translate("Dialog", "Previous", None)) + self.btn_next.setText(QCoreApplication.translate("Dialog", "Next", None)) + # retranslateUi diff --git a/src/ui/widgets/widget_sources/new_edition_check_found_result_ui.py b/src/ui/widgets/widget_sources/new_edition_check_found_result_ui.py index faff39f..1da4651 100644 --- a/src/ui/widgets/widget_sources/new_edition_check_found_result_ui.py +++ b/src/ui/widgets/widget_sources/new_edition_check_found_result_ui.py @@ -8,103 +8,116 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject, Qt) -from PySide6.QtWidgets import (QCheckBox, QFormLayout, - QLabel, QLineEdit, QSizePolicy, QSpacerItem) +from PySide6.QtCore import QCoreApplication, QMetaObject, Qt +from PySide6.QtWidgets import ( + QCheckBox, + QFormLayout, + QLabel, + QLineEdit, + QSizePolicy, + QSpacerItem, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(400, 346) self.formLayout = QFormLayout(Dialog) - self.formLayout.setObjectName(u"formLayout") + self.formLayout.setObjectName("formLayout") self.label = QLabel(Dialog) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label) self.line_ppn = QLineEdit(Dialog) - self.line_ppn.setObjectName(u"line_ppn") + self.line_ppn.setObjectName("line_ppn") self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.line_ppn) self.label_2 = QLabel(Dialog) - self.label_2.setObjectName(u"label_2") + self.label_2.setObjectName("label_2") self.formLayout.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_2) self.line_title = QLineEdit(Dialog) - self.line_title.setObjectName(u"line_title") + self.line_title.setObjectName("line_title") self.formLayout.setWidget(1, QFormLayout.ItemRole.FieldRole, self.line_title) self.label_3 = QLabel(Dialog) - self.label_3.setObjectName(u"label_3") + self.label_3.setObjectName("label_3") self.formLayout.setWidget(2, QFormLayout.ItemRole.LabelRole, self.label_3) self.line_signature = QLineEdit(Dialog) - self.line_signature.setObjectName(u"line_signature") + self.line_signature.setObjectName("line_signature") - self.formLayout.setWidget(2, QFormLayout.ItemRole.FieldRole, self.line_signature) + self.formLayout.setWidget( + 2, QFormLayout.ItemRole.FieldRole, self.line_signature + ) self.label_4 = QLabel(Dialog) - self.label_4.setObjectName(u"label_4") + self.label_4.setObjectName("label_4") self.formLayout.setWidget(3, QFormLayout.ItemRole.LabelRole, self.label_4) self.line_edition = QLineEdit(Dialog) - self.line_edition.setObjectName(u"line_edition") + self.line_edition.setObjectName("line_edition") self.formLayout.setWidget(3, QFormLayout.ItemRole.FieldRole, self.line_edition) self.label_5 = QLabel(Dialog) - self.label_5.setObjectName(u"label_5") + self.label_5.setObjectName("label_5") self.formLayout.setWidget(4, QFormLayout.ItemRole.LabelRole, self.label_5) self.line_publisher = QLineEdit(Dialog) - self.line_publisher.setObjectName(u"line_publisher") + self.line_publisher.setObjectName("line_publisher") - self.formLayout.setWidget(4, QFormLayout.ItemRole.FieldRole, self.line_publisher) + self.formLayout.setWidget( + 4, QFormLayout.ItemRole.FieldRole, self.line_publisher + ) self.label_6 = QLabel(Dialog) - self.label_6.setObjectName(u"label_6") + self.label_6.setObjectName("label_6") self.formLayout.setWidget(5, QFormLayout.ItemRole.LabelRole, self.label_6) self.line_year = QLineEdit(Dialog) - self.line_year.setObjectName(u"line_year") + self.line_year.setObjectName("line_year") self.formLayout.setWidget(5, QFormLayout.ItemRole.FieldRole, self.line_year) self.label_7 = QLabel(Dialog) - self.label_7.setObjectName(u"label_7") + self.label_7.setObjectName("label_7") self.formLayout.setWidget(6, QFormLayout.ItemRole.LabelRole, self.label_7) self.line_pages = QLineEdit(Dialog) - self.line_pages.setObjectName(u"line_pages") + self.line_pages.setObjectName("line_pages") self.formLayout.setWidget(6, QFormLayout.ItemRole.FieldRole, self.line_pages) - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.verticalSpacer = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) self.formLayout.setItem(13, QFormLayout.ItemRole.FieldRole, self.verticalSpacer) self.checkBox = QCheckBox(Dialog) - self.checkBox.setObjectName(u"checkBox") + self.checkBox.setObjectName("checkBox") self.formLayout.setWidget(11, QFormLayout.ItemRole.FieldRole, self.checkBox) self.label_8 = QLabel(Dialog) - self.label_8.setObjectName(u"label_8") + self.label_8.setObjectName("label_8") self.formLayout.setWidget(10, QFormLayout.ItemRole.LabelRole, self.label_8) self.line_source = QLabel(Dialog) - self.line_source.setObjectName(u"line_source") + self.line_source.setObjectName("line_source") self.line_source.setFocusPolicy(Qt.NoFocus) self.line_source.setTextFormat(Qt.PlainText) self.line_source.setOpenExternalLinks(True) @@ -113,50 +126,50 @@ class Ui_Dialog(object): self.formLayout.setWidget(10, QFormLayout.ItemRole.FieldRole, self.line_source) self.label_9 = QLabel(Dialog) - self.label_9.setObjectName(u"label_9") + self.label_9.setObjectName("label_9") self.formLayout.setWidget(8, QFormLayout.ItemRole.LabelRole, self.label_9) self.line_isbn = QLineEdit(Dialog) - self.line_isbn.setObjectName(u"line_isbn") + self.line_isbn.setObjectName("line_isbn") self.formLayout.setWidget(8, QFormLayout.ItemRole.FieldRole, self.line_isbn) self.in_library = QLabel(Dialog) - self.in_library.setObjectName(u"in_library") + self.in_library.setObjectName("in_library") self.formLayout.setWidget(12, QFormLayout.ItemRole.FieldRole, self.in_library) self.label_10 = QLabel(Dialog) - self.label_10.setObjectName(u"label_10") + self.label_10.setObjectName("label_10") self.formLayout.setWidget(7, QFormLayout.ItemRole.LabelRole, self.label_10) self.line_author = QLineEdit(Dialog) - self.line_author.setObjectName(u"line_author") + self.line_author.setObjectName("line_author") self.formLayout.setWidget(7, QFormLayout.ItemRole.FieldRole, self.line_author) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"PPN", None)) - self.label_2.setText(QCoreApplication.translate("Dialog", u"Titel", None)) - self.label_3.setText(QCoreApplication.translate("Dialog", u"Signatur", None)) - self.label_4.setText(QCoreApplication.translate("Dialog", u"Auflage", None)) - self.label_5.setText(QCoreApplication.translate("Dialog", u"Verlag", None)) - self.label_6.setText(QCoreApplication.translate("Dialog", u"Jahr", None)) - self.label_7.setText(QCoreApplication.translate("Dialog", u"Seiten", None)) - self.checkBox.setText(QCoreApplication.translate("Dialog", u"Bestellen", None)) - self.label_8.setText(QCoreApplication.translate("Dialog", u"Quelle", None)) + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.label.setText(QCoreApplication.translate("Dialog", "PPN", None)) + self.label_2.setText(QCoreApplication.translate("Dialog", "Titel", None)) + self.label_3.setText(QCoreApplication.translate("Dialog", "Signatur", None)) + self.label_4.setText(QCoreApplication.translate("Dialog", "Auflage", None)) + self.label_5.setText(QCoreApplication.translate("Dialog", "Verlag", None)) + self.label_6.setText(QCoreApplication.translate("Dialog", "Jahr", None)) + self.label_7.setText(QCoreApplication.translate("Dialog", "Seiten", None)) + self.checkBox.setText(QCoreApplication.translate("Dialog", "Bestellen", None)) + self.label_8.setText(QCoreApplication.translate("Dialog", "Quelle", None)) self.line_source.setText("") - self.label_9.setText(QCoreApplication.translate("Dialog", u"ISBN", None)) + self.label_9.setText(QCoreApplication.translate("Dialog", "ISBN", None)) self.in_library.setText("") - self.label_10.setText(QCoreApplication.translate("Dialog", u"Autor", None)) - # retranslateUi + self.label_10.setText(QCoreApplication.translate("Dialog", "Autor", None)) + # retranslateUi diff --git a/src/ui/widgets/widget_sources/new_edition_check_selector_ui.py b/src/ui/widgets/widget_sources/new_edition_check_selector_ui.py index 7c1c70f..8c56d5d 100644 --- a/src/ui/widgets/widget_sources/new_edition_check_selector_ui.py +++ b/src/ui/widgets/widget_sources/new_edition_check_selector_ui.py @@ -8,47 +8,52 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject) -from PySide6.QtWidgets import (QHBoxLayout, QLabel, - QPushButton, QVBoxLayout) +from PySide6.QtCore import QCoreApplication, QMetaObject +from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(475, 66) self.verticalLayout = QVBoxLayout(Dialog) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.label = QLabel(Dialog) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.verticalLayout.addWidget(self.label) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.btn_apparat = QPushButton(Dialog) - self.btn_apparat.setObjectName(u"btn_apparat") + self.btn_apparat.setObjectName("btn_apparat") self.horizontalLayout.addWidget(self.btn_apparat) self.btn_prof = QPushButton(Dialog) - self.btn_prof.setObjectName(u"btn_prof") + self.btn_prof.setObjectName("btn_prof") self.horizontalLayout.addWidget(self.btn_prof) - self.verticalLayout.addLayout(self.horizontalLayout) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"Soll nur der Apparat gepr\u00fcft werden, oder sollen alle Medien des Profs gepr\u00fcft werden?", None)) - self.btn_apparat.setText(QCoreApplication.translate("Dialog", u"Apparat", None)) - self.btn_prof.setText(QCoreApplication.translate("Dialog", u"Prof", None)) - # retranslateUi + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.label.setText( + QCoreApplication.translate( + "Dialog", + "Soll nur der Apparat gepr\u00fcft werden, oder sollen alle Medien des Profs gepr\u00fcft werden?", + None, + ) + ) + self.btn_apparat.setText(QCoreApplication.translate("Dialog", "Apparat", None)) + self.btn_prof.setText(QCoreApplication.translate("Dialog", "Prof", None)) + # retranslateUi diff --git a/src/ui/widgets/widget_sources/new_edition_check_ui.py b/src/ui/widgets/widget_sources/new_edition_check_ui.py index 281569b..c091c75 100644 --- a/src/ui/widgets/widget_sources/new_edition_check_ui.py +++ b/src/ui/widgets/widget_sources/new_edition_check_ui.py @@ -8,79 +8,83 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject) -from PySide6.QtWidgets import (QFrame, QHBoxLayout, - QProgressBar, QPushButton, QStackedWidget, - QVBoxLayout, QWidget) +from PySide6.QtCore import QCoreApplication, QMetaObject +from PySide6.QtWidgets import ( + QFrame, + QHBoxLayout, + QProgressBar, + QPushButton, + QStackedWidget, + QVBoxLayout, + QWidget, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(632, 726) self.verticalLayout_4 = QVBoxLayout(Dialog) - self.verticalLayout_4.setObjectName(u"verticalLayout_4") + self.verticalLayout_4.setObjectName("verticalLayout_4") self.verticalLayout_3 = QVBoxLayout() - self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.verticalLayout_3.setObjectName("verticalLayout_3") self.frame = QFrame(Dialog) - self.frame.setObjectName(u"frame") + self.frame.setObjectName("frame") self.frame.setFrameShape(QFrame.StyledPanel) self.frame.setFrameShadow(QFrame.Raised) self.verticalLayout_5 = QVBoxLayout(self.frame) - self.verticalLayout_5.setObjectName(u"verticalLayout_5") + self.verticalLayout_5.setObjectName("verticalLayout_5") self.stackedWidget = QStackedWidget(self.frame) - self.stackedWidget.setObjectName(u"stackedWidget") + self.stackedWidget.setObjectName("stackedWidget") self.page = QWidget() - self.page.setObjectName(u"page") + self.page.setObjectName("page") self.stackedWidget.addWidget(self.page) self.page_2 = QWidget() - self.page_2.setObjectName(u"page_2") + self.page_2.setObjectName("page_2") self.stackedWidget.addWidget(self.page_2) self.verticalLayout_5.addWidget(self.stackedWidget) - self.verticalLayout_3.addWidget(self.frame) self.progressBar = QProgressBar(Dialog) - self.progressBar.setObjectName(u"progressBar") + self.progressBar.setObjectName("progressBar") self.progressBar.setValue(24) self.verticalLayout_3.addWidget(self.progressBar) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.btn_prev = QPushButton(Dialog) - self.btn_prev.setObjectName(u"btn_prev") + self.btn_prev.setObjectName("btn_prev") self.horizontalLayout.addWidget(self.btn_prev) self.btn_next = QPushButton(Dialog) - self.btn_next.setObjectName(u"btn_next") + self.btn_next.setObjectName("btn_next") self.horizontalLayout.addWidget(self.btn_next) self.btn_finish = QPushButton(Dialog) - self.btn_finish.setObjectName(u"btn_finish") + self.btn_finish.setObjectName("btn_finish") self.horizontalLayout.addWidget(self.btn_finish) - self.verticalLayout_3.addLayout(self.horizontalLayout) - self.verticalLayout_4.addLayout(self.verticalLayout_3) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.btn_prev.setText(QCoreApplication.translate("Dialog", u"Previous", None)) - self.btn_next.setText(QCoreApplication.translate("Dialog", u"Next", None)) - self.btn_finish.setText(QCoreApplication.translate("Dialog", u"Finish", None)) - # retranslateUi + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.btn_prev.setText(QCoreApplication.translate("Dialog", "Previous", None)) + self.btn_next.setText(QCoreApplication.translate("Dialog", "Next", None)) + self.btn_finish.setText(QCoreApplication.translate("Dialog", "Finish", None)) + # retranslateUi diff --git a/src/ui/widgets/widget_sources/search_statistic_page_ui.py b/src/ui/widgets/widget_sources/search_statistic_page_ui.py index c98ce4a..6ed62e9 100644 --- a/src/ui/widgets/widget_sources/search_statistic_page_ui.py +++ b/src/ui/widgets/widget_sources/search_statistic_page_ui.py @@ -8,120 +8,137 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject, QSize, Qt) -from PySide6.QtWidgets import (QAbstractItemView, QCheckBox, QComboBox, - QFrame, QGridLayout, QHBoxLayout, - QLabel, QLayout, QLineEdit, - QPushButton, QSizePolicy, QSpacerItem, QStackedWidget, - QTabWidget, QTableWidget, QTableWidgetItem, QVBoxLayout, - QWidget) +from PySide6.QtCore import QCoreApplication, QMetaObject, QSize, Qt +from PySide6.QtWidgets import ( + QAbstractItemView, + QCheckBox, + QComboBox, + QFrame, + QGridLayout, + QHBoxLayout, + QLabel, + QLayout, + QLineEdit, + QPushButton, + QSizePolicy, + QSpacerItem, + QStackedWidget, + QTabWidget, + QTableWidget, + QTableWidgetItem, + QVBoxLayout, + QWidget, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(1244, 767) self.verticalLayout = QVBoxLayout(Dialog) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.tabWidget_2 = QTabWidget(Dialog) - self.tabWidget_2.setObjectName(u"tabWidget_2") + self.tabWidget_2.setObjectName("tabWidget_2") self.tabWidget_2.setMaximumSize(QSize(16777215, 250)) self.tabWidget_2.setFocusPolicy(Qt.ClickFocus) self.tabWidget_2.setTabPosition(QTabWidget.North) self.tabWidget_2.setTabShape(QTabWidget.Rounded) self.tab_3 = QWidget() - self.tab_3.setObjectName(u"tab_3") + self.tab_3.setObjectName("tab_3") self.horizontalLayout_2 = QHBoxLayout(self.tab_3) - self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.gridLayout_3 = QGridLayout() - self.gridLayout_3.setObjectName(u"gridLayout_3") + self.gridLayout_3.setObjectName("gridLayout_3") self.box_semester = QComboBox(self.tab_3) - self.box_semester.setObjectName(u"box_semester") + self.box_semester.setObjectName("box_semester") self.box_semester.setEditable(True) self.gridLayout_3.addWidget(self.box_semester, 0, 3, 1, 1) self.label_18 = QLabel(self.tab_3) - self.label_18.setObjectName(u"label_18") + self.label_18.setObjectName("label_18") self.gridLayout_3.addWidget(self.label_18, 2, 2, 1, 1) self.box_fach = QComboBox(self.tab_3) - self.box_fach.setObjectName(u"box_fach") + self.box_fach.setObjectName("box_fach") self.box_fach.setEditable(True) self.gridLayout_3.addWidget(self.box_fach, 2, 1, 1, 1) self.label_15 = QLabel(self.tab_3) - self.label_15.setObjectName(u"label_15") + self.label_15.setObjectName("label_15") self.gridLayout_3.addWidget(self.label_15, 3, 0, 1, 1) self.label_11 = QLabel(self.tab_3) - self.label_11.setObjectName(u"label_11") + self.label_11.setObjectName("label_11") self.gridLayout_3.addWidget(self.label_11, 1, 0, 1, 1) - self.verticalSpacer_3 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.verticalSpacer_3 = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) self.gridLayout_3.addItem(self.verticalSpacer_3, 4, 0, 1, 1) self.label_7 = QLabel(self.tab_3) - self.label_7.setObjectName(u"label_7") + self.label_7.setObjectName("label_7") self.gridLayout_3.addWidget(self.label_7, 0, 0, 1, 1) self.label_17 = QLabel(self.tab_3) - self.label_17.setObjectName(u"label_17") + self.label_17.setObjectName("label_17") self.gridLayout_3.addWidget(self.label_17, 0, 2, 1, 1) self.box_appnrs = QComboBox(self.tab_3) - self.box_appnrs.setObjectName(u"box_appnrs") + self.box_appnrs.setObjectName("box_appnrs") self.box_appnrs.setEditable(True) self.gridLayout_3.addWidget(self.box_appnrs, 0, 1, 1, 1) self.box_dauerapp = QComboBox(self.tab_3) - self.box_dauerapp.setObjectName(u"box_dauerapp") + self.box_dauerapp.setObjectName("box_dauerapp") self.gridLayout_3.addWidget(self.box_dauerapp, 2, 3, 1, 1) self.box_person = QComboBox(self.tab_3) - self.box_person.setObjectName(u"box_person") + self.box_person.setObjectName("box_person") self.box_person.setEditable(True) self.gridLayout_3.addWidget(self.box_person, 1, 1, 1, 1) self.box_erstellsemester = QComboBox(self.tab_3) - self.box_erstellsemester.setObjectName(u"box_erstellsemester") + self.box_erstellsemester.setObjectName("box_erstellsemester") self.box_erstellsemester.setEditable(True) self.gridLayout_3.addWidget(self.box_erstellsemester, 1, 3, 1, 1) self.label_19 = QLabel(self.tab_3) - self.label_19.setObjectName(u"label_19") + self.label_19.setObjectName("label_19") self.gridLayout_3.addWidget(self.label_19, 1, 2, 1, 1) self.label_16 = QLabel(self.tab_3) - self.label_16.setObjectName(u"label_16") + self.label_16.setObjectName("label_16") self.gridLayout_3.addWidget(self.label_16, 2, 0, 1, 1) self.check_deletable = QCheckBox(self.tab_3) - self.check_deletable.setObjectName(u"check_deletable") + self.check_deletable.setObjectName("check_deletable") self.check_deletable.setFocusPolicy(Qt.StrongFocus) self.gridLayout_3.addWidget(self.check_deletable, 3, 1, 1, 1) self.btn_search = QPushButton(self.tab_3) - self.btn_search.setObjectName(u"btn_search") + self.btn_search.setObjectName("btn_search") self.gridLayout_3.addWidget(self.btn_search, 5, 0, 1, 1) self.db_err_message = QLabel(self.tab_3) - self.db_err_message.setObjectName(u"db_err_message") + self.db_err_message.setObjectName("db_err_message") self.gridLayout_3.addWidget(self.db_err_message, 5, 1, 1, 1) @@ -133,7 +150,9 @@ class Ui_Dialog(object): self.horizontalLayout_2.addLayout(self.gridLayout_3) - self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_2.addItem(self.horizontalSpacer) @@ -141,58 +160,60 @@ class Ui_Dialog(object): self.horizontalLayout_2.setStretch(1, 1) self.tabWidget_2.addTab(self.tab_3, "") self.tab_4 = QWidget() - self.tab_4.setObjectName(u"tab_4") + self.tab_4.setObjectName("tab_4") self.horizontalLayout_3 = QHBoxLayout(self.tab_4) - self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.gridLayout = QGridLayout() - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.search_by_signature = QLineEdit(self.tab_4) - self.search_by_signature.setObjectName(u"search_by_signature") + self.search_by_signature.setObjectName("search_by_signature") self.search_by_signature.setFocusPolicy(Qt.ClickFocus) self.search_by_signature.setClearButtonEnabled(True) self.gridLayout.addWidget(self.search_by_signature, 0, 1, 1, 1) self.label_25 = QLabel(self.tab_4) - self.label_25.setObjectName(u"label_25") + self.label_25.setObjectName("label_25") self.gridLayout.addWidget(self.label_25, 0, 0, 1, 1) - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.verticalSpacer = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) self.gridLayout.addItem(self.verticalSpacer, 5, 0, 1, 1) self.search_by_title = QLineEdit(self.tab_4) - self.search_by_title.setObjectName(u"search_by_title") + self.search_by_title.setObjectName("search_by_title") self.search_by_title.setFocusPolicy(Qt.ClickFocus) self.search_by_title.setClearButtonEnabled(True) self.gridLayout.addWidget(self.search_by_title, 1, 1, 1, 1) self.label_26 = QLabel(self.tab_4) - self.label_26.setObjectName(u"label_26") + self.label_26.setObjectName("label_26") self.gridLayout.addWidget(self.label_26, 1, 0, 1, 1) self.horizontalLayout_4 = QHBoxLayout() - self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") + self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.label = QLabel(self.tab_4) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.horizontalLayout_4.addWidget(self.label) self.no_result = QLabel(self.tab_4) - self.no_result.setObjectName(u"no_result") + self.no_result.setObjectName("no_result") self.horizontalLayout_4.addWidget(self.no_result) - self.gridLayout.addLayout(self.horizontalLayout_4, 3, 1, 1, 1) - self.horizontalLayout_3.addLayout(self.gridLayout) - self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_2 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_3.addItem(self.horizontalSpacer_2) @@ -203,59 +224,64 @@ class Ui_Dialog(object): self.verticalLayout.addWidget(self.tabWidget_2) self.verticalLayout_3 = QVBoxLayout() - self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.verticalLayout_3.setObjectName("verticalLayout_3") self.verticalLayout_3.setSizeConstraint(QLayout.SetDefaultConstraint) self.stackedWidget_4 = QStackedWidget(Dialog) - self.stackedWidget_4.setObjectName(u"stackedWidget_4") - sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + self.stackedWidget_4.setObjectName("stackedWidget_4") + sizePolicy = QSizePolicy( + QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding + ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.stackedWidget_4.sizePolicy().hasHeightForWidth()) + sizePolicy.setHeightForWidth( + self.stackedWidget_4.sizePolicy().hasHeightForWidth() + ) self.stackedWidget_4.setSizePolicy(sizePolicy) self.stackedWidget_4.setFrameShape(QFrame.StyledPanel) self.stackedWidget_4.setFrameShadow(QFrame.Raised) self.apparatResult = QWidget() - self.apparatResult.setObjectName(u"apparatResult") + self.apparatResult.setObjectName("apparatResult") self.horizontalLayout = QHBoxLayout(self.apparatResult) - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.app_results = QWidget(self.apparatResult) - self.app_results.setObjectName(u"app_results") + self.app_results.setObjectName("app_results") self.verticalLayout_6 = QVBoxLayout(self.app_results) - self.verticalLayout_6.setObjectName(u"verticalLayout_6") + self.verticalLayout_6.setObjectName("verticalLayout_6") self.verticalLayout_4 = QVBoxLayout() - self.verticalLayout_4.setObjectName(u"verticalLayout_4") + self.verticalLayout_4.setObjectName("verticalLayout_4") self.horizontalLayout_7 = QHBoxLayout() - self.horizontalLayout_7.setObjectName(u"horizontalLayout_7") + self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.verticalLayout_5 = QVBoxLayout() - self.verticalLayout_5.setObjectName(u"verticalLayout_5") + self.verticalLayout_5.setObjectName("verticalLayout_5") self.horizontalLayout_7.addLayout(self.verticalLayout_5) self.btn_del_select_apparats = QPushButton(self.app_results) - self.btn_del_select_apparats.setObjectName(u"btn_del_select_apparats") + self.btn_del_select_apparats.setObjectName("btn_del_select_apparats") self.btn_del_select_apparats.setFocusPolicy(Qt.StrongFocus) self.horizontalLayout_7.addWidget(self.btn_del_select_apparats) self.btn_notify_for_deletion = QPushButton(self.app_results) - self.btn_notify_for_deletion.setObjectName(u"btn_notify_for_deletion") + self.btn_notify_for_deletion.setObjectName("btn_notify_for_deletion") self.horizontalLayout_7.addWidget(self.btn_notify_for_deletion) self.btn_extendSelection = QPushButton(self.app_results) - self.btn_extendSelection.setObjectName(u"btn_extendSelection") + self.btn_extendSelection.setObjectName("btn_extendSelection") self.horizontalLayout_7.addWidget(self.btn_extendSelection) - self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + self.horizontalSpacer_5 = QSpacerItem( + 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum + ) self.horizontalLayout_7.addItem(self.horizontalSpacer_5) - self.verticalLayout_4.addLayout(self.horizontalLayout_7) self.tableWidget = QTableWidget(self.app_results) - if (self.tableWidget.columnCount() < 5): + if self.tableWidget.columnCount() < 5: self.tableWidget.setColumnCount(5) __qtablewidgetitem = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem) @@ -267,35 +293,33 @@ class Ui_Dialog(object): self.tableWidget.setHorizontalHeaderItem(3, __qtablewidgetitem3) __qtablewidgetitem4 = QTableWidgetItem() self.tableWidget.setHorizontalHeaderItem(4, __qtablewidgetitem4) - self.tableWidget.setObjectName(u"tableWidget") + self.tableWidget.setObjectName("tableWidget") self.tableWidget.setFocusPolicy(Qt.NoFocus) self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu) self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget.setGridStyle(Qt.NoPen) self.tableWidget.setSortingEnabled(True) self.tableWidget.horizontalHeader().setStretchLastSection(True) - self.tableWidget.verticalHeader().setProperty(u"showSortIndicator", True) + self.tableWidget.verticalHeader().setProperty("showSortIndicator", True) self.verticalLayout_4.addWidget(self.tableWidget) - self.verticalLayout_6.addLayout(self.verticalLayout_4) - self.horizontalLayout.addWidget(self.app_results) self.stats = QFrame(self.apparatResult) - self.stats.setObjectName(u"stats") + self.stats.setObjectName("stats") self.verticalLayout_8 = QVBoxLayout(self.stats) - self.verticalLayout_8.setObjectName(u"verticalLayout_8") + self.verticalLayout_8.setObjectName("verticalLayout_8") self.tabWidget_3 = QTabWidget(self.stats) - self.tabWidget_3.setObjectName(u"tabWidget_3") + self.tabWidget_3.setObjectName("tabWidget_3") self.statistic_table = QWidget() - self.statistic_table.setObjectName(u"statistic_table") + self.statistic_table.setObjectName("statistic_table") self.verticalLayout_7 = QVBoxLayout(self.statistic_table) - self.verticalLayout_7.setObjectName(u"verticalLayout_7") + self.verticalLayout_7.setObjectName("verticalLayout_7") self.statistics_table = QTableWidget(self.statistic_table) - if (self.statistics_table.columnCount() < 3): + if self.statistics_table.columnCount() < 3: self.statistics_table.setColumnCount(3) __qtablewidgetitem5 = QTableWidgetItem() self.statistics_table.setHorizontalHeaderItem(0, __qtablewidgetitem5) @@ -303,8 +327,10 @@ class Ui_Dialog(object): self.statistics_table.setHorizontalHeaderItem(1, __qtablewidgetitem6) __qtablewidgetitem7 = QTableWidgetItem() self.statistics_table.setHorizontalHeaderItem(2, __qtablewidgetitem7) - self.statistics_table.setObjectName(u"statistics_table") - sizePolicy.setHeightForWidth(self.statistics_table.sizePolicy().hasHeightForWidth()) + self.statistics_table.setObjectName("statistics_table") + sizePolicy.setHeightForWidth( + self.statistics_table.sizePolicy().hasHeightForWidth() + ) self.statistics_table.setSizePolicy(sizePolicy) self.statistics_table.setMaximumSize(QSize(16777215, 16777215)) self.statistics_table.setFocusPolicy(Qt.NoFocus) @@ -314,36 +340,35 @@ class Ui_Dialog(object): self.statistics_table.horizontalHeader().setCascadingSectionResizes(True) self.statistics_table.horizontalHeader().setMinimumSectionSize(40) self.statistics_table.horizontalHeader().setDefaultSectionSize(80) - self.statistics_table.horizontalHeader().setProperty(u"showSortIndicator", True) + self.statistics_table.horizontalHeader().setProperty("showSortIndicator", True) self.statistics_table.horizontalHeader().setStretchLastSection(False) self.statistics_table.verticalHeader().setStretchLastSection(True) self.verticalLayout_7.addWidget(self.statistics_table) self.dataLayout = QHBoxLayout() - self.dataLayout.setObjectName(u"dataLayout") + self.dataLayout.setObjectName("dataLayout") self.verticalLayout_7.addLayout(self.dataLayout) self.tabWidget_3.addTab(self.statistic_table, "") self.graph_table = QWidget() - self.graph_table.setObjectName(u"graph_table") + self.graph_table.setObjectName("graph_table") self.tabWidget_3.addTab(self.graph_table, "") self.verticalLayout_8.addWidget(self.tabWidget_3) - self.horizontalLayout.addWidget(self.stats) self.stackedWidget_4.addWidget(self.apparatResult) self.bookresult = QWidget() - self.bookresult.setObjectName(u"bookresult") + self.bookresult.setObjectName("bookresult") sizePolicy.setHeightForWidth(self.bookresult.sizePolicy().hasHeightForWidth()) self.bookresult.setSizePolicy(sizePolicy) self.verticalLayout_2 = QVBoxLayout(self.bookresult) - self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.verticalLayout_2.setObjectName("verticalLayout_2") self.book_search_result = QTableWidget(self.bookresult) - if (self.book_search_result.columnCount() < 3): + if self.book_search_result.columnCount() < 3: self.book_search_result.setColumnCount(3) __qtablewidgetitem8 = QTableWidgetItem() self.book_search_result.setHorizontalHeaderItem(0, __qtablewidgetitem8) @@ -351,7 +376,7 @@ class Ui_Dialog(object): self.book_search_result.setHorizontalHeaderItem(1, __qtablewidgetitem9) __qtablewidgetitem10 = QTableWidgetItem() self.book_search_result.setHorizontalHeaderItem(2, __qtablewidgetitem10) - self.book_search_result.setObjectName(u"book_search_result") + self.book_search_result.setObjectName("book_search_result") self.book_search_result.setFrameShadow(QFrame.Plain) self.book_search_result.setEditTriggers(QAbstractItemView.NoEditTriggers) self.book_search_result.setAlternatingRowColors(True) @@ -359,9 +384,11 @@ class Ui_Dialog(object): self.book_search_result.horizontalHeader().setCascadingSectionResizes(True) self.book_search_result.horizontalHeader().setMinimumSectionSize(100) self.book_search_result.horizontalHeader().setDefaultSectionSize(200) - self.book_search_result.horizontalHeader().setProperty(u"showSortIndicator", True) + self.book_search_result.horizontalHeader().setProperty( + "showSortIndicator", True + ) self.book_search_result.horizontalHeader().setStretchLastSection(True) - self.book_search_result.verticalHeader().setProperty(u"showSortIndicator", False) + self.book_search_result.verticalHeader().setProperty("showSortIndicator", False) self.verticalLayout_2.addWidget(self.book_search_result) @@ -369,10 +396,9 @@ class Ui_Dialog(object): self.verticalLayout_3.addWidget(self.stackedWidget_4) - self.verticalLayout.addLayout(self.verticalLayout_3) -#if QT_CONFIG(shortcut) + # if QT_CONFIG(shortcut) self.label_18.setBuddy(self.box_dauerapp) self.label_15.setBuddy(self.check_deletable) self.label_11.setBuddy(self.box_person) @@ -382,7 +408,7 @@ class Ui_Dialog(object): self.label_16.setBuddy(self.box_fach) self.label_25.setBuddy(self.search_by_signature) self.label_26.setBuddy(self.search_by_title) -#endif // QT_CONFIG(shortcut) + # endif // QT_CONFIG(shortcut) QWidget.setTabOrder(self.box_appnrs, self.box_person) QWidget.setTabOrder(self.box_person, self.box_fach) QWidget.setTabOrder(self.box_fach, self.check_deletable) @@ -400,58 +426,118 @@ class Ui_Dialog(object): self.stackedWidget_4.setCurrentIndex(0) self.tabWidget_3.setCurrentIndex(0) - QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - self.label_18.setText(QCoreApplication.translate("Dialog", u"Dauerapp:", None)) - self.label_15.setText(QCoreApplication.translate("Dialog", u"L\u00f6schbar", None)) - self.label_11.setText(QCoreApplication.translate("Dialog", u"Person:", None)) - self.label_7.setText(QCoreApplication.translate("Dialog", u"Appnr.:", None)) - self.label_17.setText(QCoreApplication.translate("Dialog", u"Endsemester:", None)) - self.label_19.setText(QCoreApplication.translate("Dialog", u"Erstellsemester:", None)) - self.label_16.setText(QCoreApplication.translate("Dialog", u"Fach:", None)) + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + self.label_18.setText(QCoreApplication.translate("Dialog", "Dauerapp:", None)) + self.label_15.setText( + QCoreApplication.translate("Dialog", "L\u00f6schbar", None) + ) + self.label_11.setText(QCoreApplication.translate("Dialog", "Person:", None)) + self.label_7.setText(QCoreApplication.translate("Dialog", "Appnr.:", None)) + self.label_17.setText( + QCoreApplication.translate("Dialog", "Endsemester:", None) + ) + self.label_19.setText( + QCoreApplication.translate("Dialog", "Erstellsemester:", None) + ) + self.label_16.setText(QCoreApplication.translate("Dialog", "Fach:", None)) self.check_deletable.setText("") - self.btn_search.setText(QCoreApplication.translate("Dialog", u"Suchen", None)) + self.btn_search.setText(QCoreApplication.translate("Dialog", "Suchen", None)) self.db_err_message.setText("") - self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_3), QCoreApplication.translate("Dialog", u"Statistik", None)) -#if QT_CONFIG(statustip) - self.search_by_signature.setStatusTip(QCoreApplication.translate("Dialog", u"Trunkierung mit * am Ende unterst\u00fctzt", None)) -#endif // QT_CONFIG(statustip) - self.label_25.setText(QCoreApplication.translate("Dialog", u"Signatur", None)) - self.label_26.setText(QCoreApplication.translate("Dialog", u"Titel", None)) - self.label.setText(QCoreApplication.translate("Dialog", u"Suche mit Enter starten", None)) + self.tabWidget_2.setTabText( + self.tabWidget_2.indexOf(self.tab_3), + QCoreApplication.translate("Dialog", "Statistik", None), + ) + # if QT_CONFIG(statustip) + self.search_by_signature.setStatusTip( + QCoreApplication.translate( + "Dialog", "Trunkierung mit * am Ende unterst\u00fctzt", None + ) + ) + # endif // QT_CONFIG(statustip) + self.label_25.setText(QCoreApplication.translate("Dialog", "Signatur", None)) + self.label_26.setText(QCoreApplication.translate("Dialog", "Titel", None)) + self.label.setText( + QCoreApplication.translate("Dialog", "Suche mit Enter starten", None) + ) self.no_result.setText("") - self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_4), QCoreApplication.translate("Dialog", u"Suchen", None)) - self.btn_del_select_apparats.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte L\u00f6schen", None)) -#if QT_CONFIG(statustip) - self.btn_notify_for_deletion.setStatusTip(QCoreApplication.translate("Dialog", u"Zeigt f\u00fcr jeden ausgew\u00e4hlten Apparat eine eMail-Vorlage an", None)) -#endif // QT_CONFIG(statustip) - self.btn_notify_for_deletion.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte Benachrichtigen", None)) - self.btn_extendSelection.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte Verl\u00e4ngern", None)) + self.tabWidget_2.setTabText( + self.tabWidget_2.indexOf(self.tab_4), + QCoreApplication.translate("Dialog", "Suchen", None), + ) + self.btn_del_select_apparats.setText( + QCoreApplication.translate("Dialog", "Ausgew\u00e4hlte L\u00f6schen", None) + ) + # if QT_CONFIG(statustip) + self.btn_notify_for_deletion.setStatusTip( + QCoreApplication.translate( + "Dialog", + "Zeigt f\u00fcr jeden ausgew\u00e4hlten Apparat eine eMail-Vorlage an", + None, + ) + ) + # endif // QT_CONFIG(statustip) + self.btn_notify_for_deletion.setText( + QCoreApplication.translate( + "Dialog", "Ausgew\u00e4hlte Benachrichtigen", None + ) + ) + self.btn_extendSelection.setText( + QCoreApplication.translate( + "Dialog", "Ausgew\u00e4hlte Verl\u00e4ngern", None + ) + ) ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(1) - ___qtablewidgetitem.setText(QCoreApplication.translate("Dialog", u"Apparatsname", None)) + ___qtablewidgetitem.setText( + QCoreApplication.translate("Dialog", "Apparatsname", None) + ) ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(2) - ___qtablewidgetitem1.setText(QCoreApplication.translate("Dialog", u"Apparatsnummer", None)) + ___qtablewidgetitem1.setText( + QCoreApplication.translate("Dialog", "Apparatsnummer", None) + ) ___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(3) - ___qtablewidgetitem2.setText(QCoreApplication.translate("Dialog", u"Person", None)) + ___qtablewidgetitem2.setText( + QCoreApplication.translate("Dialog", "Person", None) + ) ___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(4) - ___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", u"Fach", None)) + ___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", "Fach", None)) ___qtablewidgetitem4 = self.statistics_table.horizontalHeaderItem(0) - ___qtablewidgetitem4.setText(QCoreApplication.translate("Dialog", u"Semester", None)) + ___qtablewidgetitem4.setText( + QCoreApplication.translate("Dialog", "Semester", None) + ) ___qtablewidgetitem5 = self.statistics_table.horizontalHeaderItem(1) - ___qtablewidgetitem5.setText(QCoreApplication.translate("Dialog", u"Zugang", None)) + ___qtablewidgetitem5.setText( + QCoreApplication.translate("Dialog", "Zugang", None) + ) ___qtablewidgetitem6 = self.statistics_table.horizontalHeaderItem(2) - ___qtablewidgetitem6.setText(QCoreApplication.translate("Dialog", u"Abgang", None)) - self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.statistic_table), QCoreApplication.translate("Dialog", u"Tabelle", None)) - self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.graph_table), QCoreApplication.translate("Dialog", u"Erstellte und gel\u00f6schte Semesterapparate", None)) + ___qtablewidgetitem6.setText( + QCoreApplication.translate("Dialog", "Abgang", None) + ) + self.tabWidget_3.setTabText( + self.tabWidget_3.indexOf(self.statistic_table), + QCoreApplication.translate("Dialog", "Tabelle", None), + ) + self.tabWidget_3.setTabText( + self.tabWidget_3.indexOf(self.graph_table), + QCoreApplication.translate( + "Dialog", "Erstellte und gel\u00f6schte Semesterapparate", None + ), + ) ___qtablewidgetitem7 = self.book_search_result.horizontalHeaderItem(0) - ___qtablewidgetitem7.setText(QCoreApplication.translate("Dialog", u"Titel", None)) + ___qtablewidgetitem7.setText( + QCoreApplication.translate("Dialog", "Titel", None) + ) ___qtablewidgetitem8 = self.book_search_result.horizontalHeaderItem(1) - ___qtablewidgetitem8.setText(QCoreApplication.translate("Dialog", u"Signatur", None)) + ___qtablewidgetitem8.setText( + QCoreApplication.translate("Dialog", "Signatur", None) + ) ___qtablewidgetitem9 = self.book_search_result.horizontalHeaderItem(2) - ___qtablewidgetitem9.setText(QCoreApplication.translate("Dialog", u"Apparat", None)) - # retranslateUi + ___qtablewidgetitem9.setText( + QCoreApplication.translate("Dialog", "Apparat", None) + ) + # retranslateUi diff --git a/src/ui/widgets/widget_sources/welcome_wizard_ui.py b/src/ui/widgets/widget_sources/welcome_wizard_ui.py index 98fd103..c5b02c6 100644 --- a/src/ui/widgets/widget_sources/welcome_wizard_ui.py +++ b/src/ui/widgets/widget_sources/welcome_wizard_ui.py @@ -8,28 +8,42 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QMetaObject, Qt) -from PySide6.QtWidgets import (QCheckBox, QComboBox, QFormLayout, - QGridLayout, QHBoxLayout, QLabel, QLineEdit, - QPushButton, QSizePolicy, QSpacerItem, QTextEdit, - QToolButton, QVBoxLayout, QWidget, QWizard, - QWizardPage) +from PySide6.QtCore import QCoreApplication, QMetaObject, Qt +from PySide6.QtWidgets import ( + QCheckBox, + QComboBox, + QFormLayout, + QGridLayout, + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QSizePolicy, + QSpacerItem, + QTextEdit, + QToolButton, + QVBoxLayout, + QWidget, + QWizard, + QWizardPage, +) + class Ui_Wizard(object): def setupUi(self, Wizard): if not Wizard.objectName(): - Wizard.setObjectName(u"Wizard") + Wizard.setObjectName("Wizard") Wizard.resize(564, 425) Wizard.setSizeGripEnabled(False) Wizard.setWizardStyle(QWizard.ClassicStyle) Wizard.setSubTitleFormat(Qt.PlainText) Wizard.setCurrentId(1) self.wizardPage1 = QWizardPage() - self.wizardPage1.setObjectName(u"wizardPage1") + self.wizardPage1.setObjectName("wizardPage1") self.verticalLayout = QVBoxLayout(self.wizardPage1) - self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setObjectName("verticalLayout") self.textEdit = QTextEdit(self.wizardPage1) - self.textEdit.setObjectName(u"textEdit") + self.textEdit.setObjectName("textEdit") self.textEdit.setEnabled(False) self.textEdit.setFocusPolicy(Qt.NoFocus) self.textEdit.setLineWidth(0) @@ -40,196 +54,220 @@ class Ui_Wizard(object): Wizard.setPage(0, self.wizardPage1) self.wizardPage2 = QWizardPage() - self.wizardPage2.setObjectName(u"wizardPage2") + self.wizardPage2.setObjectName("wizardPage2") self.gridLayout = QGridLayout(self.wizardPage2) - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.settings_temp = QLineEdit(self.wizardPage2) - self.settings_temp.setObjectName(u"settings_temp") + self.settings_temp.setObjectName("settings_temp") self.settings_temp.setFocusPolicy(Qt.NoFocus) self.settings_temp.setReadOnly(True) self.gridLayout.addWidget(self.settings_temp, 2, 1, 1, 1) self.label = QLabel(self.wizardPage2) - self.label.setObjectName(u"label") + self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.settings_database = QLineEdit(self.wizardPage2) - self.settings_database.setObjectName(u"settings_database") + self.settings_database.setObjectName("settings_database") self.settings_database.setFocusPolicy(Qt.NoFocus) self.settings_database.setReadOnly(True) self.gridLayout.addWidget(self.settings_database, 0, 1, 1, 1) self.label_2 = QLabel(self.wizardPage2) - self.label_2.setObjectName(u"label_2") + self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) self.btn_database = QToolButton(self.wizardPage2) - self.btn_database.setObjectName(u"btn_database") + self.btn_database.setObjectName("btn_database") self.gridLayout.addWidget(self.btn_database, 0, 2, 1, 1) self.btn_temp = QToolButton(self.wizardPage2) - self.btn_temp.setObjectName(u"btn_temp") + self.btn_temp.setObjectName("btn_temp") self.gridLayout.addWidget(self.btn_temp, 2, 2, 1, 1) self.label_16 = QLabel(self.wizardPage2) - self.label_16.setObjectName(u"label_16") + self.label_16.setObjectName("label_16") self.gridLayout.addWidget(self.label_16, 1, 0, 1, 1) self.settings_database_name = QLineEdit(self.wizardPage2) - self.settings_database_name.setObjectName(u"settings_database_name") + self.settings_database_name.setObjectName("settings_database_name") self.gridLayout.addWidget(self.settings_database_name, 1, 1, 1, 1) Wizard.setPage(1, self.wizardPage2) self.wizardPage3 = QWizardPage() - self.wizardPage3.setObjectName(u"wizardPage3") + self.wizardPage3.setObjectName("wizardPage3") self.formLayout = QFormLayout(self.wizardPage3) - self.formLayout.setObjectName(u"formLayout") + self.formLayout.setObjectName("formLayout") self.label_3 = QLabel(self.wizardPage3) - self.label_3.setObjectName(u"label_3") + self.label_3.setObjectName("label_3") self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_3) self.settings_mail_smtp_server = QLineEdit(self.wizardPage3) - self.settings_mail_smtp_server.setObjectName(u"settings_mail_smtp_server") + self.settings_mail_smtp_server.setObjectName("settings_mail_smtp_server") self.settings_mail_smtp_server.setClearButtonEnabled(True) - self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.settings_mail_smtp_server) + self.formLayout.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.settings_mail_smtp_server + ) self.settings_mail_smtp_port = QLineEdit(self.wizardPage3) - self.settings_mail_smtp_port.setObjectName(u"settings_mail_smtp_port") + self.settings_mail_smtp_port.setObjectName("settings_mail_smtp_port") self.settings_mail_smtp_port.setInputMethodHints(Qt.ImhDigitsOnly) self.settings_mail_smtp_port.setClearButtonEnabled(True) - self.formLayout.setWidget(1, QFormLayout.ItemRole.FieldRole, self.settings_mail_smtp_port) + self.formLayout.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.settings_mail_smtp_port + ) self.settings_mail_user_name = QLineEdit(self.wizardPage3) - self.settings_mail_user_name.setObjectName(u"settings_mail_user_name") + self.settings_mail_user_name.setObjectName("settings_mail_user_name") self.settings_mail_user_name.setClearButtonEnabled(True) - self.formLayout.setWidget(3, QFormLayout.ItemRole.FieldRole, self.settings_mail_user_name) + self.formLayout.setWidget( + 3, QFormLayout.ItemRole.FieldRole, self.settings_mail_user_name + ) self.settings_mail_password = QLineEdit(self.wizardPage3) - self.settings_mail_password.setObjectName(u"settings_mail_password") + self.settings_mail_password.setObjectName("settings_mail_password") - self.formLayout.setWidget(4, QFormLayout.ItemRole.FieldRole, self.settings_mail_password) + self.formLayout.setWidget( + 4, QFormLayout.ItemRole.FieldRole, self.settings_mail_password + ) self.label_4 = QLabel(self.wizardPage3) - self.label_4.setObjectName(u"label_4") + self.label_4.setObjectName("label_4") self.formLayout.setWidget(3, QFormLayout.ItemRole.LabelRole, self.label_4) self.label_5 = QLabel(self.wizardPage3) - self.label_5.setObjectName(u"label_5") + self.label_5.setObjectName("label_5") self.formLayout.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_5) self.label_6 = QLabel(self.wizardPage3) - self.label_6.setObjectName(u"label_6") + self.label_6.setObjectName("label_6") self.formLayout.setWidget(4, QFormLayout.ItemRole.LabelRole, self.label_6) self.settings_mail_use_user_name = QCheckBox(self.wizardPage3) - self.settings_mail_use_user_name.setObjectName(u"settings_mail_use_user_name") + self.settings_mail_use_user_name.setObjectName("settings_mail_use_user_name") - self.formLayout.setWidget(8, QFormLayout.ItemRole.FieldRole, self.settings_mail_use_user_name) + self.formLayout.setWidget( + 8, QFormLayout.ItemRole.FieldRole, self.settings_mail_use_user_name + ) self.settings_mail_printer = QLineEdit(self.wizardPage3) - self.settings_mail_printer.setObjectName(u"settings_mail_printer") + self.settings_mail_printer.setObjectName("settings_mail_printer") self.settings_mail_printer.setClearButtonEnabled(True) - self.formLayout.setWidget(7, QFormLayout.ItemRole.FieldRole, self.settings_mail_printer) + self.formLayout.setWidget( + 7, QFormLayout.ItemRole.FieldRole, self.settings_mail_printer + ) self.label_8 = QLabel(self.wizardPage3) - self.label_8.setObjectName(u"label_8") + self.label_8.setObjectName("label_8") self.formLayout.setWidget(7, QFormLayout.ItemRole.LabelRole, self.label_8) self.label_9 = QLabel(self.wizardPage3) - self.label_9.setObjectName(u"label_9") + self.label_9.setObjectName("label_9") self.formLayout.setWidget(8, QFormLayout.ItemRole.LabelRole, self.label_9) self.settings_mail_signature = QTextEdit(self.wizardPage3) - self.settings_mail_signature.setObjectName(u"settings_mail_signature") + self.settings_mail_signature.setObjectName("settings_mail_signature") - self.formLayout.setWidget(5, QFormLayout.ItemRole.FieldRole, self.settings_mail_signature) + self.formLayout.setWidget( + 5, QFormLayout.ItemRole.FieldRole, self.settings_mail_signature + ) self.label_10 = QLabel(self.wizardPage3) - self.label_10.setObjectName(u"label_10") + self.label_10.setObjectName("label_10") self.formLayout.setWidget(5, QFormLayout.ItemRole.LabelRole, self.label_10) self.label_7 = QLabel(self.wizardPage3) - self.label_7.setObjectName(u"label_7") + self.label_7.setObjectName("label_7") self.formLayout.setWidget(2, QFormLayout.ItemRole.LabelRole, self.label_7) self.settings_mail_address = QLineEdit(self.wizardPage3) - self.settings_mail_address.setObjectName(u"settings_mail_address") + self.settings_mail_address.setObjectName("settings_mail_address") self.settings_mail_address.setClearButtonEnabled(True) - self.formLayout.setWidget(2, QFormLayout.ItemRole.FieldRole, self.settings_mail_address) + self.formLayout.setWidget( + 2, QFormLayout.ItemRole.FieldRole, self.settings_mail_address + ) Wizard.setPage(2, self.wizardPage3) self.wizardPage4 = QWizardPage() - self.wizardPage4.setObjectName(u"wizardPage4") + self.wizardPage4.setObjectName("wizardPage4") self.formLayout_2 = QFormLayout(self.wizardPage4) - self.formLayout_2.setObjectName(u"formLayout_2") + self.formLayout_2.setObjectName("formLayout_2") self.label_11 = QLabel(self.wizardPage4) - self.label_11.setObjectName(u"label_11") + self.label_11.setObjectName("label_11") self.formLayout_2.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_11) self.settings_zotero_api_key = QLineEdit(self.wizardPage4) - self.settings_zotero_api_key.setObjectName(u"settings_zotero_api_key") + self.settings_zotero_api_key.setObjectName("settings_zotero_api_key") - self.formLayout_2.setWidget(0, QFormLayout.ItemRole.FieldRole, self.settings_zotero_api_key) + self.formLayout_2.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.settings_zotero_api_key + ) self.settings_zotero_library_id = QLineEdit(self.wizardPage4) - self.settings_zotero_library_id.setObjectName(u"settings_zotero_library_id") + self.settings_zotero_library_id.setObjectName("settings_zotero_library_id") - self.formLayout_2.setWidget(1, QFormLayout.ItemRole.FieldRole, self.settings_zotero_library_id) + self.formLayout_2.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.settings_zotero_library_id + ) self.label_12 = QLabel(self.wizardPage4) - self.label_12.setObjectName(u"label_12") + self.label_12.setObjectName("label_12") self.formLayout_2.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_12) self.label_13 = QLabel(self.wizardPage4) - self.label_13.setObjectName(u"label_13") + self.label_13.setObjectName("label_13") self.formLayout_2.setWidget(2, QFormLayout.ItemRole.LabelRole, self.label_13) self.settings_zotero_library_type = QLineEdit(self.wizardPage4) - self.settings_zotero_library_type.setObjectName(u"settings_zotero_library_type") + self.settings_zotero_library_type.setObjectName("settings_zotero_library_type") - self.formLayout_2.setWidget(2, QFormLayout.ItemRole.FieldRole, self.settings_zotero_library_type) + self.formLayout_2.setWidget( + 2, QFormLayout.ItemRole.FieldRole, self.settings_zotero_library_type + ) Wizard.setPage(3, self.wizardPage4) self.wizardPage5 = QWizardPage() - self.wizardPage5.setObjectName(u"wizardPage5") + self.wizardPage5.setObjectName("wizardPage5") self.formLayout_3 = QFormLayout(self.wizardPage5) - self.formLayout_3.setObjectName(u"formLayout_3") + self.formLayout_3.setObjectName("formLayout_3") self.settings_openai_api_key = QLineEdit(self.wizardPage5) - self.settings_openai_api_key.setObjectName(u"settings_openai_api_key") + self.settings_openai_api_key.setObjectName("settings_openai_api_key") - self.formLayout_3.setWidget(0, QFormLayout.ItemRole.FieldRole, self.settings_openai_api_key) + self.formLayout_3.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.settings_openai_api_key + ) self.label_14 = QLabel(self.wizardPage5) - self.label_14.setObjectName(u"label_14") + self.label_14.setObjectName("label_14") self.formLayout_3.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_14) self.label_15 = QLabel(self.wizardPage5) - self.label_15.setObjectName(u"label_15") + self.label_15.setObjectName("label_15") self.formLayout_3.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_15) @@ -241,54 +279,65 @@ class Ui_Wizard(object): self.settings_openai_model.addItem("") self.settings_openai_model.addItem("") self.settings_openai_model.addItem("") - self.settings_openai_model.setObjectName(u"settings_openai_model") + self.settings_openai_model.setObjectName("settings_openai_model") - self.formLayout_3.setWidget(1, QFormLayout.ItemRole.FieldRole, self.settings_openai_model) + self.formLayout_3.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.settings_openai_model + ) Wizard.setPage(9, self.wizardPage5) self.wizardPage6 = QWizardPage() - self.wizardPage6.setObjectName(u"wizardPage6") + self.wizardPage6.setObjectName("wizardPage6") self.formLayout_4 = QFormLayout(self.wizardPage6) - self.formLayout_4.setObjectName(u"formLayout_4") + self.formLayout_4.setObjectName("formLayout_4") self.label_17 = QLabel(self.wizardPage6) - self.label_17.setObjectName(u"label_17") + self.label_17.setObjectName("label_17") self.formLayout_4.setWidget(0, QFormLayout.ItemRole.LabelRole, self.label_17) self.sam_username = QLineEdit(self.wizardPage6) - self.sam_username.setObjectName(u"sam_username") + self.sam_username.setObjectName("sam_username") - self.formLayout_4.setWidget(0, QFormLayout.ItemRole.FieldRole, self.sam_username) + self.formLayout_4.setWidget( + 0, QFormLayout.ItemRole.FieldRole, self.sam_username + ) self.label_18 = QLabel(self.wizardPage6) - self.label_18.setObjectName(u"label_18") + self.label_18.setObjectName("label_18") self.formLayout_4.setWidget(1, QFormLayout.ItemRole.LabelRole, self.label_18) self.sam_password = QLineEdit(self.wizardPage6) - self.sam_password.setObjectName(u"sam_password") + self.sam_password.setObjectName("sam_password") - self.formLayout_4.setWidget(1, QFormLayout.ItemRole.FieldRole, self.sam_password) + self.formLayout_4.setWidget( + 1, QFormLayout.ItemRole.FieldRole, self.sam_password + ) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setObjectName("horizontalLayout") self.btn_test = QPushButton(self.wizardPage6) - self.btn_test.setObjectName(u"btn_test") + self.btn_test.setObjectName("btn_test") self.horizontalLayout.addWidget(self.btn_test) self.btn_create = QPushButton(self.wizardPage6) - self.btn_create.setObjectName(u"btn_create") + self.btn_create.setObjectName("btn_create") self.btn_create.setFlat(False) self.horizontalLayout.addWidget(self.btn_create) + self.formLayout_4.setLayout( + 2, QFormLayout.ItemRole.FieldRole, self.horizontalLayout + ) - self.formLayout_4.setLayout(2, QFormLayout.ItemRole.FieldRole, self.horizontalLayout) + self.verticalSpacer = QSpacerItem( + 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding + ) - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) - - self.formLayout_4.setItem(3, QFormLayout.ItemRole.FieldRole, self.verticalSpacer) + self.formLayout_4.setItem( + 3, QFormLayout.ItemRole.FieldRole, self.verticalSpacer + ) Wizard.addPage(self.wizardPage6) QWidget.setTabOrder(self.settings_database, self.btn_database) @@ -296,101 +345,196 @@ class Ui_Wizard(object): QWidget.setTabOrder(self.settings_database_name, self.settings_temp) QWidget.setTabOrder(self.settings_temp, self.btn_temp) QWidget.setTabOrder(self.btn_temp, self.settings_mail_smtp_server) - QWidget.setTabOrder(self.settings_mail_smtp_server, self.settings_mail_smtp_port) + QWidget.setTabOrder( + self.settings_mail_smtp_server, self.settings_mail_smtp_port + ) QWidget.setTabOrder(self.settings_mail_smtp_port, self.settings_mail_address) QWidget.setTabOrder(self.settings_mail_address, self.settings_mail_user_name) QWidget.setTabOrder(self.settings_mail_user_name, self.settings_mail_password) QWidget.setTabOrder(self.settings_mail_password, self.settings_mail_signature) QWidget.setTabOrder(self.settings_mail_signature, self.settings_mail_printer) - QWidget.setTabOrder(self.settings_mail_printer, self.settings_mail_use_user_name) - QWidget.setTabOrder(self.settings_mail_use_user_name, self.settings_zotero_api_key) - QWidget.setTabOrder(self.settings_zotero_api_key, self.settings_zotero_library_id) - QWidget.setTabOrder(self.settings_zotero_library_id, self.settings_zotero_library_type) - QWidget.setTabOrder(self.settings_zotero_library_type, self.settings_openai_api_key) + QWidget.setTabOrder( + self.settings_mail_printer, self.settings_mail_use_user_name + ) + QWidget.setTabOrder( + self.settings_mail_use_user_name, self.settings_zotero_api_key + ) + QWidget.setTabOrder( + self.settings_zotero_api_key, self.settings_zotero_library_id + ) + QWidget.setTabOrder( + self.settings_zotero_library_id, self.settings_zotero_library_type + ) + QWidget.setTabOrder( + self.settings_zotero_library_type, self.settings_openai_api_key + ) QWidget.setTabOrder(self.settings_openai_api_key, self.settings_openai_model) self.retranslateUi(Wizard) self.btn_create.setDefault(True) - QMetaObject.connectSlotsByName(Wizard) + # setupUi def retranslateUi(self, Wizard): - Wizard.setWindowTitle(QCoreApplication.translate("Wizard", u"Wizard", None)) - self.wizardPage1.setTitle(QCoreApplication.translate("Wizard", u"Willkommen", None)) + Wizard.setWindowTitle(QCoreApplication.translate("Wizard", "Wizard", None)) + self.wizardPage1.setTitle( + QCoreApplication.translate("Wizard", "Willkommen", None) + ) self.wizardPage1.setSubTitle("") - self.textEdit.setHtml(QCoreApplication.translate("Wizard", u"\n" -"\n" -"

Es wurde erkannt, dass der SemesterApparatsManager (SAM) zum ersten Mal gestartet wurde. In den Folgenden Seiten werden die grundlegenden Einstellungen festgelegt, anschlie\u00dfend wird SAM ge\u00f6ffnet. Folgende Einstellungen werden \u00fcber diesen Wizard festgelegt:

\n" -"


\n" -"

- Datenbank

\n" -"

- eMail

\n" -"

- Zotero Integration

\n" -"

- KI Integration

\n" -"

Anschlie\u00dfend kann ein Nutzeraccount f\u00fcr SAM erstellt werden

", None)) - self.wizardPage2.setTitle(QCoreApplication.translate("Wizard", u"Datenbank", None)) - self.wizardPage2.setSubTitle(QCoreApplication.translate("Wizard", u"Hier werden die Einstellungen f\u00fcr die Datenbank und tempor\u00e4ren Dateien festgelegt. \u00dcber den [...] Knopf k\u00f6nnen die Speicherordner ausgew\u00e4hlt werden.", None)) - self.settings_temp.setPlaceholderText(QCoreApplication.translate("Wizard", u"C:\\Users\\[Nutzer]\\AppData\\Local\\SAM\\SemesterApparatsManager\\Cache", None)) - self.label.setText(QCoreApplication.translate("Wizard", u"Datenbankpfad", None)) + self.textEdit.setHtml( + QCoreApplication.translate( + "Wizard", + '\n' + '\n" + '

Es wurde erkannt, dass der SemesterApparatsManager (SAM) zum ersten Mal gestartet wurde. In den Folgenden Seiten werden die grundlegenden Einstellungen festgelegt, anschlie\u00dfend wird SAM ge\u00f6ffnet. Folgende Einstellungen werden \u00fcber diesen Wizard festgelegt:

\n' + '


\n' + '

- Datenbank

\n' + '

- eMail

\n' + '

- Zotero Integration

\n' + '

- KI Integration

\n' + '

Anschlie\u00dfend kann ein Nutzeraccount f\u00fcr SAM erstellt werden

', + None, + ) + ) + self.wizardPage2.setTitle( + QCoreApplication.translate("Wizard", "Datenbank", None) + ) + self.wizardPage2.setSubTitle( + QCoreApplication.translate( + "Wizard", + "Hier werden die Einstellungen f\u00fcr die Datenbank und tempor\u00e4ren Dateien festgelegt. \u00dcber den [...] Knopf k\u00f6nnen die Speicherordner ausgew\u00e4hlt werden.", + None, + ) + ) + self.settings_temp.setPlaceholderText( + QCoreApplication.translate( + "Wizard", + "C:\\Users\\[Nutzer]\\AppData\\Local\\SAM\\SemesterApparatsManager\\Cache", + None, + ) + ) + self.label.setText(QCoreApplication.translate("Wizard", "Datenbankpfad", None)) self.settings_database.setPlaceholderText("") - self.label_2.setText(QCoreApplication.translate("Wizard", u"Tempor\u00e4re Daten", None)) - self.btn_database.setText(QCoreApplication.translate("Wizard", u"...", None)) - self.btn_temp.setText(QCoreApplication.translate("Wizard", u"...", None)) - self.label_16.setText(QCoreApplication.translate("Wizard", u"Datenbankname", None)) - self.settings_database_name.setPlaceholderText(QCoreApplication.translate("Wizard", u"semesterapparate.db", None)) - self.wizardPage3.setTitle(QCoreApplication.translate("Wizard", u"Mail", None)) - self.wizardPage3.setSubTitle(QCoreApplication.translate("Wizard", u"Hier werden die Einstellungen f\u00fcr die Mailverbindung eingegeben", None)) - self.label_3.setText(QCoreApplication.translate("Wizard", u"SMTP Server", None)) -#if QT_CONFIG(tooltip) - self.settings_mail_password.setToolTip(QCoreApplication.translate("Wizard", u"Rechtsklick, um passwort anzuzeigen", None)) -#endif // QT_CONFIG(tooltip) -#if QT_CONFIG(statustip) + self.label_2.setText( + QCoreApplication.translate("Wizard", "Tempor\u00e4re Daten", None) + ) + self.btn_database.setText(QCoreApplication.translate("Wizard", "...", None)) + self.btn_temp.setText(QCoreApplication.translate("Wizard", "...", None)) + self.label_16.setText( + QCoreApplication.translate("Wizard", "Datenbankname", None) + ) + self.settings_database_name.setPlaceholderText( + QCoreApplication.translate("Wizard", "semesterapparate.db", None) + ) + self.wizardPage3.setTitle(QCoreApplication.translate("Wizard", "Mail", None)) + self.wizardPage3.setSubTitle( + QCoreApplication.translate( + "Wizard", + "Hier werden die Einstellungen f\u00fcr die Mailverbindung eingegeben", + None, + ) + ) + self.label_3.setText(QCoreApplication.translate("Wizard", "SMTP Server", None)) + # if QT_CONFIG(tooltip) + self.settings_mail_password.setToolTip( + QCoreApplication.translate( + "Wizard", "Rechtsklick, um passwort anzuzeigen", None + ) + ) + # endif // QT_CONFIG(tooltip) + # if QT_CONFIG(statustip) self.settings_mail_password.setStatusTip("") -#endif // QT_CONFIG(statustip) -#if QT_CONFIG(whatsthis) + # endif // QT_CONFIG(statustip) + # if QT_CONFIG(whatsthis) self.settings_mail_password.setWhatsThis("") -#endif // QT_CONFIG(whatsthis) - self.label_4.setText(QCoreApplication.translate("Wizard", u"Nutzername", None)) - self.label_5.setText(QCoreApplication.translate("Wizard", u"SMTP Port", None)) - self.label_6.setText(QCoreApplication.translate("Wizard", u"Passwort", None)) - self.settings_mail_use_user_name.setText(QCoreApplication.translate("Wizard", u"CheckBox", None)) - self.label_8.setText(QCoreApplication.translate("Wizard", u"Druckermail", None)) - self.label_9.setText(QCoreApplication.translate("Wizard", u"Nutzername\n" -"f\u00fcr SMTP", None)) - self.label_10.setText(QCoreApplication.translate("Wizard", u"Signatur", None)) - self.label_7.setText(QCoreApplication.translate("Wizard", u"Mail Adresse", None)) - self.wizardPage4.setTitle(QCoreApplication.translate("Wizard", u"Zotero", None)) - self.wizardPage4.setSubTitle(QCoreApplication.translate("Wizard", u"Hier werden die Einstellungen f\u00fcr Zotero verwaltet", None)) - self.label_11.setText(QCoreApplication.translate("Wizard", u"API-Key", None)) - self.label_12.setText(QCoreApplication.translate("Wizard", u"ID", None)) - self.label_13.setText(QCoreApplication.translate("Wizard", u"Anwendungstyp", None)) - self.settings_zotero_library_type.setText(QCoreApplication.translate("Wizard", u"user", None)) - self.wizardPage5.setTitle(QCoreApplication.translate("Wizard", u"KI-Integration", None)) - self.wizardPage5.setSubTitle(QCoreApplication.translate("Wizard", u"Hier werden die Einstellungen f\u00fcr die KI Integration eingestellt.", None)) - self.label_14.setText(QCoreApplication.translate("Wizard", u"API Key", None)) - self.label_15.setText(QCoreApplication.translate("Wizard", u"ChatGPT Modell", None)) - self.settings_openai_model.setItemText(0, QCoreApplication.translate("Wizard", u"gpt3.5-turbo", None)) - self.settings_openai_model.setItemText(1, QCoreApplication.translate("Wizard", u"gpt-4", None)) - self.settings_openai_model.setItemText(2, QCoreApplication.translate("Wizard", u"gpt-4o", None)) - self.settings_openai_model.setItemText(3, QCoreApplication.translate("Wizard", u"gpt-4o-mini", None)) - self.settings_openai_model.setItemText(4, QCoreApplication.translate("Wizard", u"gpt-4.1", None)) - self.settings_openai_model.setItemText(5, QCoreApplication.translate("Wizard", u"gpt-4.1-mini", None)) - self.settings_openai_model.setItemText(6, QCoreApplication.translate("Wizard", u"gpt-4.1-nano", None)) + # endif // QT_CONFIG(whatsthis) + self.label_4.setText(QCoreApplication.translate("Wizard", "Nutzername", None)) + self.label_5.setText(QCoreApplication.translate("Wizard", "SMTP Port", None)) + self.label_6.setText(QCoreApplication.translate("Wizard", "Passwort", None)) + self.settings_mail_use_user_name.setText( + QCoreApplication.translate("Wizard", "CheckBox", None) + ) + self.label_8.setText(QCoreApplication.translate("Wizard", "Druckermail", None)) + self.label_9.setText( + QCoreApplication.translate("Wizard", "Nutzername\nf\u00fcr SMTP", None) + ) + self.label_10.setText(QCoreApplication.translate("Wizard", "Signatur", None)) + self.label_7.setText(QCoreApplication.translate("Wizard", "Mail Adresse", None)) + self.wizardPage4.setTitle(QCoreApplication.translate("Wizard", "Zotero", None)) + self.wizardPage4.setSubTitle( + QCoreApplication.translate( + "Wizard", + "Hier werden die Einstellungen f\u00fcr Zotero verwaltet", + None, + ) + ) + self.label_11.setText(QCoreApplication.translate("Wizard", "API-Key", None)) + self.label_12.setText(QCoreApplication.translate("Wizard", "ID", None)) + self.label_13.setText( + QCoreApplication.translate("Wizard", "Anwendungstyp", None) + ) + self.settings_zotero_library_type.setText( + QCoreApplication.translate("Wizard", "user", None) + ) + self.wizardPage5.setTitle( + QCoreApplication.translate("Wizard", "KI-Integration", None) + ) + self.wizardPage5.setSubTitle( + QCoreApplication.translate( + "Wizard", + "Hier werden die Einstellungen f\u00fcr die KI Integration eingestellt.", + None, + ) + ) + self.label_14.setText(QCoreApplication.translate("Wizard", "API Key", None)) + self.label_15.setText( + QCoreApplication.translate("Wizard", "ChatGPT Modell", None) + ) + self.settings_openai_model.setItemText( + 0, QCoreApplication.translate("Wizard", "gpt3.5-turbo", None) + ) + self.settings_openai_model.setItemText( + 1, QCoreApplication.translate("Wizard", "gpt-4", None) + ) + self.settings_openai_model.setItemText( + 2, QCoreApplication.translate("Wizard", "gpt-4o", None) + ) + self.settings_openai_model.setItemText( + 3, QCoreApplication.translate("Wizard", "gpt-4o-mini", None) + ) + self.settings_openai_model.setItemText( + 4, QCoreApplication.translate("Wizard", "gpt-4.1", None) + ) + self.settings_openai_model.setItemText( + 5, QCoreApplication.translate("Wizard", "gpt-4.1-mini", None) + ) + self.settings_openai_model.setItemText( + 6, QCoreApplication.translate("Wizard", "gpt-4.1-nano", None) + ) + + self.settings_openai_model.setCurrentText( + QCoreApplication.translate("Wizard", "gpt3.5-turbo", None) + ) + self.wizardPage6.setTitle( + QCoreApplication.translate("Wizard", "SAM Nutzer", None) + ) + self.wizardPage6.setSubTitle( + QCoreApplication.translate( + "Wizard", "Hier kann ein Nutzer f\u00fcr SAM erstellt werden", None + ) + ) + self.label_17.setText(QCoreApplication.translate("Wizard", "Nutzername", None)) + self.label_18.setText(QCoreApplication.translate("Wizard", "Passwort", None)) + self.btn_test.setText(QCoreApplication.translate("Wizard", "Pr\u00fcfen", None)) + self.btn_create.setText(QCoreApplication.translate("Wizard", "Anlegen", None)) - self.settings_openai_model.setCurrentText(QCoreApplication.translate("Wizard", u"gpt3.5-turbo", None)) - self.wizardPage6.setTitle(QCoreApplication.translate("Wizard", u"SAM Nutzer", None)) - self.wizardPage6.setSubTitle(QCoreApplication.translate("Wizard", u"Hier kann ein Nutzer f\u00fcr SAM erstellt werden", None)) - self.label_17.setText(QCoreApplication.translate("Wizard", u"Nutzername", None)) - self.label_18.setText(QCoreApplication.translate("Wizard", u"Passwort", None)) - self.btn_test.setText(QCoreApplication.translate("Wizard", u"Pr\u00fcfen", None)) - self.btn_create.setText(QCoreApplication.translate("Wizard", u"Anlegen", None)) # retranslateUi - diff --git a/src/utils/docs_ui.py b/src/utils/docs_ui.py index a6f792d..9411818 100644 --- a/src/utils/docs_ui.py +++ b/src/utils/docs_ui.py @@ -8,40 +8,39 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, - QMetaObject, QObject, QPoint, QRect, - QSize, QTime, QUrl, Qt) -from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, - QFont, QFontDatabase, QGradient, QIcon, - QImage, QKeySequence, QLinearGradient, QPainter, - QPalette, QPixmap, QRadialGradient, QTransform) -from PySide6.QtWidgets import (QApplication, QDialog, QGridLayout, QSizePolicy, - QTabWidget, QWidget) +from PySide6.QtCore import ( + QCoreApplication, + QMetaObject, +) +from PySide6.QtWidgets import ( + QGridLayout, + QTabWidget, +) + class Ui_Dialog(object): def setupUi(self, Dialog): if not Dialog.objectName(): - Dialog.setObjectName(u"Dialog") + Dialog.setObjectName("Dialog") Dialog.resize(800, 600) self.gridLayout_2 = QGridLayout(Dialog) - self.gridLayout_2.setObjectName(u"gridLayout_2") + self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout = QGridLayout() - self.gridLayout.setObjectName(u"gridLayout") + self.gridLayout.setObjectName("gridLayout") self.tabs = QTabWidget(Dialog) - self.tabs.setObjectName(u"tabs") + self.tabs.setObjectName("tabs") self.gridLayout.addWidget(self.tabs, 0, 0, 1, 1) - self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) - self.retranslateUi(Dialog) QMetaObject.connectSlotsByName(Dialog) + # setupUi def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) - # retranslateUi + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) + # retranslateUi diff --git a/src/utils/documentation.py b/src/utils/documentation.py index 9caa9be..a0230e7 100644 --- a/src/utils/documentation.py +++ b/src/utils/documentation.py @@ -2,7 +2,7 @@ import logging import os from wsgiref.simple_server import WSGIRequestHandler -from pyramid.config import Configurator +from flask import Flask, send_from_directory from src import LOG_DIR @@ -33,12 +33,16 @@ class QuietHandler(WSGIRequestHandler): def website() -> object: - config = Configurator() + app = Flask(__name__, static_folder=os.path.join(os.getcwd(), "docs", "public")) - # Set up static file serving from the 'site/' directory - config.add_static_view( - name="/", path=os.path.join(os.getcwd(), "site"), cache_max_age=3600 - ) + # Serve the main index.html at root + @app.route("/") + def index(): + return send_from_directory(app.static_folder, "index.html") - app = config.make_wsgi_app() - return app # type: ignore + # Serve all other static files + @app.route("/") + def serve_static(path): + return send_from_directory(app.static_folder, path) + + return app diff --git a/src/utils/files.py b/src/utils/files.py index cd18bca..cf6862e 100644 --- a/src/utils/files.py +++ b/src/utils/files.py @@ -8,7 +8,9 @@ from src.database import Database from src.shared.logging import log -def recreate_file(name: str, app_id: int, filetype: str, open_file: bool = True) -> Path: +def recreate_file( + name: str, app_id: int, filetype: str, open_file: bool = True +) -> Path: """ Recreate a file from the database and optionally open it. @@ -25,14 +27,14 @@ def recreate_file(name: str, app_id: int, filetype: str, open_file: bool = True) path = db.recreateFile(name, app_id, filetype=filetype) path = Path(path) log.info(f"File created: {path}") - + if open_file: path = path.resolve() if os.getenv("OS") == "Windows_NT": os.startfile(path) else: os.system(f"open {path}") - + return path @@ -56,21 +58,21 @@ def recreate_elsa_file(filename: str, filetype: str, open_file: bool = True) -> """ if filename.startswith("(") and filename.endswith(")"): filename = str(filename[1:-1].replace("'", "")) - + if not isinstance(filename, str): raise ValueError("filename must be a string") - + db = Database() path = db.recreateElsaFile(filename, filetype) path = Path(path) - + if open_file: path = path.resolve() if os.getenv("OS") == "Windows_NT": os.startfile(path) else: os.system(f"open {path}") - + return path @@ -84,7 +86,7 @@ def delete_temp_contents() -> None: """Delete the contents of the temp directory.""" database = settings.database path = database.temp.expanduser() - + for root, dirs, files in os.walk(path, topdown=False): for file in files: try: @@ -96,5 +98,5 @@ def delete_temp_contents() -> None: os.rmdir(os.path.join(root, dir)) except Exception as e: log.warning(f"Could not remove directory {dir}: {e}") - + log.info(f"Temp directory cleared: {path}") diff --git a/src/utils/sortgenerator.py b/src/utils/sortgenerator.py index b6cf94b..0d25c4b 100644 --- a/src/utils/sortgenerator.py +++ b/src/utils/sortgenerator.py @@ -1,11 +1,13 @@ -alphabet = "abcdefghijklmnopqrstuvwxyzäöüß" -alphabet = [c for c in alphabet] +from __future__ import annotations + +from string import ascii_lowercase + +alphabet = [c for c in ascii_lowercase] +MAX_APP_ID = 180 def name_sort(name: str, index_len: int = 8) -> str: - """ - name_to_index converts a name to an index. - """ + """name_sort converts a name to an index.""" name = name.lower() sort_number = [] for i, c in enumerate(name): @@ -17,14 +19,13 @@ def name_sort(name: str, index_len: int = 8) -> str: for i in sort_number: res += str(i) # get the first 8 characters - res = res[:index_len] - return res + return res[:index_len] def app_sort(app_id: int) -> str: if not isinstance(app_id, int): raise ValueError("app_id must be an integer") - if app_id >= 180: + if app_id >= MAX_APP_ID: raise ValueError("app_id must be smaller than 180") length = 4 app_id = str(app_id) diff --git a/uv.lock b/uv.lock index 650d1b2..439d8d4 100644 --- a/uv.lock +++ b/uv.lock @@ -1,6 +1,14 @@ version = 1 revision = 3 requires-python = ">=3.13" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] [[package]] name = "about-time" @@ -50,14 +58,14 @@ sdist = { url = "https://files.pythonhosted.org/packages/3e/38/7859ff46355f76f8d [[package]] name = "anyio" -version = "4.12.0" +version = "4.12.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", size = 228266, upload-time = "2025-11-28T23:37:38.911Z" } +sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/9c/36c5c37947ebfb8c7f22e0eb6e4d188ee2d53aa3880f3f2744fb894f0cb1/anyio-4.12.0-py3-none-any.whl", hash = "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb", size = 113362, upload-time = "2025-11-28T23:36:57.897Z" }, + { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" }, ] [[package]] @@ -74,7 +82,7 @@ name = "appscript" version = "1.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "lxml" }, + { name = "lxml", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ca/52/2fa70edfd98f0058219ecc2e365a3ba7aabd42db14ff9d7f44bbdcc5400d/appscript-1.4.0.tar.gz", hash = "sha256:b2c6fc770bf822ea45529c7084bc0ee340e67ab260016b01d28e0449ec8723be", size = 295279, upload-time = "2025-10-08T07:56:39.126Z" } wheels = [ @@ -120,12 +128,21 @@ wheels = [ [[package]] name = "bibtexparser" -version = "1.4.3" +version = "1.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyparsing" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/92/8d/e296c7af03757debd8fc80df2898cbed4fb69fc61ed2c9b4a1d42e923a9e/bibtexparser-1.4.3.tar.gz", hash = "sha256:a9c7ded64bc137720e4df0b1b7f12734edc1361185f1c9097048ff7c35af2b8f", size = 55582, upload-time = "2024-12-19T20:41:57.754Z" } +sdist = { url = "https://files.pythonhosted.org/packages/44/1c/577d3ce406e88f370e80a6ebf76ae52a2866521e0b585e8ec612759894f1/bibtexparser-1.4.4.tar.gz", hash = "sha256:093b6c824f7a71d3a748867c4057b71f77c55b8dbc07efc993b781771520d8fb", size = 55594, upload-time = "2026-01-29T18:58:01.366Z" } + +[[package]] +name = "blinker" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460, upload-time = "2024-11-08T17:25:47.436Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458, upload-time = "2024-11-08T17:25:46.184Z" }, +] [[package]] name = "bracex" @@ -138,7 +155,7 @@ wheels = [ [[package]] name = "bump-my-version" -version = "1.2.4" +version = "1.2.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -151,18 +168,18 @@ dependencies = [ { name = "tomlkit" }, { name = "wcmatch" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a0/fa/3ade689370780989831e574e82024d301ffa5ef75b3d169a7074c9419ce4/bump_my_version-1.2.4.tar.gz", hash = "sha256:998abb4f3774cf96137a77034a5a12a722b109b26a3afa044ec14622a0180fa3", size = 1157991, upload-time = "2025-10-04T14:13:31.658Z" } +sdist = { url = "https://files.pythonhosted.org/packages/47/d3/43acec2ec4a477d6c6191faebe5f2e79facd80936ab3e93b6f9d18d11593/bump_my_version-1.2.6.tar.gz", hash = "sha256:1f2f0daa5d699904e9739be8efb51c4c945461bad83cd4da4c89d324d9a18343", size = 1195328, upload-time = "2025-12-29T11:59:30.389Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/21/bb/893bcf542addd07f3ec92ca20ce028a0f254481f57039dc5b933a074d767/bump_my_version-1.2.4-py3-none-any.whl", hash = "sha256:b60ac52c8972c5a7e1e478d0334015a993ba5c27fad1b04bde558d25c667b0f5", size = 59732, upload-time = "2025-10-04T14:13:29.992Z" }, + { url = "https://files.pythonhosted.org/packages/ab/8e/39de3356f72327dd0bf569540a858723f3fc4f11f3c5bfae85b3dadac5c3/bump_my_version-1.2.6-py3-none-any.whl", hash = "sha256:a2f567c10574a374b81a9bd6d2bd3cb2ca74befe5c24c3021123773635431659", size = 59791, upload-time = "2025-12-29T11:59:27.873Z" }, ] [[package]] name = "certifi" -version = "2025.11.12" +version = "2026.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz", hash = "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316", size = 160538, upload-time = "2025-11-12T02:54:51.517Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, ] [[package]] @@ -262,14 +279,14 @@ wheels = [ [[package]] name = "click" -version = "8.2.1" +version = "8.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, ] [[package]] @@ -283,76 +300,73 @@ wheels = [ [[package]] name = "comtypes" -version = "1.4.13" +version = "1.4.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c0/5c/848f18615227fe20f5ba61b271bbeb670f2ea894f76fb3a533e53d4b52d4/comtypes-1.4.13.zip", hash = "sha256:fc573997ae32b374891cfa8d79ebb8289809ed3a4a3f789d5348371099c7788a", size = 281325, upload-time = "2025-10-12T14:25:09.061Z" } +sdist = { url = "https://files.pythonhosted.org/packages/08/a2/2db93b226887c9a9a354cb39269507213e171fca5be32aeef21b47f14aeb/comtypes-1.4.15.tar.gz", hash = "sha256:c72b9968a4e920087183a364c5a13b174e02b11c302cdd92690d14c95ac1b312", size = 241406, upload-time = "2026-01-19T23:45:46.035Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/66/95/f30c80615fda0d3c0ee6493ac9db61183313b43499b62dec136773b0e870/comtypes-1.4.13-py3-none-any.whl", hash = "sha256:21546210748ba52e839e52112124b16ffab7d7fb68096493165fbc249e9023ad", size = 254433, upload-time = "2025-10-12T14:25:07.539Z" }, + { url = "https://files.pythonhosted.org/packages/03/2f/ca9029d5da14b5a3a103d6061149a4a94a54ab848f56c7d2809dbb36f48c/comtypes-1.4.15-py3-none-any.whl", hash = "sha256:cda90486de8762ec57d7ce04e68721920911f3f03415cb29afdf7609c427c7e3", size = 274650, upload-time = "2026-01-19T23:45:44.34Z" }, ] [[package]] name = "cryptography" -version = "46.0.3" +version = "46.0.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/33/c00162f49c0e2fe8064a62cb92b93e50c74a72bc370ab92f86112b33ff62/cryptography-46.0.3.tar.gz", hash = "sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1", size = 749258, upload-time = "2025-10-15T23:18:31.74Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/19/f748958276519adf6a0c1e79e7b8860b4830dda55ccdf29f2719b5fc499c/cryptography-46.0.4.tar.gz", hash = "sha256:bfd019f60f8abc2ed1b9be4ddc21cfef059c841d86d710bb69909a688cbb8f59", size = 749301, upload-time = "2026-01-28T00:24:37.379Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/42/9c391dd801d6cf0d561b5890549d4b27bafcc53b39c31a817e69d87c625b/cryptography-46.0.3-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a", size = 7225004, upload-time = "2025-10-15T23:16:52.239Z" }, - { url = "https://files.pythonhosted.org/packages/1c/67/38769ca6b65f07461eb200e85fc1639b438bdc667be02cf7f2cd6a64601c/cryptography-46.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc", size = 4296667, upload-time = "2025-10-15T23:16:54.369Z" }, - { url = "https://files.pythonhosted.org/packages/5c/49/498c86566a1d80e978b42f0d702795f69887005548c041636df6ae1ca64c/cryptography-46.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d", size = 4450807, upload-time = "2025-10-15T23:16:56.414Z" }, - { url = "https://files.pythonhosted.org/packages/4b/0a/863a3604112174c8624a2ac3c038662d9e59970c7f926acdcfaed8d61142/cryptography-46.0.3-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb", size = 4299615, upload-time = "2025-10-15T23:16:58.442Z" }, - { url = "https://files.pythonhosted.org/packages/64/02/b73a533f6b64a69f3cd3872acb6ebc12aef924d8d103133bb3ea750dc703/cryptography-46.0.3-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849", size = 4016800, upload-time = "2025-10-15T23:17:00.378Z" }, - { url = "https://files.pythonhosted.org/packages/25/d5/16e41afbfa450cde85a3b7ec599bebefaef16b5c6ba4ec49a3532336ed72/cryptography-46.0.3-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8", size = 4984707, upload-time = "2025-10-15T23:17:01.98Z" }, - { url = "https://files.pythonhosted.org/packages/c9/56/e7e69b427c3878352c2fb9b450bd0e19ed552753491d39d7d0a2f5226d41/cryptography-46.0.3-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec", size = 4482541, upload-time = "2025-10-15T23:17:04.078Z" }, - { url = "https://files.pythonhosted.org/packages/78/f6/50736d40d97e8483172f1bb6e698895b92a223dba513b0ca6f06b2365339/cryptography-46.0.3-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91", size = 4299464, upload-time = "2025-10-15T23:17:05.483Z" }, - { url = "https://files.pythonhosted.org/packages/00/de/d8e26b1a855f19d9994a19c702fa2e93b0456beccbcfe437eda00e0701f2/cryptography-46.0.3-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e", size = 4950838, upload-time = "2025-10-15T23:17:07.425Z" }, - { url = "https://files.pythonhosted.org/packages/8f/29/798fc4ec461a1c9e9f735f2fc58741b0daae30688f41b2497dcbc9ed1355/cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926", size = 4481596, upload-time = "2025-10-15T23:17:09.343Z" }, - { url = "https://files.pythonhosted.org/packages/15/8d/03cd48b20a573adfff7652b76271078e3045b9f49387920e7f1f631d125e/cryptography-46.0.3-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71", size = 4426782, upload-time = "2025-10-15T23:17:11.22Z" }, - { url = "https://files.pythonhosted.org/packages/fa/b1/ebacbfe53317d55cf33165bda24c86523497a6881f339f9aae5c2e13e57b/cryptography-46.0.3-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac", size = 4698381, upload-time = "2025-10-15T23:17:12.829Z" }, - { url = "https://files.pythonhosted.org/packages/96/92/8a6a9525893325fc057a01f654d7efc2c64b9de90413adcf605a85744ff4/cryptography-46.0.3-cp311-abi3-win32.whl", hash = "sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018", size = 3055988, upload-time = "2025-10-15T23:17:14.65Z" }, - { url = "https://files.pythonhosted.org/packages/7e/bf/80fbf45253ea585a1e492a6a17efcb93467701fa79e71550a430c5e60df0/cryptography-46.0.3-cp311-abi3-win_amd64.whl", hash = "sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb", size = 3514451, upload-time = "2025-10-15T23:17:16.142Z" }, - { url = "https://files.pythonhosted.org/packages/2e/af/9b302da4c87b0beb9db4e756386a7c6c5b8003cd0e742277888d352ae91d/cryptography-46.0.3-cp311-abi3-win_arm64.whl", hash = "sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c", size = 2928007, upload-time = "2025-10-15T23:17:18.04Z" }, - { url = "https://files.pythonhosted.org/packages/f5/e2/a510aa736755bffa9d2f75029c229111a1d02f8ecd5de03078f4c18d91a3/cryptography-46.0.3-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217", size = 7158012, upload-time = "2025-10-15T23:17:19.982Z" }, - { url = "https://files.pythonhosted.org/packages/73/dc/9aa866fbdbb95b02e7f9d086f1fccfeebf8953509b87e3f28fff927ff8a0/cryptography-46.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5", size = 4288728, upload-time = "2025-10-15T23:17:21.527Z" }, - { url = "https://files.pythonhosted.org/packages/c5/fd/bc1daf8230eaa075184cbbf5f8cd00ba9db4fd32d63fb83da4671b72ed8a/cryptography-46.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715", size = 4435078, upload-time = "2025-10-15T23:17:23.042Z" }, - { url = "https://files.pythonhosted.org/packages/82/98/d3bd5407ce4c60017f8ff9e63ffee4200ab3e23fe05b765cab805a7db008/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54", size = 4293460, upload-time = "2025-10-15T23:17:24.885Z" }, - { url = "https://files.pythonhosted.org/packages/26/e9/e23e7900983c2b8af7a08098db406cf989d7f09caea7897e347598d4cd5b/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459", size = 3995237, upload-time = "2025-10-15T23:17:26.449Z" }, - { url = "https://files.pythonhosted.org/packages/91/15/af68c509d4a138cfe299d0d7ddb14afba15233223ebd933b4bbdbc7155d3/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422", size = 4967344, upload-time = "2025-10-15T23:17:28.06Z" }, - { url = "https://files.pythonhosted.org/packages/ca/e3/8643d077c53868b681af077edf6b3cb58288b5423610f21c62aadcbe99f4/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7", size = 4466564, upload-time = "2025-10-15T23:17:29.665Z" }, - { url = "https://files.pythonhosted.org/packages/0e/43/c1e8726fa59c236ff477ff2b5dc071e54b21e5a1e51aa2cee1676f1c986f/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044", size = 4292415, upload-time = "2025-10-15T23:17:31.686Z" }, - { url = "https://files.pythonhosted.org/packages/42/f9/2f8fefdb1aee8a8e3256a0568cffc4e6d517b256a2fe97a029b3f1b9fe7e/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665", size = 4931457, upload-time = "2025-10-15T23:17:33.478Z" }, - { url = "https://files.pythonhosted.org/packages/79/30/9b54127a9a778ccd6d27c3da7563e9f2d341826075ceab89ae3b41bf5be2/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3", size = 4466074, upload-time = "2025-10-15T23:17:35.158Z" }, - { url = "https://files.pythonhosted.org/packages/ac/68/b4f4a10928e26c941b1b6a179143af9f4d27d88fe84a6a3c53592d2e76bf/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20", size = 4420569, upload-time = "2025-10-15T23:17:37.188Z" }, - { url = "https://files.pythonhosted.org/packages/a3/49/3746dab4c0d1979888f125226357d3262a6dd40e114ac29e3d2abdf1ec55/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de", size = 4681941, upload-time = "2025-10-15T23:17:39.236Z" }, - { url = "https://files.pythonhosted.org/packages/fd/30/27654c1dbaf7e4a3531fa1fc77986d04aefa4d6d78259a62c9dc13d7ad36/cryptography-46.0.3-cp314-cp314t-win32.whl", hash = "sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914", size = 3022339, upload-time = "2025-10-15T23:17:40.888Z" }, - { url = "https://files.pythonhosted.org/packages/f6/30/640f34ccd4d2a1bc88367b54b926b781b5a018d65f404d409aba76a84b1c/cryptography-46.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db", size = 3494315, upload-time = "2025-10-15T23:17:42.769Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8b/88cc7e3bd0a8e7b861f26981f7b820e1f46aa9d26cc482d0feba0ecb4919/cryptography-46.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21", size = 2919331, upload-time = "2025-10-15T23:17:44.468Z" }, - { url = "https://files.pythonhosted.org/packages/fd/23/45fe7f376a7df8daf6da3556603b36f53475a99ce4faacb6ba2cf3d82021/cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936", size = 7218248, upload-time = "2025-10-15T23:17:46.294Z" }, - { url = "https://files.pythonhosted.org/packages/27/32/b68d27471372737054cbd34c84981f9edbc24fe67ca225d389799614e27f/cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683", size = 4294089, upload-time = "2025-10-15T23:17:48.269Z" }, - { url = "https://files.pythonhosted.org/packages/26/42/fa8389d4478368743e24e61eea78846a0006caffaf72ea24a15159215a14/cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d", size = 4440029, upload-time = "2025-10-15T23:17:49.837Z" }, - { url = "https://files.pythonhosted.org/packages/5f/eb/f483db0ec5ac040824f269e93dd2bd8a21ecd1027e77ad7bdf6914f2fd80/cryptography-46.0.3-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0", size = 4297222, upload-time = "2025-10-15T23:17:51.357Z" }, - { url = "https://files.pythonhosted.org/packages/fd/cf/da9502c4e1912cb1da3807ea3618a6829bee8207456fbbeebc361ec38ba3/cryptography-46.0.3-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc", size = 4012280, upload-time = "2025-10-15T23:17:52.964Z" }, - { url = "https://files.pythonhosted.org/packages/6b/8f/9adb86b93330e0df8b3dcf03eae67c33ba89958fc2e03862ef1ac2b42465/cryptography-46.0.3-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3", size = 4978958, upload-time = "2025-10-15T23:17:54.965Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a0/5fa77988289c34bdb9f913f5606ecc9ada1adb5ae870bd0d1054a7021cc4/cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971", size = 4473714, upload-time = "2025-10-15T23:17:56.754Z" }, - { url = "https://files.pythonhosted.org/packages/14/e5/fc82d72a58d41c393697aa18c9abe5ae1214ff6f2a5c18ac470f92777895/cryptography-46.0.3-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac", size = 4296970, upload-time = "2025-10-15T23:17:58.588Z" }, - { url = "https://files.pythonhosted.org/packages/78/06/5663ed35438d0b09056973994f1aec467492b33bd31da36e468b01ec1097/cryptography-46.0.3-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04", size = 4940236, upload-time = "2025-10-15T23:18:00.897Z" }, - { url = "https://files.pythonhosted.org/packages/fc/59/873633f3f2dcd8a053b8dd1d38f783043b5fce589c0f6988bf55ef57e43e/cryptography-46.0.3-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506", size = 4472642, upload-time = "2025-10-15T23:18:02.749Z" }, - { url = "https://files.pythonhosted.org/packages/3d/39/8e71f3930e40f6877737d6f69248cf74d4e34b886a3967d32f919cc50d3b/cryptography-46.0.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963", size = 4423126, upload-time = "2025-10-15T23:18:04.85Z" }, - { url = "https://files.pythonhosted.org/packages/cd/c7/f65027c2810e14c3e7268353b1681932b87e5a48e65505d8cc17c99e36ae/cryptography-46.0.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4", size = 4686573, upload-time = "2025-10-15T23:18:06.908Z" }, - { url = "https://files.pythonhosted.org/packages/0a/6e/1c8331ddf91ca4730ab3086a0f1be19c65510a33b5a441cb334e7a2d2560/cryptography-46.0.3-cp38-abi3-win32.whl", hash = "sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df", size = 3036695, upload-time = "2025-10-15T23:18:08.672Z" }, - { url = "https://files.pythonhosted.org/packages/90/45/b0d691df20633eff80955a0fc7695ff9051ffce8b69741444bd9ed7bd0db/cryptography-46.0.3-cp38-abi3-win_amd64.whl", hash = "sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f", size = 3501720, upload-time = "2025-10-15T23:18:10.632Z" }, - { url = "https://files.pythonhosted.org/packages/e8/cb/2da4cc83f5edb9c3257d09e1e7ab7b23f049c7962cae8d842bbef0a9cec9/cryptography-46.0.3-cp38-abi3-win_arm64.whl", hash = "sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372", size = 2918740, upload-time = "2025-10-15T23:18:12.277Z" }, + { url = "https://files.pythonhosted.org/packages/8d/99/157aae7949a5f30d51fcb1a9851e8ebd5c74bf99b5285d8bb4b8b9ee641e/cryptography-46.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:281526e865ed4166009e235afadf3a4c4cba6056f99336a99efba65336fd5485", size = 7173686, upload-time = "2026-01-28T00:23:07.515Z" }, + { url = "https://files.pythonhosted.org/packages/87/91/874b8910903159043b5c6a123b7e79c4559ddd1896e38967567942635778/cryptography-46.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f14fba5bf6f4390d7ff8f086c566454bff0411f6d8aa7af79c88b6f9267aecc", size = 4275871, upload-time = "2026-01-28T00:23:09.439Z" }, + { url = "https://files.pythonhosted.org/packages/c0/35/690e809be77896111f5b195ede56e4b4ed0435b428c2f2b6d35046fbb5e8/cryptography-46.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:47bcd19517e6389132f76e2d5303ded6cf3f78903da2158a671be8de024f4cd0", size = 4423124, upload-time = "2026-01-28T00:23:11.529Z" }, + { url = "https://files.pythonhosted.org/packages/1a/5b/a26407d4f79d61ca4bebaa9213feafdd8806dc69d3d290ce24996d3cfe43/cryptography-46.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:01df4f50f314fbe7009f54046e908d1754f19d0c6d3070df1e6268c5a4af09fa", size = 4277090, upload-time = "2026-01-28T00:23:13.123Z" }, + { url = "https://files.pythonhosted.org/packages/0c/d8/4bb7aec442a9049827aa34cee1aa83803e528fa55da9a9d45d01d1bb933e/cryptography-46.0.4-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5aa3e463596b0087b3da0dbe2b2487e9fc261d25da85754e30e3b40637d61f81", size = 4947652, upload-time = "2026-01-28T00:23:14.554Z" }, + { url = "https://files.pythonhosted.org/packages/2b/08/f83e2e0814248b844265802d081f2fac2f1cbe6cd258e72ba14ff006823a/cryptography-46.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:0a9ad24359fee86f131836a9ac3bffc9329e956624a2d379b613f8f8abaf5255", size = 4455157, upload-time = "2026-01-28T00:23:16.443Z" }, + { url = "https://files.pythonhosted.org/packages/0a/05/19d849cf4096448779d2dcc9bb27d097457dac36f7273ffa875a93b5884c/cryptography-46.0.4-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:dc1272e25ef673efe72f2096e92ae39dea1a1a450dd44918b15351f72c5a168e", size = 3981078, upload-time = "2026-01-28T00:23:17.838Z" }, + { url = "https://files.pythonhosted.org/packages/e6/89/f7bac81d66ba7cde867a743ea5b37537b32b5c633c473002b26a226f703f/cryptography-46.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:de0f5f4ec8711ebc555f54735d4c673fc34b65c44283895f1a08c2b49d2fd99c", size = 4276213, upload-time = "2026-01-28T00:23:19.257Z" }, + { url = "https://files.pythonhosted.org/packages/da/9f/7133e41f24edd827020ad21b068736e792bc68eecf66d93c924ad4719fb3/cryptography-46.0.4-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:eeeb2e33d8dbcccc34d64651f00a98cb41b2dc69cef866771a5717e6734dfa32", size = 4912190, upload-time = "2026-01-28T00:23:21.244Z" }, + { url = "https://files.pythonhosted.org/packages/a6/f7/6d43cbaddf6f65b24816e4af187d211f0bc536a29961f69faedc48501d8e/cryptography-46.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:3d425eacbc9aceafd2cb429e42f4e5d5633c6f873f5e567077043ef1b9bbf616", size = 4454641, upload-time = "2026-01-28T00:23:22.866Z" }, + { url = "https://files.pythonhosted.org/packages/9e/4f/ebd0473ad656a0ac912a16bd07db0f5d85184924e14fc88feecae2492834/cryptography-46.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:91627ebf691d1ea3976a031b61fb7bac1ccd745afa03602275dda443e11c8de0", size = 4405159, upload-time = "2026-01-28T00:23:25.278Z" }, + { url = "https://files.pythonhosted.org/packages/d1/f7/7923886f32dc47e27adeff8246e976d77258fd2aa3efdd1754e4e323bf49/cryptography-46.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2d08bc22efd73e8854b0b7caff402d735b354862f1145d7be3b9c0f740fef6a0", size = 4666059, upload-time = "2026-01-28T00:23:26.766Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a7/0fca0fd3591dffc297278a61813d7f661a14243dd60f499a7a5b48acb52a/cryptography-46.0.4-cp311-abi3-win32.whl", hash = "sha256:82a62483daf20b8134f6e92898da70d04d0ef9a75829d732ea1018678185f4f5", size = 3026378, upload-time = "2026-01-28T00:23:28.317Z" }, + { url = "https://files.pythonhosted.org/packages/2d/12/652c84b6f9873f0909374864a57b003686c642ea48c84d6c7e2c515e6da5/cryptography-46.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:6225d3ebe26a55dbc8ead5ad1265c0403552a63336499564675b29eb3184c09b", size = 3478614, upload-time = "2026-01-28T00:23:30.275Z" }, + { url = "https://files.pythonhosted.org/packages/b9/27/542b029f293a5cce59349d799d4d8484b3b1654a7b9a0585c266e974a488/cryptography-46.0.4-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:485e2b65d25ec0d901bca7bcae0f53b00133bf3173916d8e421f6fddde103908", size = 7116417, upload-time = "2026-01-28T00:23:31.958Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f5/559c25b77f40b6bf828eabaf988efb8b0e17b573545edb503368ca0a2a03/cryptography-46.0.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:078e5f06bd2fa5aea5a324f2a09f914b1484f1d0c2a4d6a8a28c74e72f65f2da", size = 4264508, upload-time = "2026-01-28T00:23:34.264Z" }, + { url = "https://files.pythonhosted.org/packages/49/a1/551fa162d33074b660dc35c9bc3616fefa21a0e8c1edd27b92559902e408/cryptography-46.0.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dce1e4f068f03008da7fa51cc7abc6ddc5e5de3e3d1550334eaf8393982a5829", size = 4409080, upload-time = "2026-01-28T00:23:35.793Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/4d8d129a755f5d6df1bbee69ea2f35ebfa954fa1847690d1db2e8bca46a5/cryptography-46.0.4-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:2067461c80271f422ee7bdbe79b9b4be54a5162e90345f86a23445a0cf3fd8a2", size = 4270039, upload-time = "2026-01-28T00:23:37.263Z" }, + { url = "https://files.pythonhosted.org/packages/4c/f5/ed3fcddd0a5e39321e595e144615399e47e7c153a1fb8c4862aec3151ff9/cryptography-46.0.4-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:c92010b58a51196a5f41c3795190203ac52edfd5dc3ff99149b4659eba9d2085", size = 4926748, upload-time = "2026-01-28T00:23:38.884Z" }, + { url = "https://files.pythonhosted.org/packages/43/ae/9f03d5f0c0c00e85ecb34f06d3b79599f20630e4db91b8a6e56e8f83d410/cryptography-46.0.4-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:829c2b12bbc5428ab02d6b7f7e9bbfd53e33efd6672d21341f2177470171ad8b", size = 4442307, upload-time = "2026-01-28T00:23:40.56Z" }, + { url = "https://files.pythonhosted.org/packages/8b/22/e0f9f2dae8040695103369cf2283ef9ac8abe4d51f68710bec2afd232609/cryptography-46.0.4-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:62217ba44bf81b30abaeda1488686a04a702a261e26f87db51ff61d9d3510abd", size = 3959253, upload-time = "2026-01-28T00:23:42.827Z" }, + { url = "https://files.pythonhosted.org/packages/01/5b/6a43fcccc51dae4d101ac7d378a8724d1ba3de628a24e11bf2f4f43cba4d/cryptography-46.0.4-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:9c2da296c8d3415b93e6053f5a728649a87a48ce084a9aaf51d6e46c87c7f2d2", size = 4269372, upload-time = "2026-01-28T00:23:44.655Z" }, + { url = "https://files.pythonhosted.org/packages/17/b7/0f6b8c1dd0779df2b526e78978ff00462355e31c0a6f6cff8a3e99889c90/cryptography-46.0.4-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:9b34d8ba84454641a6bf4d6762d15847ecbd85c1316c0a7984e6e4e9f748ec2e", size = 4891908, upload-time = "2026-01-28T00:23:46.48Z" }, + { url = "https://files.pythonhosted.org/packages/83/17/259409b8349aa10535358807a472c6a695cf84f106022268d31cea2b6c97/cryptography-46.0.4-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:df4a817fa7138dd0c96c8c8c20f04b8aaa1fac3bbf610913dcad8ea82e1bfd3f", size = 4441254, upload-time = "2026-01-28T00:23:48.403Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fe/e4a1b0c989b00cee5ffa0764401767e2d1cf59f45530963b894129fd5dce/cryptography-46.0.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b1de0ebf7587f28f9190b9cb526e901bf448c9e6a99655d2b07fff60e8212a82", size = 4396520, upload-time = "2026-01-28T00:23:50.26Z" }, + { url = "https://files.pythonhosted.org/packages/b3/81/ba8fd9657d27076eb40d6a2f941b23429a3c3d2f56f5a921d6b936a27bc9/cryptography-46.0.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9b4d17bc7bd7cdd98e3af40b441feaea4c68225e2eb2341026c84511ad246c0c", size = 4651479, upload-time = "2026-01-28T00:23:51.674Z" }, + { url = "https://files.pythonhosted.org/packages/00/03/0de4ed43c71c31e4fe954edd50b9d28d658fef56555eba7641696370a8e2/cryptography-46.0.4-cp314-cp314t-win32.whl", hash = "sha256:c411f16275b0dea722d76544a61d6421e2cc829ad76eec79280dbdc9ddf50061", size = 3001986, upload-time = "2026-01-28T00:23:53.485Z" }, + { url = "https://files.pythonhosted.org/packages/5c/70/81830b59df7682917d7a10f833c4dab2a5574cd664e86d18139f2b421329/cryptography-46.0.4-cp314-cp314t-win_amd64.whl", hash = "sha256:728fedc529efc1439eb6107b677f7f7558adab4553ef8669f0d02d42d7b959a7", size = 3468288, upload-time = "2026-01-28T00:23:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/56/f7/f648fdbb61d0d45902d3f374217451385edc7e7768d1b03ff1d0e5ffc17b/cryptography-46.0.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a9556ba711f7c23f77b151d5798f3ac44a13455cc68db7697a1096e6d0563cab", size = 7169583, upload-time = "2026-01-28T00:23:56.558Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cc/8f3224cbb2a928de7298d6ed4790f5ebc48114e02bdc9559196bfb12435d/cryptography-46.0.4-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8bf75b0259e87fa70bddc0b8b4078b76e7fd512fd9afae6c1193bcf440a4dbef", size = 4275419, upload-time = "2026-01-28T00:23:58.364Z" }, + { url = "https://files.pythonhosted.org/packages/17/43/4a18faa7a872d00e4264855134ba82d23546c850a70ff209e04ee200e76f/cryptography-46.0.4-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3c268a3490df22270955966ba236d6bc4a8f9b6e4ffddb78aac535f1a5ea471d", size = 4419058, upload-time = "2026-01-28T00:23:59.867Z" }, + { url = "https://files.pythonhosted.org/packages/ee/64/6651969409821d791ba12346a124f55e1b76f66a819254ae840a965d4b9c/cryptography-46.0.4-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:812815182f6a0c1d49a37893a303b44eaac827d7f0d582cecfc81b6427f22973", size = 4278151, upload-time = "2026-01-28T00:24:01.731Z" }, + { url = "https://files.pythonhosted.org/packages/20/0b/a7fce65ee08c3c02f7a8310cc090a732344066b990ac63a9dfd0a655d321/cryptography-46.0.4-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:a90e43e3ef65e6dcf969dfe3bb40cbf5aef0d523dff95bfa24256be172a845f4", size = 4939441, upload-time = "2026-01-28T00:24:03.175Z" }, + { url = "https://files.pythonhosted.org/packages/db/a7/20c5701e2cd3e1dfd7a19d2290c522a5f435dd30957d431dcb531d0f1413/cryptography-46.0.4-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a05177ff6296644ef2876fce50518dffb5bcdf903c85250974fc8bc85d54c0af", size = 4451617, upload-time = "2026-01-28T00:24:05.403Z" }, + { url = "https://files.pythonhosted.org/packages/00/dc/3e16030ea9aa47b63af6524c354933b4fb0e352257c792c4deeb0edae367/cryptography-46.0.4-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:daa392191f626d50f1b136c9b4cf08af69ca8279d110ea24f5c2700054d2e263", size = 3977774, upload-time = "2026-01-28T00:24:06.851Z" }, + { url = "https://files.pythonhosted.org/packages/42/c8/ad93f14118252717b465880368721c963975ac4b941b7ef88f3c56bf2897/cryptography-46.0.4-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:e07ea39c5b048e085f15923511d8121e4a9dc45cee4e3b970ca4f0d338f23095", size = 4277008, upload-time = "2026-01-28T00:24:08.926Z" }, + { url = "https://files.pythonhosted.org/packages/00/cf/89c99698151c00a4631fbfcfcf459d308213ac29e321b0ff44ceeeac82f1/cryptography-46.0.4-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:d5a45ddc256f492ce42a4e35879c5e5528c09cd9ad12420828c972951d8e016b", size = 4903339, upload-time = "2026-01-28T00:24:12.009Z" }, + { url = "https://files.pythonhosted.org/packages/03/c3/c90a2cb358de4ac9309b26acf49b2a100957e1ff5cc1e98e6c4996576710/cryptography-46.0.4-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:6bb5157bf6a350e5b28aee23beb2d84ae6f5be390b2f8ee7ea179cda077e1019", size = 4451216, upload-time = "2026-01-28T00:24:13.975Z" }, + { url = "https://files.pythonhosted.org/packages/96/2c/8d7f4171388a10208671e181ca43cdc0e596d8259ebacbbcfbd16de593da/cryptography-46.0.4-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:dd5aba870a2c40f87a3af043e0dee7d9eb02d4aff88a797b48f2b43eff8c3ab4", size = 4404299, upload-time = "2026-01-28T00:24:16.169Z" }, + { url = "https://files.pythonhosted.org/packages/e9/23/cbb2036e450980f65c6e0a173b73a56ff3bccd8998965dea5cc9ddd424a5/cryptography-46.0.4-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:93d8291da8d71024379ab2cb0b5c57915300155ad42e07f76bea6ad838d7e59b", size = 4664837, upload-time = "2026-01-28T00:24:17.629Z" }, + { url = "https://files.pythonhosted.org/packages/0a/21/f7433d18fe6d5845329cbdc597e30caf983229c7a245bcf54afecc555938/cryptography-46.0.4-cp38-abi3-win32.whl", hash = "sha256:0563655cb3c6d05fb2afe693340bc050c30f9f34e15763361cf08e94749401fc", size = 3009779, upload-time = "2026-01-28T00:24:20.198Z" }, + { url = "https://files.pythonhosted.org/packages/3a/6a/bd2e7caa2facffedf172a45c1a02e551e6d7d4828658c9a245516a598d94/cryptography-46.0.4-cp38-abi3-win_amd64.whl", hash = "sha256:fa0900b9ef9c49728887d1576fd8d9e7e3ea872fa9b25ef9b64888adc434e976", size = 3466633, upload-time = "2026-01-28T00:24:21.851Z" }, ] [[package]] name = "cssselect" -version = "1.3.0" +version = "1.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/72/0a/c3ea9573b1dc2e151abfe88c7fe0c26d1892fe6ed02d0cdb30f0d57029d5/cssselect-1.3.0.tar.gz", hash = "sha256:57f8a99424cfab289a1b6a816a43075a4b00948c86b4dcf3ef4ee7e15f7ab0c7", size = 42870, upload-time = "2025-03-10T09:30:29.638Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/2e/cdfd8b01c37cbf4f9482eefd455853a3cf9c995029a46acd31dfaa9c1dd6/cssselect-1.4.0.tar.gz", hash = "sha256:fdaf0a1425e17dfe8c5cf66191d211b357cf7872ae8afc4c6762ddd8ac47fc92", size = 40589, upload-time = "2026-01-29T07:00:26.701Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/58/257350f7db99b4ae12b614a36256d9cc870d71d9e451e79c2dc3b23d7c3c/cssselect-1.3.0-py3-none-any.whl", hash = "sha256:56d1bf3e198080cc1667e137bc51de9cadfca259f03c2d4e09037b3e01e30f0d", size = 18786, upload-time = "2025-03-10T09:30:28.048Z" }, + { url = "https://files.pythonhosted.org/packages/20/0c/7bb51e3acfafd16c48875bf3db03607674df16f5b6ef8d056586af7e2b8b/cssselect-1.4.0-py3-none-any.whl", hash = "sha256:c0ec5c0191c8ee39fcc8afc1540331d8b55b0183478c50e9c8a79d44dbceb1d8", size = 18540, upload-time = "2026-01-29T07:00:24.994Z" }, ] [[package]] @@ -417,6 +431,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4e/eb/c96d64137e29ae17d83ad2552470bafe3a7a915e85434d9942077d7fd011/feedparser-6.0.12-py3-none-any.whl", hash = "sha256:6bbff10f5a52662c00a2e3f86a38928c37c48f77b3c511aedcd51de933549324", size = 81480, upload-time = "2025-09-10T13:33:58.022Z" }, ] +[[package]] +name = "flask" +version = "3.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "blinker" }, + { name = "click" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "markupsafe" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/6d/cfe3c0fcc5e477df242b98bfe186a4c34357b4847e87ecaef04507332dab/flask-3.1.2.tar.gz", hash = "sha256:bf656c15c80190ed628ad08cdfd3aaa35beb087855e2f494910aa3774cc4fd87", size = 720160, upload-time = "2025-08-19T21:03:21.205Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl", hash = "sha256:ca1d8112ec8a6158cc29ea4858963350011b5c846a414cdb7a954aa9e967d03c", size = 103308, upload-time = "2025-08-19T21:03:19.499Z" }, +] + [[package]] name = "graphemeu" version = "0.7.2" @@ -428,33 +459,36 @@ wheels = [ [[package]] name = "greenlet" -version = "3.3.0" +version = "3.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c7/e5/40dbda2736893e3e53d25838e0f19a2b417dfc122b9989c91918db30b5d3/greenlet-3.3.0.tar.gz", hash = "sha256:a82bb225a4e9e4d653dd2fb7b8b2d36e4fb25bc0165422a11e48b88e9e6f78fb", size = 190651, upload-time = "2025-12-04T14:49:44.05Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/99/1cd3411c56a410994669062bd73dd58270c00cc074cac15f385a1fd91f8a/greenlet-3.3.1.tar.gz", hash = "sha256:41848f3230b58c08bb43dee542e74a2a2e34d3c59dc3076cec9151aeeedcae98", size = 184690, upload-time = "2026-01-23T15:31:02.076Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/2f/28592176381b9ab2cafa12829ba7b472d177f3acc35d8fbcf3673d966fff/greenlet-3.3.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:a1e41a81c7e2825822f4e068c48cb2196002362619e2d70b148f20a831c00739", size = 275140, upload-time = "2025-12-04T14:23:01.282Z" }, - { url = "https://files.pythonhosted.org/packages/2c/80/fbe937bf81e9fca98c981fe499e59a3f45df2a04da0baa5c2be0dca0d329/greenlet-3.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f515a47d02da4d30caaa85b69474cec77b7929b2e936ff7fb853d42f4bf8808", size = 599219, upload-time = "2025-12-04T14:50:08.309Z" }, - { url = "https://files.pythonhosted.org/packages/c2/ff/7c985128f0514271b8268476af89aee6866df5eec04ac17dcfbc676213df/greenlet-3.3.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d2d9fd66bfadf230b385fdc90426fcd6eb64db54b40c495b72ac0feb5766c54", size = 610211, upload-time = "2025-12-04T14:57:43.968Z" }, - { url = "https://files.pythonhosted.org/packages/79/07/c47a82d881319ec18a4510bb30463ed6891f2ad2c1901ed5ec23d3de351f/greenlet-3.3.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30a6e28487a790417d036088b3bcb3f3ac7d8babaa7d0139edbaddebf3af9492", size = 624311, upload-time = "2025-12-04T15:07:14.697Z" }, - { url = "https://files.pythonhosted.org/packages/fd/8e/424b8c6e78bd9837d14ff7df01a9829fc883ba2ab4ea787d4f848435f23f/greenlet-3.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:087ea5e004437321508a8d6f20efc4cfec5e3c30118e1417ea96ed1d93950527", size = 612833, upload-time = "2025-12-04T14:26:03.669Z" }, - { url = "https://files.pythonhosted.org/packages/b5/ba/56699ff9b7c76ca12f1cdc27a886d0f81f2189c3455ff9f65246780f713d/greenlet-3.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ab97cf74045343f6c60a39913fa59710e4bd26a536ce7ab2397adf8b27e67c39", size = 1567256, upload-time = "2025-12-04T15:04:25.276Z" }, - { url = "https://files.pythonhosted.org/packages/1e/37/f31136132967982d698c71a281a8901daf1a8fbab935dce7c0cf15f942cc/greenlet-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5375d2e23184629112ca1ea89a53389dddbffcf417dad40125713d88eb5f96e8", size = 1636483, upload-time = "2025-12-04T14:27:30.804Z" }, - { url = "https://files.pythonhosted.org/packages/7e/71/ba21c3fb8c5dce83b8c01f458a42e99ffdb1963aeec08fff5a18588d8fd7/greenlet-3.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:9ee1942ea19550094033c35d25d20726e4f1c40d59545815e1128ac58d416d38", size = 301833, upload-time = "2025-12-04T14:32:23.929Z" }, - { url = "https://files.pythonhosted.org/packages/d7/7c/f0a6d0ede2c7bf092d00bc83ad5bafb7e6ec9b4aab2fbdfa6f134dc73327/greenlet-3.3.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:60c2ef0f578afb3c8d92ea07ad327f9a062547137afe91f38408f08aacab667f", size = 275671, upload-time = "2025-12-04T14:23:05.267Z" }, - { url = "https://files.pythonhosted.org/packages/44/06/dac639ae1a50f5969d82d2e3dd9767d30d6dbdbab0e1a54010c8fe90263c/greenlet-3.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a5d554d0712ba1de0a6c94c640f7aeba3f85b3a6e1f2899c11c2c0428da9365", size = 646360, upload-time = "2025-12-04T14:50:10.026Z" }, - { url = "https://files.pythonhosted.org/packages/e0/94/0fb76fe6c5369fba9bf98529ada6f4c3a1adf19e406a47332245ef0eb357/greenlet-3.3.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3a898b1e9c5f7307ebbde4102908e6cbfcb9ea16284a3abe15cab996bee8b9b3", size = 658160, upload-time = "2025-12-04T14:57:45.41Z" }, - { url = "https://files.pythonhosted.org/packages/93/79/d2c70cae6e823fac36c3bbc9077962105052b7ef81db2f01ec3b9bf17e2b/greenlet-3.3.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dcd2bdbd444ff340e8d6bdf54d2f206ccddbb3ccfdcd3c25bf4afaa7b8f0cf45", size = 671388, upload-time = "2025-12-04T15:07:15.789Z" }, - { url = "https://files.pythonhosted.org/packages/b8/14/bab308fc2c1b5228c3224ec2bf928ce2e4d21d8046c161e44a2012b5203e/greenlet-3.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5773edda4dc00e173820722711d043799d3adb4f01731f40619e07ea2750b955", size = 660166, upload-time = "2025-12-04T14:26:05.099Z" }, - { url = "https://files.pythonhosted.org/packages/4b/d2/91465d39164eaa0085177f61983d80ffe746c5a1860f009811d498e7259c/greenlet-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ac0549373982b36d5fd5d30beb8a7a33ee541ff98d2b502714a09f1169f31b55", size = 1615193, upload-time = "2025-12-04T15:04:27.041Z" }, - { url = "https://files.pythonhosted.org/packages/42/1b/83d110a37044b92423084d52d5d5a3b3a73cafb51b547e6d7366ff62eff1/greenlet-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d198d2d977460358c3b3a4dc844f875d1adb33817f0613f663a656f463764ccc", size = 1683653, upload-time = "2025-12-04T14:27:32.366Z" }, - { url = "https://files.pythonhosted.org/packages/7c/9a/9030e6f9aa8fd7808e9c31ba4c38f87c4f8ec324ee67431d181fe396d705/greenlet-3.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:73f51dd0e0bdb596fb0417e475fa3c5e32d4c83638296e560086b8d7da7c4170", size = 305387, upload-time = "2025-12-04T14:26:51.063Z" }, - { url = "https://files.pythonhosted.org/packages/a0/66/bd6317bc5932accf351fc19f177ffba53712a202f9df10587da8df257c7e/greenlet-3.3.0-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:d6ed6f85fae6cdfdb9ce04c9bf7a08d666cfcfb914e7d006f44f840b46741931", size = 282638, upload-time = "2025-12-04T14:25:20.941Z" }, - { url = "https://files.pythonhosted.org/packages/30/cf/cc81cb030b40e738d6e69502ccbd0dd1bced0588e958f9e757945de24404/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9125050fcf24554e69c4cacb086b87b3b55dc395a8b3ebe6487b045b2614388", size = 651145, upload-time = "2025-12-04T14:50:11.039Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ea/1020037b5ecfe95ca7df8d8549959baceb8186031da83d5ecceff8b08cd2/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:87e63ccfa13c0a0f6234ed0add552af24cc67dd886731f2261e46e241608bee3", size = 654236, upload-time = "2025-12-04T14:57:47.007Z" }, - { url = "https://files.pythonhosted.org/packages/69/cc/1e4bae2e45ca2fa55299f4e85854606a78ecc37fead20d69322f96000504/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2662433acbca297c9153a4023fe2161c8dcfdcc91f10433171cf7e7d94ba2221", size = 662506, upload-time = "2025-12-04T15:07:16.906Z" }, - { url = "https://files.pythonhosted.org/packages/57/b9/f8025d71a6085c441a7eaff0fd928bbb275a6633773667023d19179fe815/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3c6e9b9c1527a78520357de498b0e709fb9e2f49c3a513afd5a249007261911b", size = 653783, upload-time = "2025-12-04T14:26:06.225Z" }, - { url = "https://files.pythonhosted.org/packages/f6/c7/876a8c7a7485d5d6b5c6821201d542ef28be645aa024cfe1145b35c120c1/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:286d093f95ec98fdd92fcb955003b8a3d054b4e2cab3e2707a5039e7b50520fd", size = 1614857, upload-time = "2025-12-04T15:04:28.484Z" }, - { url = "https://files.pythonhosted.org/packages/4f/dc/041be1dff9f23dac5f48a43323cd0789cb798342011c19a248d9c9335536/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c10513330af5b8ae16f023e8ddbfb486ab355d04467c4679c5cfe4659975dd9", size = 1676034, upload-time = "2025-12-04T14:27:33.531Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ab/d26750f2b7242c2b90ea2ad71de70cfcd73a948a49513188a0fc0d6fc15a/greenlet-3.3.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:7ab327905cabb0622adca5971e488064e35115430cec2c35a50fd36e72a315b3", size = 275205, upload-time = "2026-01-23T15:30:24.556Z" }, + { url = "https://files.pythonhosted.org/packages/10/d3/be7d19e8fad7c5a78eeefb2d896a08cd4643e1e90c605c4be3b46264998f/greenlet-3.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65be2f026ca6a176f88fb935ee23c18333ccea97048076aef4db1ef5bc0713ac", size = 599284, upload-time = "2026-01-23T16:00:58.584Z" }, + { url = "https://files.pythonhosted.org/packages/ae/21/fe703aaa056fdb0f17e5afd4b5c80195bbdab701208918938bd15b00d39b/greenlet-3.3.1-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7a3ae05b3d225b4155bda56b072ceb09d05e974bc74be6c3fc15463cf69f33fd", size = 610274, upload-time = "2026-01-23T16:05:29.312Z" }, + { url = "https://files.pythonhosted.org/packages/06/00/95df0b6a935103c0452dad2203f5be8377e551b8466a29650c4c5a5af6cc/greenlet-3.3.1-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:12184c61e5d64268a160226fb4818af4df02cfead8379d7f8b99a56c3a54ff3e", size = 624375, upload-time = "2026-01-23T16:15:55.915Z" }, + { url = "https://files.pythonhosted.org/packages/cb/86/5c6ab23bb3c28c21ed6bebad006515cfe08b04613eb105ca0041fecca852/greenlet-3.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6423481193bbbe871313de5fd06a082f2649e7ce6e08015d2a76c1e9186ca5b3", size = 612904, upload-time = "2026-01-23T15:32:52.317Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/7949994264e22639e40718c2daf6f6df5169bf48fb038c008a489ec53a50/greenlet-3.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:33a956fe78bbbda82bfc95e128d61129b32d66bcf0a20a1f0c08aa4839ffa951", size = 1567316, upload-time = "2026-01-23T16:04:23.316Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6e/d73c94d13b6465e9f7cd6231c68abde838bb22408596c05d9059830b7872/greenlet-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b065d3284be43728dd280f6f9a13990b56470b81be20375a207cdc814a983f2", size = 1636549, upload-time = "2026-01-23T15:33:48.643Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b3/c9c23a6478b3bcc91f979ce4ca50879e4d0b2bd7b9a53d8ecded719b92e2/greenlet-3.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:27289986f4e5b0edec7b5a91063c109f0276abb09a7e9bdab08437525977c946", size = 227042, upload-time = "2026-01-23T15:33:58.216Z" }, + { url = "https://files.pythonhosted.org/packages/90/e7/824beda656097edee36ab15809fd063447b200cc03a7f6a24c34d520bc88/greenlet-3.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:2f080e028001c5273e0b42690eaf359aeef9cb1389da0f171ea51a5dc3c7608d", size = 226294, upload-time = "2026-01-23T15:30:52.73Z" }, + { url = "https://files.pythonhosted.org/packages/ae/fb/011c7c717213182caf78084a9bea51c8590b0afda98001f69d9f853a495b/greenlet-3.3.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:bd59acd8529b372775cd0fcbc5f420ae20681c5b045ce25bd453ed8455ab99b5", size = 275737, upload-time = "2026-01-23T15:32:16.889Z" }, + { url = "https://files.pythonhosted.org/packages/41/2e/a3a417d620363fdbb08a48b1dd582956a46a61bf8fd27ee8164f9dfe87c2/greenlet-3.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b31c05dd84ef6871dd47120386aed35323c944d86c3d91a17c4b8d23df62f15b", size = 646422, upload-time = "2026-01-23T16:01:00.354Z" }, + { url = "https://files.pythonhosted.org/packages/b4/09/c6c4a0db47defafd2d6bab8ddfe47ad19963b4e30f5bed84d75328059f8c/greenlet-3.3.1-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02925a0bfffc41e542c70aa14c7eda3593e4d7e274bfcccca1827e6c0875902e", size = 658219, upload-time = "2026-01-23T16:05:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/e2/89/b95f2ddcc5f3c2bc09c8ee8d77be312df7f9e7175703ab780f2014a0e781/greenlet-3.3.1-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3e0f3878ca3a3ff63ab4ea478585942b53df66ddde327b59ecb191b19dbbd62d", size = 671455, upload-time = "2026-01-23T16:15:57.232Z" }, + { url = "https://files.pythonhosted.org/packages/80/38/9d42d60dffb04b45f03dbab9430898352dba277758640751dc5cc316c521/greenlet-3.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34a729e2e4e4ffe9ae2408d5ecaf12f944853f40ad724929b7585bca808a9d6f", size = 660237, upload-time = "2026-01-23T15:32:53.967Z" }, + { url = "https://files.pythonhosted.org/packages/96/61/373c30b7197f9e756e4c81ae90a8d55dc3598c17673f91f4d31c3c689c3f/greenlet-3.3.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:aec9ab04e82918e623415947921dea15851b152b822661cce3f8e4393c3df683", size = 1615261, upload-time = "2026-01-23T16:04:25.066Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d3/ca534310343f5945316f9451e953dcd89b36fe7a19de652a1dc5a0eeef3f/greenlet-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:71c767cf281a80d02b6c1bdc41c9468e1f5a494fb11bc8688c360524e273d7b1", size = 1683719, upload-time = "2026-01-23T15:33:50.61Z" }, + { url = "https://files.pythonhosted.org/packages/52/cb/c21a3fd5d2c9c8b622e7bede6d6d00e00551a5ee474ea6d831b5f567a8b4/greenlet-3.3.1-cp314-cp314-win_amd64.whl", hash = "sha256:96aff77af063b607f2489473484e39a0bbae730f2ea90c9e5606c9b73c44174a", size = 228125, upload-time = "2026-01-23T15:32:45.265Z" }, + { url = "https://files.pythonhosted.org/packages/6a/8e/8a2db6d11491837af1de64b8aff23707c6e85241be13c60ed399a72e2ef8/greenlet-3.3.1-cp314-cp314-win_arm64.whl", hash = "sha256:b066e8b50e28b503f604fa538adc764a638b38cf8e81e025011d26e8a627fa79", size = 227519, upload-time = "2026-01-23T15:31:47.284Z" }, + { url = "https://files.pythonhosted.org/packages/28/24/cbbec49bacdcc9ec652a81d3efef7b59f326697e7edf6ed775a5e08e54c2/greenlet-3.3.1-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:3e63252943c921b90abb035ebe9de832c436401d9c45f262d80e2d06cc659242", size = 282706, upload-time = "2026-01-23T15:33:05.525Z" }, + { url = "https://files.pythonhosted.org/packages/86/2e/4f2b9323c144c4fe8842a4e0d92121465485c3c2c5b9e9b30a52e80f523f/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76e39058e68eb125de10c92524573924e827927df5d3891fbc97bd55764a8774", size = 651209, upload-time = "2026-01-23T16:01:01.517Z" }, + { url = "https://files.pythonhosted.org/packages/d9/87/50ca60e515f5bb55a2fbc5f0c9b5b156de7d2fc51a0a69abc9d23914a237/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9f9d5e7a9310b7a2f416dd13d2e3fd8b42d803968ea580b7c0f322ccb389b97", size = 654300, upload-time = "2026-01-23T16:05:32.199Z" }, + { url = "https://files.pythonhosted.org/packages/7c/25/c51a63f3f463171e09cb586eb64db0861eb06667ab01a7968371a24c4f3b/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4b9721549a95db96689458a1e0ae32412ca18776ed004463df3a9299c1b257ab", size = 662574, upload-time = "2026-01-23T16:15:58.364Z" }, + { url = "https://files.pythonhosted.org/packages/1d/94/74310866dfa2b73dd08659a3d18762f83985ad3281901ba0ee9a815194fb/greenlet-3.3.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92497c78adf3ac703b57f1e3813c2d874f27f71a178f9ea5887855da413cd6d2", size = 653842, upload-time = "2026-01-23T15:32:55.671Z" }, + { url = "https://files.pythonhosted.org/packages/97/43/8bf0ffa3d498eeee4c58c212a3905dd6146c01c8dc0b0a046481ca29b18c/greenlet-3.3.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ed6b402bc74d6557a705e197d47f9063733091ed6357b3de33619d8a8d93ac53", size = 1614917, upload-time = "2026-01-23T16:04:26.276Z" }, + { url = "https://files.pythonhosted.org/packages/89/90/a3be7a5f378fc6e84abe4dcfb2ba32b07786861172e502388b4c90000d1b/greenlet-3.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:59913f1e5ada20fde795ba906916aea25d442abcc0593fba7e26c92b7ad76249", size = 1676092, upload-time = "2026-01-23T15:33:52.176Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2b/98c7f93e6db9977aaee07eb1e51ca63bd5f779b900d362791d3252e60558/greenlet-3.3.1-cp314-cp314t-win_amd64.whl", hash = "sha256:301860987846c24cb8964bdec0e31a96ad4a2a801b41b4ef40963c1b44f33451", size = 233181, upload-time = "2026-01-23T15:33:00.29Z" }, ] [[package]] @@ -494,18 +528,9 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, ] -[[package]] -name = "hupper" -version = "1.12.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bd/e6/bb064537288eee2be97f3e0fcad8e7242bc5bbe9664ae57c7d29b3fa18c2/hupper-1.12.1.tar.gz", hash = "sha256:06bf54170ff4ecf4c84ad5f188dee3901173ab449c2608ad05b9bfd6b13e32eb", size = 43231, upload-time = "2024-01-26T09:14:57.294Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/7d/3888833e4f5ea56af4a9935066ec09a83228e533d7b8877f65889d706ee4/hupper-1.12.1-py3-none-any.whl", hash = "sha256:e872b959f09d90be5fb615bd2e62de89a0b57efc037bdf9637fb09cdf8552b19", size = 22830, upload-time = "2024-01-26T09:14:55.176Z" }, -] - [[package]] name = "icecream" -version = "2.1.8" +version = "2.1.10" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "asttokens" }, @@ -513,9 +538,9 @@ dependencies = [ { name = "executing" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d0/be/a89ec4132ddb4481f9587f736b8a01a07378f9e71de73549223ff1cd41f7/icecream-2.1.8.tar.gz", hash = "sha256:37269bbc62b02f0d85bfaf3a0eb4df272c967fad059f7ddcdaee5303ea2b2a62", size = 18337, upload-time = "2025-09-14T09:31:09.938Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/e2/3d064dfedbbc16687e0f56cd9b1d55e4e6dfd13d61b9435b61c250aaef3c/icecream-2.1.10.tar.gz", hash = "sha256:15900126ba7dbe1f83819583cbe5ff79a2943224600878d89307e4633b32e528", size = 13924, upload-time = "2026-01-21T07:34:17.652Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/5f/f877d2cfcad41c0db98b120872f67b805fde5e6d407e584e9edfc9dec35c/icecream-2.1.8-py3-none-any.whl", hash = "sha256:10b1c39dcb54cb28eb487bac56c35dbf9c2b2f406d24340e1a615c3f17274852", size = 15714, upload-time = "2025-09-14T09:31:08.647Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4f/91c4ee1af60bb4b2519540fd46fb56dfc70ede0cf3d97f57aff62d61190b/icecream-2.1.10-py3-none-any.whl", hash = "sha256:6b0ae3e899de12954cd26d8611dcff86518ff19f40deef333427da2ccf4036b2", size = 16373, upload-time = "2026-01-21T07:34:15.801Z" }, ] [[package]] @@ -528,63 +553,75 @@ wheels = [ ] [[package]] -name = "jiter" -version = "0.12.0" +name = "itsdangerous" +version = "2.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz", hash = "sha256:64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b", size = 168294, upload-time = "2025-11-09T20:49:23.302Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/a6/97209693b177716e22576ee1161674d1d58029eb178e01866a0422b69224/jiter-0.12.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6cc49d5130a14b732e0612bc76ae8db3b49898732223ef8b7599aa8d9810683e", size = 313658, upload-time = "2025-11-09T20:47:44.424Z" }, - { url = "https://files.pythonhosted.org/packages/06/4d/125c5c1537c7d8ee73ad3d530a442d6c619714b95027143f1b61c0b4dfe0/jiter-0.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:37f27a32ce36364d2fa4f7fdc507279db604d27d239ea2e044c8f148410defe1", size = 318605, upload-time = "2025-11-09T20:47:45.973Z" }, - { url = "https://files.pythonhosted.org/packages/99/bf/a840b89847885064c41a5f52de6e312e91fa84a520848ee56c97e4fa0205/jiter-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbc0944aa3d4b4773e348cda635252824a78f4ba44328e042ef1ff3f6080d1cf", size = 349803, upload-time = "2025-11-09T20:47:47.535Z" }, - { url = "https://files.pythonhosted.org/packages/8a/88/e63441c28e0db50e305ae23e19c1d8fae012d78ed55365da392c1f34b09c/jiter-0.12.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:da25c62d4ee1ffbacb97fac6dfe4dcd6759ebdc9015991e92a6eae5816287f44", size = 365120, upload-time = "2025-11-09T20:47:49.284Z" }, - { url = "https://files.pythonhosted.org/packages/0a/7c/49b02714af4343970eb8aca63396bc1c82fa01197dbb1e9b0d274b550d4e/jiter-0.12.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:048485c654b838140b007390b8182ba9774621103bd4d77c9c3f6f117474ba45", size = 479918, upload-time = "2025-11-09T20:47:50.807Z" }, - { url = "https://files.pythonhosted.org/packages/69/ba/0a809817fdd5a1db80490b9150645f3aae16afad166960bcd562be194f3b/jiter-0.12.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:635e737fbb7315bef0037c19b88b799143d2d7d3507e61a76751025226b3ac87", size = 379008, upload-time = "2025-11-09T20:47:52.211Z" }, - { url = "https://files.pythonhosted.org/packages/5f/c3/c9fc0232e736c8877d9e6d83d6eeb0ba4e90c6c073835cc2e8f73fdeef51/jiter-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e017c417b1ebda911bd13b1e40612704b1f5420e30695112efdbed8a4b389ed", size = 361785, upload-time = "2025-11-09T20:47:53.512Z" }, - { url = "https://files.pythonhosted.org/packages/96/61/61f69b7e442e97ca6cd53086ddc1cf59fb830549bc72c0a293713a60c525/jiter-0.12.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:89b0bfb8b2bf2351fba36bb211ef8bfceba73ef58e7f0c68fb67b5a2795ca2f9", size = 386108, upload-time = "2025-11-09T20:47:54.893Z" }, - { url = "https://files.pythonhosted.org/packages/e9/2e/76bb3332f28550c8f1eba3bf6e5efe211efda0ddbbaf24976bc7078d42a5/jiter-0.12.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:f5aa5427a629a824a543672778c9ce0c5e556550d1569bb6ea28a85015287626", size = 519937, upload-time = "2025-11-09T20:47:56.253Z" }, - { url = "https://files.pythonhosted.org/packages/84/d6/fa96efa87dc8bff2094fb947f51f66368fa56d8d4fc9e77b25d7fbb23375/jiter-0.12.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed53b3d6acbcb0fd0b90f20c7cb3b24c357fe82a3518934d4edfa8c6898e498c", size = 510853, upload-time = "2025-11-09T20:47:58.32Z" }, - { url = "https://files.pythonhosted.org/packages/8a/28/93f67fdb4d5904a708119a6ab58a8f1ec226ff10a94a282e0215402a8462/jiter-0.12.0-cp313-cp313-win32.whl", hash = "sha256:4747de73d6b8c78f2e253a2787930f4fffc68da7fa319739f57437f95963c4de", size = 204699, upload-time = "2025-11-09T20:47:59.686Z" }, - { url = "https://files.pythonhosted.org/packages/c4/1f/30b0eb087045a0abe2a5c9c0c0c8da110875a1d3be83afd4a9a4e548be3c/jiter-0.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:e25012eb0c456fcc13354255d0338cd5397cce26c77b2832b3c4e2e255ea5d9a", size = 204258, upload-time = "2025-11-09T20:48:01.01Z" }, - { url = "https://files.pythonhosted.org/packages/2c/f4/2b4daf99b96bce6fc47971890b14b2a36aef88d7beb9f057fafa032c6141/jiter-0.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:c97b92c54fe6110138c872add030a1f99aea2401ddcdaa21edf74705a646dd60", size = 185503, upload-time = "2025-11-09T20:48:02.35Z" }, - { url = "https://files.pythonhosted.org/packages/39/ca/67bb15a7061d6fe20b9b2a2fd783e296a1e0f93468252c093481a2f00efa/jiter-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:53839b35a38f56b8be26a7851a48b89bc47e5d88e900929df10ed93b95fea3d6", size = 317965, upload-time = "2025-11-09T20:48:03.783Z" }, - { url = "https://files.pythonhosted.org/packages/18/af/1788031cd22e29c3b14bc6ca80b16a39a0b10e611367ffd480c06a259831/jiter-0.12.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94f669548e55c91ab47fef8bddd9c954dab1938644e715ea49d7e117015110a4", size = 345831, upload-time = "2025-11-09T20:48:05.55Z" }, - { url = "https://files.pythonhosted.org/packages/05/17/710bf8472d1dff0d3caf4ced6031060091c1320f84ee7d5dcbed1f352417/jiter-0.12.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:351d54f2b09a41600ffea43d081522d792e81dcfb915f6d2d242744c1cc48beb", size = 361272, upload-time = "2025-11-09T20:48:06.951Z" }, - { url = "https://files.pythonhosted.org/packages/fb/f1/1dcc4618b59761fef92d10bcbb0b038b5160be653b003651566a185f1a5c/jiter-0.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2a5e90604620f94bf62264e7c2c038704d38217b7465b863896c6d7c902b06c7", size = 204604, upload-time = "2025-11-09T20:48:08.328Z" }, - { url = "https://files.pythonhosted.org/packages/d9/32/63cb1d9f1c5c6632a783c0052cde9ef7ba82688f7065e2f0d5f10a7e3edb/jiter-0.12.0-cp313-cp313t-win_arm64.whl", hash = "sha256:88ef757017e78d2860f96250f9393b7b577b06a956ad102c29c8237554380db3", size = 185628, upload-time = "2025-11-09T20:48:09.572Z" }, - { url = "https://files.pythonhosted.org/packages/a8/99/45c9f0dbe4a1416b2b9a8a6d1236459540f43d7fb8883cff769a8db0612d/jiter-0.12.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:c46d927acd09c67a9fb1416df45c5a04c27e83aae969267e98fba35b74e99525", size = 312478, upload-time = "2025-11-09T20:48:10.898Z" }, - { url = "https://files.pythonhosted.org/packages/4c/a7/54ae75613ba9e0f55fcb0bc5d1f807823b5167cc944e9333ff322e9f07dd/jiter-0.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:774ff60b27a84a85b27b88cd5583899c59940bcc126caca97eb2a9df6aa00c49", size = 318706, upload-time = "2025-11-09T20:48:12.266Z" }, - { url = "https://files.pythonhosted.org/packages/59/31/2aa241ad2c10774baf6c37f8b8e1f39c07db358f1329f4eb40eba179c2a2/jiter-0.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5433fab222fb072237df3f637d01b81f040a07dcac1cb4a5c75c7aa9ed0bef1", size = 351894, upload-time = "2025-11-09T20:48:13.673Z" }, - { url = "https://files.pythonhosted.org/packages/54/4f/0f2759522719133a9042781b18cc94e335b6d290f5e2d3e6899d6af933e3/jiter-0.12.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8c593c6e71c07866ec6bfb790e202a833eeec885022296aff6b9e0b92d6a70e", size = 365714, upload-time = "2025-11-09T20:48:15.083Z" }, - { url = "https://files.pythonhosted.org/packages/dc/6f/806b895f476582c62a2f52c453151edd8a0fde5411b0497baaa41018e878/jiter-0.12.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:90d32894d4c6877a87ae00c6b915b609406819dce8bc0d4e962e4de2784e567e", size = 478989, upload-time = "2025-11-09T20:48:16.706Z" }, - { url = "https://files.pythonhosted.org/packages/86/6c/012d894dc6e1033acd8db2b8346add33e413ec1c7c002598915278a37f79/jiter-0.12.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:798e46eed9eb10c3adbbacbd3bdb5ecd4cf7064e453d00dbef08802dae6937ff", size = 378615, upload-time = "2025-11-09T20:48:18.614Z" }, - { url = "https://files.pythonhosted.org/packages/87/30/d718d599f6700163e28e2c71c0bbaf6dace692e7df2592fd793ac9276717/jiter-0.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3f1368f0a6719ea80013a4eb90ba72e75d7ea67cfc7846db2ca504f3df0169a", size = 364745, upload-time = "2025-11-09T20:48:20.117Z" }, - { url = "https://files.pythonhosted.org/packages/8f/85/315b45ce4b6ddc7d7fceca24068543b02bdc8782942f4ee49d652e2cc89f/jiter-0.12.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65f04a9d0b4406f7e51279710b27484af411896246200e461d80d3ba0caa901a", size = 386502, upload-time = "2025-11-09T20:48:21.543Z" }, - { url = "https://files.pythonhosted.org/packages/74/0b/ce0434fb40c5b24b368fe81b17074d2840748b4952256bab451b72290a49/jiter-0.12.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:fd990541982a24281d12b67a335e44f117e4c6cbad3c3b75c7dea68bf4ce3a67", size = 519845, upload-time = "2025-11-09T20:48:22.964Z" }, - { url = "https://files.pythonhosted.org/packages/e8/a3/7a7a4488ba052767846b9c916d208b3ed114e3eb670ee984e4c565b9cf0d/jiter-0.12.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:b111b0e9152fa7df870ecaebb0bd30240d9f7fff1f2003bcb4ed0f519941820b", size = 510701, upload-time = "2025-11-09T20:48:24.483Z" }, - { url = "https://files.pythonhosted.org/packages/c3/16/052ffbf9d0467b70af24e30f91e0579e13ded0c17bb4a8eb2aed3cb60131/jiter-0.12.0-cp314-cp314-win32.whl", hash = "sha256:a78befb9cc0a45b5a5a0d537b06f8544c2ebb60d19d02c41ff15da28a9e22d42", size = 205029, upload-time = "2025-11-09T20:48:25.749Z" }, - { url = "https://files.pythonhosted.org/packages/e4/18/3cf1f3f0ccc789f76b9a754bdb7a6977e5d1d671ee97a9e14f7eb728d80e/jiter-0.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:e1fe01c082f6aafbe5c8faf0ff074f38dfb911d53f07ec333ca03f8f6226debf", size = 204960, upload-time = "2025-11-09T20:48:27.415Z" }, - { url = "https://files.pythonhosted.org/packages/02/68/736821e52ecfdeeb0f024b8ab01b5a229f6b9293bbdb444c27efade50b0f/jiter-0.12.0-cp314-cp314-win_arm64.whl", hash = "sha256:d72f3b5a432a4c546ea4bedc84cce0c3404874f1d1676260b9c7f048a9855451", size = 185529, upload-time = "2025-11-09T20:48:29.125Z" }, - { url = "https://files.pythonhosted.org/packages/30/61/12ed8ee7a643cce29ac97c2281f9ce3956eb76b037e88d290f4ed0d41480/jiter-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e6ded41aeba3603f9728ed2b6196e4df875348ab97b28fc8afff115ed42ba7a7", size = 318974, upload-time = "2025-11-09T20:48:30.87Z" }, - { url = "https://files.pythonhosted.org/packages/2d/c6/f3041ede6d0ed5e0e79ff0de4c8f14f401bbf196f2ef3971cdbe5fd08d1d/jiter-0.12.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a947920902420a6ada6ad51892082521978e9dd44a802663b001436e4b771684", size = 345932, upload-time = "2025-11-09T20:48:32.658Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5d/4d94835889edd01ad0e2dbfc05f7bdfaed46292e7b504a6ac7839aa00edb/jiter-0.12.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:add5e227e0554d3a52cf390a7635edaffdf4f8fce4fdbcef3cc2055bb396a30c", size = 367243, upload-time = "2025-11-09T20:48:34.093Z" }, - { url = "https://files.pythonhosted.org/packages/fd/76/0051b0ac2816253a99d27baf3dda198663aff882fa6ea7deeb94046da24e/jiter-0.12.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9b1cda8fcb736250d7e8711d4580ebf004a46771432be0ae4796944b5dfa5d", size = 479315, upload-time = "2025-11-09T20:48:35.507Z" }, - { url = "https://files.pythonhosted.org/packages/70/ae/83f793acd68e5cb24e483f44f482a1a15601848b9b6f199dacb970098f77/jiter-0.12.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb12a2223fe0135c7ff1356a143d57f95bbf1f4a66584f1fc74df21d86b993", size = 380714, upload-time = "2025-11-09T20:48:40.014Z" }, - { url = "https://files.pythonhosted.org/packages/b1/5e/4808a88338ad2c228b1126b93fcd8ba145e919e886fe910d578230dabe3b/jiter-0.12.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c596cc0f4cb574877550ce4ecd51f8037469146addd676d7c1a30ebe6391923f", size = 365168, upload-time = "2025-11-09T20:48:41.462Z" }, - { url = "https://files.pythonhosted.org/packages/0c/d4/04619a9e8095b42aef436b5aeb4c0282b4ff1b27d1db1508df9f5dc82750/jiter-0.12.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ab4c823b216a4aeab3fdbf579c5843165756bd9ad87cc6b1c65919c4715f783", size = 387893, upload-time = "2025-11-09T20:48:42.921Z" }, - { url = "https://files.pythonhosted.org/packages/17/ea/d3c7e62e4546fdc39197fa4a4315a563a89b95b6d54c0d25373842a59cbe/jiter-0.12.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:e427eee51149edf962203ff8db75a7514ab89be5cb623fb9cea1f20b54f1107b", size = 520828, upload-time = "2025-11-09T20:48:44.278Z" }, - { url = "https://files.pythonhosted.org/packages/cc/0b/c6d3562a03fd767e31cb119d9041ea7958c3c80cb3d753eafb19b3b18349/jiter-0.12.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:edb868841f84c111255ba5e80339d386d937ec1fdce419518ce1bd9370fac5b6", size = 511009, upload-time = "2025-11-09T20:48:45.726Z" }, - { url = "https://files.pythonhosted.org/packages/aa/51/2cb4468b3448a8385ebcd15059d325c9ce67df4e2758d133ab9442b19834/jiter-0.12.0-cp314-cp314t-win32.whl", hash = "sha256:8bbcfe2791dfdb7c5e48baf646d37a6a3dcb5a97a032017741dea9f817dca183", size = 205110, upload-time = "2025-11-09T20:48:47.033Z" }, - { url = "https://files.pythonhosted.org/packages/b2/c5/ae5ec83dec9c2d1af805fd5fe8f74ebded9c8670c5210ec7820ce0dbeb1e/jiter-0.12.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2fa940963bf02e1d8226027ef461e36af472dea85d36054ff835aeed944dd873", size = 205223, upload-time = "2025-11-09T20:48:49.076Z" }, - { url = "https://files.pythonhosted.org/packages/97/9a/3c5391907277f0e55195550cf3fa8e293ae9ee0c00fb402fec1e38c0c82f/jiter-0.12.0-cp314-cp314t-win_arm64.whl", hash = "sha256:506c9708dd29b27288f9f8f1140c3cb0e3d8ddb045956d7757b1fa0e0f39a473", size = 185564, upload-time = "2025-11-09T20:48:50.376Z" }, + { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, ] [[package]] -name = "legacy-cgi" -version = "2.6.4" +name = "jinja2" +version = "3.1.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f4/9c/91c7d2c5ebbdf0a1a510bfa0ddeaa2fbb5b78677df5ac0a0aa51cf7125b0/legacy_cgi-2.6.4.tar.gz", hash = "sha256:abb9dfc7835772f7c9317977c63253fd22a7484b5c9bbcdca60a29dcce97c577", size = 24603, upload-time = "2025-10-27T05:20:05.395Z" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8c/7e/e7394eeb49a41cc514b3eb49020223666cbf40d86f5721c2f07871e6d84a/legacy_cgi-2.6.4-py3-none-any.whl", hash = "sha256:7e235ce58bf1e25d1fc9b2d299015e4e2cd37305eccafec1e6bac3fc04b878cd", size = 20035, upload-time = "2025-10-27T05:20:04.289Z" }, + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jiter" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/5e/4ec91646aee381d01cdb9974e30882c9cd3b8c5d1079d6b5ff4af522439a/jiter-0.13.0.tar.gz", hash = "sha256:f2839f9c2c7e2dffc1bc5929a510e14ce0a946be9365fd1219e7ef342dae14f4", size = 164847, upload-time = "2026-02-02T12:37:56.441Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/9c/7ee5a6ff4b9991e1a45263bfc46731634c4a2bde27dfda6c8251df2d958c/jiter-0.13.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1f8a55b848cbabf97d861495cd65f1e5c590246fabca8b48e1747c4dfc8f85bf", size = 306897, upload-time = "2026-02-02T12:36:16.748Z" }, + { url = "https://files.pythonhosted.org/packages/7c/02/be5b870d1d2be5dd6a91bdfb90f248fbb7dcbd21338f092c6b89817c3dbf/jiter-0.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f556aa591c00f2c45eb1b89f68f52441a016034d18b65da60e2d2875bbbf344a", size = 317507, upload-time = "2026-02-02T12:36:18.351Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/b25d2ec333615f5f284f3a4024f7ce68cfa0604c322c6808b2344c7f5d2b/jiter-0.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7e1d61da332ec412350463891923f960c3073cf1aae93b538f0bb4c8cd46efb", size = 350560, upload-time = "2026-02-02T12:36:19.746Z" }, + { url = "https://files.pythonhosted.org/packages/be/ec/74dcb99fef0aca9fbe56b303bf79f6bd839010cb18ad41000bf6cc71eec0/jiter-0.13.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3097d665a27bc96fd9bbf7f86178037db139f319f785e4757ce7ccbf390db6c2", size = 363232, upload-time = "2026-02-02T12:36:21.243Z" }, + { url = "https://files.pythonhosted.org/packages/1b/37/f17375e0bb2f6a812d4dd92d7616e41917f740f3e71343627da9db2824ce/jiter-0.13.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d01ecc3a8cbdb6f25a37bd500510550b64ddf9f7d64a107d92f3ccb25035d0f", size = 483727, upload-time = "2026-02-02T12:36:22.688Z" }, + { url = "https://files.pythonhosted.org/packages/77/d2/a71160a5ae1a1e66c1395b37ef77da67513b0adba73b993a27fbe47eb048/jiter-0.13.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed9bbc30f5d60a3bdf63ae76beb3f9db280d7f195dfcfa61af792d6ce912d159", size = 370799, upload-time = "2026-02-02T12:36:24.106Z" }, + { url = "https://files.pythonhosted.org/packages/01/99/ed5e478ff0eb4e8aa5fd998f9d69603c9fd3f32de3bd16c2b1194f68361c/jiter-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98fbafb6e88256f4454de33c1f40203d09fc33ed19162a68b3b257b29ca7f663", size = 359120, upload-time = "2026-02-02T12:36:25.519Z" }, + { url = "https://files.pythonhosted.org/packages/16/be/7ffd08203277a813f732ba897352797fa9493faf8dc7995b31f3d9cb9488/jiter-0.13.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5467696f6b827f1116556cb0db620440380434591e93ecee7fd14d1a491b6daa", size = 390664, upload-time = "2026-02-02T12:36:26.866Z" }, + { url = "https://files.pythonhosted.org/packages/d1/84/e0787856196d6d346264d6dcccb01f741e5f0bd014c1d9a2ebe149caf4f3/jiter-0.13.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:2d08c9475d48b92892583df9da592a0e2ac49bcd41fae1fec4f39ba6cf107820", size = 513543, upload-time = "2026-02-02T12:36:28.217Z" }, + { url = "https://files.pythonhosted.org/packages/65/50/ecbd258181c4313cf79bca6c88fb63207d04d5bf5e4f65174114d072aa55/jiter-0.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:aed40e099404721d7fcaf5b89bd3b4568a4666358bcac7b6b15c09fb6252ab68", size = 547262, upload-time = "2026-02-02T12:36:29.678Z" }, + { url = "https://files.pythonhosted.org/packages/27/da/68f38d12e7111d2016cd198161b36e1f042bd115c169255bcb7ec823a3bf/jiter-0.13.0-cp313-cp313-win32.whl", hash = "sha256:36ebfbcffafb146d0e6ffb3e74d51e03d9c35ce7c625c8066cdbfc7b953bdc72", size = 200630, upload-time = "2026-02-02T12:36:31.808Z" }, + { url = "https://files.pythonhosted.org/packages/25/65/3bd1a972c9a08ecd22eb3b08a95d1941ebe6938aea620c246cf426ae09c2/jiter-0.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:8d76029f077379374cf0dbc78dbe45b38dec4a2eb78b08b5194ce836b2517afc", size = 202602, upload-time = "2026-02-02T12:36:33.679Z" }, + { url = "https://files.pythonhosted.org/packages/15/fe/13bd3678a311aa67686bb303654792c48206a112068f8b0b21426eb6851e/jiter-0.13.0-cp313-cp313-win_arm64.whl", hash = "sha256:bb7613e1a427cfcb6ea4544f9ac566b93d5bf67e0d48c787eca673ff9c9dff2b", size = 185939, upload-time = "2026-02-02T12:36:35.065Z" }, + { url = "https://files.pythonhosted.org/packages/49/19/a929ec002ad3228bc97ca01dbb14f7632fffdc84a95ec92ceaf4145688ae/jiter-0.13.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fa476ab5dd49f3bf3a168e05f89358c75a17608dbabb080ef65f96b27c19ab10", size = 316616, upload-time = "2026-02-02T12:36:36.579Z" }, + { url = "https://files.pythonhosted.org/packages/52/56/d19a9a194afa37c1728831e5fb81b7722c3de18a3109e8f282bfc23e587a/jiter-0.13.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade8cb6ff5632a62b7dbd4757d8c5573f7a2e9ae285d6b5b841707d8363205ef", size = 346850, upload-time = "2026-02-02T12:36:38.058Z" }, + { url = "https://files.pythonhosted.org/packages/36/4a/94e831c6bf287754a8a019cb966ed39ff8be6ab78cadecf08df3bb02d505/jiter-0.13.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9950290340acc1adaded363edd94baebcee7dabdfa8bee4790794cd5cfad2af6", size = 358551, upload-time = "2026-02-02T12:36:39.417Z" }, + { url = "https://files.pythonhosted.org/packages/a2/ec/a4c72c822695fa80e55d2b4142b73f0012035d9fcf90eccc56bc060db37c/jiter-0.13.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2b4972c6df33731aac0742b64fd0d18e0a69bc7d6e03108ce7d40c85fd9e3e6d", size = 201950, upload-time = "2026-02-02T12:36:40.791Z" }, + { url = "https://files.pythonhosted.org/packages/b6/00/393553ec27b824fbc29047e9c7cd4a3951d7fbe4a76743f17e44034fa4e4/jiter-0.13.0-cp313-cp313t-win_arm64.whl", hash = "sha256:701a1e77d1e593c1b435315ff625fd071f0998c5f02792038a5ca98899261b7d", size = 185852, upload-time = "2026-02-02T12:36:42.077Z" }, + { url = "https://files.pythonhosted.org/packages/6e/f5/f1997e987211f6f9bd71b8083047b316208b4aca0b529bb5f8c96c89ef3e/jiter-0.13.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:cc5223ab19fe25e2f0bf2643204ad7318896fe3729bf12fde41b77bfc4fafff0", size = 308804, upload-time = "2026-02-02T12:36:43.496Z" }, + { url = "https://files.pythonhosted.org/packages/cd/8f/5482a7677731fd44881f0204981ce2d7175db271f82cba2085dd2212e095/jiter-0.13.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9776ebe51713acf438fd9b4405fcd86893ae5d03487546dae7f34993217f8a91", size = 318787, upload-time = "2026-02-02T12:36:45.071Z" }, + { url = "https://files.pythonhosted.org/packages/f3/b9/7257ac59778f1cd025b26a23c5520a36a424f7f1b068f2442a5b499b7464/jiter-0.13.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879e768938e7b49b5e90b7e3fecc0dbec01b8cb89595861fb39a8967c5220d09", size = 353880, upload-time = "2026-02-02T12:36:47.365Z" }, + { url = "https://files.pythonhosted.org/packages/c3/87/719eec4a3f0841dad99e3d3604ee4cba36af4419a76f3cb0b8e2e691ad67/jiter-0.13.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:682161a67adea11e3aae9038c06c8b4a9a71023228767477d683f69903ebc607", size = 366702, upload-time = "2026-02-02T12:36:48.871Z" }, + { url = "https://files.pythonhosted.org/packages/d2/65/415f0a75cf6921e43365a1bc227c565cb949caca8b7532776e430cbaa530/jiter-0.13.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a13b68cd1cd8cc9de8f244ebae18ccb3e4067ad205220ef324c39181e23bbf66", size = 486319, upload-time = "2026-02-02T12:36:53.006Z" }, + { url = "https://files.pythonhosted.org/packages/54/a2/9e12b48e82c6bbc6081fd81abf915e1443add1b13d8fc586e1d90bb02bb8/jiter-0.13.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87ce0f14c6c08892b610686ae8be350bf368467b6acd5085a5b65441e2bf36d2", size = 372289, upload-time = "2026-02-02T12:36:54.593Z" }, + { url = "https://files.pythonhosted.org/packages/4e/c1/e4693f107a1789a239c759a432e9afc592366f04e901470c2af89cfd28e1/jiter-0.13.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c365005b05505a90d1c47856420980d0237adf82f70c4aff7aebd3c1cc143ad", size = 360165, upload-time = "2026-02-02T12:36:56.112Z" }, + { url = "https://files.pythonhosted.org/packages/17/08/91b9ea976c1c758240614bd88442681a87672eebc3d9a6dde476874e706b/jiter-0.13.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1317fdffd16f5873e46ce27d0e0f7f4f90f0cdf1d86bf6abeaea9f63ca2c401d", size = 389634, upload-time = "2026-02-02T12:36:57.495Z" }, + { url = "https://files.pythonhosted.org/packages/18/23/58325ef99390d6d40427ed6005bf1ad54f2577866594bcf13ce55675f87d/jiter-0.13.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:c05b450d37ba0c9e21c77fef1f205f56bcee2330bddca68d344baebfc55ae0df", size = 514933, upload-time = "2026-02-02T12:36:58.909Z" }, + { url = "https://files.pythonhosted.org/packages/5b/25/69f1120c7c395fd276c3996bb8adefa9c6b84c12bb7111e5c6ccdcd8526d/jiter-0.13.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:775e10de3849d0631a97c603f996f518159272db00fdda0a780f81752255ee9d", size = 548842, upload-time = "2026-02-02T12:37:00.433Z" }, + { url = "https://files.pythonhosted.org/packages/18/05/981c9669d86850c5fbb0d9e62bba144787f9fba84546ba43d624ee27ef29/jiter-0.13.0-cp314-cp314-win32.whl", hash = "sha256:632bf7c1d28421c00dd8bbb8a3bac5663e1f57d5cd5ed962bce3c73bf62608e6", size = 202108, upload-time = "2026-02-02T12:37:01.718Z" }, + { url = "https://files.pythonhosted.org/packages/8d/96/cdcf54dd0b0341db7d25413229888a346c7130bd20820530905fdb65727b/jiter-0.13.0-cp314-cp314-win_amd64.whl", hash = "sha256:f22ef501c3f87ede88f23f9b11e608581c14f04db59b6a801f354397ae13739f", size = 204027, upload-time = "2026-02-02T12:37:03.075Z" }, + { url = "https://files.pythonhosted.org/packages/fb/f9/724bcaaab7a3cd727031fe4f6995cb86c4bd344909177c186699c8dec51a/jiter-0.13.0-cp314-cp314-win_arm64.whl", hash = "sha256:07b75fe09a4ee8e0c606200622e571e44943f47254f95e2436c8bdcaceb36d7d", size = 187199, upload-time = "2026-02-02T12:37:04.414Z" }, + { url = "https://files.pythonhosted.org/packages/62/92/1661d8b9fd6a3d7a2d89831db26fe3c1509a287d83ad7838831c7b7a5c7e/jiter-0.13.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:964538479359059a35fb400e769295d4b315ae61e4105396d355a12f7fef09f0", size = 318423, upload-time = "2026-02-02T12:37:05.806Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/f77d342a54d4ebcd128e520fc58ec2f5b30a423b0fd26acdfc0c6fef8e26/jiter-0.13.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e104da1db1c0991b3eaed391ccd650ae8d947eab1480c733e5a3fb28d4313e40", size = 351438, upload-time = "2026-02-02T12:37:07.189Z" }, + { url = "https://files.pythonhosted.org/packages/76/b3/ba9a69f0e4209bd3331470c723c2f5509e6f0482e416b612431a5061ed71/jiter-0.13.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0e3a5f0cde8ff433b8e88e41aa40131455420fb3649a3c7abdda6145f8cb7202", size = 364774, upload-time = "2026-02-02T12:37:08.579Z" }, + { url = "https://files.pythonhosted.org/packages/b3/16/6cdb31fa342932602458dbb631bfbd47f601e03d2e4950740e0b2100b570/jiter-0.13.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57aab48f40be1db920a582b30b116fe2435d184f77f0e4226f546794cedd9cf0", size = 487238, upload-time = "2026-02-02T12:37:10.066Z" }, + { url = "https://files.pythonhosted.org/packages/ed/b1/956cc7abaca8d95c13aa8d6c9b3f3797241c246cd6e792934cc4c8b250d2/jiter-0.13.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7772115877c53f62beeb8fd853cab692dbc04374ef623b30f997959a4c0e7e95", size = 372892, upload-time = "2026-02-02T12:37:11.656Z" }, + { url = "https://files.pythonhosted.org/packages/26/c4/97ecde8b1e74f67b8598c57c6fccf6df86ea7861ed29da84629cdbba76c4/jiter-0.13.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1211427574b17b633cfceba5040de8081e5abf114f7a7602f73d2e16f9fdaa59", size = 360309, upload-time = "2026-02-02T12:37:13.244Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d7/eabe3cf46715854ccc80be2cd78dd4c36aedeb30751dbf85a1d08c14373c/jiter-0.13.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7beae3a3d3b5212d3a55d2961db3c292e02e302feb43fce6a3f7a31b90ea6dfe", size = 389607, upload-time = "2026-02-02T12:37:14.881Z" }, + { url = "https://files.pythonhosted.org/packages/df/2d/03963fc0804e6109b82decfb9974eb92df3797fe7222428cae12f8ccaa0c/jiter-0.13.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:e5562a0f0e90a6223b704163ea28e831bd3a9faa3512a711f031611e6b06c939", size = 514986, upload-time = "2026-02-02T12:37:16.326Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6c/8c83b45eb3eb1c1e18d841fe30b4b5bc5619d781267ca9bc03e005d8fd0a/jiter-0.13.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:6c26a424569a59140fb51160a56df13f438a2b0967365e987889186d5fc2f6f9", size = 548756, upload-time = "2026-02-02T12:37:17.736Z" }, + { url = "https://files.pythonhosted.org/packages/47/66/eea81dfff765ed66c68fd2ed8c96245109e13c896c2a5015c7839c92367e/jiter-0.13.0-cp314-cp314t-win32.whl", hash = "sha256:24dc96eca9f84da4131cdf87a95e6ce36765c3b156fc9ae33280873b1c32d5f6", size = 201196, upload-time = "2026-02-02T12:37:19.101Z" }, + { url = "https://files.pythonhosted.org/packages/ff/32/4ac9c7a76402f8f00d00842a7f6b83b284d0cf7c1e9d4227bc95aa6d17fa/jiter-0.13.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0a8d76c7524087272c8ae913f5d9d608bd839154b62c4322ef65723d2e5bb0b8", size = 204215, upload-time = "2026-02-02T12:37:20.495Z" }, + { url = "https://files.pythonhosted.org/packages/f9/8e/7def204fea9f9be8b3c21a6f2dd6c020cf56c7d5ff753e0e23ed7f9ea57e/jiter-0.13.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2c26cf47e2cad140fa23b6d58d435a7c0161f5c514284802f25e87fddfe11024", size = 187152, upload-time = "2026-02-02T12:37:22.124Z" }, ] [[package]] @@ -667,7 +704,7 @@ name = "macholib" version = "1.16.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "altgraph" }, + { name = "altgraph", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 59427, upload-time = "2025-11-22T08:28:38.373Z" } wheels = [ @@ -676,11 +713,11 @@ wheels = [ [[package]] name = "markdown" -version = "3.10" +version = "3.10.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7d/ab/7dd27d9d863b3376fcf23a5a13cb5d024aed1db46f963f1b5735ae43b3be/markdown-3.10.tar.gz", hash = "sha256:37062d4f2aa4b2b6b32aefb80faa300f82cc790cb949a35b8caede34f2b68c0e", size = 364931, upload-time = "2025-11-03T19:51:15.007Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl", hash = "sha256:b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c", size = 107678, upload-time = "2025-11-03T19:51:13.887Z" }, + { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, ] [[package]] @@ -695,6 +732,58 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, ] +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + [[package]] name = "mdurl" version = "0.1.2" @@ -715,64 +804,58 @@ wheels = [ [[package]] name = "nuitka" -version = "2.8.9" +version = "4.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "ordered-set" }, - { name = "zstandard" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d8/fb/51df3b30b0f9b3e73f3ba6bea8b94516b16035297c4b3452aaa632a130ae/nuitka-2.8.9.tar.gz", hash = "sha256:b178cd437f2110c46943b368db51d20d57d586a13f8f6323ab1be4e51e2fabf8", size = 4332046, upload-time = "2025-11-29T11:32:20.733Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/d6/477dc84457fc07885f5fd020da4920e8a2787b2c04563ad444ac98f7d3eb/nuitka-4.0.tar.gz", hash = "sha256:0f404f292c3c2cc808d186d05a6d06a4b0aeca93f299cdfd5e33ddbcd19ab560", size = 4410008, upload-time = "2026-02-05T20:52:39.747Z" } [[package]] name = "numpy" -version = "2.3.5" +version = "2.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/65/21b3bc86aac7b8f2862db1e808f1ea22b028e30a225a34a5ede9bf8678f2/numpy-2.3.5.tar.gz", hash = "sha256:784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0", size = 20584950, upload-time = "2025-11-16T22:52:42.067Z" } +sdist = { url = "https://files.pythonhosted.org/packages/57/fd/0005efbd0af48e55eb3c7208af93f2862d4b1a56cd78e84309a2d959208d/numpy-2.4.2.tar.gz", hash = "sha256:659a6107e31a83c4e33f763942275fd278b21d095094044eb35569e86a21ddae", size = 20723651, upload-time = "2026-01-31T23:13:10.135Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/db/69/9cde09f36da4b5a505341180a3f2e6fadc352fd4d2b7096ce9778db83f1a/numpy-2.3.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d0f23b44f57077c1ede8c5f26b30f706498b4862d3ff0a7298b8411dd2f043ff", size = 16728251, upload-time = "2025-11-16T22:50:19.013Z" }, - { url = "https://files.pythonhosted.org/packages/79/fb/f505c95ceddd7027347b067689db71ca80bd5ecc926f913f1a23e65cf09b/numpy-2.3.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:aa5bc7c5d59d831d9773d1170acac7893ce3a5e130540605770ade83280e7188", size = 12254652, upload-time = "2025-11-16T22:50:21.487Z" }, - { url = "https://files.pythonhosted.org/packages/78/da/8c7738060ca9c31b30e9301ee0cf6c5ffdbf889d9593285a1cead337f9a5/numpy-2.3.5-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:ccc933afd4d20aad3c00bcef049cb40049f7f196e0397f1109dba6fed63267b0", size = 5083172, upload-time = "2025-11-16T22:50:24.562Z" }, - { url = "https://files.pythonhosted.org/packages/a4/b4/ee5bb2537fb9430fd2ef30a616c3672b991a4129bb1c7dcc42aa0abbe5d7/numpy-2.3.5-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:afaffc4393205524af9dfa400fa250143a6c3bc646c08c9f5e25a9f4b4d6a903", size = 6622990, upload-time = "2025-11-16T22:50:26.47Z" }, - { url = "https://files.pythonhosted.org/packages/95/03/dc0723a013c7d7c19de5ef29e932c3081df1c14ba582b8b86b5de9db7f0f/numpy-2.3.5-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c75442b2209b8470d6d5d8b1c25714270686f14c749028d2199c54e29f20b4d", size = 14248902, upload-time = "2025-11-16T22:50:28.861Z" }, - { url = "https://files.pythonhosted.org/packages/f5/10/ca162f45a102738958dcec8023062dad0cbc17d1ab99d68c4e4a6c45fb2b/numpy-2.3.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11e06aa0af8c0f05104d56450d6093ee639e15f24ecf62d417329d06e522e017", size = 16597430, upload-time = "2025-11-16T22:50:31.56Z" }, - { url = "https://files.pythonhosted.org/packages/2a/51/c1e29be863588db58175175f057286900b4b3327a1351e706d5e0f8dd679/numpy-2.3.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ed89927b86296067b4f81f108a2271d8926467a8868e554eaf370fc27fa3ccaf", size = 16024551, upload-time = "2025-11-16T22:50:34.242Z" }, - { url = "https://files.pythonhosted.org/packages/83/68/8236589d4dbb87253d28259d04d9b814ec0ecce7cb1c7fed29729f4c3a78/numpy-2.3.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51c55fe3451421f3a6ef9a9c1439e82101c57a2c9eab9feb196a62b1a10b58ce", size = 18533275, upload-time = "2025-11-16T22:50:37.651Z" }, - { url = "https://files.pythonhosted.org/packages/40/56/2932d75b6f13465239e3b7b7e511be27f1b8161ca2510854f0b6e521c395/numpy-2.3.5-cp313-cp313-win32.whl", hash = "sha256:1978155dd49972084bd6ef388d66ab70f0c323ddee6f693d539376498720fb7e", size = 6277637, upload-time = "2025-11-16T22:50:40.11Z" }, - { url = "https://files.pythonhosted.org/packages/0c/88/e2eaa6cffb115b85ed7c7c87775cb8bcf0816816bc98ca8dbfa2ee33fe6e/numpy-2.3.5-cp313-cp313-win_amd64.whl", hash = "sha256:00dc4e846108a382c5869e77c6ed514394bdeb3403461d25a829711041217d5b", size = 12779090, upload-time = "2025-11-16T22:50:42.503Z" }, - { url = "https://files.pythonhosted.org/packages/8f/88/3f41e13a44ebd4034ee17baa384acac29ba6a4fcc2aca95f6f08ca0447d1/numpy-2.3.5-cp313-cp313-win_arm64.whl", hash = "sha256:0472f11f6ec23a74a906a00b48a4dcf3849209696dff7c189714511268d103ae", size = 10194710, upload-time = "2025-11-16T22:50:44.971Z" }, - { url = "https://files.pythonhosted.org/packages/13/cb/71744144e13389d577f867f745b7df2d8489463654a918eea2eeb166dfc9/numpy-2.3.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:414802f3b97f3c1eef41e530aaba3b3c1620649871d8cb38c6eaff034c2e16bd", size = 16827292, upload-time = "2025-11-16T22:50:47.715Z" }, - { url = "https://files.pythonhosted.org/packages/71/80/ba9dc6f2a4398e7f42b708a7fdc841bb638d353be255655498edbf9a15a8/numpy-2.3.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5ee6609ac3604fa7780e30a03e5e241a7956f8e2fcfe547d51e3afa5247ac47f", size = 12378897, upload-time = "2025-11-16T22:50:51.327Z" }, - { url = "https://files.pythonhosted.org/packages/2e/6d/db2151b9f64264bcceccd51741aa39b50150de9b602d98ecfe7e0c4bff39/numpy-2.3.5-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:86d835afea1eaa143012a2d7a3f45a3adce2d7adc8b4961f0b362214d800846a", size = 5207391, upload-time = "2025-11-16T22:50:54.542Z" }, - { url = "https://files.pythonhosted.org/packages/80/ae/429bacace5ccad48a14c4ae5332f6aa8ab9f69524193511d60ccdfdc65fa/numpy-2.3.5-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:30bc11310e8153ca664b14c5f1b73e94bd0503681fcf136a163de856f3a50139", size = 6721275, upload-time = "2025-11-16T22:50:56.794Z" }, - { url = "https://files.pythonhosted.org/packages/74/5b/1919abf32d8722646a38cd527bc3771eb229a32724ee6ba340ead9b92249/numpy-2.3.5-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1062fde1dcf469571705945b0f221b73928f34a20c904ffb45db101907c3454e", size = 14306855, upload-time = "2025-11-16T22:50:59.208Z" }, - { url = "https://files.pythonhosted.org/packages/a5/87/6831980559434973bebc30cd9c1f21e541a0f2b0c280d43d3afd909b66d0/numpy-2.3.5-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce581db493ea1a96c0556360ede6607496e8bf9b3a8efa66e06477267bc831e9", size = 16657359, upload-time = "2025-11-16T22:51:01.991Z" }, - { url = "https://files.pythonhosted.org/packages/dd/91/c797f544491ee99fd00495f12ebb7802c440c1915811d72ac5b4479a3356/numpy-2.3.5-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:cc8920d2ec5fa99875b670bb86ddeb21e295cb07aa331810d9e486e0b969d946", size = 16093374, upload-time = "2025-11-16T22:51:05.291Z" }, - { url = "https://files.pythonhosted.org/packages/74/a6/54da03253afcbe7a72785ec4da9c69fb7a17710141ff9ac5fcb2e32dbe64/numpy-2.3.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9ee2197ef8c4f0dfe405d835f3b6a14f5fee7782b5de51ba06fb65fc9b36e9f1", size = 18594587, upload-time = "2025-11-16T22:51:08.585Z" }, - { url = "https://files.pythonhosted.org/packages/80/e9/aff53abbdd41b0ecca94285f325aff42357c6b5abc482a3fcb4994290b18/numpy-2.3.5-cp313-cp313t-win32.whl", hash = "sha256:70b37199913c1bd300ff6e2693316c6f869c7ee16378faf10e4f5e3275b299c3", size = 6405940, upload-time = "2025-11-16T22:51:11.541Z" }, - { url = "https://files.pythonhosted.org/packages/d5/81/50613fec9d4de5480de18d4f8ef59ad7e344d497edbef3cfd80f24f98461/numpy-2.3.5-cp313-cp313t-win_amd64.whl", hash = "sha256:b501b5fa195cc9e24fe102f21ec0a44dffc231d2af79950b451e0d99cea02234", size = 12920341, upload-time = "2025-11-16T22:51:14.312Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ab/08fd63b9a74303947f34f0bd7c5903b9c5532c2d287bead5bdf4c556c486/numpy-2.3.5-cp313-cp313t-win_arm64.whl", hash = "sha256:a80afd79f45f3c4a7d341f13acbe058d1ca8ac017c165d3fa0d3de6bc1a079d7", size = 10262507, upload-time = "2025-11-16T22:51:16.846Z" }, - { url = "https://files.pythonhosted.org/packages/ba/97/1a914559c19e32d6b2e233cf9a6a114e67c856d35b1d6babca571a3e880f/numpy-2.3.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:bf06bc2af43fa8d32d30fae16ad965663e966b1a3202ed407b84c989c3221e82", size = 16735706, upload-time = "2025-11-16T22:51:19.558Z" }, - { url = "https://files.pythonhosted.org/packages/57/d4/51233b1c1b13ecd796311216ae417796b88b0616cfd8a33ae4536330748a/numpy-2.3.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:052e8c42e0c49d2575621c158934920524f6c5da05a1d3b9bab5d8e259e045f0", size = 12264507, upload-time = "2025-11-16T22:51:22.492Z" }, - { url = "https://files.pythonhosted.org/packages/45/98/2fe46c5c2675b8306d0b4a3ec3494273e93e1226a490f766e84298576956/numpy-2.3.5-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:1ed1ec893cff7040a02c8aa1c8611b94d395590d553f6b53629a4461dc7f7b63", size = 5093049, upload-time = "2025-11-16T22:51:25.171Z" }, - { url = "https://files.pythonhosted.org/packages/ce/0e/0698378989bb0ac5f1660c81c78ab1fe5476c1a521ca9ee9d0710ce54099/numpy-2.3.5-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:2dcd0808a421a482a080f89859a18beb0b3d1e905b81e617a188bd80422d62e9", size = 6626603, upload-time = "2025-11-16T22:51:27Z" }, - { url = "https://files.pythonhosted.org/packages/5e/a6/9ca0eecc489640615642a6cbc0ca9e10df70df38c4d43f5a928ff18d8827/numpy-2.3.5-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:727fd05b57df37dc0bcf1a27767a3d9a78cbbc92822445f32cc3436ba797337b", size = 14262696, upload-time = "2025-11-16T22:51:29.402Z" }, - { url = "https://files.pythonhosted.org/packages/c8/f6/07ec185b90ec9d7217a00eeeed7383b73d7e709dae2a9a021b051542a708/numpy-2.3.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fffe29a1ef00883599d1dc2c51aa2e5d80afe49523c261a74933df395c15c520", size = 16597350, upload-time = "2025-11-16T22:51:32.167Z" }, - { url = "https://files.pythonhosted.org/packages/75/37/164071d1dde6a1a84c9b8e5b414fa127981bad47adf3a6b7e23917e52190/numpy-2.3.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8f7f0e05112916223d3f438f293abf0727e1181b5983f413dfa2fefc4098245c", size = 16040190, upload-time = "2025-11-16T22:51:35.403Z" }, - { url = "https://files.pythonhosted.org/packages/08/3c/f18b82a406b04859eb026d204e4e1773eb41c5be58410f41ffa511d114ae/numpy-2.3.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2e2eb32ddb9ccb817d620ac1d8dae7c3f641c1e5f55f531a33e8ab97960a75b8", size = 18536749, upload-time = "2025-11-16T22:51:39.698Z" }, - { url = "https://files.pythonhosted.org/packages/40/79/f82f572bf44cf0023a2fe8588768e23e1592585020d638999f15158609e1/numpy-2.3.5-cp314-cp314-win32.whl", hash = "sha256:66f85ce62c70b843bab1fb14a05d5737741e74e28c7b8b5a064de10142fad248", size = 6335432, upload-time = "2025-11-16T22:51:42.476Z" }, - { url = "https://files.pythonhosted.org/packages/a3/2e/235b4d96619931192c91660805e5e49242389742a7a82c27665021db690c/numpy-2.3.5-cp314-cp314-win_amd64.whl", hash = "sha256:e6a0bc88393d65807d751a614207b7129a310ca4fe76a74e5c7da5fa5671417e", size = 12919388, upload-time = "2025-11-16T22:51:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/07/2b/29fd75ce45d22a39c61aad74f3d718e7ab67ccf839ca8b60866054eb15f8/numpy-2.3.5-cp314-cp314-win_arm64.whl", hash = "sha256:aeffcab3d4b43712bb7a60b65f6044d444e75e563ff6180af8f98dd4b905dfd2", size = 10476651, upload-time = "2025-11-16T22:51:47.749Z" }, - { url = "https://files.pythonhosted.org/packages/17/e1/f6a721234ebd4d87084cfa68d081bcba2f5cfe1974f7de4e0e8b9b2a2ba1/numpy-2.3.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:17531366a2e3a9e30762c000f2c43a9aaa05728712e25c11ce1dbe700c53ad41", size = 16834503, upload-time = "2025-11-16T22:51:50.443Z" }, - { url = "https://files.pythonhosted.org/packages/5c/1c/baf7ffdc3af9c356e1c135e57ab7cf8d247931b9554f55c467efe2c69eff/numpy-2.3.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d21644de1b609825ede2f48be98dfde4656aefc713654eeee280e37cadc4e0ad", size = 12381612, upload-time = "2025-11-16T22:51:53.609Z" }, - { url = "https://files.pythonhosted.org/packages/74/91/f7f0295151407ddc9ba34e699013c32c3c91944f9b35fcf9281163dc1468/numpy-2.3.5-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:c804e3a5aba5460c73955c955bdbd5c08c354954e9270a2c1565f62e866bdc39", size = 5210042, upload-time = "2025-11-16T22:51:56.213Z" }, - { url = "https://files.pythonhosted.org/packages/2e/3b/78aebf345104ec50dd50a4d06ddeb46a9ff5261c33bcc58b1c4f12f85ec2/numpy-2.3.5-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:cc0a57f895b96ec78969c34f682c602bf8da1a0270b09bc65673df2e7638ec20", size = 6724502, upload-time = "2025-11-16T22:51:58.584Z" }, - { url = "https://files.pythonhosted.org/packages/02/c6/7c34b528740512e57ef1b7c8337ab0b4f0bddf34c723b8996c675bc2bc91/numpy-2.3.5-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:900218e456384ea676e24ea6a0417f030a3b07306d29d7ad843957b40a9d8d52", size = 14308962, upload-time = "2025-11-16T22:52:01.698Z" }, - { url = "https://files.pythonhosted.org/packages/80/35/09d433c5262bc32d725bafc619e095b6a6651caf94027a03da624146f655/numpy-2.3.5-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:09a1bea522b25109bf8e6f3027bd810f7c1085c64a0c7ce050c1676ad0ba010b", size = 16655054, upload-time = "2025-11-16T22:52:04.267Z" }, - { url = "https://files.pythonhosted.org/packages/7a/ab/6a7b259703c09a88804fa2430b43d6457b692378f6b74b356155283566ac/numpy-2.3.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:04822c00b5fd0323c8166d66c701dc31b7fbd252c100acd708c48f763968d6a3", size = 16091613, upload-time = "2025-11-16T22:52:08.651Z" }, - { url = "https://files.pythonhosted.org/packages/c2/88/330da2071e8771e60d1038166ff9d73f29da37b01ec3eb43cb1427464e10/numpy-2.3.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d6889ec4ec662a1a37eb4b4fb26b6100841804dac55bd9df579e326cdc146227", size = 18591147, upload-time = "2025-11-16T22:52:11.453Z" }, - { url = "https://files.pythonhosted.org/packages/51/41/851c4b4082402d9ea860c3626db5d5df47164a712cb23b54be028b184c1c/numpy-2.3.5-cp314-cp314t-win32.whl", hash = "sha256:93eebbcf1aafdf7e2ddd44c2923e2672e1010bddc014138b229e49725b4d6be5", size = 6479806, upload-time = "2025-11-16T22:52:14.641Z" }, - { url = "https://files.pythonhosted.org/packages/90/30/d48bde1dfd93332fa557cff1972fbc039e055a52021fbef4c2c4b1eefd17/numpy-2.3.5-cp314-cp314t-win_amd64.whl", hash = "sha256:c8a9958e88b65c3b27e22ca2a076311636850b612d6bbfb76e8d156aacde2aaf", size = 13105760, upload-time = "2025-11-16T22:52:17.975Z" }, - { url = "https://files.pythonhosted.org/packages/2d/fd/4b5eb0b3e888d86aee4d198c23acec7d214baaf17ea93c1adec94c9518b9/numpy-2.3.5-cp314-cp314t-win_arm64.whl", hash = "sha256:6203fdf9f3dc5bdaed7319ad8698e685c7a3be10819f41d32a0723e611733b42", size = 10545459, upload-time = "2025-11-16T22:52:20.55Z" }, + { url = "https://files.pythonhosted.org/packages/a1/22/815b9fe25d1d7ae7d492152adbc7226d3eff731dffc38fe970589fcaaa38/numpy-2.4.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25f2059807faea4b077a2b6837391b5d830864b3543627f381821c646f31a63c", size = 16663696, upload-time = "2026-01-31T23:11:17.516Z" }, + { url = "https://files.pythonhosted.org/packages/09/f0/817d03a03f93ba9c6c8993de509277d84e69f9453601915e4a69554102a1/numpy-2.4.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bd3a7a9f5847d2fb8c2c6d1c862fa109c31a9abeca1a3c2bd5a64572955b2979", size = 14688322, upload-time = "2026-01-31T23:11:19.883Z" }, + { url = "https://files.pythonhosted.org/packages/da/b4/f805ab79293c728b9a99438775ce51885fd4f31b76178767cfc718701a39/numpy-2.4.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8e4549f8a3c6d13d55041925e912bfd834285ef1dd64d6bc7d542583355e2e98", size = 5198157, upload-time = "2026-01-31T23:11:22.375Z" }, + { url = "https://files.pythonhosted.org/packages/74/09/826e4289844eccdcd64aac27d13b0fd3f32039915dd5b9ba01baae1f436c/numpy-2.4.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:aea4f66ff44dfddf8c2cffd66ba6538c5ec67d389285292fe428cb2c738c8aef", size = 6546330, upload-time = "2026-01-31T23:11:23.958Z" }, + { url = "https://files.pythonhosted.org/packages/19/fb/cbfdbfa3057a10aea5422c558ac57538e6acc87ec1669e666d32ac198da7/numpy-2.4.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3cd545784805de05aafe1dde61752ea49a359ccba9760c1e5d1c88a93bbf2b7", size = 15660968, upload-time = "2026-01-31T23:11:25.713Z" }, + { url = "https://files.pythonhosted.org/packages/04/dc/46066ce18d01645541f0186877377b9371b8fa8017fa8262002b4ef22612/numpy-2.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0d9b7c93578baafcbc5f0b83eaf17b79d345c6f36917ba0c67f45226911d499", size = 16607311, upload-time = "2026-01-31T23:11:28.117Z" }, + { url = "https://files.pythonhosted.org/packages/14/d9/4b5adfc39a43fa6bf918c6d544bc60c05236cc2f6339847fc5b35e6cb5b0/numpy-2.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f74f0f7779cc7ae07d1810aab8ac6b1464c3eafb9e283a40da7309d5e6e48fbb", size = 17012850, upload-time = "2026-01-31T23:11:30.888Z" }, + { url = "https://files.pythonhosted.org/packages/b7/20/adb6e6adde6d0130046e6fdfb7675cc62bc2f6b7b02239a09eb58435753d/numpy-2.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c7ac672d699bf36275c035e16b65539931347d68b70667d28984c9fb34e07fa7", size = 18334210, upload-time = "2026-01-31T23:11:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/78/0e/0a73b3dff26803a8c02baa76398015ea2a5434d9b8265a7898a6028c1591/numpy-2.4.2-cp313-cp313-win32.whl", hash = "sha256:8e9afaeb0beff068b4d9cd20d322ba0ee1cecfb0b08db145e4ab4dd44a6b5110", size = 5958199, upload-time = "2026-01-31T23:11:35.385Z" }, + { url = "https://files.pythonhosted.org/packages/43/bc/6352f343522fcb2c04dbaf94cb30cca6fd32c1a750c06ad6231b4293708c/numpy-2.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:7df2de1e4fba69a51c06c28f5a3de36731eb9639feb8e1cf7e4a7b0daf4cf622", size = 12310848, upload-time = "2026-01-31T23:11:38.001Z" }, + { url = "https://files.pythonhosted.org/packages/6e/8d/6da186483e308da5da1cc6918ce913dcfe14ffde98e710bfeff2a6158d4e/numpy-2.4.2-cp313-cp313-win_arm64.whl", hash = "sha256:0fece1d1f0a89c16b03442eae5c56dc0be0c7883b5d388e0c03f53019a4bfd71", size = 10221082, upload-time = "2026-01-31T23:11:40.392Z" }, + { url = "https://files.pythonhosted.org/packages/25/a1/9510aa43555b44781968935c7548a8926274f815de42ad3997e9e83680dd/numpy-2.4.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5633c0da313330fd20c484c78cdd3f9b175b55e1a766c4a174230c6b70ad8262", size = 14815866, upload-time = "2026-01-31T23:11:42.495Z" }, + { url = "https://files.pythonhosted.org/packages/36/30/6bbb5e76631a5ae46e7923dd16ca9d3f1c93cfa8d4ed79a129814a9d8db3/numpy-2.4.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d9f64d786b3b1dd742c946c42d15b07497ed14af1a1f3ce840cce27daa0ce913", size = 5325631, upload-time = "2026-01-31T23:11:44.7Z" }, + { url = "https://files.pythonhosted.org/packages/46/00/3a490938800c1923b567b3a15cd17896e68052e2145d8662aaf3e1ffc58f/numpy-2.4.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:b21041e8cb6a1eb5312dd1d2f80a94d91efffb7a06b70597d44f1bd2dfc315ab", size = 6646254, upload-time = "2026-01-31T23:11:46.341Z" }, + { url = "https://files.pythonhosted.org/packages/d3/e9/fac0890149898a9b609caa5af7455a948b544746e4b8fe7c212c8edd71f8/numpy-2.4.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:00ab83c56211a1d7c07c25e3217ea6695e50a3e2f255053686b081dc0b091a82", size = 15720138, upload-time = "2026-01-31T23:11:48.082Z" }, + { url = "https://files.pythonhosted.org/packages/ea/5c/08887c54e68e1e28df53709f1893ce92932cc6f01f7c3d4dc952f61ffd4e/numpy-2.4.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fb882da679409066b4603579619341c6d6898fc83a8995199d5249f986e8e8f", size = 16655398, upload-time = "2026-01-31T23:11:50.293Z" }, + { url = "https://files.pythonhosted.org/packages/4d/89/253db0fa0e66e9129c745e4ef25631dc37d5f1314dad2b53e907b8538e6d/numpy-2.4.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:66cb9422236317f9d44b67b4d18f44efe6e9c7f8794ac0462978513359461554", size = 17079064, upload-time = "2026-01-31T23:11:52.927Z" }, + { url = "https://files.pythonhosted.org/packages/2a/d5/cbade46ce97c59c6c3da525e8d95b7abe8a42974a1dc5c1d489c10433e88/numpy-2.4.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0f01dcf33e73d80bd8dc0f20a71303abbafa26a19e23f6b68d1aa9990af90257", size = 18379680, upload-time = "2026-01-31T23:11:55.22Z" }, + { url = "https://files.pythonhosted.org/packages/40/62/48f99ae172a4b63d981babe683685030e8a3df4f246c893ea5c6ef99f018/numpy-2.4.2-cp313-cp313t-win32.whl", hash = "sha256:52b913ec40ff7ae845687b0b34d8d93b60cb66dcee06996dd5c99f2fc9328657", size = 6082433, upload-time = "2026-01-31T23:11:58.096Z" }, + { url = "https://files.pythonhosted.org/packages/07/38/e054a61cfe48ad9f1ed0d188e78b7e26859d0b60ef21cd9de4897cdb5326/numpy-2.4.2-cp313-cp313t-win_amd64.whl", hash = "sha256:5eea80d908b2c1f91486eb95b3fb6fab187e569ec9752ab7d9333d2e66bf2d6b", size = 12451181, upload-time = "2026-01-31T23:11:59.782Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a4/a05c3a6418575e185dd84d0b9680b6bb2e2dc3e4202f036b7b4e22d6e9dc/numpy-2.4.2-cp313-cp313t-win_arm64.whl", hash = "sha256:fd49860271d52127d61197bb50b64f58454e9f578cb4b2c001a6de8b1f50b0b1", size = 10290756, upload-time = "2026-01-31T23:12:02.438Z" }, + { url = "https://files.pythonhosted.org/packages/18/88/b7df6050bf18fdcfb7046286c6535cabbdd2064a3440fca3f069d319c16e/numpy-2.4.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:444be170853f1f9d528428eceb55f12918e4fda5d8805480f36a002f1415e09b", size = 16663092, upload-time = "2026-01-31T23:12:04.521Z" }, + { url = "https://files.pythonhosted.org/packages/25/7a/1fee4329abc705a469a4afe6e69b1ef7e915117747886327104a8493a955/numpy-2.4.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d1240d50adff70c2a88217698ca844723068533f3f5c5fa6ee2e3220e3bdb000", size = 14698770, upload-time = "2026-01-31T23:12:06.96Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0b/f9e49ba6c923678ad5bc38181c08ac5e53b7a5754dbca8e581aa1a56b1ff/numpy-2.4.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:7cdde6de52fb6664b00b056341265441192d1291c130e99183ec0d4b110ff8b1", size = 5208562, upload-time = "2026-01-31T23:12:09.632Z" }, + { url = "https://files.pythonhosted.org/packages/7d/12/d7de8f6f53f9bb76997e5e4c069eda2051e3fe134e9181671c4391677bb2/numpy-2.4.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:cda077c2e5b780200b6b3e09d0b42205a3d1c68f30c6dceb90401c13bff8fe74", size = 6543710, upload-time = "2026-01-31T23:12:11.969Z" }, + { url = "https://files.pythonhosted.org/packages/09/63/c66418c2e0268a31a4cf8a8b512685748200f8e8e8ec6c507ce14e773529/numpy-2.4.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d30291931c915b2ab5717c2974bb95ee891a1cf22ebc16a8006bd59cd210d40a", size = 15677205, upload-time = "2026-01-31T23:12:14.33Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6c/7f237821c9642fb2a04d2f1e88b4295677144ca93285fd76eff3bcba858d/numpy-2.4.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bba37bc29d4d85761deed3954a1bc62be7cf462b9510b51d367b769a8c8df325", size = 16611738, upload-time = "2026-01-31T23:12:16.525Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a7/39c4cdda9f019b609b5c473899d87abff092fc908cfe4d1ecb2fcff453b0/numpy-2.4.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b2f0073ed0868db1dcd86e052d37279eef185b9c8db5bf61f30f46adac63c909", size = 17028888, upload-time = "2026-01-31T23:12:19.306Z" }, + { url = "https://files.pythonhosted.org/packages/da/b3/e84bb64bdfea967cc10950d71090ec2d84b49bc691df0025dddb7c26e8e3/numpy-2.4.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7f54844851cdb630ceb623dcec4db3240d1ac13d4990532446761baede94996a", size = 18339556, upload-time = "2026-01-31T23:12:21.816Z" }, + { url = "https://files.pythonhosted.org/packages/88/f5/954a291bc1192a27081706862ac62bb5920fbecfbaa302f64682aa90beed/numpy-2.4.2-cp314-cp314-win32.whl", hash = "sha256:12e26134a0331d8dbd9351620f037ec470b7c75929cb8a1537f6bfe411152a1a", size = 6006899, upload-time = "2026-01-31T23:12:24.14Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/eff72a91b2efdd1bc98b3b8759f6a1654aa87612fc86e3d87d6fe4f948c4/numpy-2.4.2-cp314-cp314-win_amd64.whl", hash = "sha256:068cdb2d0d644cdb45670810894f6a0600797a69c05f1ac478e8d31670b8ee75", size = 12443072, upload-time = "2026-01-31T23:12:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/37/75/62726948db36a56428fce4ba80a115716dc4fad6a3a4352487f8bb950966/numpy-2.4.2-cp314-cp314-win_arm64.whl", hash = "sha256:6ed0be1ee58eef41231a5c943d7d1375f093142702d5723ca2eb07db9b934b05", size = 10494886, upload-time = "2026-01-31T23:12:28.488Z" }, + { url = "https://files.pythonhosted.org/packages/36/2f/ee93744f1e0661dc267e4b21940870cabfae187c092e1433b77b09b50ac4/numpy-2.4.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:98f16a80e917003a12c0580f97b5f875853ebc33e2eaa4bccfc8201ac6869308", size = 14818567, upload-time = "2026-01-31T23:12:30.709Z" }, + { url = "https://files.pythonhosted.org/packages/a7/24/6535212add7d76ff938d8bdc654f53f88d35cddedf807a599e180dcb8e66/numpy-2.4.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:20abd069b9cda45874498b245c8015b18ace6de8546bf50dfa8cea1696ed06ef", size = 5328372, upload-time = "2026-01-31T23:12:32.962Z" }, + { url = "https://files.pythonhosted.org/packages/5e/9d/c48f0a035725f925634bf6b8994253b43f2047f6778a54147d7e213bc5a7/numpy-2.4.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e98c97502435b53741540a5717a6749ac2ada901056c7db951d33e11c885cc7d", size = 6649306, upload-time = "2026-01-31T23:12:34.797Z" }, + { url = "https://files.pythonhosted.org/packages/81/05/7c73a9574cd4a53a25907bad38b59ac83919c0ddc8234ec157f344d57d9a/numpy-2.4.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da6cad4e82cb893db4b69105c604d805e0c3ce11501a55b5e9f9083b47d2ffe8", size = 15722394, upload-time = "2026-01-31T23:12:36.565Z" }, + { url = "https://files.pythonhosted.org/packages/35/fa/4de10089f21fc7d18442c4a767ab156b25c2a6eaf187c0db6d9ecdaeb43f/numpy-2.4.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e4424677ce4b47fe73c8b5556d876571f7c6945d264201180db2dc34f676ab5", size = 16653343, upload-time = "2026-01-31T23:12:39.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f9/d33e4ffc857f3763a57aa85650f2e82486832d7492280ac21ba9efda80da/numpy-2.4.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2b8f157c8a6f20eb657e240f8985cc135598b2b46985c5bccbde7616dc9c6b1e", size = 17078045, upload-time = "2026-01-31T23:12:42.041Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b8/54bdb43b6225badbea6389fa038c4ef868c44f5890f95dd530a218706da3/numpy-2.4.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5daf6f3914a733336dab21a05cdec343144600e964d2fcdabaac0c0269874b2a", size = 18380024, upload-time = "2026-01-31T23:12:44.331Z" }, + { url = "https://files.pythonhosted.org/packages/a5/55/6e1a61ded7af8df04016d81b5b02daa59f2ea9252ee0397cb9f631efe9e5/numpy-2.4.2-cp314-cp314t-win32.whl", hash = "sha256:8c50dd1fc8826f5b26a5ee4d77ca55d88a895f4e4819c7ecc2a9f5905047a443", size = 6153937, upload-time = "2026-01-31T23:12:47.229Z" }, + { url = "https://files.pythonhosted.org/packages/45/aa/fa6118d1ed6d776b0983f3ceac9b1a5558e80df9365b1c3aa6d42bf9eee4/numpy-2.4.2-cp314-cp314t-win_amd64.whl", hash = "sha256:fcf92bee92742edd401ba41135185866f7026c502617f422eb432cfeca4fe236", size = 12631844, upload-time = "2026-01-31T23:12:48.997Z" }, + { url = "https://files.pythonhosted.org/packages/32/0a/2ec5deea6dcd158f254a7b372fb09cfba5719419c8d66343bab35237b3fb/numpy-2.4.2-cp314-cp314t-win_arm64.whl", hash = "sha256:1f92f53998a17265194018d1cc321b2e96e900ca52d54c7c77837b71b9465181", size = 10565379, upload-time = "2026-01-31T23:12:51.345Z" }, ] [[package]] @@ -790,7 +873,7 @@ wheels = [ [[package]] name = "openai" -version = "2.9.0" +version = "2.18.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -802,89 +885,75 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/09/48/516290f38745cc1e72856f50e8afed4a7f9ac396a5a18f39e892ab89dfc2/openai-2.9.0.tar.gz", hash = "sha256:b52ec65727fc8f1eed2fbc86c8eac0998900c7ef63aa2eb5c24b69717c56fa5f", size = 608202, upload-time = "2025-12-04T18:15:09.01Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/cb/f2c9f988a06d1fcdd18ddc010f43ac384219a399eb01765493d6b34b1461/openai-2.18.0.tar.gz", hash = "sha256:5018d3bcb6651c5aac90e6d0bf9da5cde1bdd23749f67b45b37c522b6e6353af", size = 632124, upload-time = "2026-02-09T21:42:18.017Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/fd/ae2da789cd923dd033c99b8d544071a827c92046b150db01cfa5cea5b3fd/openai-2.9.0-py3-none-any.whl", hash = "sha256:0d168a490fbb45630ad508a6f3022013c155a68fd708069b6a1a01a5e8f0ffad", size = 1030836, upload-time = "2025-12-04T18:15:07.063Z" }, -] - -[[package]] -name = "ordered-set" -version = "4.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/ca/bfac8bc689799bcca4157e0e0ced07e70ce125193fc2e166d2e685b7e2fe/ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8", size = 12826, upload-time = "2022-01-26T14:38:56.6Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/55/af02708f230eb77084a299d7b08175cff006dea4f2721074b92cdb0296c0/ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562", size = 7634, upload-time = "2022-01-26T14:38:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/20/5f/8940e0641c223eaf972732b3154f2178a968290f8cb99e8c88582cde60ed/openai-2.18.0-py3-none-any.whl", hash = "sha256:538f97e1c77a00e3a99507688c878cda7e9e63031807ba425c68478854d48b30", size = 1069897, upload-time = "2026-02-09T21:42:16.4Z" }, ] [[package]] name = "packaging" -version = "25.0" +version = "26.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, ] [[package]] name = "pandas" -version = "2.3.3" +version = "3.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, { name = "python-dateutil" }, - { name = "pytz" }, - { name = "tzdata" }, + { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } +sdist = { url = "https://files.pythonhosted.org/packages/de/da/b1dc0481ab8d55d0f46e343cfe67d4551a0e14fcee52bd38ca1bd73258d8/pandas-3.0.0.tar.gz", hash = "sha256:0facf7e87d38f721f0af46fe70d97373a37701b1c09f7ed7aeeb292ade5c050f", size = 4633005, upload-time = "2026-01-21T15:52:04.726Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, - { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, - { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, - { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, - { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, - { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, - { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, - { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, - { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, - { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, - { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, - { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, - { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, - { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, - { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, - { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, - { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, - { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, - { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, - { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, - { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, - { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, - { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, - { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, - { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, - { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, -] - -[[package]] -name = "pastedeploy" -version = "3.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e3/97/0c4a613ec96a54d21daa7e089178263915554320402e89b4e319436a63cb/PasteDeploy-3.1.0.tar.gz", hash = "sha256:9ddbaf152f8095438a9fe81f82c78a6714b92ae8e066bed418b6a7ff6a095a95", size = 37841, upload-time = "2023-11-21T04:54:33.203Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/85/30/cdddd9a88969683a59222a6d61cd6dce923977f2e9f9ffba38e1324149cd/PasteDeploy-3.1.0-py3-none-any.whl", hash = "sha256:76388ad53a661448d436df28c798063108f70e994ddc749540d733cdbd1b38cf", size = 16943, upload-time = "2023-11-21T04:54:28.226Z" }, + { url = "https://files.pythonhosted.org/packages/6f/fa/7f0ac4ca8877c57537aaff2a842f8760e630d8e824b730eb2e859ffe96ca/pandas-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b78d646249b9a2bc191040988c7bb524c92fa8534fb0898a0741d7e6f2ffafa6", size = 10307129, upload-time = "2026-01-21T15:50:52.877Z" }, + { url = "https://files.pythonhosted.org/packages/6f/11/28a221815dcea4c0c9414dfc845e34a84a6a7dabc6da3194498ed5ba4361/pandas-3.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bc9cba7b355cb4162442a88ce495e01cb605f17ac1e27d6596ac963504e0305f", size = 9850201, upload-time = "2026-01-21T15:50:54.807Z" }, + { url = "https://files.pythonhosted.org/packages/ba/da/53bbc8c5363b7e5bd10f9ae59ab250fc7a382ea6ba08e4d06d8694370354/pandas-3.0.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c9a1a149aed3b6c9bf246033ff91e1b02d529546c5d6fb6b74a28fea0cf4c70", size = 10354031, upload-time = "2026-01-21T15:50:57.463Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a3/51e02ebc2a14974170d51e2410dfdab58870ea9bcd37cda15bd553d24dc4/pandas-3.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95683af6175d884ee89471842acfca29172a85031fccdabc35e50c0984470a0e", size = 10861165, upload-time = "2026-01-21T15:50:59.32Z" }, + { url = "https://files.pythonhosted.org/packages/a5/fe/05a51e3cac11d161472b8297bd41723ea98013384dd6d76d115ce3482f9b/pandas-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1fbbb5a7288719e36b76b4f18d46ede46e7f916b6c8d9915b756b0a6c3f792b3", size = 11359359, upload-time = "2026-01-21T15:51:02.014Z" }, + { url = "https://files.pythonhosted.org/packages/ee/56/ba620583225f9b85a4d3e69c01df3e3870659cc525f67929b60e9f21dcd1/pandas-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e8b9808590fa364416b49b2a35c1f4cf2785a6c156935879e57f826df22038e", size = 11912907, upload-time = "2026-01-21T15:51:05.175Z" }, + { url = "https://files.pythonhosted.org/packages/c9/8c/c6638d9f67e45e07656b3826405c5cc5f57f6fd07c8b2572ade328c86e22/pandas-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:98212a38a709feb90ae658cb6227ea3657c22ba8157d4b8f913cd4c950de5e7e", size = 9732138, upload-time = "2026-01-21T15:51:07.569Z" }, + { url = "https://files.pythonhosted.org/packages/7b/bf/bd1335c3bf1770b6d8fed2799993b11c4971af93bb1b729b9ebbc02ca2ec/pandas-3.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:177d9df10b3f43b70307a149d7ec49a1229a653f907aa60a48f1877d0e6be3be", size = 9033568, upload-time = "2026-01-21T15:51:09.484Z" }, + { url = "https://files.pythonhosted.org/packages/8e/c6/f5e2171914d5e29b9171d495344097d54e3ffe41d2d85d8115baba4dc483/pandas-3.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2713810ad3806767b89ad3b7b69ba153e1c6ff6d9c20f9c2140379b2a98b6c98", size = 10741936, upload-time = "2026-01-21T15:51:11.693Z" }, + { url = "https://files.pythonhosted.org/packages/51/88/9a0164f99510a1acb9f548691f022c756c2314aad0d8330a24616c14c462/pandas-3.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:15d59f885ee5011daf8335dff47dcb8a912a27b4ad7826dc6cbe809fd145d327", size = 10393884, upload-time = "2026-01-21T15:51:14.197Z" }, + { url = "https://files.pythonhosted.org/packages/e0/53/b34d78084d88d8ae2b848591229da8826d1e65aacf00b3abe34023467648/pandas-3.0.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24e6547fb64d2c92665dd2adbfa4e85fa4fd70a9c070e7cfb03b629a0bbab5eb", size = 10310740, upload-time = "2026-01-21T15:51:16.093Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d3/bee792e7c3d6930b74468d990604325701412e55d7aaf47460a22311d1a5/pandas-3.0.0-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48ee04b90e2505c693d3f8e8f524dab8cb8aaf7ddcab52c92afa535e717c4812", size = 10700014, upload-time = "2026-01-21T15:51:18.818Z" }, + { url = "https://files.pythonhosted.org/packages/55/db/2570bc40fb13aaed1cbc3fbd725c3a60ee162477982123c3adc8971e7ac1/pandas-3.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:66f72fb172959af42a459e27a8d8d2c7e311ff4c1f7db6deb3b643dbc382ae08", size = 11323737, upload-time = "2026-01-21T15:51:20.784Z" }, + { url = "https://files.pythonhosted.org/packages/bc/2e/297ac7f21c8181b62a4cccebad0a70caf679adf3ae5e83cb676194c8acc3/pandas-3.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4a4a400ca18230976724a5066f20878af785f36c6756e498e94c2a5e5d57779c", size = 11771558, upload-time = "2026-01-21T15:51:22.977Z" }, + { url = "https://files.pythonhosted.org/packages/0a/46/e1c6876d71c14332be70239acce9ad435975a80541086e5ffba2f249bcf6/pandas-3.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:940eebffe55528074341a5a36515f3e4c5e25e958ebbc764c9502cfc35ba3faa", size = 10473771, upload-time = "2026-01-21T15:51:25.285Z" }, + { url = "https://files.pythonhosted.org/packages/c0/db/0270ad9d13c344b7a36fa77f5f8344a46501abf413803e885d22864d10bf/pandas-3.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:597c08fb9fef0edf1e4fa2f9828dd27f3d78f9b8c9b4a748d435ffc55732310b", size = 10312075, upload-time = "2026-01-21T15:51:28.5Z" }, + { url = "https://files.pythonhosted.org/packages/09/9f/c176f5e9717f7c91becfe0f55a52ae445d3f7326b4a2cf355978c51b7913/pandas-3.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:447b2d68ac5edcbf94655fe909113a6dba6ef09ad7f9f60c80477825b6c489fe", size = 9900213, upload-time = "2026-01-21T15:51:30.955Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e7/63ad4cc10b257b143e0a5ebb04304ad806b4e1a61c5da25f55896d2ca0f4/pandas-3.0.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:debb95c77ff3ed3ba0d9aa20c3a2f19165cc7956362f9873fce1ba0a53819d70", size = 10428768, upload-time = "2026-01-21T15:51:33.018Z" }, + { url = "https://files.pythonhosted.org/packages/9e/0e/4e4c2d8210f20149fd2248ef3fff26623604922bd564d915f935a06dd63d/pandas-3.0.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fedabf175e7cd82b69b74c30adbaa616de301291a5231138d7242596fc296a8d", size = 10882954, upload-time = "2026-01-21T15:51:35.287Z" }, + { url = "https://files.pythonhosted.org/packages/c6/60/c9de8ac906ba1f4d2250f8a951abe5135b404227a55858a75ad26f84db47/pandas-3.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:412d1a89aab46889f3033a386912efcdfa0f1131c5705ff5b668dda88305e986", size = 11430293, upload-time = "2026-01-21T15:51:37.57Z" }, + { url = "https://files.pythonhosted.org/packages/a1/69/806e6637c70920e5787a6d6896fd707f8134c2c55cd761e7249a97b7dc5a/pandas-3.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e979d22316f9350c516479dd3a92252be2937a9531ed3a26ec324198a99cdd49", size = 11952452, upload-time = "2026-01-21T15:51:39.618Z" }, + { url = "https://files.pythonhosted.org/packages/cb/de/918621e46af55164c400ab0ef389c9d969ab85a43d59ad1207d4ddbe30a5/pandas-3.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:083b11415b9970b6e7888800c43c82e81a06cd6b06755d84804444f0007d6bb7", size = 9851081, upload-time = "2026-01-21T15:51:41.758Z" }, + { url = "https://files.pythonhosted.org/packages/91/a1/3562a18dd0bd8c73344bfa26ff90c53c72f827df119d6d6b1dacc84d13e3/pandas-3.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:5db1e62cb99e739fa78a28047e861b256d17f88463c76b8dafc7c1338086dca8", size = 9174610, upload-time = "2026-01-21T15:51:44.312Z" }, + { url = "https://files.pythonhosted.org/packages/ce/26/430d91257eaf366f1737d7a1c158677caaf6267f338ec74e3a1ec444111c/pandas-3.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:697b8f7d346c68274b1b93a170a70974cdc7d7354429894d5927c1effdcccd73", size = 10761999, upload-time = "2026-01-21T15:51:46.899Z" }, + { url = "https://files.pythonhosted.org/packages/ec/1a/954eb47736c2b7f7fe6a9d56b0cb6987773c00faa3c6451a43db4beb3254/pandas-3.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8cb3120f0d9467ed95e77f67a75e030b67545bcfa08964e349252d674171def2", size = 10410279, upload-time = "2026-01-21T15:51:48.89Z" }, + { url = "https://files.pythonhosted.org/packages/20/fc/b96f3a5a28b250cd1b366eb0108df2501c0f38314a00847242abab71bb3a/pandas-3.0.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33fd3e6baa72899746b820c31e4b9688c8e1b7864d7aec2de7ab5035c285277a", size = 10330198, upload-time = "2026-01-21T15:51:51.015Z" }, + { url = "https://files.pythonhosted.org/packages/90/b3/d0e2952f103b4fbef1ef22d0c2e314e74fc9064b51cee30890b5e3286ee6/pandas-3.0.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8942e333dc67ceda1095227ad0febb05a3b36535e520154085db632c40ad084", size = 10728513, upload-time = "2026-01-21T15:51:53.387Z" }, + { url = "https://files.pythonhosted.org/packages/76/81/832894f286df828993dc5fd61c63b231b0fb73377e99f6c6c369174cf97e/pandas-3.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:783ac35c4d0fe0effdb0d67161859078618b1b6587a1af15928137525217a721", size = 11345550, upload-time = "2026-01-21T15:51:55.329Z" }, + { url = "https://files.pythonhosted.org/packages/34/a0/ed160a00fb4f37d806406bc0a79a8b62fe67f29d00950f8d16203ff3409b/pandas-3.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:125eb901e233f155b268bbef9abd9afb5819db74f0e677e89a61b246228c71ac", size = 11799386, upload-time = "2026-01-21T15:51:57.457Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/2ac00d7255252c5e3cf61b35ca92ca25704b0188f7454ca4aec08a33cece/pandas-3.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b86d113b6c109df3ce0ad5abbc259fe86a1bd4adfd4a31a89da42f84f65509bb", size = 10873041, upload-time = "2026-01-21T15:52:00.034Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3f/a80ac00acbc6b35166b42850e98a4f466e2c0d9c64054161ba9620f95680/pandas-3.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:1c39eab3ad38f2d7a249095f0a3d8f8c22cc0f847e98ccf5bbe732b272e2d9fa", size = 9441003, upload-time = "2026-01-21T15:52:02.281Z" }, ] [[package]] name = "pdfminer-six" -version = "20251107" +version = "20260107" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "charset-normalizer" }, { name = "cryptography" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1d/50/5315f381a25dc80a8d2ea7c62d9a28c0137f10ccc263623a0db8b49fcced/pdfminer_six-20251107.tar.gz", hash = "sha256:5fb0c553799c591777f22c0c72b77fc2522d7d10c70654e25f4c5f1fd996e008", size = 7387104, upload-time = "2025-11-07T20:01:10.286Z" } +sdist = { url = "https://files.pythonhosted.org/packages/34/a4/5cec1112009f0439a5ca6afa8ace321f0ab2f48da3255b7a1c8953014670/pdfminer_six-20260107.tar.gz", hash = "sha256:96bfd431e3577a55a0efd25676968ca4ce8fd5b53f14565f85716ff363889602", size = 8512094, upload-time = "2026-01-07T13:29:12.937Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/64/29/d1d9f6b900191288b77613ddefb73ed35b48fb35e44aaf8b01b0422b759d/pdfminer_six-20251107-py3-none-any.whl", hash = "sha256:c09df33e4cbe6b26b2a79248a4ffcccafaa5c5d39c9fff0e6e81567f165b5401", size = 5620299, upload-time = "2025-11-07T20:01:08.722Z" }, + { url = "https://files.pythonhosted.org/packages/20/8b/28c4eaec9d6b036a52cb44720408f26b1a143ca9bce76cc19e8f5de00ab4/pdfminer_six-20260107-py3-none-any.whl", hash = "sha256:366585ba97e80dffa8f00cebe303d2f381884d8637af4ce422f1df3ef38111a9", size = 6592252, upload-time = "2026-01-07T13:29:10.742Z" }, ] [[package]] @@ -910,45 +979,47 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f", size = 74766, upload-time = "2024-08-26T21:01:02.632Z" }, ] -[[package]] -name = "plaster" -version = "1.1.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/93/66df0f87f1442d8afea8531ae8a4a9eca656006a54eac2b4489427e92c10/plaster-1.1.2.tar.gz", hash = "sha256:f8befc54bf8c1147c10ab40297ec84c2676fa2d4ea5d6f524d9436a80074ef98", size = 33232, upload-time = "2022-11-21T01:44:54.49Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/8b/3f98db1448e3b4d2d142716874a7e02f6101685fdaa0f55a8668e9ffa048/plaster-1.1.2-py2.py3-none-any.whl", hash = "sha256:42992ab1f4865f1278e2ad740e8ad145683bb4022e03534265528f0c23c0df2d", size = 11554, upload-time = "2022-11-21T01:44:52.984Z" }, -] - -[[package]] -name = "plaster-pastedeploy" -version = "1.0.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pastedeploy" }, - { name = "plaster" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c7/af/01a22f73ce97c6375c88d7ceaf6f5f4f345e940da93c94f98833d898a449/plaster_pastedeploy-1.0.1.tar.gz", hash = "sha256:be262e6d2e41a7264875daa2fe2850cbb0615728bcdc92828fdc72736e381412", size = 20915, upload-time = "2022-11-07T01:23:05.348Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/30/2d4cf89035c22a89bf0e34dbc50fdc07c42c9bdc90fd972d495257ad2b6e/plaster_pastedeploy-1.0.1-py2.py3-none-any.whl", hash = "sha256:ad3550cc744648969ed3b810f33c9344f515ee8d8a8cec18e8f2c4a643c2181f", size = 7823, upload-time = "2022-11-07T01:23:03.23Z" }, -] - [[package]] name = "playwright" -version = "1.57.0" +version = "1.58.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "greenlet" }, { name = "pyee" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/b6/e17543cea8290ae4dced10be21d5a43c360096aa2cce0aa7039e60c50df3/playwright-1.57.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:9351c1ac3dfd9b3820fe7fc4340d96c0d3736bb68097b9b7a69bd45d25e9370c", size = 41985039, upload-time = "2025-12-09T08:06:18.408Z" }, - { url = "https://files.pythonhosted.org/packages/8b/04/ef95b67e1ff59c080b2effd1a9a96984d6953f667c91dfe9d77c838fc956/playwright-1.57.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:a4a9d65027bce48eeba842408bcc1421502dfd7e41e28d207e94260fa93ca67e", size = 40775575, upload-time = "2025-12-09T08:06:22.105Z" }, - { url = "https://files.pythonhosted.org/packages/60/bd/5563850322a663956c927eefcf1457d12917e8f118c214410e815f2147d1/playwright-1.57.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:99104771abc4eafee48f47dac2369e0015516dc1ce8c409807d2dd440828b9a4", size = 41985042, upload-time = "2025-12-09T08:06:25.357Z" }, - { url = "https://files.pythonhosted.org/packages/56/61/3a803cb5ae0321715bfd5247ea871d25b32c8f372aeb70550a90c5f586df/playwright-1.57.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:284ed5a706b7c389a06caa431b2f0ba9ac4130113c3a779767dda758c2497bb1", size = 45975252, upload-time = "2025-12-09T08:06:29.186Z" }, - { url = "https://files.pythonhosted.org/packages/83/d7/b72eb59dfbea0013a7f9731878df8c670f5f35318cedb010c8a30292c118/playwright-1.57.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a1bae6c0a07839cdeaddbc0756b3b2b85e476c07945f64ece08f1f956a86f1", size = 45706917, upload-time = "2025-12-09T08:06:32.549Z" }, - { url = "https://files.pythonhosted.org/packages/e4/09/3fc9ebd7c95ee54ba6a68d5c0bc23e449f7235f4603fc60534a364934c16/playwright-1.57.0-py3-none-win32.whl", hash = "sha256:1dd93b265688da46e91ecb0606d36f777f8eadcf7fbef12f6426b20bf0c9137c", size = 36553860, upload-time = "2025-12-09T08:06:35.864Z" }, - { url = "https://files.pythonhosted.org/packages/58/d4/dcdfd2a33096aeda6ca0d15584800443dd2be64becca8f315634044b135b/playwright-1.57.0-py3-none-win_amd64.whl", hash = "sha256:6caefb08ed2c6f29d33b8088d05d09376946e49a73be19271c8cd5384b82b14c", size = 36553864, upload-time = "2025-12-09T08:06:38.915Z" }, - { url = "https://files.pythonhosted.org/packages/6a/60/fe31d7e6b8907789dcb0584f88be741ba388413e4fbce35f1eba4e3073de/playwright-1.57.0-py3-none-win_arm64.whl", hash = "sha256:5f065f5a133dbc15e6e7c71e7bc04f258195755b1c32a432b792e28338c8335e", size = 32837940, upload-time = "2025-12-09T08:06:42.268Z" }, + { url = "https://files.pythonhosted.org/packages/f8/c9/9c6061d5703267f1baae6a4647bfd1862e386fbfdb97d889f6f6ae9e3f64/playwright-1.58.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:96e3204aac292ee639edbfdef6298b4be2ea0a55a16b7068df91adac077cc606", size = 42251098, upload-time = "2026-01-30T15:09:24.028Z" }, + { url = "https://files.pythonhosted.org/packages/e0/40/59d34a756e02f8c670f0fee987d46f7ee53d05447d43cd114ca015cb168c/playwright-1.58.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:70c763694739d28df71ed578b9c8202bb83e8fe8fb9268c04dd13afe36301f71", size = 41039625, upload-time = "2026-01-30T15:09:27.558Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ee/3ce6209c9c74a650aac9028c621f357a34ea5cd4d950700f8e2c4b7fe2c4/playwright-1.58.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:185e0132578733d02802dfddfbbc35f42be23a45ff49ccae5081f25952238117", size = 42251098, upload-time = "2026-01-30T15:09:30.461Z" }, + { url = "https://files.pythonhosted.org/packages/f1/af/009958cbf23fac551a940d34e3206e6c7eed2b8c940d0c3afd1feb0b0589/playwright-1.58.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:c95568ba1eda83812598c1dc9be60b4406dffd60b149bc1536180ad108723d6b", size = 46235268, upload-time = "2026-01-30T15:09:33.787Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a6/0e66ad04b6d3440dae73efb39540c5685c5fc95b17c8b29340b62abbd952/playwright-1.58.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f9999948f1ab541d98812de25e3a8c410776aa516d948807140aff797b4bffa", size = 45964214, upload-time = "2026-01-30T15:09:36.751Z" }, + { url = "https://files.pythonhosted.org/packages/0e/4b/236e60ab9f6d62ed0fd32150d61f1f494cefbf02304c0061e78ed80c1c32/playwright-1.58.0-py3-none-win32.whl", hash = "sha256:1e03be090e75a0fabbdaeab65ce17c308c425d879fa48bb1d7986f96bfad0b99", size = 36815998, upload-time = "2026-01-30T15:09:39.627Z" }, + { url = "https://files.pythonhosted.org/packages/41/f8/5ec599c5e59d2f2f336a05b4f318e733077cd5044f24adb6f86900c3e6a7/playwright-1.58.0-py3-none-win_amd64.whl", hash = "sha256:a2bf639d0ce33b3ba38de777e08697b0d8f3dc07ab6802e4ac53fb65e3907af8", size = 36816005, upload-time = "2026-01-30T15:09:42.449Z" }, + { url = "https://files.pythonhosted.org/packages/c8/c4/cc0229fea55c87d6c9c67fe44a21e2cd28d1d558a5478ed4d617e9fb0c93/playwright-1.58.0-py3-none-win_arm64.whl", hash = "sha256:32ffe5c303901a13a0ecab91d1c3f74baf73b84f4bedbb6b935f5bc11cc98e1b", size = 33085919, upload-time = "2026-01-30T15:09:45.71Z" }, +] + +[[package]] +name = "prek" +version = "0.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/f5/ee52def928dd1355c20bcfcf765e1e61434635c33f3075e848e7b83a157b/prek-0.3.2.tar.gz", hash = "sha256:dce0074ff1a21290748ca567b4bda7553ee305a8c7b14d737e6c58364a499364", size = 334229, upload-time = "2026-02-06T13:49:47.539Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/69/70a5fc881290a63910494df2677c0fb241d27cfaa435bbcd0de5cd2e2443/prek-0.3.2-py3-none-linux_armv6l.whl", hash = "sha256:4f352f9c3fc98aeed4c8b2ec4dbf16fc386e45eea163c44d67e5571489bd8e6f", size = 4614960, upload-time = "2026-02-06T13:50:05.818Z" }, + { url = "https://files.pythonhosted.org/packages/c0/15/a82d5d32a2207ccae5d86ea9e44f2b93531ed000faf83a253e8d1108e026/prek-0.3.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:4a000cfbc3a6ec7d424f8be3c3e69ccd595448197f92daac8652382d0acc2593", size = 4622889, upload-time = "2026-02-06T13:49:53.662Z" }, + { url = "https://files.pythonhosted.org/packages/89/75/ea833b58a12741397017baef9b66a6e443bfa8286ecbd645d14111446280/prek-0.3.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5436bdc2702cbd7bcf9e355564ae66f8131211e65fefae54665a94a07c3d450a", size = 4239653, upload-time = "2026-02-06T13:50:02.88Z" }, + { url = "https://files.pythonhosted.org/packages/10/b4/d9c3885987afac6e20df4cb7db14e3b0d5a08a77ae4916488254ebac4d0b/prek-0.3.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:0161b5f584f9e7f416d6cf40a17b98f17953050ff8d8350ec60f20fe966b86b6", size = 4595101, upload-time = "2026-02-06T13:49:49.813Z" }, + { url = "https://files.pythonhosted.org/packages/21/a6/1a06473ed83dbc898de22838abdb13954e2583ce229f857f61828384634c/prek-0.3.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4e641e8533bca38797eebb49aa89ed0e8db0e61225943b27008c257e3af4d631", size = 4521978, upload-time = "2026-02-06T13:49:41.266Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5e/c38390d5612e6d86b32151c1d2fdab74a57913473193591f0eb00c894c21/prek-0.3.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfca1810d49d3f9ef37599c958c4e716bc19a1d78a7e88cbdcb332e0b008994f", size = 4829108, upload-time = "2026-02-06T13:49:44.598Z" }, + { url = "https://files.pythonhosted.org/packages/80/a6/cecce2ab623747ff65ed990bb0d95fa38449ee19b348234862acf9392fff/prek-0.3.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d69d754299a95a85dc20196f633232f306bee7e7c8cba61791f49ce70404ec", size = 5357520, upload-time = "2026-02-06T13:49:48.512Z" }, + { url = "https://files.pythonhosted.org/packages/a5/18/d6bcb29501514023c76d55d5cd03bdbc037737c8de8b6bc41cdebfb1682c/prek-0.3.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:539dcb90ad9b20837968539855df6a29493b328a1ae87641560768eed4f313b0", size = 4852635, upload-time = "2026-02-06T13:49:58.347Z" }, + { url = "https://files.pythonhosted.org/packages/1b/0a/ae46f34ba27ba87aea5c9ad4ac9cd3e07e014fd5079ae079c84198f62118/prek-0.3.2-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:1998db3d0cbe243984736c82232be51318f9192e2433919a6b1c5790f600b5fd", size = 4599484, upload-time = "2026-02-06T13:49:43.296Z" }, + { url = "https://files.pythonhosted.org/packages/1a/a9/73bfb5b3f7c3583f9b0d431924873928705cdef6abb3d0461c37254a681b/prek-0.3.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:07ab237a5415a3e8c0db54de9d63899bcd947624bdd8820d26f12e65f8d19eb7", size = 4657694, upload-time = "2026-02-06T13:50:01.074Z" }, + { url = "https://files.pythonhosted.org/packages/a7/bc/0994bc176e1a80110fad3babce2c98b0ac4007630774c9e18fc200a34781/prek-0.3.2-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:0ced19701d69c14a08125f14a5dd03945982edf59e793c73a95caf4697a7ac30", size = 4509337, upload-time = "2026-02-06T13:49:54.891Z" }, + { url = "https://files.pythonhosted.org/packages/f9/13/e73f85f65ba8f626468e5d1694ab3763111513da08e0074517f40238c061/prek-0.3.2-py3-none-musllinux_1_1_i686.whl", hash = "sha256:ffb28189f976fa111e770ee94e4f298add307714568fb7d610c8a7095cb1ce59", size = 4697350, upload-time = "2026-02-06T13:50:04.526Z" }, + { url = "https://files.pythonhosted.org/packages/14/47/98c46dcd580305b9960252a4eb966f1a7b1035c55c363f378d85662ba400/prek-0.3.2-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:f63134b3eea14421789a7335d86f99aee277cb520427196f2923b9260c60e5c5", size = 4955860, upload-time = "2026-02-06T13:49:56.581Z" }, + { url = "https://files.pythonhosted.org/packages/73/42/1bb4bba3ff47897df11e9dfd774027cdfa135482c961a54e079af0faf45a/prek-0.3.2-py3-none-win32.whl", hash = "sha256:58c806bd1344becd480ef5a5ba348846cc000af0e1fbe854fef91181a2e06461", size = 4267619, upload-time = "2026-02-06T13:49:39.503Z" }, + { url = "https://files.pythonhosted.org/packages/97/11/6665f47a7c350d83de17403c90bbf7a762ef50876ece456a86f64f46fbfb/prek-0.3.2-py3-none-win_amd64.whl", hash = "sha256:70114b48e9eb8048b2c11b4c7715ce618529c6af71acc84dd8877871a2ef71a6", size = 4624324, upload-time = "2026-02-06T13:49:45.922Z" }, + { url = "https://files.pythonhosted.org/packages/22/e7/740997ca82574d03426f897fd88afe3fc8a7306b8c7ea342a8bc1c538488/prek-0.3.2-py3-none-win_arm64.whl", hash = "sha256:9144d176d0daa2469a25c303ef6f6fa95a8df015eb275232f5cb53551ecefef0", size = 4336008, upload-time = "2026-02-06T13:49:52.27Z" }, ] [[package]] @@ -965,11 +1036,11 @@ wheels = [ [[package]] name = "pycparser" -version = "2.23" +version = "3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, ] [[package]] @@ -1077,7 +1148,7 @@ wheels = [ [[package]] name = "pyinstaller" -version = "6.17.0" +version = "6.18.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "altgraph" }, @@ -1088,68 +1159,69 @@ dependencies = [ { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, { name = "setuptools" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/01/80/9e0dad9c69a7cfd4b5aaede8c6225d762bab7247a2a6b7651e1995522001/pyinstaller-6.17.0.tar.gz", hash = "sha256:be372bd911392b88277e510940ac32a5c2a6ce4b8d00a311c78fa443f4f27313", size = 4014147, upload-time = "2025-11-24T19:43:32.109Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/b8/0fe3359920b0a4e7008e0e93ff383003763e3eee3eb31a07c52868722960/pyinstaller-6.18.0.tar.gz", hash = "sha256:cdc507542783511cad4856fce582fdc37e9f29665ca596889c663c83ec8c6ec9", size = 4034976, upload-time = "2026-01-13T03:13:23.886Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/35/f5/37e419d84d5284ecab11ef8b61306a3b978fe6f0fd69a9541e16bfd72e65/pyinstaller-6.17.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:4e446b8030c6e5a2f712e3f82011ecf6c7ead86008357b0d23a0ec4bcde31dac", size = 1031880, upload-time = "2025-11-24T19:42:30.862Z" }, - { url = "https://files.pythonhosted.org/packages/9e/b6/2e184879ab9cf90a1d2867fdd34d507c4d246b3cc52ca05aad00bfc70ee7/pyinstaller-6.17.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:aa9fd87aaa28239c6f0d0210114029bd03f8cac316a90bab071a5092d7c85ad7", size = 731968, upload-time = "2025-11-24T19:42:35.421Z" }, - { url = "https://files.pythonhosted.org/packages/40/76/f529de98f7e5cce7904c19b224990003fc2267eda2ee5fdd8452acb420a9/pyinstaller-6.17.0-py3-none-manylinux2014_i686.whl", hash = "sha256:060b122e43e7c0b23e759a4153be34bd70914135ab955bb18a67181e0dca85a2", size = 743217, upload-time = "2025-11-24T19:42:39.286Z" }, - { url = "https://files.pythonhosted.org/packages/a3/10/c02bfbb050cafc4c353cf69baf95407e211e1372bd286ab5ce5cbc13a30a/pyinstaller-6.17.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:cd213d1a545c97dfe4a3c40e8213ff7c5127fc115c49229f27a3fa541503444b", size = 741119, upload-time = "2025-11-24T19:42:43.12Z" }, - { url = "https://files.pythonhosted.org/packages/11/9d/69fdacfd9335695f5900a376cfe3e4aed28f0720ffc15fee81fdb9d920bc/pyinstaller-6.17.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:89c0d18ba8b62c6607abd8cf2299ae5ffa5c36d8c47f39608ce8c3f357f6099f", size = 738111, upload-time = "2025-11-24T19:42:46.97Z" }, - { url = "https://files.pythonhosted.org/packages/5e/1e/e8e36e1568f6865ac706c6e1f875c1a346ddaa9f9a8f923d66545d2240ed/pyinstaller-6.17.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:2a147b83cdebb07855bd5a663600891550062373a2ca375c58eacead33741a27", size = 737795, upload-time = "2025-11-24T19:42:50.675Z" }, - { url = "https://files.pythonhosted.org/packages/8d/15/9dc0f81ccb746c27bfa6ee53164422fe47ee079c7a717d9c4791aba78797/pyinstaller-6.17.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:f8cfbbfa6708e54fb936df6dd6eafaf133e84efb0d2fe25b91cfeefa793c4ca4", size = 736891, upload-time = "2025-11-24T19:42:54.458Z" }, - { url = "https://files.pythonhosted.org/packages/97/e6/bed54821c1ebe1275c559661d3e7bfa23c406673b515252dfbf89db56c65/pyinstaller-6.17.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:97f4c1942f7b4cd73f9e38b49cc8f5f8a6fbb44922cb60dd3073a189b77ee1ae", size = 736752, upload-time = "2025-11-24T19:42:58.144Z" }, - { url = "https://files.pythonhosted.org/packages/c7/84/897d759198676b910d69d42640b6d25d50b449f2209e18127a974cf59dbe/pyinstaller-6.17.0-py3-none-win32.whl", hash = "sha256:ce0be227a037fd4be672226db709088565484f597d6b230bceec19850fdd4c85", size = 1317851, upload-time = "2025-11-24T19:43:04.361Z" }, - { url = "https://files.pythonhosted.org/packages/2d/f5/6a122efe024433ecc34aab6f499e0bd2bbe059c639b77b0045aa2421b0bf/pyinstaller-6.17.0-py3-none-win_amd64.whl", hash = "sha256:b019940dbf7a01489d6b26f9fb97db74b504e0a757010f7ad078675befc85a82", size = 1378685, upload-time = "2025-11-24T19:43:10.395Z" }, - { url = "https://files.pythonhosted.org/packages/c4/96/14991773c9e599707a53594429ccf372f9ee638df3b7d26b65fd1a7433f0/pyinstaller-6.17.0-py3-none-win_arm64.whl", hash = "sha256:3c92a335e338170df7e615f75279cfeea97ade89e6dd7694943c8c185460f7b7", size = 1320032, upload-time = "2025-11-24T19:43:16.388Z" }, + { url = "https://files.pythonhosted.org/packages/73/e6/51b0146a1a3eec619e58f5d69fb4e3d0f65a31cbddbeef557c9bb83eeed9/pyinstaller-6.18.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:cb7aa5a71bfa7c0af17a4a4e21855663c89e4bd7c40f1d337c8370636d8847c3", size = 1040056, upload-time = "2026-01-13T03:12:15.397Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9c/a3634c0ec8e1ed31b373b548848b5c0b39b56edc191cf737e697d484ec23/pyinstaller-6.18.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:07785459b3bf8a48889eac0b4d0667ade84aef8930ce030bc7cbb32f41283b33", size = 734971, upload-time = "2026-01-13T03:12:20.912Z" }, + { url = "https://files.pythonhosted.org/packages/2c/04/6756442078ccfcd552ccce636be1574035e62f827ffa1f5d8a0382682546/pyinstaller-6.18.0-py3-none-manylinux2014_i686.whl", hash = "sha256:f998675b7ccb2dabbb1dc2d6f18af61d55428ad6d38e6c4d700417411b697d37", size = 746637, upload-time = "2026-01-13T03:12:29.302Z" }, + { url = "https://files.pythonhosted.org/packages/54/39/fbc56519000cdbf450f472692a7b9b55d42077ce8529f1be631db7b75a36/pyinstaller-6.18.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:779817a0cf69604cddcdb5be1fd4959dc2ce048d6355c73e5da97884df2f3387", size = 744343, upload-time = "2026-01-13T03:12:33.369Z" }, + { url = "https://files.pythonhosted.org/packages/36/f2/50887badf282fee776e83d1e4feab74c026f50a1ea16e109ed939e32aa28/pyinstaller-6.18.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:31b5d109f8405be0b7cddcede43e7b074792bc9a5bbd54ec000a3e779183c2af", size = 741084, upload-time = "2026-01-13T03:12:37.528Z" }, + { url = "https://files.pythonhosted.org/packages/1c/08/3a1419183e4713ef77d912ecbdd6ef858689ed9deb34d547133f724ca745/pyinstaller-6.18.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:4328c9837f1aef4fe1a127d4ff1b09a12ce53c827ce87c94117628b0e1fd098b", size = 740943, upload-time = "2026-01-13T03:12:41.589Z" }, + { url = "https://files.pythonhosted.org/packages/c2/47/309305e36d116f1434b42d91c420ff951fa79b2c398bbd59930c830450be/pyinstaller-6.18.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:3638fc81eb948e5e5eab1d4ad8f216e3fec6d4a350648304f0adb227b746ee5e", size = 740107, upload-time = "2026-01-13T03:12:45.694Z" }, + { url = "https://files.pythonhosted.org/packages/83/0f/a59a95cd1df59ddbc9e74d5a663387551333bcf19a5dd3086f5c81a2e83c/pyinstaller-6.18.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:8fbe59da34269e637f97fd3c43024f764586fc319141d245ff1a2e9af1036aa3", size = 739843, upload-time = "2026-01-13T03:12:49.728Z" }, + { url = "https://files.pythonhosted.org/packages/9a/09/e7a870e7205cdbd2f8785010a5d3fe48a9df2591156ee34a8b29b774fa14/pyinstaller-6.18.0-py3-none-win32.whl", hash = "sha256:496205e4fa92ec944f9696eb597962a83aef4d4c3479abfab83d730e1edf016b", size = 1323811, upload-time = "2026-01-13T03:12:55.717Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d5/48eef2002b6d3937ceac2717fe17e9ca3a43a4c9826bafee367dfc75ba85/pyinstaller-6.18.0-py3-none-win_amd64.whl", hash = "sha256:976fabd90ecfbda47571c87055ad73413ec615ff7dea35e12a4304174de78de9", size = 1384389, upload-time = "2026-01-13T03:13:01.993Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8d/1a88e6e94107de3ea1c842fd59c3aa132d344ad8e52ea458ffa9a748726e/pyinstaller-6.18.0-py3-none-win_arm64.whl", hash = "sha256:dba4b70e3c9ba09aab51152c72a08e58a751851548f77ad35944d32a300c8381", size = 1324869, upload-time = "2026-01-13T03:13:08.192Z" }, ] [[package]] name = "pyinstaller-hooks-contrib" -version = "2025.10" +version = "2026.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "packaging" }, { name = "setuptools" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/26/4f/e33132acdb8f732978e577b8a0130a412cbfe7a3414605e3fd380a975522/pyinstaller_hooks_contrib-2025.10.tar.gz", hash = "sha256:a1a737e5c0dccf1cf6f19a25e2efd109b9fec9ddd625f97f553dac16ee884881", size = 168155, upload-time = "2025-11-22T09:34:36.138Z" } +sdist = { url = "https://files.pythonhosted.org/packages/31/8f/8052ff65067697ee80fde45b9731842e160751c41ac5690ba232c22030e8/pyinstaller_hooks_contrib-2026.0.tar.gz", hash = "sha256:0120893de491a000845470ca9c0b39284731ac6bace26f6849dea9627aaed48e", size = 170311, upload-time = "2026-01-20T00:15:23.922Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/de/a7688eed49a1d3df337cdaa4c0d64e231309a52f269850a72051975e3c4a/pyinstaller_hooks_contrib-2025.10-py3-none-any.whl", hash = "sha256:aa7a378518772846221f63a84d6306d9827299323243db890851474dfd1231a9", size = 447760, upload-time = "2025-11-22T09:34:34.753Z" }, + { url = "https://files.pythonhosted.org/packages/d5/b1/9da6ec3e88696018ee7bb9dc4a7310c2cfaebf32923a19598cd342767c10/pyinstaller_hooks_contrib-2026.0-py3-none-any.whl", hash = "sha256:0590db8edeba3e6c30c8474937021f5cd39c0602b4d10f74a064c73911efaca5", size = 452318, upload-time = "2026-01-20T00:15:21.88Z" }, ] [[package]] name = "pymdown-extensions" -version = "10.18" +version = "10.20.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d4/95/e4fa281e3f13b3d9c4aaebb21ef44879840325fa418276dd921209a5e9f9/pymdown_extensions-10.18.tar.gz", hash = "sha256:20252abe6367354b24191431617a072ee6be9f68c5afcc74ea5573508a61f9e5", size = 847697, upload-time = "2025-12-07T17:22:12.857Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/6c/9e370934bfa30e889d12e61d0dae009991294f40055c238980066a7fbd83/pymdown_extensions-10.20.1.tar.gz", hash = "sha256:e7e39c865727338d434b55f1dd8da51febcffcaebd6e1a0b9c836243f660740a", size = 852860, upload-time = "2026-01-24T05:56:56.758Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/a4/aa2bada4a2fd648f40f19affa55d2c01dc7ff5ea9cffd3dfdeb6114951db/pymdown_extensions-10.18-py3-none-any.whl", hash = "sha256:090bca72be43f7d3186374e23c782899dbef9dc153ef24c59dcd3c346f9ffcae", size = 266703, upload-time = "2025-12-07T17:22:11.22Z" }, + { url = "https://files.pythonhosted.org/packages/40/6d/b6ee155462a0156b94312bdd82d2b92ea56e909740045a87ccb98bf52405/pymdown_extensions-10.20.1-py3-none-any.whl", hash = "sha256:24af7feacbca56504b313b7b418c4f5e1317bb5fea60f03d57be7fcc40912aa0", size = 268768, upload-time = "2026-01-24T05:56:54.537Z" }, ] [[package]] name = "pymupdf" -version = "1.26.6" +version = "1.26.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/d7/a6f0e03a117fa2ad79c4b898203bb212b17804f92558a6a339298faca7bb/pymupdf-1.26.6.tar.gz", hash = "sha256:a2b4531cd4ab36d6f1f794bb6d3c33b49bda22f36d58bb1f3e81cbc10183bd2b", size = 84322494, upload-time = "2025-11-05T15:20:46.786Z" } +sdist = { url = "https://files.pythonhosted.org/packages/48/d6/09b28f027b510838559f7748807192149c419b30cb90e6d5f0cf916dc9dc/pymupdf-1.26.7.tar.gz", hash = "sha256:71add8bdc8eb1aaa207c69a13400693f06ad9b927bea976f5d5ab9df0bb489c3", size = 84327033, upload-time = "2025-12-11T21:48:50.694Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/5c/dec354eee5fe4966c715f33818ed4193e0e6c986cf8484de35b6c167fb8e/pymupdf-1.26.6-cp310-abi3-macosx_10_9_x86_64.whl", hash = "sha256:e46f320a136ad55e5219e8f0f4061bdf3e4c12b126d2740d5a49f73fae7ea176", size = 23178988, upload-time = "2025-11-05T14:31:19.834Z" }, - { url = "https://files.pythonhosted.org/packages/ec/a0/11adb742d18142bd623556cd3b5d64649816decc5eafd30efc9498657e76/pymupdf-1.26.6-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:6844cd2396553c0fa06de4869d5d5ecb1260e6fc3b9d85abe8fa35f14dd9d688", size = 22469764, upload-time = "2025-11-05T14:32:34.654Z" }, - { url = "https://files.pythonhosted.org/packages/e4/c8/377cf20e31f58d4c243bfcf2d3cb7466d5b97003b10b9f1161f11eb4a994/pymupdf-1.26.6-cp310-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:617ba69e02c44f0da1c0e039ea4a26cf630849fd570e169c71daeb8ac52a81d6", size = 23502227, upload-time = "2025-11-06T11:03:56.934Z" }, - { url = "https://files.pythonhosted.org/packages/4f/bf/6e02e3d84b32c137c71a0a3dcdba8f2f6e9950619a3bc272245c7c06a051/pymupdf-1.26.6-cp310-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7777d0b7124c2ebc94849536b6a1fb85d158df3b9d873935e63036559391534c", size = 24115381, upload-time = "2025-11-05T14:33:54.338Z" }, - { url = "https://files.pythonhosted.org/packages/ab/9d/30f7fcb3776bfedde66c06297960debe4883b1667294a1ee9426c942e94d/pymupdf-1.26.6-cp310-abi3-win32.whl", hash = "sha256:8f3ef05befc90ca6bb0f12983200a7048d5bff3e1c1edef1bb3de60b32cb5274", size = 17203613, upload-time = "2025-11-05T17:19:47.494Z" }, - { url = "https://files.pythonhosted.org/packages/f9/e8/989f4eaa369c7166dc24f0eaa3023f13788c40ff1b96701f7047421554a8/pymupdf-1.26.6-cp310-abi3-win_amd64.whl", hash = "sha256:ce02ca96ed0d1acfd00331a4d41a34c98584d034155b06fd4ec0f051718de7ba", size = 18405680, upload-time = "2025-11-05T14:34:48.672Z" }, + { url = "https://files.pythonhosted.org/packages/94/35/cd74cea1787b2247702ef8522186bdef32e9cb30a099e6bb864627ef6045/pymupdf-1.26.7-cp310-abi3-macosx_10_9_x86_64.whl", hash = "sha256:07085718dfdae5ab83b05eb5eb397f863bcc538fe05135318a01ea353e7a1353", size = 23179369, upload-time = "2025-12-11T21:47:21.587Z" }, + { url = "https://files.pythonhosted.org/packages/72/74/448b6172927c829c6a3fba80078d7b0a016ebbe2c9ee528821f5ea21677a/pymupdf-1.26.7-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:31aa9c8377ea1eea02934b92f4dcf79fb2abba0bf41f8a46d64c3e31546a3c02", size = 22470101, upload-time = "2025-12-11T21:47:37.105Z" }, + { url = "https://files.pythonhosted.org/packages/65/e7/47af26f3ac76be7ac3dd4d6cc7ee105948a8355d774e5ca39857bf91c11c/pymupdf-1.26.7-cp310-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e419b609996434a14a80fa060adec72c434a1cca6a511ec54db9841bc5d51b3c", size = 23502486, upload-time = "2025-12-12T09:51:25.824Z" }, + { url = "https://files.pythonhosted.org/packages/2a/6b/3de1714d734ff949be1e90a22375d0598d3540b22ae73eb85c2d7d1f36a9/pymupdf-1.26.7-cp310-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:69dfc78f206a96e5b3ac22741263ebab945fdf51f0dbe7c5757c3511b23d9d72", size = 24115727, upload-time = "2025-12-11T21:47:51.274Z" }, + { url = "https://files.pythonhosted.org/packages/62/9b/f86224847949577a523be2207315ae0fd3155b5d909cd66c274d095349a3/pymupdf-1.26.7-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1d5106f46e1ca0d64d46bd51892372a4f82076bdc14a9678d33d630702abca36", size = 24324386, upload-time = "2025-12-12T14:58:45.483Z" }, + { url = "https://files.pythonhosted.org/packages/85/8e/a117d39092ca645fde8b903f4a941d9aa75b370a67b4f1f435f56393dc5a/pymupdf-1.26.7-cp310-abi3-win32.whl", hash = "sha256:7c9645b6f5452629c747690190350213d3e5bbdb6b2eca227d82702b327f6eee", size = 17203888, upload-time = "2025-12-12T13:59:57.613Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c3/d0047678146c294469c33bae167c8ace337deafb736b0bf97b9bc481aa65/pymupdf-1.26.7-cp310-abi3-win_amd64.whl", hash = "sha256:425b1befe40d41b72eb0fe211711c7ae334db5eb60307e9dd09066ed060cceba", size = 18405952, upload-time = "2025-12-11T21:48:02.947Z" }, ] [[package]] name = "pyparsing" -version = "3.2.5" +version = "3.3.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz", hash = "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size = 1099274, upload-time = "2025-09-21T04:11:06.277Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" }, + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, ] [[package]] @@ -1165,29 +1237,9 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/f5/5067b48012967ea166b9bd0a015b69e0560e4c6e7c06f28d9bab8f9dd10b/pyquery-2.0.1-py3-none-any.whl", hash = "sha256:aedfa0bd0eb9afc94b3ddbec8f375a6362b32bc9662f46e3e0d866483f4771b0", size = 22573, upload-time = "2024-08-30T08:12:22.586Z" }, ] -[[package]] -name = "pyramid" -version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "hupper" }, - { name = "plaster" }, - { name = "plaster-pastedeploy" }, - { name = "setuptools" }, - { name = "translationstring" }, - { name = "venusian" }, - { name = "webob" }, - { name = "zope-deprecation" }, - { name = "zope-interface" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/47/c3/5d5736e692fc7ff052577f03136b5edfdf1e2e177eff2f4b91206acae11d/pyramid-2.0.2.tar.gz", hash = "sha256:372138a738e4216535cc76dcce6eddd5a1aaca95130f2354fb834264c06f18de", size = 2637533, upload-time = "2023-08-25T06:33:23.642Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/db/41/a2114b8dd2187ae007e022a2baabdc7937cc78211cefc0c01fc5452193af/pyramid-2.0.2-py3-none-any.whl", hash = "sha256:2e6585ac55c147f0a51bc00dadf72075b3bdd9a871b332ff9e5e04117ccd76fa", size = 247277, upload-time = "2023-08-25T06:33:20.883Z" }, -] - [[package]] name = "pyside6" -version = "6.10.1" +version = "6.10.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyside6-addons" }, @@ -1195,42 +1247,42 @@ dependencies = [ { name = "shiboken6" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/56/22/f82cfcd1158be502c5741fe67c3fa853f3c1edbd3ac2c2250769dd9722d1/pyside6-6.10.1-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:d0e70dd0e126d01986f357c2a555722f9462cf8a942bf2ce180baf69f468e516", size = 558169, upload-time = "2025-11-20T10:09:08.79Z" }, - { url = "https://files.pythonhosted.org/packages/66/eb/54afe242a25d1c33b04ecd8321a549d9efb7b89eef7690eed92e98ba1dc9/pyside6-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:4053bf51ba2c2cb20e1005edd469997976a02cec009f7c46356a0b65c137f1fa", size = 557818, upload-time = "2025-11-20T10:09:10.132Z" }, - { url = "https://files.pythonhosted.org/packages/4d/af/5706b1b33587dc2f3dfa3a5000424befba35e4f2d5889284eebbde37138b/pyside6-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:7d3ca20a40139ca5324a7864f1d91cdf2ff237e11bd16354a42670f2a4eeb13c", size = 558358, upload-time = "2025-11-20T10:09:11.288Z" }, - { url = "https://files.pythonhosted.org/packages/26/41/3f48d724ecc8e42cea8a8442aa9b5a86d394b85093275990038fd1020039/pyside6-6.10.1-cp39-abi3-win_amd64.whl", hash = "sha256:9f89ff994f774420eaa38cec6422fddd5356611d8481774820befd6f3bb84c9e", size = 564424, upload-time = "2025-11-20T10:09:12.677Z" }, - { url = "https://files.pythonhosted.org/packages/af/30/395411473b433875a82f6b5fdd0cb28f19a0e345bcaac9fbc039400d7072/pyside6-6.10.1-cp39-abi3-win_arm64.whl", hash = "sha256:9c5c1d94387d1a32a6fae25348097918ef413b87dfa3767c46f737c6d48ae437", size = 548866, upload-time = "2025-11-20T10:09:14.174Z" }, + { url = "https://files.pythonhosted.org/packages/35/0f/5736889fc850794623692cb369e295a994175e51295fa52134626f486296/pyside6-6.10.2-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:4b084293caa7845d0064aaf6af258e0f7caae03a14a33537d0a552131afddaf0", size = 563185, upload-time = "2026-02-02T08:50:47.161Z" }, + { url = "https://files.pythonhosted.org/packages/35/d3/ab5cd2fac3d34469c7376e0cd18eec92905dbe44748c70bda7699a2a7206/pyside6-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:1b89ce8558d4b4f35b85bff1db90d680912e4d3ce9e79ff804d6fef1d1a151ef", size = 563357, upload-time = "2026-02-02T08:50:48.919Z" }, + { url = "https://files.pythonhosted.org/packages/ea/8c/55bbd50c138c8dc12edc9f25e9d94760a33e574905468e98dff399094baa/pyside6-6.10.2-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:0439f5e9b10ebe6177981bac9e219096ec970ac6ec215bef055279802ba50601", size = 563357, upload-time = "2026-02-02T08:50:50.077Z" }, + { url = "https://files.pythonhosted.org/packages/4f/d4/673b8112b4a260377f760be835c4e357163fdaf68a56a1aec59aeb8e584b/pyside6-6.10.2-cp39-abi3-win_amd64.whl", hash = "sha256:032bad6b18a17fcbf4dddd0397f49b07f8aae7f1a45b7e4de7037bf7fd6e0edf", size = 569554, upload-time = "2026-02-02T08:50:51.147Z" }, + { url = "https://files.pythonhosted.org/packages/14/95/bda648fcccf61fe58cb417284716ae30acdddd44f7d4cbad6eea4ccaa872/pyside6-6.10.2-cp39-abi3-win_arm64.whl", hash = "sha256:65a59ad0bc92525639e3268d590948ce07a80ee97b55e7a9200db41d493cac31", size = 553828, upload-time = "2026-02-02T08:50:52.244Z" }, ] [[package]] name = "pyside6-addons" -version = "6.10.1" +version = "6.10.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyside6-essentials" }, { name = "shiboken6" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/2d/f9/b72a2578d7dbef7741bb90b5756b4ef9c99a5b40148ea53ce7f048573fe9/pyside6_addons-6.10.1-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:4d2b82bbf9b861134845803837011e5f9ac7d33661b216805273cf0c6d0f8e82", size = 322639446, upload-time = "2025-11-20T09:54:50.75Z" }, - { url = "https://files.pythonhosted.org/packages/94/3b/3ed951c570a15570706a89d39bfd4eaaffdf16d5c2dca17e82fc3ec8aaa6/pyside6_addons-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:330c229b58d30083a7b99ed22e118eb4f4126408429816a4044ccd0438ae81b4", size = 170678293, upload-time = "2025-11-20T09:56:40.991Z" }, - { url = "https://files.pythonhosted.org/packages/22/77/4c780b204d0bf3323a75c184e349d063e208db44c993f1214aa4745d6f47/pyside6_addons-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:56864b5fecd6924187a2d0f7e98d968ed72b6cc267caa5b294cd7e88fff4e54c", size = 166365011, upload-time = "2025-11-20T09:57:20.261Z" }, - { url = "https://files.pythonhosted.org/packages/04/14/58239776499e6b279fa6ca2e0d47209531454b99f6bd2ad7c96f11109416/pyside6_addons-6.10.1-cp39-abi3-win_amd64.whl", hash = "sha256:b6e249d15407dd33d6a2ffabd9dc6d7a8ab8c95d05f16a71dad4d07781c76341", size = 164864664, upload-time = "2025-11-20T09:57:54.815Z" }, - { url = "https://files.pythonhosted.org/packages/e2/cd/1b74108671ba4b1ebb2661330665c4898b089e9c87f7ba69fe2438f3d1b6/pyside6_addons-6.10.1-cp39-abi3-win_arm64.whl", hash = "sha256:0de303c0447326cdc6c8be5ab066ef581e2d0baf22560c9362d41b8304fdf2db", size = 34191225, upload-time = "2025-11-20T09:58:04.184Z" }, + { url = "https://files.pythonhosted.org/packages/61/06/c283567628ffa2cefc3c72374ad607f1dfc9842a03db65f1347b9ae52bee/pyside6_addons-6.10.2-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:0de7d0c9535e17d5e3b634b61314a1867f3b0f6d35c3d7cdc99efc353192faff", size = 322745605, upload-time = "2026-02-02T08:39:19.929Z" }, + { url = "https://files.pythonhosted.org/packages/a5/69/e1ab8c756fd3984b1fd7b186446227f524f6b561160bfbfdba8874b4709a/pyside6_addons-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:030a851163b51dbf0063be59e9ddb6a9e760bde89a28e461ccc81a224d286eaf", size = 170718434, upload-time = "2026-02-02T08:40:55.989Z" }, + { url = "https://files.pythonhosted.org/packages/df/e5/18ba86ba86d1231c486d36f9accfe862ed6eb52ca0b698aeaf6e837a87ca/pyside6_addons-6.10.2-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:fcee0373e3fd7b98f014094e5e37b4a39e4de7c5a47c13f654a7d557d4a426ad", size = 166423836, upload-time = "2026-02-02T08:42:44.918Z" }, + { url = "https://files.pythonhosted.org/packages/99/13/503bec9201881968c372cb634069535e80aec2489f3907d676e151a1023f/pyside6_addons-6.10.2-cp39-abi3-win_amd64.whl", hash = "sha256:c20150068525a17494f3b6576c5d61c417cf9a5870659e29f5ebd83cd20a78ea", size = 164712775, upload-time = "2026-02-02T08:43:23.729Z" }, + { url = "https://files.pythonhosted.org/packages/b6/39/44d6710b4dd18d745077b5fc6ded4ba6f32987a6e49c5834529e50f02155/pyside6_addons-6.10.2-cp39-abi3-win_arm64.whl", hash = "sha256:3d18db739b46946ba7b722d8ad4cc2097135033aa6ea57076e64d591e6a345f3", size = 34041396, upload-time = "2026-02-02T08:43:31.246Z" }, ] [[package]] name = "pyside6-essentials" -version = "6.10.1" +version = "6.10.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "shiboken6" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/04/b0/c43209fecef79912e9b1c70a1b5172b1edf76caebcc885c58c60a09613b0/pyside6_essentials-6.10.1-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:cd224aff3bb26ff1fca32c050e1c4d0bd9f951a96219d40d5f3d0128485b0bbe", size = 105461499, upload-time = "2025-11-20T09:59:23.733Z" }, - { url = "https://files.pythonhosted.org/packages/5f/8e/b69ba7fa0c701f3f4136b50460441697ec49ee6ea35c229eb2a5ee4b5952/pyside6_essentials-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:e9ccbfb58c03911a0bce1f2198605b02d4b5ca6276bfc0cbcf7c6f6393ffb856", size = 76764617, upload-time = "2025-11-20T09:59:38.831Z" }, - { url = "https://files.pythonhosted.org/packages/bd/83/569d27f4b6c6b9377150fe1a3745d64d02614021bea233636bc936a23423/pyside6_essentials-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:ec8617c9b143b0c19ba1cc5a7e98c538e4143795480cb152aee47802c18dc5d2", size = 75850373, upload-time = "2025-11-20T09:59:56.082Z" }, - { url = "https://files.pythonhosted.org/packages/1e/64/a8df6333de8ccbf3a320e1346ca30d0f314840aff5e3db9b4b66bf38e26c/pyside6_essentials-6.10.1-cp39-abi3-win_amd64.whl", hash = "sha256:9555a48e8f0acf63fc6a23c250808db841b28a66ed6ad89ee0e4df7628752674", size = 74491180, upload-time = "2025-11-20T10:00:11.215Z" }, - { url = "https://files.pythonhosted.org/packages/67/da/65cc6c6a870d4ea908c59b2f0f9e2cf3bfc6c0710ebf278ed72f69865e4e/pyside6_essentials-6.10.1-cp39-abi3-win_arm64.whl", hash = "sha256:4d1d248644f1778f8ddae5da714ca0f5a150a5e6f602af2765a7d21b876da05c", size = 55190458, upload-time = "2025-11-20T10:00:26.226Z" }, + { url = "https://files.pythonhosted.org/packages/1d/2e/5f18a77f5e0bd730bacec93a690d0ef3c96a9711d213653eacecbf241b8d/pyside6_essentials-6.10.2-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:1dee2cb9803ff135f881dadeb5c0edcef793d1ec4f8a9140a1348cecb71074e1", size = 105913067, upload-time = "2026-02-02T08:45:37.508Z" }, + { url = "https://files.pythonhosted.org/packages/99/20/3a6ca95052e1744b5a3eba164e2dd451d358a3dcaf78179de4b45c8e3f47/pyside6_essentials-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:660aea45bfa36f1e06f799b934c2a7df963bd31abc5083e8bb8a5bfaef45686b", size = 77027153, upload-time = "2026-02-02T08:45:53.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/a6/6073e4ddc2a5c7b3941606e4bc8bbaadcf0737f57450620b0793041c8d22/pyside6_essentials-6.10.2-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:c2b028e4c6f8047a02c31f373408e23b4eedfd405f56c6aba8d0525c29472835", size = 76114242, upload-time = "2026-02-02T08:46:07.184Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/616bbbd009efd3e17bf9a2db09d90c6764c010565cd2bdea2a240bfd18f7/pyside6_essentials-6.10.2-cp39-abi3-win_amd64.whl", hash = "sha256:0741018c2b6395038cad4c41775cfae3f13a409e87995ac9f7d89e5b1fb6b22a", size = 74546490, upload-time = "2026-02-02T08:46:26.395Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f9/c9757a984c4ffb6d12fab69e966d95dfc862a5d44e12b7900f3a03780b76/pyside6_essentials-6.10.2-cp39-abi3-win_arm64.whl", hash = "sha256:db5f4913648bb6afddb8b347edae151ee2378f12bceb03c8b2515a530a4b38d9", size = 55258626, upload-time = "2026-02-02T08:46:36.788Z" }, ] [[package]] @@ -1267,15 +1319,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, ] -[[package]] -name = "pytz" -version = "2025.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, -] - [[package]] name = "pywin32" version = "311" @@ -1336,7 +1379,7 @@ wheels = [ [[package]] name = "pyzotero" -version = "1.7.6" +version = "1.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "bibtexparser" }, @@ -1344,9 +1387,9 @@ dependencies = [ { name = "httpx" }, { name = "whenever" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/81/b6/c40e3d482961fae27e38cee8fb2f21510cef2509155a9e301c380d1a0e56/pyzotero-1.7.6.tar.gz", hash = "sha256:c504f832a638291408bd385549ef04521f2111cdadf3e548d29bafb08b7298ea", size = 533398, upload-time = "2025-12-02T14:30:46.634Z" } +sdist = { url = "https://files.pythonhosted.org/packages/53/fc/dc2682ccbb6f4ada2c0b08252febd647723330d2f72c70bb070de32586ce/pyzotero-1.10.0.tar.gz", hash = "sha256:90ec4040e5a26182b9e2b0eaa7945464bcb4f57c710b1418c1ccd19bb5ccf7a7", size = 552138, upload-time = "2026-02-06T12:47:09.597Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/33/f7/ecb13e0132cb8180d6f9ce51e34f9fec4a4bc660a3a5e3e464076f905c11/pyzotero-1.7.6-py3-none-any.whl", hash = "sha256:7fd707a5b6cd6634344c5705c17d5be4f251adb663f00064219e4c6b4fcfddc0", size = 30410, upload-time = "2025-12-02T14:30:45.439Z" }, + { url = "https://files.pythonhosted.org/packages/26/ad/648abae578d4b79dc7fd5368ba6f5c9d3a9cf3b78685f4dfab31ea8d37fe/pyzotero-1.10.0-py3-none-any.whl", hash = "sha256:454e3f3e7fbb4f98e1eaae7d90c78ee12b7c0ea386e21a8d9a12e73b38ee9fa0", size = 49453, upload-time = "2026-02-06T12:47:07.754Z" }, ] [[package]] @@ -1369,66 +1412,74 @@ sdist = { url = "https://files.pythonhosted.org/packages/ab/38/ff60c8fc9e002d50d [[package]] name = "regex" -version = "2025.11.3" +version = "2026.1.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz", hash = "sha256:1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01", size = 414669, upload-time = "2025-11-03T21:34:22.089Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/86/07d5056945f9ec4590b518171c4254a5925832eb727b56d3c38a7476f316/regex-2026.1.15.tar.gz", hash = "sha256:164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5", size = 414811, upload-time = "2026-01-14T23:18:02.775Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/a7/dda24ebd49da46a197436ad96378f17df30ceb40e52e859fc42cac45b850/regex-2025.11.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c1e448051717a334891f2b9a620fe36776ebf3dd8ec46a0b877c8ae69575feb4", size = 489081, upload-time = "2025-11-03T21:31:55.9Z" }, - { url = "https://files.pythonhosted.org/packages/19/22/af2dc751aacf88089836aa088a1a11c4f21a04707eb1b0478e8e8fb32847/regex-2025.11.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b5aca4d5dfd7fbfbfbdaf44850fcc7709a01146a797536a8f84952e940cca76", size = 291123, upload-time = "2025-11-03T21:31:57.758Z" }, - { url = "https://files.pythonhosted.org/packages/a3/88/1a3ea5672f4b0a84802ee9891b86743438e7c04eb0b8f8c4e16a42375327/regex-2025.11.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:04d2765516395cf7dda331a244a3282c0f5ae96075f728629287dfa6f76ba70a", size = 288814, upload-time = "2025-11-03T21:32:01.12Z" }, - { url = "https://files.pythonhosted.org/packages/fb/8c/f5987895bf42b8ddeea1b315c9fedcfe07cadee28b9c98cf50d00adcb14d/regex-2025.11.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d9903ca42bfeec4cebedba8022a7c97ad2aab22e09573ce9976ba01b65e4361", size = 798592, upload-time = "2025-11-03T21:32:03.006Z" }, - { url = "https://files.pythonhosted.org/packages/99/2a/6591ebeede78203fa77ee46a1c36649e02df9eaa77a033d1ccdf2fcd5d4e/regex-2025.11.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:639431bdc89d6429f6721625e8129413980ccd62e9d3f496be618a41d205f160", size = 864122, upload-time = "2025-11-03T21:32:04.553Z" }, - { url = "https://files.pythonhosted.org/packages/94/d6/be32a87cf28cf8ed064ff281cfbd49aefd90242a83e4b08b5a86b38e8eb4/regex-2025.11.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f117efad42068f9715677c8523ed2be1518116d1c49b1dd17987716695181efe", size = 912272, upload-time = "2025-11-03T21:32:06.148Z" }, - { url = "https://files.pythonhosted.org/packages/62/11/9bcef2d1445665b180ac7f230406ad80671f0fc2a6ffb93493b5dd8cd64c/regex-2025.11.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4aecb6f461316adf9f1f0f6a4a1a3d79e045f9b71ec76055a791affa3b285850", size = 803497, upload-time = "2025-11-03T21:32:08.162Z" }, - { url = "https://files.pythonhosted.org/packages/e5/a7/da0dc273d57f560399aa16d8a68ae7f9b57679476fc7ace46501d455fe84/regex-2025.11.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3b3a5f320136873cc5561098dfab677eea139521cb9a9e8db98b7e64aef44cbc", size = 787892, upload-time = "2025-11-03T21:32:09.769Z" }, - { url = "https://files.pythonhosted.org/packages/da/4b/732a0c5a9736a0b8d6d720d4945a2f1e6f38f87f48f3173559f53e8d5d82/regex-2025.11.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:75fa6f0056e7efb1f42a1c34e58be24072cb9e61a601340cc1196ae92326a4f9", size = 858462, upload-time = "2025-11-03T21:32:11.769Z" }, - { url = "https://files.pythonhosted.org/packages/0c/f5/a2a03df27dc4c2d0c769220f5110ba8c4084b0bfa9ab0f9b4fcfa3d2b0fc/regex-2025.11.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:dbe6095001465294f13f1adcd3311e50dd84e5a71525f20a10bd16689c61ce0b", size = 850528, upload-time = "2025-11-03T21:32:13.906Z" }, - { url = "https://files.pythonhosted.org/packages/d6/09/e1cd5bee3841c7f6eb37d95ca91cdee7100b8f88b81e41c2ef426910891a/regex-2025.11.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:454d9b4ae7881afbc25015b8627c16d88a597479b9dea82b8c6e7e2e07240dc7", size = 789866, upload-time = "2025-11-03T21:32:15.748Z" }, - { url = "https://files.pythonhosted.org/packages/eb/51/702f5ea74e2a9c13d855a6a85b7f80c30f9e72a95493260193c07f3f8d74/regex-2025.11.3-cp313-cp313-win32.whl", hash = "sha256:28ba4d69171fc6e9896337d4fc63a43660002b7da53fc15ac992abcf3410917c", size = 266189, upload-time = "2025-11-03T21:32:17.493Z" }, - { url = "https://files.pythonhosted.org/packages/8b/00/6e29bb314e271a743170e53649db0fdb8e8ff0b64b4f425f5602f4eb9014/regex-2025.11.3-cp313-cp313-win_amd64.whl", hash = "sha256:bac4200befe50c670c405dc33af26dad5a3b6b255dd6c000d92fe4629f9ed6a5", size = 277054, upload-time = "2025-11-03T21:32:19.042Z" }, - { url = "https://files.pythonhosted.org/packages/25/f1/b156ff9f2ec9ac441710764dda95e4edaf5f36aca48246d1eea3f1fd96ec/regex-2025.11.3-cp313-cp313-win_arm64.whl", hash = "sha256:2292cd5a90dab247f9abe892ac584cb24f0f54680c73fcb4a7493c66c2bf2467", size = 270325, upload-time = "2025-11-03T21:32:21.338Z" }, - { url = "https://files.pythonhosted.org/packages/20/28/fd0c63357caefe5680b8ea052131acbd7f456893b69cc2a90cc3e0dc90d4/regex-2025.11.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1eb1ebf6822b756c723e09f5186473d93236c06c579d2cc0671a722d2ab14281", size = 491984, upload-time = "2025-11-03T21:32:23.466Z" }, - { url = "https://files.pythonhosted.org/packages/df/ec/7014c15626ab46b902b3bcc4b28a7bae46d8f281fc7ea9c95e22fcaaa917/regex-2025.11.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1e00ec2970aab10dc5db34af535f21fcf32b4a31d99e34963419636e2f85ae39", size = 292673, upload-time = "2025-11-03T21:32:25.034Z" }, - { url = "https://files.pythonhosted.org/packages/23/ab/3b952ff7239f20d05f1f99e9e20188513905f218c81d52fb5e78d2bf7634/regex-2025.11.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a4cb042b615245d5ff9b3794f56be4138b5adc35a4166014d31d1814744148c7", size = 291029, upload-time = "2025-11-03T21:32:26.528Z" }, - { url = "https://files.pythonhosted.org/packages/21/7e/3dc2749fc684f455f162dcafb8a187b559e2614f3826877d3844a131f37b/regex-2025.11.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44f264d4bf02f3176467d90b294d59bf1db9fe53c141ff772f27a8b456b2a9ed", size = 807437, upload-time = "2025-11-03T21:32:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/1b/0b/d529a85ab349c6a25d1ca783235b6e3eedf187247eab536797021f7126c6/regex-2025.11.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7be0277469bf3bd7a34a9c57c1b6a724532a0d235cd0dc4e7f4316f982c28b19", size = 873368, upload-time = "2025-11-03T21:32:30.4Z" }, - { url = "https://files.pythonhosted.org/packages/7d/18/2d868155f8c9e3e9d8f9e10c64e9a9f496bb8f7e037a88a8bed26b435af6/regex-2025.11.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0d31e08426ff4b5b650f68839f5af51a92a5b51abd8554a60c2fbc7c71f25d0b", size = 914921, upload-time = "2025-11-03T21:32:32.123Z" }, - { url = "https://files.pythonhosted.org/packages/2d/71/9d72ff0f354fa783fe2ba913c8734c3b433b86406117a8db4ea2bf1c7a2f/regex-2025.11.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e43586ce5bd28f9f285a6e729466841368c4a0353f6fd08d4ce4630843d3648a", size = 812708, upload-time = "2025-11-03T21:32:34.305Z" }, - { url = "https://files.pythonhosted.org/packages/e7/19/ce4bf7f5575c97f82b6e804ffb5c4e940c62609ab2a0d9538d47a7fdf7d4/regex-2025.11.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0f9397d561a4c16829d4e6ff75202c1c08b68a3bdbfe29dbfcdb31c9830907c6", size = 795472, upload-time = "2025-11-03T21:32:36.364Z" }, - { url = "https://files.pythonhosted.org/packages/03/86/fd1063a176ffb7b2315f9a1b08d17b18118b28d9df163132615b835a26ee/regex-2025.11.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:dd16e78eb18ffdb25ee33a0682d17912e8cc8a770e885aeee95020046128f1ce", size = 868341, upload-time = "2025-11-03T21:32:38.042Z" }, - { url = "https://files.pythonhosted.org/packages/12/43/103fb2e9811205e7386366501bc866a164a0430c79dd59eac886a2822950/regex-2025.11.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:ffcca5b9efe948ba0661e9df0fa50d2bc4b097c70b9810212d6b62f05d83b2dd", size = 854666, upload-time = "2025-11-03T21:32:40.079Z" }, - { url = "https://files.pythonhosted.org/packages/7d/22/e392e53f3869b75804762c7c848bd2dd2abf2b70fb0e526f58724638bd35/regex-2025.11.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c56b4d162ca2b43318ac671c65bd4d563e841a694ac70e1a976ac38fcf4ca1d2", size = 799473, upload-time = "2025-11-03T21:32:42.148Z" }, - { url = "https://files.pythonhosted.org/packages/4f/f9/8bd6b656592f925b6845fcbb4d57603a3ac2fb2373344ffa1ed70aa6820a/regex-2025.11.3-cp313-cp313t-win32.whl", hash = "sha256:9ddc42e68114e161e51e272f667d640f97e84a2b9ef14b7477c53aac20c2d59a", size = 268792, upload-time = "2025-11-03T21:32:44.13Z" }, - { url = "https://files.pythonhosted.org/packages/e5/87/0e7d603467775ff65cd2aeabf1b5b50cc1c3708556a8b849a2fa4dd1542b/regex-2025.11.3-cp313-cp313t-win_amd64.whl", hash = "sha256:7a7c7fdf755032ffdd72c77e3d8096bdcb0eb92e89e17571a196f03d88b11b3c", size = 280214, upload-time = "2025-11-03T21:32:45.853Z" }, - { url = "https://files.pythonhosted.org/packages/8d/d0/2afc6f8e94e2b64bfb738a7c2b6387ac1699f09f032d363ed9447fd2bb57/regex-2025.11.3-cp313-cp313t-win_arm64.whl", hash = "sha256:df9eb838c44f570283712e7cff14c16329a9f0fb19ca492d21d4b7528ee6821e", size = 271469, upload-time = "2025-11-03T21:32:48.026Z" }, - { url = "https://files.pythonhosted.org/packages/31/e9/f6e13de7e0983837f7b6d238ad9458800a874bf37c264f7923e63409944c/regex-2025.11.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9697a52e57576c83139d7c6f213d64485d3df5bf84807c35fa409e6c970801c6", size = 489089, upload-time = "2025-11-03T21:32:50.027Z" }, - { url = "https://files.pythonhosted.org/packages/a3/5c/261f4a262f1fa65141c1b74b255988bd2fa020cc599e53b080667d591cfc/regex-2025.11.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e18bc3f73bd41243c9b38a6d9f2366cd0e0137a9aebe2d8ff76c5b67d4c0a3f4", size = 291059, upload-time = "2025-11-03T21:32:51.682Z" }, - { url = "https://files.pythonhosted.org/packages/8e/57/f14eeb7f072b0e9a5a090d1712741fd8f214ec193dba773cf5410108bb7d/regex-2025.11.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:61a08bcb0ec14ff4e0ed2044aad948d0659604f824cbd50b55e30b0ec6f09c73", size = 288900, upload-time = "2025-11-03T21:32:53.569Z" }, - { url = "https://files.pythonhosted.org/packages/3c/6b/1d650c45e99a9b327586739d926a1cd4e94666b1bd4af90428b36af66dc7/regex-2025.11.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9c30003b9347c24bcc210958c5d167b9e4f9be786cb380a7d32f14f9b84674f", size = 799010, upload-time = "2025-11-03T21:32:55.222Z" }, - { url = "https://files.pythonhosted.org/packages/99/ee/d66dcbc6b628ce4e3f7f0cbbb84603aa2fc0ffc878babc857726b8aab2e9/regex-2025.11.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4e1e592789704459900728d88d41a46fe3969b82ab62945560a31732ffc19a6d", size = 864893, upload-time = "2025-11-03T21:32:57.239Z" }, - { url = "https://files.pythonhosted.org/packages/bf/2d/f238229f1caba7ac87a6c4153d79947fb0261415827ae0f77c304260c7d3/regex-2025.11.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6538241f45eb5a25aa575dbba1069ad786f68a4f2773a29a2bd3dd1f9de787be", size = 911522, upload-time = "2025-11-03T21:32:59.274Z" }, - { url = "https://files.pythonhosted.org/packages/bd/3d/22a4eaba214a917c80e04f6025d26143690f0419511e0116508e24b11c9b/regex-2025.11.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce22519c989bb72a7e6b36a199384c53db7722fe669ba891da75907fe3587db", size = 803272, upload-time = "2025-11-03T21:33:01.393Z" }, - { url = "https://files.pythonhosted.org/packages/84/b1/03188f634a409353a84b5ef49754b97dbcc0c0f6fd6c8ede505a8960a0a4/regex-2025.11.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:66d559b21d3640203ab9075797a55165d79017520685fb407b9234d72ab63c62", size = 787958, upload-time = "2025-11-03T21:33:03.379Z" }, - { url = "https://files.pythonhosted.org/packages/99/6a/27d072f7fbf6fadd59c64d210305e1ff865cc3b78b526fd147db768c553b/regex-2025.11.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:669dcfb2e38f9e8c69507bace46f4889e3abbfd9b0c29719202883c0a603598f", size = 859289, upload-time = "2025-11-03T21:33:05.374Z" }, - { url = "https://files.pythonhosted.org/packages/9a/70/1b3878f648e0b6abe023172dacb02157e685564853cc363d9961bcccde4e/regex-2025.11.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:32f74f35ff0f25a5021373ac61442edcb150731fbaa28286bbc8bb1582c89d02", size = 850026, upload-time = "2025-11-03T21:33:07.131Z" }, - { url = "https://files.pythonhosted.org/packages/dd/d5/68e25559b526b8baab8e66839304ede68ff6727237a47727d240006bd0ff/regex-2025.11.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e6c7a21dffba883234baefe91bc3388e629779582038f75d2a5be918e250f0ed", size = 789499, upload-time = "2025-11-03T21:33:09.141Z" }, - { url = "https://files.pythonhosted.org/packages/fc/df/43971264857140a350910d4e33df725e8c94dd9dee8d2e4729fa0d63d49e/regex-2025.11.3-cp314-cp314-win32.whl", hash = "sha256:795ea137b1d809eb6836b43748b12634291c0ed55ad50a7d72d21edf1cd565c4", size = 271604, upload-time = "2025-11-03T21:33:10.9Z" }, - { url = "https://files.pythonhosted.org/packages/01/6f/9711b57dc6894a55faf80a4c1b5aa4f8649805cb9c7aef46f7d27e2b9206/regex-2025.11.3-cp314-cp314-win_amd64.whl", hash = "sha256:9f95fbaa0ee1610ec0fc6b26668e9917a582ba80c52cc6d9ada15e30aa9ab9ad", size = 280320, upload-time = "2025-11-03T21:33:12.572Z" }, - { url = "https://files.pythonhosted.org/packages/f1/7e/f6eaa207d4377481f5e1775cdeb5a443b5a59b392d0065f3417d31d80f87/regex-2025.11.3-cp314-cp314-win_arm64.whl", hash = "sha256:dfec44d532be4c07088c3de2876130ff0fbeeacaa89a137decbbb5f665855a0f", size = 273372, upload-time = "2025-11-03T21:33:14.219Z" }, - { url = "https://files.pythonhosted.org/packages/c3/06/49b198550ee0f5e4184271cee87ba4dfd9692c91ec55289e6282f0f86ccf/regex-2025.11.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ba0d8a5d7f04f73ee7d01d974d47c5834f8a1b0224390e4fe7c12a3a92a78ecc", size = 491985, upload-time = "2025-11-03T21:33:16.555Z" }, - { url = "https://files.pythonhosted.org/packages/ce/bf/abdafade008f0b1c9da10d934034cb670432d6cf6cbe38bbb53a1cfd6cf8/regex-2025.11.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:442d86cf1cfe4faabf97db7d901ef58347efd004934da045c745e7b5bd57ac49", size = 292669, upload-time = "2025-11-03T21:33:18.32Z" }, - { url = "https://files.pythonhosted.org/packages/f9/ef/0c357bb8edbd2ad8e273fcb9e1761bc37b8acbc6e1be050bebd6475f19c1/regex-2025.11.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:fd0a5e563c756de210bb964789b5abe4f114dacae9104a47e1a649b910361536", size = 291030, upload-time = "2025-11-03T21:33:20.048Z" }, - { url = "https://files.pythonhosted.org/packages/79/06/edbb67257596649b8fb088d6aeacbcb248ac195714b18a65e018bf4c0b50/regex-2025.11.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf3490bcbb985a1ae97b2ce9ad1c0f06a852d5b19dde9b07bdf25bf224248c95", size = 807674, upload-time = "2025-11-03T21:33:21.797Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d9/ad4deccfce0ea336296bd087f1a191543bb99ee1c53093dcd4c64d951d00/regex-2025.11.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3809988f0a8b8c9dcc0f92478d6501fac7200b9ec56aecf0ec21f4a2ec4b6009", size = 873451, upload-time = "2025-11-03T21:33:23.741Z" }, - { url = "https://files.pythonhosted.org/packages/13/75/a55a4724c56ef13e3e04acaab29df26582f6978c000ac9cd6810ad1f341f/regex-2025.11.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f4ff94e58e84aedb9c9fce66d4ef9f27a190285b451420f297c9a09f2b9abee9", size = 914980, upload-time = "2025-11-03T21:33:25.999Z" }, - { url = "https://files.pythonhosted.org/packages/67/1e/a1657ee15bd9116f70d4a530c736983eed997b361e20ecd8f5ca3759d5c5/regex-2025.11.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eb542fd347ce61e1321b0a6b945d5701528dca0cd9759c2e3bb8bd57e47964d", size = 812852, upload-time = "2025-11-03T21:33:27.852Z" }, - { url = "https://files.pythonhosted.org/packages/b8/6f/f7516dde5506a588a561d296b2d0044839de06035bb486b326065b4c101e/regex-2025.11.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d6c2d5919075a1f2e413c00b056ea0c2f065b3f5fe83c3d07d325ab92dce51d6", size = 795566, upload-time = "2025-11-03T21:33:32.364Z" }, - { url = "https://files.pythonhosted.org/packages/d9/dd/3d10b9e170cc16fb34cb2cef91513cf3df65f440b3366030631b2984a264/regex-2025.11.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:3f8bf11a4827cc7ce5a53d4ef6cddd5ad25595d3c1435ef08f76825851343154", size = 868463, upload-time = "2025-11-03T21:33:34.459Z" }, - { url = "https://files.pythonhosted.org/packages/f5/8e/935e6beff1695aa9085ff83195daccd72acc82c81793df480f34569330de/regex-2025.11.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:22c12d837298651e5550ac1d964e4ff57c3f56965fc1812c90c9fb2028eaf267", size = 854694, upload-time = "2025-11-03T21:33:36.793Z" }, - { url = "https://files.pythonhosted.org/packages/92/12/10650181a040978b2f5720a6a74d44f841371a3d984c2083fc1752e4acf6/regex-2025.11.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:62ba394a3dda9ad41c7c780f60f6e4a70988741415ae96f6d1bf6c239cf01379", size = 799691, upload-time = "2025-11-03T21:33:39.079Z" }, - { url = "https://files.pythonhosted.org/packages/67/90/8f37138181c9a7690e7e4cb388debbd389342db3c7381d636d2875940752/regex-2025.11.3-cp314-cp314t-win32.whl", hash = "sha256:4bf146dca15cdd53224a1bf46d628bd7590e4a07fbb69e720d561aea43a32b38", size = 274583, upload-time = "2025-11-03T21:33:41.302Z" }, - { url = "https://files.pythonhosted.org/packages/8f/cd/867f5ec442d56beb56f5f854f40abcfc75e11d10b11fdb1869dd39c63aaf/regex-2025.11.3-cp314-cp314t-win_amd64.whl", hash = "sha256:adad1a1bcf1c9e76346e091d22d23ac54ef28e1365117d99521631078dfec9de", size = 284286, upload-time = "2025-11-03T21:33:43.324Z" }, - { url = "https://files.pythonhosted.org/packages/20/31/32c0c4610cbc070362bf1d2e4ea86d1ea29014d400a6d6c2486fcfd57766/regex-2025.11.3-cp314-cp314t-win_arm64.whl", hash = "sha256:c54f768482cef41e219720013cd05933b6f971d9562544d691c68699bf2b6801", size = 274741, upload-time = "2025-11-03T21:33:45.557Z" }, + { url = "https://files.pythonhosted.org/packages/f8/2e/6870bb16e982669b674cce3ee9ff2d1d46ab80528ee6bcc20fb2292efb60/regex-2026.1.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e69d0deeb977ffe7ed3d2e4439360089f9c3f217ada608f0f88ebd67afb6385e", size = 489164, upload-time = "2026-01-14T23:15:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/dc/67/9774542e203849b0286badf67199970a44ebdb0cc5fb739f06e47ada72f8/regex-2026.1.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3601ffb5375de85a16f407854d11cca8fe3f5febbe3ac78fb2866bb220c74d10", size = 291218, upload-time = "2026-01-14T23:15:15.647Z" }, + { url = "https://files.pythonhosted.org/packages/b2/87/b0cda79f22b8dee05f774922a214da109f9a4c0eca5da2c9d72d77ea062c/regex-2026.1.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4c5ef43b5c2d4114eb8ea424bb8c9cec01d5d17f242af88b2448f5ee81caadbc", size = 288895, upload-time = "2026-01-14T23:15:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/3b/6a/0041f0a2170d32be01ab981d6346c83a8934277d82c780d60b127331f264/regex-2026.1.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:968c14d4f03e10b2fd960f1d5168c1f0ac969381d3c1fcc973bc45fb06346599", size = 798680, upload-time = "2026-01-14T23:15:19.342Z" }, + { url = "https://files.pythonhosted.org/packages/58/de/30e1cfcdbe3e891324aa7568b7c968771f82190df5524fabc1138cb2d45a/regex-2026.1.15-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56a5595d0f892f214609c9f76b41b7428bed439d98dc961efafdd1354d42baae", size = 864210, upload-time = "2026-01-14T23:15:22.005Z" }, + { url = "https://files.pythonhosted.org/packages/64/44/4db2f5c5ca0ccd40ff052ae7b1e9731352fcdad946c2b812285a7505ca75/regex-2026.1.15-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf650f26087363434c4e560011f8e4e738f6f3e029b85d4904c50135b86cfa5", size = 912358, upload-time = "2026-01-14T23:15:24.569Z" }, + { url = "https://files.pythonhosted.org/packages/79/b6/e6a5665d43a7c42467138c8a2549be432bad22cbd206f5ec87162de74bd7/regex-2026.1.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18388a62989c72ac24de75f1449d0fb0b04dfccd0a1a7c1c43af5eb503d890f6", size = 803583, upload-time = "2026-01-14T23:15:26.526Z" }, + { url = "https://files.pythonhosted.org/packages/e7/53/7cd478222169d85d74d7437e74750005e993f52f335f7c04ff7adfda3310/regex-2026.1.15-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d220a2517f5893f55daac983bfa9fe998a7dbcaee4f5d27a88500f8b7873788", size = 775782, upload-time = "2026-01-14T23:15:29.352Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b5/75f9a9ee4b03a7c009fe60500fe550b45df94f0955ca29af16333ef557c5/regex-2026.1.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c9c08c2fbc6120e70abff5d7f28ffb4d969e14294fb2143b4b5c7d20e46d1714", size = 787978, upload-time = "2026-01-14T23:15:31.295Z" }, + { url = "https://files.pythonhosted.org/packages/72/b3/79821c826245bbe9ccbb54f6eadb7879c722fd3e0248c17bfc90bf54e123/regex-2026.1.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7ef7d5d4bd49ec7364315167a4134a015f61e8266c6d446fc116a9ac4456e10d", size = 858550, upload-time = "2026-01-14T23:15:33.558Z" }, + { url = "https://files.pythonhosted.org/packages/4a/85/2ab5f77a1c465745bfbfcb3ad63178a58337ae8d5274315e2cc623a822fa/regex-2026.1.15-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:6e42844ad64194fa08d5ccb75fe6a459b9b08e6d7296bd704460168d58a388f3", size = 763747, upload-time = "2026-01-14T23:15:35.206Z" }, + { url = "https://files.pythonhosted.org/packages/6d/84/c27df502d4bfe2873a3e3a7cf1bdb2b9cc10284d1a44797cf38bed790470/regex-2026.1.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cfecdaa4b19f9ca534746eb3b55a5195d5c95b88cac32a205e981ec0a22b7d31", size = 850615, upload-time = "2026-01-14T23:15:37.523Z" }, + { url = "https://files.pythonhosted.org/packages/7d/b7/658a9782fb253680aa8ecb5ccbb51f69e088ed48142c46d9f0c99b46c575/regex-2026.1.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:08df9722d9b87834a3d701f3fca570b2be115654dbfd30179f30ab2f39d606d3", size = 789951, upload-time = "2026-01-14T23:15:39.582Z" }, + { url = "https://files.pythonhosted.org/packages/fc/2a/5928af114441e059f15b2f63e188bd00c6529b3051c974ade7444b85fcda/regex-2026.1.15-cp313-cp313-win32.whl", hash = "sha256:d426616dae0967ca225ab12c22274eb816558f2f99ccb4a1d52ca92e8baf180f", size = 266275, upload-time = "2026-01-14T23:15:42.108Z" }, + { url = "https://files.pythonhosted.org/packages/4f/16/5bfbb89e435897bff28cf0352a992ca719d9e55ebf8b629203c96b6ce4f7/regex-2026.1.15-cp313-cp313-win_amd64.whl", hash = "sha256:febd38857b09867d3ed3f4f1af7d241c5c50362e25ef43034995b77a50df494e", size = 277145, upload-time = "2026-01-14T23:15:44.244Z" }, + { url = "https://files.pythonhosted.org/packages/56/c1/a09ff7392ef4233296e821aec5f78c51be5e91ffde0d163059e50fd75835/regex-2026.1.15-cp313-cp313-win_arm64.whl", hash = "sha256:8e32f7896f83774f91499d239e24cebfadbc07639c1494bb7213983842348337", size = 270411, upload-time = "2026-01-14T23:15:45.858Z" }, + { url = "https://files.pythonhosted.org/packages/3c/38/0cfd5a78e5c6db00e6782fdae70458f89850ce95baa5e8694ab91d89744f/regex-2026.1.15-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ec94c04149b6a7b8120f9f44565722c7ae31b7a6d2275569d2eefa76b83da3be", size = 492068, upload-time = "2026-01-14T23:15:47.616Z" }, + { url = "https://files.pythonhosted.org/packages/50/72/6c86acff16cb7c959c4355826bbf06aad670682d07c8f3998d9ef4fee7cd/regex-2026.1.15-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:40c86d8046915bb9aeb15d3f3f15b6fd500b8ea4485b30e1bbc799dab3fe29f8", size = 292756, upload-time = "2026-01-14T23:15:49.307Z" }, + { url = "https://files.pythonhosted.org/packages/4e/58/df7fb69eadfe76526ddfce28abdc0af09ffe65f20c2c90932e89d705153f/regex-2026.1.15-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:726ea4e727aba21643205edad8f2187ec682d3305d790f73b7a51c7587b64bdd", size = 291114, upload-time = "2026-01-14T23:15:51.484Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6c/a4011cd1cf96b90d2cdc7e156f91efbd26531e822a7fbb82a43c1016678e/regex-2026.1.15-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1cb740d044aff31898804e7bf1181cc72c03d11dfd19932b9911ffc19a79070a", size = 807524, upload-time = "2026-01-14T23:15:53.102Z" }, + { url = "https://files.pythonhosted.org/packages/1d/25/a53ffb73183f69c3e9f4355c4922b76d2840aee160af6af5fac229b6201d/regex-2026.1.15-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05d75a668e9ea16f832390d22131fe1e8acc8389a694c8febc3e340b0f810b93", size = 873455, upload-time = "2026-01-14T23:15:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/66/0b/8b47fc2e8f97d9b4a851736f3890a5f786443aa8901061c55f24c955f45b/regex-2026.1.15-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d991483606f3dbec93287b9f35596f41aa2e92b7c2ebbb935b63f409e243c9af", size = 915007, upload-time = "2026-01-14T23:15:57.041Z" }, + { url = "https://files.pythonhosted.org/packages/c2/fa/97de0d681e6d26fabe71968dbee06dd52819e9a22fdce5dac7256c31ed84/regex-2026.1.15-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:194312a14819d3e44628a44ed6fea6898fdbecb0550089d84c403475138d0a09", size = 812794, upload-time = "2026-01-14T23:15:58.916Z" }, + { url = "https://files.pythonhosted.org/packages/22/38/e752f94e860d429654aa2b1c51880bff8dfe8f084268258adf9151cf1f53/regex-2026.1.15-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe2fda4110a3d0bc163c2e0664be44657431440722c5c5315c65155cab92f9e5", size = 781159, upload-time = "2026-01-14T23:16:00.817Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a7/d739ffaef33c378fc888302a018d7f81080393d96c476b058b8c64fd2b0d/regex-2026.1.15-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:124dc36c85d34ef2d9164da41a53c1c8c122cfb1f6e1ec377a1f27ee81deb794", size = 795558, upload-time = "2026-01-14T23:16:03.267Z" }, + { url = "https://files.pythonhosted.org/packages/3e/c4/542876f9a0ac576100fc73e9c75b779f5c31e3527576cfc9cb3009dcc58a/regex-2026.1.15-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1774cd1981cd212506a23a14dba7fdeaee259f5deba2df6229966d9911e767a", size = 868427, upload-time = "2026-01-14T23:16:05.646Z" }, + { url = "https://files.pythonhosted.org/packages/fc/0f/d5655bea5b22069e32ae85a947aa564912f23758e112cdb74212848a1a1b/regex-2026.1.15-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:b5f7d8d2867152cdb625e72a530d2ccb48a3d199159144cbdd63870882fb6f80", size = 769939, upload-time = "2026-01-14T23:16:07.542Z" }, + { url = "https://files.pythonhosted.org/packages/20/06/7e18a4fa9d326daeda46d471a44ef94201c46eaa26dbbb780b5d92cbfdda/regex-2026.1.15-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:492534a0ab925d1db998defc3c302dae3616a2fc3fe2e08db1472348f096ddf2", size = 854753, upload-time = "2026-01-14T23:16:10.395Z" }, + { url = "https://files.pythonhosted.org/packages/3b/67/dc8946ef3965e166f558ef3b47f492bc364e96a265eb4a2bb3ca765c8e46/regex-2026.1.15-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c661fc820cfb33e166bf2450d3dadbda47c8d8981898adb9b6fe24e5e582ba60", size = 799559, upload-time = "2026-01-14T23:16:12.347Z" }, + { url = "https://files.pythonhosted.org/packages/a5/61/1bba81ff6d50c86c65d9fd84ce9699dd106438ee4cdb105bf60374ee8412/regex-2026.1.15-cp313-cp313t-win32.whl", hash = "sha256:99ad739c3686085e614bf77a508e26954ff1b8f14da0e3765ff7abbf7799f952", size = 268879, upload-time = "2026-01-14T23:16:14.049Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/cef7d4c5fb0ea3ac5c775fd37db5747f7378b29526cc83f572198924ff47/regex-2026.1.15-cp313-cp313t-win_amd64.whl", hash = "sha256:32655d17905e7ff8ba5c764c43cb124e34a9245e45b83c22e81041e1071aee10", size = 280317, upload-time = "2026-01-14T23:16:15.718Z" }, + { url = "https://files.pythonhosted.org/packages/b4/52/4317f7a5988544e34ab57b4bde0f04944c4786128c933fb09825924d3e82/regex-2026.1.15-cp313-cp313t-win_arm64.whl", hash = "sha256:b2a13dd6a95e95a489ca242319d18fc02e07ceb28fa9ad146385194d95b3c829", size = 271551, upload-time = "2026-01-14T23:16:17.533Z" }, + { url = "https://files.pythonhosted.org/packages/52/0a/47fa888ec7cbbc7d62c5f2a6a888878e76169170ead271a35239edd8f0e8/regex-2026.1.15-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:d920392a6b1f353f4aa54328c867fec3320fa50657e25f64abf17af054fc97ac", size = 489170, upload-time = "2026-01-14T23:16:19.835Z" }, + { url = "https://files.pythonhosted.org/packages/ac/c4/d000e9b7296c15737c9301708e9e7fbdea009f8e93541b6b43bdb8219646/regex-2026.1.15-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b5a28980a926fa810dbbed059547b02783952e2efd9c636412345232ddb87ff6", size = 291146, upload-time = "2026-01-14T23:16:21.541Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b6/921cc61982e538682bdf3bdf5b2c6ab6b34368da1f8e98a6c1ddc503c9cf/regex-2026.1.15-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:621f73a07595d83f28952d7bd1e91e9d1ed7625fb7af0064d3516674ec93a2a2", size = 288986, upload-time = "2026-01-14T23:16:23.381Z" }, + { url = "https://files.pythonhosted.org/packages/ca/33/eb7383dde0bbc93f4fb9d03453aab97e18ad4024ac7e26cef8d1f0a2cff0/regex-2026.1.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d7d92495f47567a9b1669c51fc8d6d809821849063d168121ef801bbc213846", size = 799098, upload-time = "2026-01-14T23:16:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/27/56/b664dccae898fc8d8b4c23accd853f723bde0f026c747b6f6262b688029c/regex-2026.1.15-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8dd16fba2758db7a3780a051f245539c4451ca20910f5a5e6ea1c08d06d4a76b", size = 864980, upload-time = "2026-01-14T23:16:27.297Z" }, + { url = "https://files.pythonhosted.org/packages/16/40/0999e064a170eddd237bae9ccfcd8f28b3aa98a38bf727a086425542a4fc/regex-2026.1.15-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1e1808471fbe44c1a63e5f577a1d5f02fe5d66031dcbdf12f093ffc1305a858e", size = 911607, upload-time = "2026-01-14T23:16:29.235Z" }, + { url = "https://files.pythonhosted.org/packages/07/78/c77f644b68ab054e5a674fb4da40ff7bffb2c88df58afa82dbf86573092d/regex-2026.1.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0751a26ad39d4f2ade8fe16c59b2bf5cb19eb3d2cd543e709e583d559bd9efde", size = 803358, upload-time = "2026-01-14T23:16:31.369Z" }, + { url = "https://files.pythonhosted.org/packages/27/31/d4292ea8566eaa551fafc07797961c5963cf5235c797cc2ae19b85dfd04d/regex-2026.1.15-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0f0c7684c7f9ca241344ff95a1de964f257a5251968484270e91c25a755532c5", size = 775833, upload-time = "2026-01-14T23:16:33.141Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b2/cff3bf2fea4133aa6fb0d1e370b37544d18c8350a2fa118c7e11d1db0e14/regex-2026.1.15-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:74f45d170a21df41508cb67165456538425185baaf686281fa210d7e729abc34", size = 788045, upload-time = "2026-01-14T23:16:35.005Z" }, + { url = "https://files.pythonhosted.org/packages/8d/99/2cb9b69045372ec877b6f5124bda4eb4253bc58b8fe5848c973f752bc52c/regex-2026.1.15-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f1862739a1ffb50615c0fde6bae6569b5efbe08d98e59ce009f68a336f64da75", size = 859374, upload-time = "2026-01-14T23:16:36.919Z" }, + { url = "https://files.pythonhosted.org/packages/09/16/710b0a5abe8e077b1729a562d2f297224ad079f3a66dce46844c193416c8/regex-2026.1.15-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:453078802f1b9e2b7303fb79222c054cb18e76f7bdc220f7530fdc85d319f99e", size = 763940, upload-time = "2026-01-14T23:16:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d1/7585c8e744e40eb3d32f119191969b91de04c073fca98ec14299041f6e7e/regex-2026.1.15-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:a30a68e89e5a218b8b23a52292924c1f4b245cb0c68d1cce9aec9bbda6e2c160", size = 850112, upload-time = "2026-01-14T23:16:40.646Z" }, + { url = "https://files.pythonhosted.org/packages/af/d6/43e1dd85df86c49a347aa57c1f69d12c652c7b60e37ec162e3096194a278/regex-2026.1.15-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9479cae874c81bf610d72b85bb681a94c95722c127b55445285fb0e2c82db8e1", size = 789586, upload-time = "2026-01-14T23:16:42.799Z" }, + { url = "https://files.pythonhosted.org/packages/93/38/77142422f631e013f316aaae83234c629555729a9fbc952b8a63ac91462a/regex-2026.1.15-cp314-cp314-win32.whl", hash = "sha256:d639a750223132afbfb8f429c60d9d318aeba03281a5f1ab49f877456448dcf1", size = 271691, upload-time = "2026-01-14T23:16:44.671Z" }, + { url = "https://files.pythonhosted.org/packages/4a/a9/ab16b4649524ca9e05213c1cdbb7faa85cc2aa90a0230d2f796cbaf22736/regex-2026.1.15-cp314-cp314-win_amd64.whl", hash = "sha256:4161d87f85fa831e31469bfd82c186923070fc970b9de75339b68f0c75b51903", size = 280422, upload-time = "2026-01-14T23:16:46.607Z" }, + { url = "https://files.pythonhosted.org/packages/be/2a/20fd057bf3521cb4791f69f869635f73e0aaf2b9ad2d260f728144f9047c/regex-2026.1.15-cp314-cp314-win_arm64.whl", hash = "sha256:91c5036ebb62663a6b3999bdd2e559fd8456d17e2b485bf509784cd31a8b1705", size = 273467, upload-time = "2026-01-14T23:16:48.967Z" }, + { url = "https://files.pythonhosted.org/packages/ad/77/0b1e81857060b92b9cad239104c46507dd481b3ff1fa79f8e7f865aae38a/regex-2026.1.15-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ee6854c9000a10938c79238de2379bea30c82e4925a371711af45387df35cab8", size = 492073, upload-time = "2026-01-14T23:16:51.154Z" }, + { url = "https://files.pythonhosted.org/packages/70/f3/f8302b0c208b22c1e4f423147e1913fd475ddd6230565b299925353de644/regex-2026.1.15-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2c2b80399a422348ce5de4fe40c418d6299a0fa2803dd61dc0b1a2f28e280fcf", size = 292757, upload-time = "2026-01-14T23:16:53.08Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f0/ef55de2460f3b4a6da9d9e7daacd0cb79d4ef75c64a2af316e68447f0df0/regex-2026.1.15-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:dca3582bca82596609959ac39e12b7dad98385b4fefccb1151b937383cec547d", size = 291122, upload-time = "2026-01-14T23:16:55.383Z" }, + { url = "https://files.pythonhosted.org/packages/cf/55/bb8ccbacabbc3a11d863ee62a9f18b160a83084ea95cdfc5d207bfc3dd75/regex-2026.1.15-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef71d476caa6692eea743ae5ea23cde3260677f70122c4d258ca952e5c2d4e84", size = 807761, upload-time = "2026-01-14T23:16:57.251Z" }, + { url = "https://files.pythonhosted.org/packages/8f/84/f75d937f17f81e55679a0509e86176e29caa7298c38bd1db7ce9c0bf6075/regex-2026.1.15-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c243da3436354f4af6c3058a3f81a97d47ea52c9bd874b52fd30274853a1d5df", size = 873538, upload-time = "2026-01-14T23:16:59.349Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d9/0da86327df70349aa8d86390da91171bd3ca4f0e7c1d1d453a9c10344da3/regex-2026.1.15-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8355ad842a7c7e9e5e55653eade3b7d1885ba86f124dd8ab1f722f9be6627434", size = 915066, upload-time = "2026-01-14T23:17:01.607Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5e/f660fb23fc77baa2a61aa1f1fe3a4eea2bbb8a286ddec148030672e18834/regex-2026.1.15-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f192a831d9575271a22d804ff1a5355355723f94f31d9eef25f0d45a152fdc1a", size = 812938, upload-time = "2026-01-14T23:17:04.366Z" }, + { url = "https://files.pythonhosted.org/packages/69/33/a47a29bfecebbbfd1e5cd3f26b28020a97e4820f1c5148e66e3b7d4b4992/regex-2026.1.15-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:166551807ec20d47ceaeec380081f843e88c8949780cd42c40f18d16168bed10", size = 781314, upload-time = "2026-01-14T23:17:06.378Z" }, + { url = "https://files.pythonhosted.org/packages/65/ec/7ec2bbfd4c3f4e494a24dec4c6943a668e2030426b1b8b949a6462d2c17b/regex-2026.1.15-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:f9ca1cbdc0fbfe5e6e6f8221ef2309988db5bcede52443aeaee9a4ad555e0dac", size = 795652, upload-time = "2026-01-14T23:17:08.521Z" }, + { url = "https://files.pythonhosted.org/packages/46/79/a5d8651ae131fe27d7c521ad300aa7f1c7be1dbeee4d446498af5411b8a9/regex-2026.1.15-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b30bcbd1e1221783c721483953d9e4f3ab9c5d165aa709693d3f3946747b1aea", size = 868550, upload-time = "2026-01-14T23:17:10.573Z" }, + { url = "https://files.pythonhosted.org/packages/06/b7/25635d2809664b79f183070786a5552dd4e627e5aedb0065f4e3cf8ee37d/regex-2026.1.15-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2a8d7b50c34578d0d3bf7ad58cde9652b7d683691876f83aedc002862a35dc5e", size = 769981, upload-time = "2026-01-14T23:17:12.871Z" }, + { url = "https://files.pythonhosted.org/packages/16/8b/fc3fcbb2393dcfa4a6c5ffad92dc498e842df4581ea9d14309fcd3c55fb9/regex-2026.1.15-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9d787e3310c6a6425eb346be4ff2ccf6eece63017916fd77fe8328c57be83521", size = 854780, upload-time = "2026-01-14T23:17:14.837Z" }, + { url = "https://files.pythonhosted.org/packages/d0/38/dde117c76c624713c8a2842530be9c93ca8b606c0f6102d86e8cd1ce8bea/regex-2026.1.15-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:619843841e220adca114118533a574a9cd183ed8a28b85627d2844c500a2b0db", size = 799778, upload-time = "2026-01-14T23:17:17.369Z" }, + { url = "https://files.pythonhosted.org/packages/e3/0d/3a6cfa9ae99606afb612d8fb7a66b245a9d5ff0f29bb347c8a30b6ad561b/regex-2026.1.15-cp314-cp314t-win32.whl", hash = "sha256:e90b8db97f6f2c97eb045b51a6b2c5ed69cedd8392459e0642d4199b94fabd7e", size = 274667, upload-time = "2026-01-14T23:17:19.301Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b2/297293bb0742fd06b8d8e2572db41a855cdf1cae0bf009b1cb74fe07e196/regex-2026.1.15-cp314-cp314t-win_amd64.whl", hash = "sha256:5ef19071f4ac9f0834793af85bd04a920b4407715624e40cb7a0631a11137cdf", size = 284386, upload-time = "2026-01-14T23:17:21.231Z" }, + { url = "https://files.pythonhosted.org/packages/95/e4/a3b9480c78cf8ee86626cb06f8d931d74d775897d44201ccb813097ae697/regex-2026.1.15-cp314-cp314t-win_arm64.whl", hash = "sha256:ca89c5e596fc05b015f27561b3793dc2fa0917ea0d7507eebb448efd35274a70", size = 274837, upload-time = "2026-01-14T23:17:23.146Z" }, ] [[package]] @@ -1448,29 +1499,29 @@ wheels = [ [[package]] name = "rich" -version = "14.2.0" +version = "14.3.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" } +sdist = { url = "https://files.pythonhosted.org/packages/74/99/a4cab2acbb884f80e558b0771e97e21e939c5dfb460f488d19df485e8298/rich-14.3.2.tar.gz", hash = "sha256:e712f11c1a562a11843306f5ed999475f09ac31ffb64281f73ab29ffdda8b3b8", size = 230143, upload-time = "2026-02-01T16:20:47.908Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl", hash = "sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd", size = 243393, upload-time = "2025-10-09T14:16:51.245Z" }, + { url = "https://files.pythonhosted.org/packages/ef/45/615f5babd880b4bd7d405cc0dc348234c5ffb6ed1ea33e152ede08b2072d/rich-14.3.2-py3-none-any.whl", hash = "sha256:08e67c3e90884651da3239ea668222d19bea7b589149d8014a21c633420dbb69", size = 309963, upload-time = "2026-02-01T16:20:46.078Z" }, ] [[package]] name = "rich-click" -version = "1.9.4" +version = "1.9.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "rich" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bf/d8/f2c1b7e9a645ba40f756d7a5b195fc104729bc6b19061ba3ab385f342931/rich_click-1.9.4.tar.gz", hash = "sha256:af73dc68e85f3bebb80ce302a642b9fe3b65f3df0ceb42eb9a27c467c1b678c8", size = 73632, upload-time = "2025-10-25T01:08:49.142Z" } +sdist = { url = "https://files.pythonhosted.org/packages/04/27/091e140ea834272188e63f8dd6faac1f5c687582b687197b3e0ec3c78ebf/rich_click-1.9.7.tar.gz", hash = "sha256:022997c1e30731995bdbc8ec2f82819340d42543237f033a003c7b1f843fc5dc", size = 74838, upload-time = "2026-01-31T04:29:27.707Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/6a/1f03adcb3cc7beb6f63aecc21565e9d515ccee653187fc4619cd0b42713b/rich_click-1.9.4-py3-none-any.whl", hash = "sha256:d70f39938bcecaf5543e8750828cbea94ef51853f7d0e174cda1e10543767389", size = 70245, upload-time = "2025-10-25T01:08:47.939Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e5/d708d262b600a352abe01c2ae360d8ff75b0af819b78e9af293191d928e6/rich_click-1.9.7-py3-none-any.whl", hash = "sha256:2f99120fca78f536e07b114d3b60333bc4bb2a0969053b1250869bcdc1b5351b", size = 71491, upload-time = "2026-01-31T04:29:26.777Z" }, ] [[package]] @@ -1495,6 +1546,7 @@ dependencies = [ { name = "comtypes" }, { name = "darkdetect" }, { name = "docx2pdf" }, + { name = "flask" }, { name = "httpx" }, { name = "loguru" }, { name = "natsort" }, @@ -1504,13 +1556,13 @@ dependencies = [ { name = "pdfquery" }, { name = "playwright" }, { name = "pymupdf" }, - { name = "pyramid" }, { name = "pyside6" }, { name = "python-docx" }, { name = "pyzotero" }, { name = "ratelimit" }, { name = "regex" }, { name = "requests" }, + { name = "setuptools" }, { name = "zensical" }, ] @@ -1519,6 +1571,7 @@ dev = [ { name = "bump-my-version" }, { name = "icecream" }, { name = "nuitka" }, + { name = "prek" }, { name = "pyinstaller" }, ] swbtest = [ @@ -1535,6 +1588,7 @@ requires-dist = [ { name = "comtypes", specifier = ">=1.4.9" }, { name = "darkdetect", specifier = ">=0.8.0" }, { name = "docx2pdf", specifier = ">=0.1.8" }, + { name = "flask", specifier = ">=3.1.0" }, { name = "httpx", specifier = ">=0.28.1" }, { name = "loguru", specifier = ">=0.7.3" }, { name = "natsort", specifier = ">=8.4.0" }, @@ -1544,13 +1598,13 @@ requires-dist = [ { name = "pdfquery", specifier = ">=0.4.3" }, { name = "playwright", specifier = ">=1.49.1" }, { name = "pymupdf", specifier = ">=1.26.6" }, - { name = "pyramid", specifier = ">=2.0.2" }, { name = "pyside6", specifier = ">=6.9.1" }, { name = "python-docx", specifier = ">=1.1.2" }, { name = "pyzotero", specifier = ">=1.6.4" }, { name = "ratelimit", specifier = ">=2.2.1" }, { name = "regex", specifier = ">=2025.11.3" }, { name = "requests", specifier = ">=2.32.3" }, + { name = "setuptools", specifier = ">=82.0.0" }, { name = "zensical", specifier = ">=0.0.10" }, ] @@ -1559,17 +1613,18 @@ dev = [ { name = "bump-my-version", specifier = ">=0.29.0" }, { name = "icecream", specifier = ">=2.1.4" }, { name = "nuitka", specifier = ">=2.5.9" }, + { name = "prek", specifier = ">=0.3.2" }, { name = "pyinstaller", specifier = ">=6.17.0" }, ] swbtest = [{ name = "alive-progress", specifier = ">=3.3.0" }] [[package]] name = "setuptools" -version = "80.9.0" +version = "82.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/82/f3/748f4d6f65d1756b9ae577f329c951cda23fb900e4de9f70900ced962085/setuptools-82.0.0.tar.gz", hash = "sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb", size = 1144893, upload-time = "2026-02-08T15:08:40.206Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, + { url = "https://files.pythonhosted.org/packages/e1/c6/76dc613121b793286a3f91621d7b75a2b493e0390ddca50f11993eadf192/setuptools-82.0.0-py3-none-any.whl", hash = "sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0", size = 1003468, upload-time = "2026-02-08T15:08:38.723Z" }, ] [[package]] @@ -1580,14 +1635,14 @@ sdist = { url = "https://files.pythonhosted.org/packages/9e/bd/3704a8c3e0942d711 [[package]] name = "shiboken6" -version = "6.10.1" +version = "6.10.2" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/8b/e5db743d505ceea3efc4cd9634a3bee22a3e2bf6e07cefd28c9b9edabcc6/shiboken6-6.10.1-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:9f2990f5b61b0b68ecadcd896ab4441f2cb097eef7797ecc40584107d9850d71", size = 478483, upload-time = "2025-11-20T10:08:52.411Z" }, - { url = "https://files.pythonhosted.org/packages/56/ba/b50c1a44b3c4643f482afbf1a0ea58f393827307100389ce29404f9ad3b0/shiboken6-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f4221a52dfb81f24a0d20cc4f8981cb6edd810d5a9fb28287ce10d342573a0e4", size = 271993, upload-time = "2025-11-20T10:08:54.093Z" }, - { url = "https://files.pythonhosted.org/packages/16/b8/939c24ebd662b0aa5c945443d0973145b3fb7079f0196274ef7bb4b98f73/shiboken6-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:c095b00f4d6bf578c0b2464bb4e264b351a99345374478570f69e2e679a2a1d0", size = 268691, upload-time = "2025-11-20T10:08:55.639Z" }, - { url = "https://files.pythonhosted.org/packages/cf/a6/8c65ee0fa5e172ebcca03246b1bc3bd96cdaf1d60537316648536b7072a5/shiboken6-6.10.1-cp39-abi3-win_amd64.whl", hash = "sha256:c1601d3cda1fa32779b141663873741b54e797cb0328458d7466281f117b0a4e", size = 1234704, upload-time = "2025-11-20T10:08:57.417Z" }, - { url = "https://files.pythonhosted.org/packages/7b/6a/c0fea2f2ac7d9d96618c98156500683a4d1f93fea0e8c5a2bc39913d7ef1/shiboken6-6.10.1-cp39-abi3-win_arm64.whl", hash = "sha256:5cf800917008587b551005a45add2d485cca66f5f7ecd5b320e9954e40448cc9", size = 1795567, upload-time = "2025-11-20T10:08:59.184Z" }, + { url = "https://files.pythonhosted.org/packages/fb/38/3912eb08a3b865b5fcdb4bdce8076cacc211986cee587f5cb62e637791af/shiboken6-6.10.2-cp39-abi3-macosx_13_0_universal2.whl", hash = "sha256:3bd4e94e9a3c8c1fa8362fd752d399ef39265d5264e4e37bae61cdaa2a00c8c7", size = 479829, upload-time = "2026-02-02T08:50:22.495Z" }, + { url = "https://files.pythonhosted.org/packages/52/88/292e0576489c46624ab419ee284ac5a59ae10e2eb34a58b6abca51dfd290/shiboken6-6.10.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:ace0790032d9cb0adda644b94ee28d59410180d9773643bb6cf8438c361987ad", size = 273052, upload-time = "2026-02-02T08:50:24.539Z" }, + { url = "https://files.pythonhosted.org/packages/06/c2/03d44d34e8264e1f25671677fece95b414c70fd85dcc2be8d5e821ee2628/shiboken6-6.10.2-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:f74d3ed1f92658077d0630c39e694eb043aeb1d830a5d275176c45d07147427f", size = 269868, upload-time = "2026-02-02T08:50:25.662Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/5ca52c0ef86b3d01572131b6709bd531a080995f7e680720e9424328ce1d/shiboken6-6.10.2-cp39-abi3-win_amd64.whl", hash = "sha256:10f3c8c5e1b8bee779346f21c10dbc14cff068f0b0b4e62420c82a6bf36ac2e7", size = 1222052, upload-time = "2026-02-02T08:50:27.502Z" }, + { url = "https://files.pythonhosted.org/packages/46/52/421fd378313c89b67ee7d584bf4e9ec088fa1804891b8d74e02b16703457/shiboken6-6.10.2-cp39-abi3-win_arm64.whl", hash = "sha256:20c671645d70835af212ee05df60361d734c5305edb2746e9875c6a31283f963", size = 1784089, upload-time = "2026-02-02T08:50:29.069Z" }, ] [[package]] @@ -1610,41 +1665,32 @@ wheels = [ [[package]] name = "soupsieve" -version = "2.8" +version = "2.8.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, + { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, ] [[package]] name = "tomlkit" -version = "0.13.3" +version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/af/14b24e41977adb296d6bd1fb59402cf7d60ce364f90c890bd2ec65c43b5a/tomlkit-0.14.0.tar.gz", hash = "sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064", size = 187167, upload-time = "2026-01-13T01:14:53.304Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/b5/11/87d6d29fb5d237229d67973a6c9e06e048f01cf4994dee194ab0ea841814/tomlkit-0.14.0-py3-none-any.whl", hash = "sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680", size = 39310, upload-time = "2026-01-13T01:14:51.965Z" }, ] [[package]] name = "tqdm" -version = "4.67.1" +version = "4.67.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } +sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", size = 169598, upload-time = "2026-02-03T17:35:53.048Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, -] - -[[package]] -name = "translationstring" -version = "1.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/14/39/32325add93da9439775d7fe4b4887eb7986dbc1d5675b0431f4531f560e5/translationstring-1.4.tar.gz", hash = "sha256:bf947538d76e69ba12ab17283b10355a9ecfbc078e6123443f43f2107f6376f3", size = 24199, upload-time = "2020-07-09T11:58:32.041Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/98/36187601a15e3d37e9bfcf0e0e1055532b39d044353b06861c3a519737a9/translationstring-1.4-py2.py3-none-any.whl", hash = "sha256:5f4dc4d939573db851c8d840551e1a0fb27b946afe3b95aafc22577eed2d6262", size = 15028, upload-time = "2020-07-09T11:58:30.995Z" }, + { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" }, ] [[package]] @@ -1670,11 +1716,11 @@ wheels = [ [[package]] name = "tzdata" -version = "2025.2" +version = "2025.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772, upload-time = "2025-12-13T17:45:35.667Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" }, ] [[package]] @@ -1691,20 +1737,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.6.1" +version = "2.6.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5e/1d/0f3a93cca1ac5e8287842ed4eebbd0f7a991315089b1a0b01c7788aa7b63/urllib3-2.6.1.tar.gz", hash = "sha256:5379eb6e1aba4088bae84f8242960017ec8d8e3decf30480b3a1abdaa9671a3f", size = 432678, upload-time = "2025-12-08T15:25:26.773Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/56/190ceb8cb10511b730b564fb1e0293fa468363dbad26145c34928a60cb0c/urllib3-2.6.1-py3-none-any.whl", hash = "sha256:e67d06fe947c36a7ca39f4994b08d73922d40e6cca949907be05efa6fd75110b", size = 131138, upload-time = "2025-12-08T15:25:25.51Z" }, -] - -[[package]] -name = "venusian" -version = "3.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/4c/eefa68085c555dc11e6744b9c6fbe5966b1c9378c47267776a448923e9a5/venusian-3.1.1.tar.gz", hash = "sha256:534fb3b355669283eb3954581931e5d1d071fce61d029d58f3219a5e3a6f0c41", size = 39269, upload-time = "2024-12-02T02:35:04.033Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/4b/34d926eba40db81b204066a60b4efdc5d8867a8efcbfe44d69b634b1c907/venusian-3.1.1-py3-none-any.whl", hash = "sha256:0845808a985976acbceaa1fbb871c7fac4fb28ae75453232970e9c2c2866dbf4", size = 14026, upload-time = "2024-12-02T02:35:03.056Z" }, + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, ] [[package]] @@ -1721,64 +1758,92 @@ wheels = [ [[package]] name = "wcwidth" -version = "0.2.14" +version = "0.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +sdist = { url = "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz", hash = "sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159", size = 159684, upload-time = "2026-02-06T19:19:40.919Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, + { url = "https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl", hash = "sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad", size = 94189, upload-time = "2026-02-06T19:19:39.646Z" }, ] [[package]] -name = "webob" -version = "1.8.9" +name = "werkzeug" +version = "3.1.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "legacy-cgi" }, + { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/85/0b/1732085540b01f65e4e7999e15864fe14cd18b12a95731a43fd6fd11b26a/webob-1.8.9.tar.gz", hash = "sha256:ad6078e2edb6766d1334ec3dee072ac6a7f95b1e32ce10def8ff7f0f02d56589", size = 279775, upload-time = "2024-10-24T03:19:20.651Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/70/1469ef1d3542ae7c2c7b72bd5e3a4e6ee69d7978fa8a3af05a38eca5becf/werkzeug-3.1.5.tar.gz", hash = "sha256:6a548b0e88955dd07ccb25539d7d0cc97417ee9e179677d22c7041c8f078ce67", size = 864754, upload-time = "2026-01-08T17:49:23.247Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/50/bd/c336448be43d40be28e71f2e0f3caf7ccb28e2755c58f4c02c065bfe3e8e/WebOb-1.8.9-py2.py3-none-any.whl", hash = "sha256:45e34c58ed0c7e2ecd238ffd34432487ff13d9ad459ddfd77895e67abba7c1f9", size = 115364, upload-time = "2024-10-24T03:19:18.642Z" }, + { url = "https://files.pythonhosted.org/packages/ad/e4/8d97cca767bcc1be76d16fb76951608305561c6e056811587f36cb1316a8/werkzeug-3.1.5-py3-none-any.whl", hash = "sha256:5111e36e91086ece91f93268bb39b4a35c1e6f1feac762c9c822ded0a4e322dc", size = 225025, upload-time = "2026-01-08T17:49:21.859Z" }, ] [[package]] name = "whenever" -version = "0.9.3" +version = "0.9.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "tzdata", marker = "sys_platform == 'win32'" }, { name = "tzlocal", marker = "sys_platform != 'darwin' and sys_platform != 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/87/ae/dcbfee50237cedca9153cac045dff6d93b81886f44f82c86493856592d55/whenever-0.9.3.tar.gz", hash = "sha256:22e6f8366767ab3c8be6d9e21a27bc56be2e50f0f2c66d78e8ee86497b579f1a", size = 256933, upload-time = "2025-10-16T19:44:40.832Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/9a/6b12d5708a703010877bec0efc5172ae8a851516abc13cd4543ce4d02a20/whenever-0.9.5.tar.gz", hash = "sha256:9d8f2fbc70acdab98a99b81a2ac594ebd4cc68d5b3506b990729a5f0b04d0083", size = 259436, upload-time = "2026-01-11T19:47:51.608Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b4/01/543ce9ecaa8dd288b5bd830db221a1508b3662196022f001818f4de36ef3/whenever-0.9.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4ace9aeb97f2b62442486daf7debf6967a62ffe5d1e8293f1cba690bea8fbbc3", size = 457297, upload-time = "2025-10-16T19:44:15.921Z" }, - { url = "https://files.pythonhosted.org/packages/7b/d7/d89a6f1b1ea4a2768c813443d7be007377402fa0db99c62c393965165159/whenever-0.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:01dcd44c16c910ed99a2960df9e591fb3bb7c7ced7cfe93640b74d79957e117b", size = 430008, upload-time = "2025-10-16T19:44:07.25Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ed/80080d1b9bf5bfa2458691d2c97ac50132ea6ab1ac87b36b1e0d5435a8e9/whenever-0.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fdecc368809f1b6103247785edc4350c1aabb99da79d6b788d55d3b6969f494", size = 447873, upload-time = "2025-10-16T19:42:39.674Z" }, - { url = "https://files.pythonhosted.org/packages/2d/92/316bc3cade4e781199f0483b30f5337c851d193cbe4269f5e1008f58a37b/whenever-0.9.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4558c7512a2e81cdfaa658c37e3d6380a64b5d9b19d31fc81433f4dd6c77eb02", size = 495189, upload-time = "2025-10-16T19:42:57.461Z" }, - { url = "https://files.pythonhosted.org/packages/12/22/fe521e469d91c8436c5ed57cbee7f5b79e8e389863724b7c4d3d6f6f1834/whenever-0.9.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33c44afb784af1c1d49394adc10bc563430a2f43f2ea3cfbd0add4ffed6d073d", size = 489191, upload-time = "2025-10-16T19:43:14.847Z" }, - { url = "https://files.pythonhosted.org/packages/e1/ca/8e3a1fd4ff8dfeac17de2b3a8ca04f5da2de1e689016f4e5775649cab425/whenever-0.9.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2674b5be8c3d4cf436fc6a83487c3d6c1aecfd382a8684441eb786e6188feac", size = 519736, upload-time = "2025-10-16T19:43:23.397Z" }, - { url = "https://files.pythonhosted.org/packages/5c/55/238408391f365958286ec2038ff9d2a05959595703d2980cd635a2d846f5/whenever-0.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d91016f4eef16b8cb407bb82d6db1567c8910f32e1658601893f43983f76d63", size = 479003, upload-time = "2025-10-16T19:43:49.793Z" }, - { url = "https://files.pythonhosted.org/packages/e6/31/f88049209533d7410fe260671f1bdbac6cb0f312687c4358dbfcd0e39aca/whenever-0.9.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4907d1be23e3733880e12ad5b8b531cfebaab8e91c40f10eee7f505d43e584f", size = 517910, upload-time = "2025-10-16T19:43:31.156Z" }, - { url = "https://files.pythonhosted.org/packages/73/83/4fac892a01d50b2039699ccddf8f9a35487f5b50b693aea30d087f308f43/whenever-0.9.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7cde6cc29afc5df4e4d942422eaabafe71700e6dae9c453c5086ce19f738c4e0", size = 626366, upload-time = "2025-10-16T19:42:49.843Z" }, - { url = "https://files.pythonhosted.org/packages/f0/bc/f277b2b980c4160be3f6ef51045bdb1b1ac7ec567c14867d17327130cc95/whenever-0.9.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:5119d80bdbc8b9512c6abaaf0304c49c75ce2c25a043df2e3e1c50244b809300", size = 759918, upload-time = "2025-10-16T19:43:06.808Z" }, - { url = "https://files.pythonhosted.org/packages/07/6e/1a8a6074388b730d8d85cd73e916efc8c185396da7c8502e22e8a9da0ee3/whenever-0.9.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6df53862974feb711377fdcf9c31ce0668f86065e8b7b591ced3e3e8dbaa440a", size = 690300, upload-time = "2025-10-16T19:43:40.558Z" }, - { url = "https://files.pythonhosted.org/packages/d8/44/28ce2dca9293c1c7533665bc8669918c0a5618ed5c101766b9ad08887bb3/whenever-0.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57bca91312d5d6efdf6c58bfe2190ca6837b64096ed23e6f14acfe0e3d73d129", size = 650040, upload-time = "2025-10-16T19:43:58.41Z" }, - { url = "https://files.pythonhosted.org/packages/ec/9f/328c44ce32a7ea586d16514d07e4a7ebce3586a8a6b08027851cf7b470cf/whenever-0.9.3-cp313-cp313-win32.whl", hash = "sha256:ca6b11f41ab93d6bd9db94e367ef06f27f5ce2fc76b077f9d2cb4bcb09cdcf4a", size = 414101, upload-time = "2025-10-16T19:44:25.152Z" }, - { url = "https://files.pythonhosted.org/packages/7d/8d/70ed8ad284cf228d5ae89a6d3d99f21ccc78b270e8ddea4a0ca4575c5185/whenever-0.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:c075bad2f67e9c5b561b9643b44b396cb7bb6c5764f1f7d846755ebe9e215574", size = 422869, upload-time = "2025-10-16T19:44:34.595Z" }, - { url = "https://files.pythonhosted.org/packages/53/43/84d2eb1dea42be651d74dda1f6c432b61a389784b47b2b8be70b9c6d5c1b/whenever-0.9.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:71a07a748c8a48f952b0d5a80502911d6b3c553030214fb289e4527949382231", size = 458989, upload-time = "2025-10-16T19:44:17.082Z" }, - { url = "https://files.pythonhosted.org/packages/5e/a9/082c396b4cb41b93333852cefbc44b9a59640f147d74f3b23391fe566c0a/whenever-0.9.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3dba58f009a2d127875410af9e8296958875257ca22889961a5ba51655364bbd", size = 431683, upload-time = "2025-10-16T19:44:08.841Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b2/e91e04d7d1e914f36e46e127145bcf2fd4fb7cc8b0323603549b022c1daa/whenever-0.9.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d75a4c8f58f1a36be812aec838d779266ae30a954d690d6e362c3a52ac9e1c5", size = 449103, upload-time = "2025-10-16T19:42:40.768Z" }, - { url = "https://files.pythonhosted.org/packages/86/20/c5938823111ed750e18dae2fc664d7d82d430a45cda7c5ac431d857e2e33/whenever-0.9.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07309b9f77380e5564ff7d7ab47d0ea041ecc8465d67e747a5fa17f5b9f817fb", size = 496227, upload-time = "2025-10-16T19:42:58.799Z" }, - { url = "https://files.pythonhosted.org/packages/af/6a/f78d191ce5eac1ec6ee1e025a8f61c4062da91ed2ffdb456d0a7af639167/whenever-0.9.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ec5bf917a8df32b7ec497c9f40a445f12d2f1135862d1ca0cd889168088645e", size = 489542, upload-time = "2025-10-16T19:43:16.406Z" }, - { url = "https://files.pythonhosted.org/packages/7a/62/a2db36a62be81701f05392513251412e55d67c4fe75c414c1c278cdc9031/whenever-0.9.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:434a357bf50542e1478fdaf9c3025e11d072a22d1050a4969a9cad66b12c5734", size = 520663, upload-time = "2025-10-16T19:43:24.512Z" }, - { url = "https://files.pythonhosted.org/packages/cd/3d/d4d0b324eda1120d309dcd9cbbffca633e677781e08b14f27635041e7aa2/whenever-0.9.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61b49c8e66044e9f15f1e64b5091f3efe79eb7329a2a1a02e707a8ad98f7cf2b", size = 481155, upload-time = "2025-10-16T19:43:51.625Z" }, - { url = "https://files.pythonhosted.org/packages/67/7c/15bf5d01e31c841ad17042b30a000010bea2ac0744f98b30872fd9b3c3fa/whenever-0.9.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bc84c74fae6ab50f7b8c9e1e740e49e177eac8a16395b6bcbf260be59999e35d", size = 519631, upload-time = "2025-10-16T19:43:33.279Z" }, - { url = "https://files.pythonhosted.org/packages/dc/79/c6c5671e6d393e81c84b5cc843941ae756479abef092f02df219604fff7f/whenever-0.9.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:067e9b26b2c1114a18272f96b2cf9c3bd8200dd1d3a93498387b9c8067c15ac2", size = 627480, upload-time = "2025-10-16T19:42:51.115Z" }, - { url = "https://files.pythonhosted.org/packages/e9/8d/bbd22e3540360a1ea871bcc07c5af2c5ba71e6c54c7cf762805df79d76f0/whenever-0.9.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:24e8584f43d7cc99b1bc89e9db748990d098a13fa56c11285ca50e8a1d745ceb", size = 760930, upload-time = "2025-10-16T19:43:07.783Z" }, - { url = "https://files.pythonhosted.org/packages/45/f7/957ca2b38e40be0ed721cbef2cb2df3bbaf0767c253408f14f41901fec49/whenever-0.9.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:79c9296d0c040da5eb350e0e61682f36169fc0c63c1545ca1d0505f6c4a9f64b", size = 691669, upload-time = "2025-10-16T19:43:41.637Z" }, - { url = "https://files.pythonhosted.org/packages/04/9b/0719c857dc4e39b738fe185a3f5b201bfa566fe5d5d41fe34e8746e7736a/whenever-0.9.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f99be7de17f590c94be895e626377afe0b27049f2ac705390edc089bcfe9cce1", size = 652410, upload-time = "2025-10-16T19:43:59.567Z" }, - { url = "https://files.pythonhosted.org/packages/0c/95/504330d21987beed1504dd4e00528391180574619f467e381ceaa487f34d/whenever-0.9.3-cp314-cp314-win32.whl", hash = "sha256:564ed0ac5b71d2350aefa2f15d99f569380f39b78b15cf85ffd8aad95a660d5b", size = 415644, upload-time = "2025-10-16T19:44:27.068Z" }, - { url = "https://files.pythonhosted.org/packages/2a/7a/1a82153345fd66698d34c9fc40ceac92ad32f99c307da6e8cb29d6298a40/whenever-0.9.3-cp314-cp314-win_amd64.whl", hash = "sha256:b2a5ccbcf6bd9808b56c46b4f2b5a5a20ff08a61b0fef3ddf8822095e4850979", size = 425159, upload-time = "2025-10-16T19:44:36.366Z" }, - { url = "https://files.pythonhosted.org/packages/bf/7b/d2eb5e65f0c892ffe7fe0658861b7797368a056829b8e7b2af3ba3598260/whenever-0.9.3-py3-none-any.whl", hash = "sha256:fea97d1b6645837a608c593bcca94d70d7edbfe66ce442edc5455fcc3b659284", size = 64404, upload-time = "2025-10-16T19:44:39.656Z" }, + { url = "https://files.pythonhosted.org/packages/48/c7/f5626d4cc477116e6ec3191515981a60cdd021adc97046cb422f6bed327c/whenever-0.9.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:d7de2cac536fe28f012928b74e0a3ed15dd8f4ac9940cfce35104cca345937f0", size = 467317, upload-time = "2026-01-11T19:47:21.582Z" }, + { url = "https://files.pythonhosted.org/packages/ea/81/d59f0e226ef542fc4bc86567d7b9e2bf9016c353b1f83661ee3913a140a7/whenever-0.9.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e00bc8f93fa469c630aad9dfdc538587c28891d6a4dce2f0b08628d5a108a219", size = 438838, upload-time = "2026-01-11T19:47:11.553Z" }, + { url = "https://files.pythonhosted.org/packages/b5/dc/090732e6e75f15a6084700d3247db6aa1f885971b637531529c62c4ba1c6/whenever-0.9.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ac83555db44e1fcfc032114f45c09af0ed9d641380672c8deb7f1131a0fd783", size = 453069, upload-time = "2026-01-11T19:45:30.238Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f9/b4744370a9491689fc46327a17e3246a9e107b19efa0e24f51d9dcbe6aeb/whenever-0.9.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1c486b1db0b833a007e2b8264f265079e57593925131b83ab69514fb9563b8d9", size = 498413, upload-time = "2026-01-11T19:45:49.811Z" }, + { url = "https://files.pythonhosted.org/packages/62/78/45ef94ef51cb97c514650c2af33cdfc3de3cf967fcf12955c0e3a430a6cf/whenever-0.9.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a57e8f207b5ad9b0c6bcd3efee38d65a70434c1bdcb95cc5d2e2b7a5237c208", size = 487043, upload-time = "2026-01-11T19:46:09.528Z" }, + { url = "https://files.pythonhosted.org/packages/6b/23/f45082a60471ee79edc5bf5c09c1d4f55324a2c740fb138a3a691f19d2b6/whenever-0.9.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e1d66a0ece1dabd6952eb7b03a555843bada42bed4683ea71b113f194714144", size = 521879, upload-time = "2026-01-11T19:46:20.093Z" }, + { url = "https://files.pythonhosted.org/packages/56/5c/8d6dc529595b5387f5727cd6c2c5b8615851d95fec5c599a61ef239cc1b3/whenever-0.9.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4056aaff273a579f0294e5397a0d198f52906bbaf7171da0a12ecd8cdf5026c", size = 483388, upload-time = "2026-01-11T19:46:49.746Z" }, + { url = "https://files.pythonhosted.org/packages/29/52/366c4658286a5986acb76473e9e21457af2bd1b53dc050cee00160106eaa/whenever-0.9.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b0e7c669be2897108895f3283e23fe761782c9c1abb0ce8834e57e09ce5cdfd", size = 521135, upload-time = "2026-01-11T19:46:30.122Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cb/82bbe5ce0879dd38d201214323afad418f1d721111311807c75aaf2e2d16/whenever-0.9.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9e0c7a146da12c37d68387c639f957e3624cf7a55a1d534788d5aea748a261e7", size = 636617, upload-time = "2026-01-11T19:45:39.656Z" }, + { url = "https://files.pythonhosted.org/packages/ec/32/8dcb6facf229b8e2b5c73d0c50adf800593769e34ab5abcd77828451c4ed/whenever-0.9.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:70c5f3013d6a1b7c40adbc05bc886e017f2b981739aaceafce47069da5b7e617", size = 769643, upload-time = "2026-01-11T19:45:59.047Z" }, + { url = "https://files.pythonhosted.org/packages/eb/40/6ab4308550851209982b78692d14a9729bf20b6e814ddedf2658e46a6cd8/whenever-0.9.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a8ce45c7271b85292e9d25e802543942b0249e73976c8614d676f0b561b25420", size = 733170, upload-time = "2026-01-11T19:46:39.457Z" }, + { url = "https://files.pythonhosted.org/packages/47/38/7ad290229e8df99107d04e21ecef9d09f215428ab3aa06c0e46d51cba860/whenever-0.9.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f1db334becda2d7895bc31373b1e53ff73e3a0ea208e2845b4f946ad9a5e667", size = 696797, upload-time = "2026-01-11T19:47:00.001Z" }, + { url = "https://files.pythonhosted.org/packages/ff/8e/94c4fba5ef73bb817c557e19bb75665cb5761e4badfb60950bd4d3cc5a01/whenever-0.9.5-cp313-cp313-win32.whl", hash = "sha256:4079eabfa21d1418bcc2c3d605e780cfec0ad8161317e12fa0f1ef87cb08fe7d", size = 416152, upload-time = "2026-01-11T19:47:32.083Z" }, + { url = "https://files.pythonhosted.org/packages/81/b4/17d4bc76ca73c21eb5b7883d10d8bacb7ce7a30a8f36501db2373c63ffb3/whenever-0.9.5-cp313-cp313-win_amd64.whl", hash = "sha256:16497a2b889aeeb0ee80a0d3b9ce14cdb63d7eb7d904e003aae3cd4ac67da1e8", size = 440135, upload-time = "2026-01-11T19:47:42.963Z" }, + { url = "https://files.pythonhosted.org/packages/30/d3/13db725dfef188bec32e51128e888a869ee97d26d965cfe39edf1321ca8f/whenever-0.9.5-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f222b1d59cdeadc1669657198e572727db8640e0b534e4e1ad0491417ec98379", size = 466415, upload-time = "2026-01-11T19:47:22.7Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e9/4a9deeb616fbdf8e0c75fc78f13c37270d1d7e7ec776ffdf306262b8c593/whenever-0.9.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6f4ae436a4db888cd5b48a88fb83ae3f70c468a7d0018cc9572e26e99b9f591f", size = 437247, upload-time = "2026-01-11T19:47:13.1Z" }, + { url = "https://files.pythonhosted.org/packages/15/02/21866bddf5f819f1a3a59463f4637755590cb4045d25a50fb6ab60db97a6/whenever-0.9.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68b7c201fc49123159b1518147e48791e95a19cba0b3ebb646a446eb7e95148f", size = 451556, upload-time = "2026-01-11T19:45:31.645Z" }, + { url = "https://files.pythonhosted.org/packages/51/14/2c84db8f23577ddfd6ecd90c8d192d21dfa75aea57cda44eb53048b27e69/whenever-0.9.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5d2a8dd9c565eacb199ff704d96fc95e74f6c324639d970cac3b4d80eefbaebb", size = 498034, upload-time = "2026-01-11T19:45:50.926Z" }, + { url = "https://files.pythonhosted.org/packages/cc/37/cb69a10573382bbfd14954b5386bf5c47290551246d497a9aa733a5b5a8a/whenever-0.9.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0d965ee9dafe1eb37ec273f7520e26b70d8b1bb075c06b0bb9e434363ca66fd", size = 487381, upload-time = "2026-01-11T19:46:10.752Z" }, + { url = "https://files.pythonhosted.org/packages/47/c4/fcc0f886322f72c5d83ee669ed1aa253c4e58625e5bf64fede03a69aa7a0/whenever-0.9.5-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035594337920cc9b9eb4531a97037971c109cc60e9a7a53e49e65722a1db7535", size = 520975, upload-time = "2026-01-11T19:46:21.789Z" }, + { url = "https://files.pythonhosted.org/packages/29/cc/ad7e9c225a97be16b97a20c46802991908a12f9920d83071d669ed7ed79c/whenever-0.9.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26c5b04d6fcb0e4ee9f6e62e4400fd99c5f188449314f5863a865be33a653984", size = 481911, upload-time = "2026-01-11T19:46:50.87Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/4fa12c102d6aa3190ce1f34dc9f709776e9c3b1537328c46b6444b9a1638/whenever-0.9.5-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04755e5a2b802451332d2a18bf1c45d74f99cd16e61a0724fe763907f32cf7f8", size = 520068, upload-time = "2026-01-11T19:46:31.175Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e7/08d7c7e59130e8379240fda96cd68ae60435f6d6b6e356a5900c6856e48f/whenever-0.9.5-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0f7a37894b9cfc1e68b23f25d19ac38da68454f6bf782eab4cfac58578092daa", size = 635235, upload-time = "2026-01-11T19:45:41.389Z" }, + { url = "https://files.pythonhosted.org/packages/c1/6d/49c5566c5560606659dfed8dd49cadfa4d6a14b3f0d7a3d5a46a0c4e5624/whenever-0.9.5-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:55f10416bed357e0d1d1e4bf5e625974fe0a01348117161b4a0d2a69361c0efc", size = 769640, upload-time = "2026-01-11T19:46:00.112Z" }, + { url = "https://files.pythonhosted.org/packages/b8/09/e05cdc29897b97f3e3c0ffd485bf165f779c6d89bc4c0c0a76592e7c2e8c/whenever-0.9.5-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:75bfb8c778db727230fa5e7e2e256615be287d00cb1132b93789525e4d1c5dc6", size = 731095, upload-time = "2026-01-11T19:46:40.693Z" }, + { url = "https://files.pythonhosted.org/packages/1c/d1/dcb635c2951ed5a112d340f73bf3cc81d69d1af7c0b1a33d0ca9d3299a26/whenever-0.9.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5bdc5ca9cddc9264d587469d994e046ae9c55cfdb6b9048927fe2922ae8763a1", size = 694782, upload-time = "2026-01-11T19:47:01.532Z" }, + { url = "https://files.pythonhosted.org/packages/56/06/1544751be5e96aeefb59b5fedc1f8f4b0f238197ce21496d5960da20f18c/whenever-0.9.5-cp313-cp313t-win32.whl", hash = "sha256:274b7acfdc1fdfb29ab55299ce0a90cabedd079ff9940e24d05e3de4b04e1638", size = 415984, upload-time = "2026-01-11T19:47:33.34Z" }, + { url = "https://files.pythonhosted.org/packages/ab/0e/c87cf223816731718e5fef792b1f8c6d124c9fcbec677d4b7c9fcfe8f44f/whenever-0.9.5-cp313-cp313t-win_amd64.whl", hash = "sha256:7c9429fa1249aa39385716644453d9a4de0974b537974988b175d3ba7175a43f", size = 438641, upload-time = "2026-01-11T19:47:44.295Z" }, + { url = "https://files.pythonhosted.org/packages/d7/e4/5e78fc3b8a2bc84e0f055a89a9f4eabc06bc435463ea112265e1e73592f5/whenever-0.9.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e381120682f6675cccbcba13b4c88b033f31167f820c161936fa99556e455f03", size = 468861, upload-time = "2026-01-11T19:47:24.176Z" }, + { url = "https://files.pythonhosted.org/packages/e8/a3/bd597dff8c82b2a1568813015ff25f3df2b6817872c8061176f04e3aad0f/whenever-0.9.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:caa7be36a609d765b9ea1c49159c446521b6ac33ff60b67214aa019713e05dda", size = 441322, upload-time = "2026-01-11T19:47:14.184Z" }, + { url = "https://files.pythonhosted.org/packages/82/3c/fcb3a85cfdc12783c22d44640be538f78bcc3946cc3fb454139cdaebd119/whenever-0.9.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:037fd64e27df6116c3ffe8e96cdb6562051b0eda3f0bc7c35068fe642a913da9", size = 455230, upload-time = "2026-01-11T19:45:32.978Z" }, + { url = "https://files.pythonhosted.org/packages/e9/17/83c83dddb55f7576f3748b077774d2bd8521bc2220bd2fa6f711ad8f046e/whenever-0.9.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5c864363a2ff97c0b661915112140b9229132586d035ee4989cbe914aa3e3df4", size = 499473, upload-time = "2026-01-11T19:45:52.257Z" }, + { url = "https://files.pythonhosted.org/packages/07/11/406d26cf641ef9e3cdd0f11237a2a49b06f225c5f57257850a2e101c8760/whenever-0.9.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e3d2c3f7bc9ceaef7d58fb40f0a4602a1947691eac1bff2623d2f923d4374543", size = 488680, upload-time = "2026-01-11T19:46:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/b5/15/7d85e7f5710fc4dfaec830da0b069791ca6b7108939ab06a0440cfd11f7a/whenever-0.9.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce45c364734e63a459b3b816f1ce159bb4d4f570faa2b0fa504d6d329dd654a3", size = 522715, upload-time = "2026-01-11T19:46:22.835Z" }, + { url = "https://files.pythonhosted.org/packages/3f/53/ec6eb7d71624437571ed22c9fbfa7c8532b6868c94138e0775f61c69101c/whenever-0.9.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8fc8e6e500f60299be739e19ffb830b2d9f50da017e14cd832b31f31ee93166", size = 484518, upload-time = "2026-01-11T19:46:51.971Z" }, + { url = "https://files.pythonhosted.org/packages/17/48/220d4a7335d91face9e5c16ec5228ad454ff58cfb3713c291c90d54b3e84/whenever-0.9.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b422bb8651f094f4420749f4c0d72287121480a495c6d247035bd52a72c4586c", size = 522611, upload-time = "2026-01-11T19:46:32.224Z" }, + { url = "https://files.pythonhosted.org/packages/be/fd/d1b270585f459f469af7c08e03ba2bcfe058449162354bf809e671ccfb1e/whenever-0.9.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:87635742acdd0adbbed62c6ed2ec4a49e25b1e3c7374f13f39d2c5f9229ae24f", size = 638421, upload-time = "2026-01-11T19:45:42.843Z" }, + { url = "https://files.pythonhosted.org/packages/2f/0c/7fc33cdb8da7d2b14cd7129f37b48c1aa91644eabc07780333979bdf15f6/whenever-0.9.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:1ae39fff83ad73ec563db65707e5bde1e74b350bf4309cfb265d527a6cd222c6", size = 770967, upload-time = "2026-01-11T19:46:01.614Z" }, + { url = "https://files.pythonhosted.org/packages/fc/39/a379dcf478136619050cee1ed789a9bdb0a6537fe8c43b23ea832e38c8ce/whenever-0.9.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ae5b01eb93c3ad703d7870d9e6566c389b889e97d7efec30c73abf64aa95b47f", size = 735292, upload-time = "2026-01-11T19:46:41.75Z" }, + { url = "https://files.pythonhosted.org/packages/09/a7/139ac3b81239f1d6275e8eb792c52a48adc6ba303b7e0c9d8ca405a86c76/whenever-0.9.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5e278daa1e650958f9ba7084b1c3c245444acf3e30db9cca5141658347a7c67d", size = 697998, upload-time = "2026-01-11T19:47:02.681Z" }, + { url = "https://files.pythonhosted.org/packages/2e/37/141041e40f76dd530183c715faae1d8b21e47867fe159b8b88c4960eae2d/whenever-0.9.5-cp314-cp314-win32.whl", hash = "sha256:1b62c62a00bd93e51f71d231aef3178f1c22566b2818c190e755c96fd939b91a", size = 418248, upload-time = "2026-01-11T19:47:34.855Z" }, + { url = "https://files.pythonhosted.org/packages/4b/7b/c86657bec1a679042c239a247bc3e6a92f3acc53ec858d13c1e770777f41/whenever-0.9.5-cp314-cp314-win_amd64.whl", hash = "sha256:483c2736ce367dbda01133700b064dfa8b6ed24833fc984e1d767e81aa02a189", size = 442418, upload-time = "2026-01-11T19:47:45.727Z" }, + { url = "https://files.pythonhosted.org/packages/55/3b/2d37c3438214a1bf6caddddf825d5ff86e6cfcdf91a41fa1175334a2bab0/whenever-0.9.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7644b6c35f9c1fa7b7f6cb03bf5764207374bf3e2049cb49e7578648b0d27dd9", size = 468132, upload-time = "2026-01-11T19:47:25.341Z" }, + { url = "https://files.pythonhosted.org/packages/ba/0d/284336cf592107ee65c61030f1ca9717214365661d642aadf9fbce38bf8d/whenever-0.9.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:be31d5799b49e593da413cddc73728a51d0e80461262c7a4ed66b95819a69016", size = 438449, upload-time = "2026-01-11T19:47:15.283Z" }, + { url = "https://files.pythonhosted.org/packages/5a/50/a13b1869b06a8838fab79e31707bf882f836764dcf1260ce170c1084011b/whenever-0.9.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6691e1157026773354c77771cd72db727bbd0ee36121cd139cf16f03cddc1699", size = 452750, upload-time = "2026-01-11T19:45:34.047Z" }, + { url = "https://files.pythonhosted.org/packages/79/9d/3b9006df1289c78a2e3b8bdd6498430ffee57cb851c938a9da9a7f2ca11d/whenever-0.9.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7e31f4bb592cdd433dde40acef83f968b89178b42169724e0b200a318536c4f", size = 497651, upload-time = "2026-01-11T19:45:53.477Z" }, + { url = "https://files.pythonhosted.org/packages/c3/94/6e66e55649ed8c2e742ca3284e3dd158b0cb3d1272fc7bacc5b0938eba12/whenever-0.9.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9f8100609213040dda06e1d078bc43768d5d16dbaabfa75b13c5adb5189056be", size = 488006, upload-time = "2026-01-11T19:46:13.624Z" }, + { url = "https://files.pythonhosted.org/packages/c2/62/5c0bea83a518f3a76377400bdc29215d2f964be4d1bc8d3886f91824a4cc/whenever-0.9.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:38c415a27661f830320c96f3cf6af99ea96b712c9c3a14975ff8c34263d125c6", size = 521517, upload-time = "2026-01-11T19:46:23.874Z" }, + { url = "https://files.pythonhosted.org/packages/80/0a/e93c2ccfb993d5ac1434913d9a2cea2e79d93affbbec06942c748d04681f/whenever-0.9.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cee6fce59f948dd30c01107d55d40d2c035c6dfd3005c49d535e10175832601c", size = 483401, upload-time = "2026-01-11T19:46:53.531Z" }, + { url = "https://files.pythonhosted.org/packages/4d/05/d142ca3b56a1012082d0d2b71f9e9e1b9b42ba266d92294f841cb7acc07e/whenever-0.9.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef181122ffcef41551d5eef483bf12ea48d1115554911a674e404e640ef0fd26", size = 520096, upload-time = "2026-01-11T19:46:33.746Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b9/53a3ebb2c44e7215fa8c6720361a5c78891538f9c934935ffbf508801aae/whenever-0.9.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e4970bc5c37d4fff22e299314bebebb2d1a88133a67a51f87013dad0ac6535fb", size = 637251, upload-time = "2026-01-11T19:45:43.849Z" }, + { url = "https://files.pythonhosted.org/packages/ea/17/4f15ae9977972a7b8cd2819c4f03b63884416e4064d6d7366164cd6093f4/whenever-0.9.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:db8043800bd6eba7e681a316cba3734c8d10dad044b4a0dcf5fb0129665902ce", size = 769681, upload-time = "2026-01-11T19:46:03.041Z" }, + { url = "https://files.pythonhosted.org/packages/a0/a5/280dd222b31f478cef551f0d6554ab224e436b7b4ba1456d3cad864de756/whenever-0.9.5-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:067235cd1be14f709219eae4e6ae639ec19418e7860d1be1e59c5e4bd9cb3542", size = 732487, upload-time = "2026-01-11T19:46:43.395Z" }, + { url = "https://files.pythonhosted.org/packages/8d/33/d2bed59cfe7cf358e78bfa26bad4414a0a3d99c6aa5e5b76aea448661bae/whenever-0.9.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:81556be508452f5fe7d7e7837718ff91ddb16089a705febe178fa8baabc99236", size = 696906, upload-time = "2026-01-11T19:47:03.814Z" }, + { url = "https://files.pythonhosted.org/packages/36/4a/b27b182fdf24c9760a91481c6b97d9f536a15f6bc7c33d750eccaa245670/whenever-0.9.5-cp314-cp314t-win32.whl", hash = "sha256:681c9f4d322182df28037a33f0d4eadf7577fcd590130f7a5d23763a86ab5687", size = 417599, upload-time = "2026-01-11T19:47:36.201Z" }, + { url = "https://files.pythonhosted.org/packages/6d/93/712f65c4fc3c188b0c163cd650cb04a46f993a22d1ad3f66a3e4a42a39f8/whenever-0.9.5-cp314-cp314t-win_amd64.whl", hash = "sha256:37242c895078bb1bfc26bea460f6d92dc5bdfe4a59e95a4f9e01f99b90f0157e", size = 440654, upload-time = "2026-01-11T19:47:46.924Z" }, + { url = "https://files.pythonhosted.org/packages/91/fb/1b112af72e5a2b5ac66b5a6a478cc220117224c1481a2b1a35e87222a791/whenever-0.9.5-py3-none-any.whl", hash = "sha256:cc600303e703d57cc42c5db1c81bbc3becb8ef6fde5c46aee5d68c292239fc4b", size = 64873, upload-time = "2026-01-11T19:47:49.585Z" }, ] [[package]] @@ -1792,7 +1857,7 @@ wheels = [ [[package]] name = "zensical" -version = "0.0.11" +version = "0.0.21" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -1802,90 +1867,18 @@ dependencies = [ { name = "pymdown-extensions" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7f/3e/c6e3736362ef16d6a2be0221841717170d0ed7dffd408be4260bbc126edf/zensical-0.0.11.tar.gz", hash = "sha256:4c048779787ebcbdf01c15c69287ca5add5f8661c860ea6302c1ad45606e4b5f", size = 3807996, upload-time = "2025-12-03T13:12:11.398Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/50/2655b5f72d0c72f4366be580f5e2354ff05280d047ea986fe89570e44589/zensical-0.0.21.tar.gz", hash = "sha256:c13563836fa63a3cabeffd83fe3a770ca740cfa5ae7b85df85d89837e31b3b4a", size = 3819731, upload-time = "2026-02-04T17:47:59.396Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/29/6344aa39e13abe6dbe70e9d3b32cfb472eb8ae282b18947738da85abab2f/zensical-0.0.11-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:0ef33bf2efdb66e444bb59aff134729ba83b271c2ee034063289cdb5e76b7947", size = 11877948, upload-time = "2025-12-03T13:11:54.937Z" }, - { url = "https://files.pythonhosted.org/packages/ca/67/67e01269531196bf16f819a409de65bd209fd8b2e037fce21bfea751c197/zensical-0.0.11-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:8df38c0538eb763a3b3d42f1d179927c0e9b8deec365ff016c00ca71ae287bce", size = 11753580, upload-time = "2025-12-03T13:11:51.319Z" }, - { url = "https://files.pythonhosted.org/packages/dd/80/472fc1f81e6921bea46216302333612037e32ec56143a55bab9732ce01ed/zensical-0.0.11-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc672c3d986829add78e2c8bd0e50dd091ae93c9b7144a9ae02908aea63bb601", size = 12075493, upload-time = "2025-12-03T13:11:39.901Z" }, - { url = "https://files.pythonhosted.org/packages/c9/0d/a38c13533ea0d962c501846a7d2f3c23cc8f74749c45578ddecf2de3a64b/zensical-0.0.11-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfd215bd14724d63e37eff2f0984517b997616cf1fd68059d7c41edfeb695dd3", size = 12049581, upload-time = "2025-12-03T13:11:43.219Z" }, - { url = "https://files.pythonhosted.org/packages/b5/4a/5d63e0f72f8f8e702a18d2b5543d042c2df38a0943c3c3bc468bf72e3d5e/zensical-0.0.11-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5c883eaabe82ce733e3a653a28afa901e529574c93a0a51ed2e52801ef064ed", size = 12357849, upload-time = "2025-12-03T13:11:45.724Z" }, - { url = "https://files.pythonhosted.org/packages/40/5e/b47cc18fcf06a5f5d655378cb4a0abc58f5ddc550f1ce929e19f78791e40/zensical-0.0.11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32ea5a572473d0f3187d8abeeb6b1a55acd1b09bfecb153820b57a41232b3109", size = 12129203, upload-time = "2025-12-03T13:11:48.582Z" }, - { url = "https://files.pythonhosted.org/packages/4e/bd/ed0288b3081c5dc6d95f72694515d70c1eeb725e0a5deefdcf0ac6f83d34/zensical-0.0.11-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:bab3897bb3bf4d3fd81234640590888e95bd7f49070f840e5817b67b25d9cf2f", size = 12254763, upload-time = "2025-12-03T13:12:00.605Z" }, - { url = "https://files.pythonhosted.org/packages/74/cc/f01eda961b4b4a2865caecc438b8b84fd331950dc14e29efe838eb65d7c1/zensical-0.0.11-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:1744f743d69aa9745570499392ca81962885b90700569ea4564858d01200b1c7", size = 12315291, upload-time = "2025-12-03T13:12:03.435Z" }, - { url = "https://files.pythonhosted.org/packages/eb/d0/5e80aa6cf4b370a1e1c5061efa9f5bcc9fef8d9908f00707f1c3522c6b73/zensical-0.0.11-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:fb61bd1d3d864bb36caa277b59c4bcf4431fbd6d8d2914a6b0bb1281f6259e5f", size = 12392259, upload-time = "2025-12-03T13:12:06.035Z" }, - { url = "https://files.pythonhosted.org/packages/60/7f/bfdb3348381b6fa6a2fff80ead94451d128c689038efe6941b017576059e/zensical-0.0.11-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:bdb776ba9257a0f2a991ce5bd82110a0ca44dfe4342abc545b1e8add12de1ba5", size = 12332689, upload-time = "2025-12-03T13:12:08.892Z" }, - { url = "https://files.pythonhosted.org/packages/02/46/2fdea450d1b9b8fd1765769e9de42962807c7c02b301eece3b98b0871fe0/zensical-0.0.11-cp310-abi3-win32.whl", hash = "sha256:e4bfbc6cc80e3c927d4372bb005460fd731a71966dec3a5e4f61f5aeccb86cc5", size = 11490417, upload-time = "2025-12-03T13:12:15.507Z" }, - { url = "https://files.pythonhosted.org/packages/9d/5d/264f745941d1be9a5333a1601d6260afea6949cebff7fc60d69431ae4eaf/zensical-0.0.11-cp310-abi3-win_amd64.whl", hash = "sha256:d7a206c22ac66bbe885a04a5efa27610c5cc4899c78df1f7e8e9a36d298ec14b", size = 11679205, upload-time = "2025-12-03T13:12:13.264Z" }, -] - -[[package]] -name = "zope-deprecation" -version = "6.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "setuptools" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/56/05/8eaa04876e1fde656f1bfd8f62a4140d7ac23bcf16db67dd4036698dae1f/zope_deprecation-6.0.tar.gz", hash = "sha256:18727ebda8e63a6d4bd28a290e8b46852e9f14473debb5cc40a0a2dccfadf15f", size = 24480, upload-time = "2025-09-12T07:06:06.779Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/ed/da7f8b1c73caf989a0ff7096cc73c59e6c36f35a8f967c51104098602e2d/zope_deprecation-6.0-py3-none-any.whl", hash = "sha256:ff72d51c88b516b9ddf2cfb826381cc49f99a6a89b7d35c97faca7bee3b46da6", size = 9512, upload-time = "2025-09-12T07:06:05.847Z" }, -] - -[[package]] -name = "zope-interface" -version = "8.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/71/c9/5ec8679a04d37c797d343f650c51ad67d178f0001c363e44b6ac5f97a9da/zope_interface-8.1.1.tar.gz", hash = "sha256:51b10e6e8e238d719636a401f44f1e366146912407b58453936b781a19be19ec", size = 254748, upload-time = "2025-11-15T08:32:52.404Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/85/81/3c3b5386ce4fba4612fd82ffb8a90d76bcfea33ca2b6399f21e94d38484f/zope_interface-8.1.1-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:84f9be6d959640de9da5d14ac1f6a89148b16da766e88db37ed17e936160b0b1", size = 209046, upload-time = "2025-11-15T08:37:01.473Z" }, - { url = "https://files.pythonhosted.org/packages/4a/e3/32b7cb950c4c4326b3760a8e28e5d6f70ad15f852bfd8f9364b58634f74b/zope_interface-8.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:531fba91dcb97538f70cf4642a19d6574269460274e3f6004bba6fe684449c51", size = 209104, upload-time = "2025-11-15T08:37:02.887Z" }, - { url = "https://files.pythonhosted.org/packages/a3/3d/c4c68e1752a5f5effa2c1f5eaa4fea4399433c9b058fb7000a34bfb1c447/zope_interface-8.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:fc65f5633d5a9583ee8d88d1f5de6b46cd42c62e47757cfe86be36fb7c8c4c9b", size = 259277, upload-time = "2025-11-15T08:37:04.389Z" }, - { url = "https://files.pythonhosted.org/packages/fd/5b/cf4437b174af7591ee29bbad728f620cab5f47bd6e9c02f87d59f31a0dda/zope_interface-8.1.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:efef80ddec4d7d99618ef71bc93b88859248075ca2e1ae1c78636654d3d55533", size = 264742, upload-time = "2025-11-15T08:37:05.613Z" }, - { url = "https://files.pythonhosted.org/packages/0b/0e/0cf77356862852d3d3e62db9aadae5419a1a7d89bf963b219745283ab5ca/zope_interface-8.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:49aad83525eca3b4747ef51117d302e891f0042b06f32aa1c7023c62642f962b", size = 264252, upload-time = "2025-11-15T08:37:07.035Z" }, - { url = "https://files.pythonhosted.org/packages/8a/10/2af54aa88b2fa172d12364116cc40d325fedbb1877c3bb031b0da6052855/zope_interface-8.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:71cf329a21f98cb2bd9077340a589e316ac8a415cac900575a32544b3dffcb98", size = 212330, upload-time = "2025-11-15T08:37:08.14Z" }, - { url = "https://files.pythonhosted.org/packages/b9/f5/44efbd98ba06cb937fce7a69fcd7a78c4ac7aa4e1ad2125536801376d2d0/zope_interface-8.1.1-cp314-cp314-macosx_10_9_x86_64.whl", hash = "sha256:da311e9d253991ca327601f47c4644d72359bac6950fbb22f971b24cd7850f8c", size = 209099, upload-time = "2025-11-15T08:37:09.395Z" }, - { url = "https://files.pythonhosted.org/packages/fd/36/a19866c09c8485c36a4c6908e1dd3f8820b41c1ee333c291157cf4cf09e7/zope_interface-8.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3fb25fca0442c7fb93c4ee40b42e3e033fef2f648730c4b7ae6d43222a3e8946", size = 209240, upload-time = "2025-11-15T08:37:10.687Z" }, - { url = "https://files.pythonhosted.org/packages/c1/28/0dbf40db772d779a4ac8d006a57ad60936d42ad4769a3d5410dcfb98f6f9/zope_interface-8.1.1-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:bac588d0742b4e35efb7c7df1dacc0397b51ed37a17d4169a38019a1cebacf0a", size = 260919, upload-time = "2025-11-15T08:37:11.838Z" }, - { url = "https://files.pythonhosted.org/packages/72/ae/650cd4c01dd1b32c26c800b2c4d852f044552c34a56fbb74d41f569cee31/zope_interface-8.1.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3d1f053d2d5e2b393e619bce1e55954885c2e63969159aa521839e719442db49", size = 264102, upload-time = "2025-11-15T08:37:13.241Z" }, - { url = "https://files.pythonhosted.org/packages/46/f0/f534a2c34c006aa090c593cd70eaf94e259fd0786f934698d81f0534d907/zope_interface-8.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:64a1ad7f4cb17d948c6bdc525a1d60c0e567b2526feb4fa38b38f249961306b8", size = 264276, upload-time = "2025-11-15T08:37:14.369Z" }, - { url = "https://files.pythonhosted.org/packages/5b/a8/d7e9cf03067b767e23908dbab5f6be7735d70cb4818311a248a8c4bb23cc/zope_interface-8.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:169214da1b82b7695d1a36f92d70b11166d66b6b09d03df35d150cc62ac52276", size = 212492, upload-time = "2025-11-15T08:37:15.538Z" }, -] - -[[package]] -name = "zstandard" -version = "0.25.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fd/aa/3e0508d5a5dd96529cdc5a97011299056e14c6505b678fd58938792794b1/zstandard-0.25.0.tar.gz", hash = "sha256:7713e1179d162cf5c7906da876ec2ccb9c3a9dcbdffef0cc7f70c3667a205f0b", size = 711513, upload-time = "2025-09-14T22:15:54.002Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/35/0b/8df9c4ad06af91d39e94fa96cc010a24ac4ef1378d3efab9223cc8593d40/zstandard-0.25.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec996f12524f88e151c339688c3897194821d7f03081ab35d31d1e12ec975e94", size = 795735, upload-time = "2025-09-14T22:17:26.042Z" }, - { url = "https://files.pythonhosted.org/packages/3f/06/9ae96a3e5dcfd119377ba33d4c42a7d89da1efabd5cb3e366b156c45ff4d/zstandard-0.25.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a1a4ae2dec3993a32247995bdfe367fc3266da832d82f8438c8570f989753de1", size = 640440, upload-time = "2025-09-14T22:17:27.366Z" }, - { url = "https://files.pythonhosted.org/packages/d9/14/933d27204c2bd404229c69f445862454dcc101cd69ef8c6068f15aaec12c/zstandard-0.25.0-cp313-cp313-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:e96594a5537722fdfb79951672a2a63aec5ebfb823e7560586f7484819f2a08f", size = 5343070, upload-time = "2025-09-14T22:17:28.896Z" }, - { url = "https://files.pythonhosted.org/packages/6d/db/ddb11011826ed7db9d0e485d13df79b58586bfdec56e5c84a928a9a78c1c/zstandard-0.25.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bfc4e20784722098822e3eee42b8e576b379ed72cca4a7cb856ae733e62192ea", size = 5063001, upload-time = "2025-09-14T22:17:31.044Z" }, - { url = "https://files.pythonhosted.org/packages/db/00/87466ea3f99599d02a5238498b87bf84a6348290c19571051839ca943777/zstandard-0.25.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:457ed498fc58cdc12fc48f7950e02740d4f7ae9493dd4ab2168a47c93c31298e", size = 5394120, upload-time = "2025-09-14T22:17:32.711Z" }, - { url = "https://files.pythonhosted.org/packages/2b/95/fc5531d9c618a679a20ff6c29e2b3ef1d1f4ad66c5e161ae6ff847d102a9/zstandard-0.25.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:fd7a5004eb1980d3cefe26b2685bcb0b17989901a70a1040d1ac86f1d898c551", size = 5451230, upload-time = "2025-09-14T22:17:34.41Z" }, - { url = "https://files.pythonhosted.org/packages/63/4b/e3678b4e776db00f9f7b2fe58e547e8928ef32727d7a1ff01dea010f3f13/zstandard-0.25.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8e735494da3db08694d26480f1493ad2cf86e99bdd53e8e9771b2752a5c0246a", size = 5547173, upload-time = "2025-09-14T22:17:36.084Z" }, - { url = "https://files.pythonhosted.org/packages/4e/d5/ba05ed95c6b8ec30bd468dfeab20589f2cf709b5c940483e31d991f2ca58/zstandard-0.25.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3a39c94ad7866160a4a46d772e43311a743c316942037671beb264e395bdd611", size = 5046736, upload-time = "2025-09-14T22:17:37.891Z" }, - { url = "https://files.pythonhosted.org/packages/50/d5/870aa06b3a76c73eced65c044b92286a3c4e00554005ff51962deef28e28/zstandard-0.25.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:172de1f06947577d3a3005416977cce6168f2261284c02080e7ad0185faeced3", size = 5576368, upload-time = "2025-09-14T22:17:40.206Z" }, - { url = "https://files.pythonhosted.org/packages/5d/35/398dc2ffc89d304d59bc12f0fdd931b4ce455bddf7038a0a67733a25f550/zstandard-0.25.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3c83b0188c852a47cd13ef3bf9209fb0a77fa5374958b8c53aaa699398c6bd7b", size = 4954022, upload-time = "2025-09-14T22:17:41.879Z" }, - { url = "https://files.pythonhosted.org/packages/9a/5c/36ba1e5507d56d2213202ec2b05e8541734af5f2ce378c5d1ceaf4d88dc4/zstandard-0.25.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1673b7199bbe763365b81a4f3252b8e80f44c9e323fc42940dc8843bfeaf9851", size = 5267889, upload-time = "2025-09-14T22:17:43.577Z" }, - { url = "https://files.pythonhosted.org/packages/70/e8/2ec6b6fb7358b2ec0113ae202647ca7c0e9d15b61c005ae5225ad0995df5/zstandard-0.25.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0be7622c37c183406f3dbf0cba104118eb16a4ea7359eeb5752f0794882fc250", size = 5433952, upload-time = "2025-09-14T22:17:45.271Z" }, - { url = "https://files.pythonhosted.org/packages/7b/01/b5f4d4dbc59ef193e870495c6f1275f5b2928e01ff5a81fecb22a06e22fb/zstandard-0.25.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:5f5e4c2a23ca271c218ac025bd7d635597048b366d6f31f420aaeb715239fc98", size = 5814054, upload-time = "2025-09-14T22:17:47.08Z" }, - { url = "https://files.pythonhosted.org/packages/b2/e5/fbd822d5c6f427cf158316d012c5a12f233473c2f9c5fe5ab1ae5d21f3d8/zstandard-0.25.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f187a0bb61b35119d1926aee039524d1f93aaf38a9916b8c4b78ac8514a0aaf", size = 5360113, upload-time = "2025-09-14T22:17:48.893Z" }, - { url = "https://files.pythonhosted.org/packages/8e/e0/69a553d2047f9a2c7347caa225bb3a63b6d7704ad74610cb7823baa08ed7/zstandard-0.25.0-cp313-cp313-win32.whl", hash = "sha256:7030defa83eef3e51ff26f0b7bfb229f0204b66fe18e04359ce3474ac33cbc09", size = 436936, upload-time = "2025-09-14T22:17:52.658Z" }, - { url = "https://files.pythonhosted.org/packages/d9/82/b9c06c870f3bd8767c201f1edbdf9e8dc34be5b0fbc5682c4f80fe948475/zstandard-0.25.0-cp313-cp313-win_amd64.whl", hash = "sha256:1f830a0dac88719af0ae43b8b2d6aef487d437036468ef3c2ea59c51f9d55fd5", size = 506232, upload-time = "2025-09-14T22:17:50.402Z" }, - { url = "https://files.pythonhosted.org/packages/d4/57/60c3c01243bb81d381c9916e2a6d9e149ab8627c0c7d7abb2d73384b3c0c/zstandard-0.25.0-cp313-cp313-win_arm64.whl", hash = "sha256:85304a43f4d513f5464ceb938aa02c1e78c2943b29f44a750b48b25ac999a049", size = 462671, upload-time = "2025-09-14T22:17:51.533Z" }, - { url = "https://files.pythonhosted.org/packages/3d/5c/f8923b595b55fe49e30612987ad8bf053aef555c14f05bb659dd5dbe3e8a/zstandard-0.25.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e29f0cf06974c899b2c188ef7f783607dbef36da4c242eb6c82dcd8b512855e3", size = 795887, upload-time = "2025-09-14T22:17:54.198Z" }, - { url = "https://files.pythonhosted.org/packages/8d/09/d0a2a14fc3439c5f874042dca72a79c70a532090b7ba0003be73fee37ae2/zstandard-0.25.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:05df5136bc5a011f33cd25bc9f506e7426c0c9b3f9954f056831ce68f3b6689f", size = 640658, upload-time = "2025-09-14T22:17:55.423Z" }, - { url = "https://files.pythonhosted.org/packages/5d/7c/8b6b71b1ddd517f68ffb55e10834388d4f793c49c6b83effaaa05785b0b4/zstandard-0.25.0-cp314-cp314-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:f604efd28f239cc21b3adb53eb061e2a205dc164be408e553b41ba2ffe0ca15c", size = 5379849, upload-time = "2025-09-14T22:17:57.372Z" }, - { url = "https://files.pythonhosted.org/packages/a4/86/a48e56320d0a17189ab7a42645387334fba2200e904ee47fc5a26c1fd8ca/zstandard-0.25.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223415140608d0f0da010499eaa8ccdb9af210a543fac54bce15babbcfc78439", size = 5058095, upload-time = "2025-09-14T22:17:59.498Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ad/eb659984ee2c0a779f9d06dbfe45e2dc39d99ff40a319895df2d3d9a48e5/zstandard-0.25.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e54296a283f3ab5a26fc9b8b5d4978ea0532f37b231644f367aa588930aa043", size = 5551751, upload-time = "2025-09-14T22:18:01.618Z" }, - { url = "https://files.pythonhosted.org/packages/61/b3/b637faea43677eb7bd42ab204dfb7053bd5c4582bfe6b1baefa80ac0c47b/zstandard-0.25.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ca54090275939dc8ec5dea2d2afb400e0f83444b2fc24e07df7fdef677110859", size = 6364818, upload-time = "2025-09-14T22:18:03.769Z" }, - { url = "https://files.pythonhosted.org/packages/31/dc/cc50210e11e465c975462439a492516a73300ab8caa8f5e0902544fd748b/zstandard-0.25.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e09bb6252b6476d8d56100e8147b803befa9a12cea144bbe629dd508800d1ad0", size = 5560402, upload-time = "2025-09-14T22:18:05.954Z" }, - { url = "https://files.pythonhosted.org/packages/c9/ae/56523ae9c142f0c08efd5e868a6da613ae76614eca1305259c3bf6a0ed43/zstandard-0.25.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a9ec8c642d1ec73287ae3e726792dd86c96f5681eb8df274a757bf62b750eae7", size = 4955108, upload-time = "2025-09-14T22:18:07.68Z" }, - { url = "https://files.pythonhosted.org/packages/98/cf/c899f2d6df0840d5e384cf4c4121458c72802e8bda19691f3b16619f51e9/zstandard-0.25.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a4089a10e598eae6393756b036e0f419e8c1d60f44a831520f9af41c14216cf2", size = 5269248, upload-time = "2025-09-14T22:18:09.753Z" }, - { url = "https://files.pythonhosted.org/packages/1b/c0/59e912a531d91e1c192d3085fc0f6fb2852753c301a812d856d857ea03c6/zstandard-0.25.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f67e8f1a324a900e75b5e28ffb152bcac9fbed1cc7b43f99cd90f395c4375344", size = 5430330, upload-time = "2025-09-14T22:18:11.966Z" }, - { url = "https://files.pythonhosted.org/packages/a0/1d/7e31db1240de2df22a58e2ea9a93fc6e38cc29353e660c0272b6735d6669/zstandard-0.25.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:9654dbc012d8b06fc3d19cc825af3f7bf8ae242226df5f83936cb39f5fdc846c", size = 5811123, upload-time = "2025-09-14T22:18:13.907Z" }, - { url = "https://files.pythonhosted.org/packages/f6/49/fac46df5ad353d50535e118d6983069df68ca5908d4d65b8c466150a4ff1/zstandard-0.25.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4203ce3b31aec23012d3a4cf4a2ed64d12fea5269c49aed5e4c3611b938e4088", size = 5359591, upload-time = "2025-09-14T22:18:16.465Z" }, - { url = "https://files.pythonhosted.org/packages/c2/38/f249a2050ad1eea0bb364046153942e34abba95dd5520af199aed86fbb49/zstandard-0.25.0-cp314-cp314-win32.whl", hash = "sha256:da469dc041701583e34de852d8634703550348d5822e66a0c827d39b05365b12", size = 444513, upload-time = "2025-09-14T22:18:20.61Z" }, - { url = "https://files.pythonhosted.org/packages/3a/43/241f9615bcf8ba8903b3f0432da069e857fc4fd1783bd26183db53c4804b/zstandard-0.25.0-cp314-cp314-win_amd64.whl", hash = "sha256:c19bcdd826e95671065f8692b5a4aa95c52dc7a02a4c5a0cac46deb879a017a2", size = 516118, upload-time = "2025-09-14T22:18:17.849Z" }, - { url = "https://files.pythonhosted.org/packages/f0/ef/da163ce2450ed4febf6467d77ccb4cd52c4c30ab45624bad26ca0a27260c/zstandard-0.25.0-cp314-cp314-win_arm64.whl", hash = "sha256:d7541afd73985c630bafcd6338d2518ae96060075f9463d7dc14cfb33514383d", size = 476940, upload-time = "2025-09-14T22:18:19.088Z" }, + { url = "https://files.pythonhosted.org/packages/1d/98/90710d232cb35b633815fa7b493da542391b89283b6103a5bb4ae9fc0dd9/zensical-0.0.21-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:67404cc70c330246dfb7269bcdb60a25be0bb60a212a09c9c50229a1341b1f84", size = 12237120, upload-time = "2026-02-04T17:47:28.615Z" }, + { url = "https://files.pythonhosted.org/packages/97/fb/4280b3781157e8f051711732192f949bf29beeafd0df3e33c1c8bf9b7a1a/zensical-0.0.21-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:d4fd253ccfbf5af56434124f13bac01344e456c020148369b18d8836b6537c3c", size = 12118047, upload-time = "2026-02-04T17:47:31.369Z" }, + { url = "https://files.pythonhosted.org/packages/74/b3/b7f85ae9cf920cf9f17bf157ae6c274919477148feb7716bf735636caa0e/zensical-0.0.21-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:440e40cdc30a29bf7466bcd6f43ed7bd1c54ea3f1a0fefca65619358b481a5bc", size = 12473440, upload-time = "2026-02-04T17:47:33.577Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ac/1dc6e98f79ed19b9f103c88a0bd271f9140565d7d26b64bc1542b3ef6d91/zensical-0.0.21-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:368e832fc8068e75dc45cab59379db4cefcd81eb116f48d058db8fb7b7aa8d14", size = 12412588, upload-time = "2026-02-04T17:47:36.491Z" }, + { url = "https://files.pythonhosted.org/packages/bd/76/16a580f6dd32b387caa4a41615451e7dddd1917a2ff2e5b08744f41b4e11/zensical-0.0.21-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4ab962d47f9dd73510eed168469326c7a452554dfbfdb9cdf85efc7140244df", size = 12749438, upload-time = "2026-02-04T17:47:38.969Z" }, + { url = "https://files.pythonhosted.org/packages/95/30/4baaa1c910eee61db5f49d0d45f2e550a0027218c618f3dd7f8da966a019/zensical-0.0.21-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b846d53dfce007f056ff31848f87f3f2a388228e24d4851c0cafdce0fa204c9b", size = 12514504, upload-time = "2026-02-04T17:47:41.31Z" }, + { url = "https://files.pythonhosted.org/packages/76/77/931fccae5580b94409a0448a26106f922dcfa7822e7b93cacd2876dd63a8/zensical-0.0.21-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:daac1075552d230d52d621d2e4754ba24d5afcaa201a7a991f1a8d57e320c9de", size = 12647832, upload-time = "2026-02-04T17:47:44.073Z" }, + { url = "https://files.pythonhosted.org/packages/5b/82/3cf75de64340829d55c87c36704f4d1d8c952bd2cdc8a7bc48cbfb8ab333/zensical-0.0.21-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:7b380f545adb6d40896f9bd698eb0e1540ed4258d35b83f55f91658d0fdae312", size = 12678537, upload-time = "2026-02-04T17:47:46.899Z" }, + { url = "https://files.pythonhosted.org/packages/77/91/6f4938dceeaa241f78bbfaf58a94acef10ba18be3468795173e3087abeb6/zensical-0.0.21-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:5c2227fdab64616bea94b40b8340bafe00e2e23631cc58eeea1e7267167e6ac5", size = 12822164, upload-time = "2026-02-04T17:47:49.231Z" }, + { url = "https://files.pythonhosted.org/packages/a2/4e/a9c9d25ef0766f767db7b4f09da68da9b3d8a28c3d68cfae01f8e3f9e297/zensical-0.0.21-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2e0f5154d236ed0f98662ee68785b67e8cd2138ea9d5e26070649e93c22eeee0", size = 12785632, upload-time = "2026-02-04T17:47:52.613Z" }, + { url = "https://files.pythonhosted.org/packages/8d/76/8627548f6d00e676009a129be49bb22ca2aa3c938df9b642eea18c381c98/zensical-0.0.21-cp310-abi3-win32.whl", hash = "sha256:0b72e1f8a880c130cbd52335e3bc5dff666291cec40eaf09061d5d7a5a9f8068", size = 11832998, upload-time = "2026-02-04T17:47:54.836Z" }, + { url = "https://files.pythonhosted.org/packages/c1/9a/7767cfcf70a2022b2b4d49c48f022fde3feb3d3360ac084c111e75df96cf/zensical-0.0.21-cp310-abi3-win_amd64.whl", hash = "sha256:eec08ff6fa335c11b81599032aaeda91c65d31ef03b97aa9239074bf19963a98", size = 12033476, upload-time = "2026-02-04T17:47:57.168Z" }, ]