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" },
]