Merge branch '179-check-passwords-on-compromised-password-databases' of gitlab.com:yaal/canaille into 179-check-passwords-on-compromised-password-databases

This commit is contained in:
sebastien 2024-11-19 15:43:08 +01:00
commit 033fd423e5
10 changed files with 291 additions and 247 deletions

View file

@ -1,7 +1,7 @@
--- ---
repos: repos:
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.7.2' rev: 'v0.7.4'
hooks: hooks:
- id: ruff - id: ruff
args: [--fix, --exit-non-zero-on-fix] args: [--fix, --exit-non-zero-on-fix]

View file

@ -38,6 +38,8 @@
</div> </div>
</h2> </h2>
{% if features.has_smtp %}
<div class="ui info message"> <div class="ui info message">
{% trans %} {% trans %}
This form will send a dummy email to the address you want. This form will send a dummy email to the address you want.
@ -53,6 +55,16 @@
</div> </div>
</div> </div>
{% endcall %} {% endcall %}
{% else %}
<div class="ui warning message">
{% trans %}
No mail server has been configured. The mail sending test is disabled.
{% endtrans %}
</div>
{% endif %}
</div> </div>
<div class="ui segment"> <div class="ui segment">

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-10-28 11:57+0100\n" "POT-Creation-Date: 2024-11-13 10:57+0100\n"
"PO-Revision-Date: 2024-08-08 19:09+0000\n" "PO-Revision-Date: 2024-08-08 19:09+0000\n"
"Last-Translator: Moha684 <nahil82466@gmail.com>\n" "Last-Translator: Moha684 <nahil82466@gmail.com>\n"
"Language-Team: Breton <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: Breton <https://hosted.weblate.org/projects/canaille/canaille/"
@ -24,35 +24,35 @@ msgstr ""
"X-Generator: Weblate 5.7-dev\n" "X-Generator: Weblate 5.7-dev\n"
"Generated-By: Babel 2.14.0\n" "Generated-By: Babel 2.14.0\n"
#: canaille/app/flask.py:100 #: canaille/app/flask.py:53
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "N'eus bet kefluniet servijer SMTP ebet" msgstr "N'eus bet kefluniet servijer SMTP ebet"
#: canaille/app/forms.py:27 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "N'eo ket un URL reizh" msgstr "N'eo ket un URL reizh"
#: canaille/app/forms.py:34 canaille/app/forms.py:35 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "Un doublenn eo an talvoud-mañ" msgstr "Un doublenn eo an talvoud-mañ"
#: canaille/app/forms.py:47 #: canaille/app/forms.py:46
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "N'eo ket un niverenn bellgomz reizh" msgstr "N'eo ket un niverenn bellgomz reizh"
#: canaille/app/forms.py:55 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "" msgstr ""
#: canaille/app/forms.py:67 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "" msgstr ""
#: canaille/app/forms.py:240 #: canaille/app/forms.py:244
msgid "The page number is not valid" msgid "The page number is not valid"
msgstr "Direizh eo niverenn ar bajenn" msgstr "Direizh eo niverenn ar bajenn"
#: canaille/app/forms.py:268 #: canaille/app/forms.py:272
msgid "Not a valid datetime value." msgid "Not a valid datetime value."
msgstr "N'eo ket un deiziad reizh." msgstr "N'eo ket un deiziad reizh."
@ -677,7 +677,7 @@ msgid "Send again"
msgstr "" msgstr ""
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "" msgstr ""
@ -996,7 +996,7 @@ msgstr ""
msgid "The user will not be able to authenticate unless the password is set" msgid "The user will not be able to authenticate unless the password is set"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1111,38 +1111,42 @@ msgstr ""
msgid "Mail sending test" msgid "Mail sending test"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
msgid "" msgid ""
"This form will send a dummy email to the address you want. This should be " "This form will send a dummy email to the address you want. This should be "
"used for testing mail configuration." "used for testing mail configuration."
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "Email preview" msgid "No mail server has been configured. The mail sending test is disabled."
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:73
msgid "Email preview"
msgstr ""
#: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
msgid "Registration" msgid "Registration"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-10-28 11:57+0100\n" "POT-Creation-Date: 2024-11-13 10:57+0100\n"
"PO-Revision-Date: 2024-06-26 11:09+0000\n" "PO-Revision-Date: 2024-06-26 11:09+0000\n"
"Last-Translator: Sascha <swi@thechameleonway.com>\n" "Last-Translator: Sascha <swi@thechameleonway.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: German <https://hosted.weblate.org/projects/canaille/canaille/"
@ -20,35 +20,35 @@ msgstr ""
"X-Generator: Weblate 5.6-rc\n" "X-Generator: Weblate 5.6-rc\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:100 #: canaille/app/flask.py:53
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Es wurde kein SMTP-Server konfiguriert" msgstr "Es wurde kein SMTP-Server konfiguriert"
#: canaille/app/forms.py:27 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "Dies ist keine gültige URL" msgstr "Dies ist keine gültige URL"
#: canaille/app/forms.py:34 canaille/app/forms.py:35 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "Dieser Wert ist ein Duplikat" msgstr "Dieser Wert ist ein Duplikat"
#: canaille/app/forms.py:47 #: canaille/app/forms.py:46
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "Keine gültige Telefonnummer" msgstr "Keine gültige Telefonnummer"
#: canaille/app/forms.py:55 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "" msgstr ""
#: canaille/app/forms.py:67 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "" msgstr ""
#: canaille/app/forms.py:240 #: canaille/app/forms.py:244
msgid "The page number is not valid" msgid "The page number is not valid"
msgstr "Die Seitenzahl ist nicht gültig" msgstr "Die Seitenzahl ist nicht gültig"
#: canaille/app/forms.py:268 #: canaille/app/forms.py:272
msgid "Not a valid datetime value." msgid "Not a valid datetime value."
msgstr "Kein gültiger Datum-Zeit-Wert." msgstr "Kein gültiger Datum-Zeit-Wert."
@ -704,7 +704,7 @@ msgid "Send again"
msgstr "Erneut senden" msgstr "Erneut senden"
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "Senden" msgstr "Senden"
@ -1054,7 +1054,7 @@ msgstr ""
"Der Benutzer kann sich nur dann authentifizieren, wenn das Kennwort " "Der Benutzer kann sich nur dann authentifizieren, wenn das Kennwort "
"festgelegt wurde" "festgelegt wurde"
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1174,7 +1174,7 @@ msgstr "Codes"
msgid "Mail sending test" msgid "Mail sending test"
msgstr "Test des Mailversands" msgstr "Test des Mailversands"
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
msgid "" msgid ""
"This form will send a dummy email to the address you want. This should be " "This form will send a dummy email to the address you want. This should be "
"used for testing mail configuration." "used for testing mail configuration."
@ -1182,32 +1182,36 @@ msgstr ""
"Dieses Formular sendet eine Dummy-E-Mail an die von Ihnen gewünschte " "Dieses Formular sendet eine Dummy-E-Mail an die von Ihnen gewünschte "
"Adresse. Dies sollte zum Testen der E-Mail-Konfiguration verwendet werden." "Adresse. Dies sollte zum Testen der E-Mail-Konfiguration verwendet werden."
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "No mail server has been configured. The mail sending test is disabled."
msgstr ""
#: canaille/core/templates/mails/admin.html:73
msgid "Email preview" msgid "Email preview"
msgstr "E-Mail-Vorschau" msgstr "E-Mail-Vorschau"
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "Verbindungstest" msgstr "Verbindungstest"
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "Passwort-Initialisierung" msgstr "Passwort-Initialisierung"
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "E-Mail-Bestätigung" msgstr "E-Mail-Bestätigung"
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "Einladung" msgstr "Einladung"
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
msgid "Registration" msgid "Registration"

View file

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: contact@yaal.coop\n" "Report-Msgid-Bugs-To: contact@yaal.coop\n"
"POT-Creation-Date: 2024-10-28 11:57+0100\n" "POT-Creation-Date: 2024-11-13 10:57+0100\n"
"PO-Revision-Date: 2024-10-29 22:11+0000\n" "PO-Revision-Date: 2024-11-16 13:00+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n" "Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/canaille/" "Language-Team: Spanish <https://hosted.weblate.org/projects/canaille/"
"canaille/es/>\n" "canaille/es/>\n"
@ -18,38 +18,38 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8.2-dev\n" "X-Generator: Weblate 5.9-dev\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:100 #: canaille/app/flask.py:53
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "No se ha configurado un servidor SMTP" msgstr "No se ha configurado un servidor SMTP"
#: canaille/app/forms.py:27 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "No es una dirección URL válida" msgstr "No es una dirección URL válida"
#: canaille/app/forms.py:34 canaille/app/forms.py:35 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "Este valor está duplicado" msgstr "Este valor está duplicado"
#: canaille/app/forms.py:47 #: canaille/app/forms.py:46
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "Número de teléfono no válido" msgstr "Número de teléfono no válido"
#: canaille/app/forms.py:55 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "El campo debe tener al menos {minimum_password_length} caracteres." msgstr "El campo debe tener al menos {minimum_password_length} caracteres."
#: canaille/app/forms.py:67 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "El campo no puede tener más de {maximum_password_length} caracteres." msgstr "El campo no puede tener más de {maximum_password_length} caracteres."
#: canaille/app/forms.py:240 #: canaille/app/forms.py:244
msgid "The page number is not valid" msgid "The page number is not valid"
msgstr "El número de página no es válido" msgstr "El número de página no es válido"
#: canaille/app/forms.py:268 #: canaille/app/forms.py:272
msgid "Not a valid datetime value." msgid "Not a valid datetime value."
msgstr "No es una fecha u hora válida." msgstr "No es una fecha u hora válida."
@ -703,7 +703,7 @@ msgid "Send again"
msgstr "Enviar otra vez" msgstr "Enviar otra vez"
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "Enviar" msgstr "Enviar"
@ -1052,7 +1052,7 @@ msgid "The user will not be able to authenticate unless the password is set"
msgstr "" msgstr ""
"El usuario no podrá iniciar sesión a menos que se establezca una contraeña" "El usuario no podrá iniciar sesión a menos que se establezca una contraeña"
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1169,7 +1169,7 @@ msgstr "Códigos"
msgid "Mail sending test" msgid "Mail sending test"
msgstr "Prueba de envío de emails" msgstr "Prueba de envío de emails"
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
msgid "" msgid ""
"This form will send a dummy email to the address you want. This should be " "This form will send a dummy email to the address you want. This should be "
"used for testing mail configuration." "used for testing mail configuration."
@ -1177,32 +1177,38 @@ msgstr ""
"Este formulario enviará un correo electrónico ficticio a la dirección que " "Este formulario enviará un correo electrónico ficticio a la dirección que "
"desee. Debe utilizarse para probar la configuración del correo." "desee. Debe utilizarse para probar la configuración del correo."
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "No mail server has been configured. The mail sending test is disabled."
msgstr ""
"No se ha configurado ningún servidor de correo. La prueba de envío de correo "
"está desactivada."
#: canaille/core/templates/mails/admin.html:73
msgid "Email preview" msgid "Email preview"
msgstr "Previsualización del email" msgstr "Previsualización del email"
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "Prueba de conectividad" msgstr "Prueba de conectividad"
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "Inicialización de contraseña" msgstr "Inicialización de contraseña"
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "Verificación del correo electrónico" msgstr "Verificación del correo electrónico"
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "Invitación" msgstr "Invitación"
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
msgid "Registration" msgid "Registration"

View file

@ -8,8 +8,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: contact@yaal.coop\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-10-28 11:57+0100\n" "POT-Creation-Date: 2024-11-13 10:57+0100\n"
"PO-Revision-Date: 2024-11-01 09:00+0000\n" "PO-Revision-Date: 2024-11-01 09:00+0000\n"
"Last-Translator: sebastien yaal <sebastien@yaal.coop>\n" "Last-Translator: sebastien yaal <sebastien@yaal.coop>\n"
"Language-Team: French <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: French <https://hosted.weblate.org/projects/canaille/canaille/"
@ -22,35 +22,37 @@ msgstr ""
"X-Generator: Weblate 5.8.2-dev\n" "X-Generator: Weblate 5.8.2-dev\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:100 #: canaille/app/flask.py:53
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Aucun serveur SMTP n'a été configuré" msgstr "Aucun serveur SMTP n'a été configuré"
#: canaille/app/forms.py:27 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "Cette URL nest pas valide" msgstr "Cette URL nest pas valide"
#: canaille/app/forms.py:34 canaille/app/forms.py:35 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "Cette valeur est un doublon" msgstr "Cette valeur est un doublon"
#: canaille/app/forms.py:47 #: canaille/app/forms.py:46
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "Nest pas un numéro de téléphone valide" msgstr "Nest pas un numéro de téléphone valide"
#: canaille/app/forms.py:55 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "Ce champ doit contenir au minimum {minimum_password_length} caractères." msgstr ""
"Ce champ doit contenir au minimum {minimum_password_length} caractères."
#: canaille/app/forms.py:67 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "Ce champ doit contenir au maximum {maximum_password_length} caractères." msgstr ""
"Ce champ doit contenir au maximum {maximum_password_length} caractères."
#: canaille/app/forms.py:240 #: canaille/app/forms.py:244
msgid "The page number is not valid" msgid "The page number is not valid"
msgstr "Le numéro de page est invalide" msgstr "Le numéro de page est invalide"
#: canaille/app/forms.py:268 #: canaille/app/forms.py:272
msgid "Not a valid datetime value." msgid "Not a valid datetime value."
msgstr "N'est pas une date valide." msgstr "N'est pas une date valide."
@ -706,7 +708,7 @@ msgid "Send again"
msgstr "Envoyer à nouveau" msgstr "Envoyer à nouveau"
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "Envoyer" msgstr "Envoyer"
@ -1057,7 +1059,7 @@ msgstr ""
"L'utilisateur ne pourra pas se connecter tant que son mot de passe n'est pas " "L'utilisateur ne pourra pas se connecter tant que son mot de passe n'est pas "
"défini" "défini"
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1176,7 +1178,7 @@ msgstr "Codes"
msgid "Mail sending test" msgid "Mail sending test"
msgstr "Test d'envoi de courriel" msgstr "Test d'envoi de courriel"
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
msgid "" msgid ""
"This form will send a dummy email to the address you want. This should be " "This form will send a dummy email to the address you want. This should be "
"used for testing mail configuration." "used for testing mail configuration."
@ -1184,32 +1186,36 @@ msgstr ""
"Ce formulaire enverra un courriel factice à l'adresse que vous indiquerez. À " "Ce formulaire enverra un courriel factice à l'adresse que vous indiquerez. À "
"utiliser pour tester les configurations de courriel." "utiliser pour tester les configurations de courriel."
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "No mail server has been configured. The mail sending test is disabled."
msgstr ""
#: canaille/core/templates/mails/admin.html:73
msgid "Email preview" msgid "Email preview"
msgstr "Prévisualisation des courriels" msgstr "Prévisualisation des courriels"
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "Test de connectivité" msgstr "Test de connectivité"
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "Initialisation du mot de passe" msgstr "Initialisation du mot de passe"
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "Vérification de nouvelle adresse email" msgstr "Vérification de nouvelle adresse email"
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "Invitation" msgstr "Invitation"
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
msgid "Registration" msgid "Registration"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-10-28 11:57+0100\n" "POT-Creation-Date: 2024-11-13 10:57+0100\n"
"PO-Revision-Date: 2023-02-19 22:35+0000\n" "PO-Revision-Date: 2023-02-19 22:35+0000\n"
"Last-Translator: Jesús P Rey <i18n@chuso.net>\n" "Last-Translator: Jesús P Rey <i18n@chuso.net>\n"
"Language-Team: Galician <https://hosted.weblate.org/projects/canaille/" "Language-Team: Galician <https://hosted.weblate.org/projects/canaille/"
@ -19,38 +19,38 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:100 #: canaille/app/flask.py:53
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Non se configurou un servidor SMTP" msgstr "Non se configurou un servidor SMTP"
#: canaille/app/forms.py:27 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "" msgstr ""
#: canaille/app/forms.py:34 canaille/app/forms.py:35 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "" msgstr ""
#: canaille/app/forms.py:47 #: canaille/app/forms.py:46
#, fuzzy #, fuzzy
#| msgid "Your phone number." #| msgid "Your phone number."
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "Número de teléfono." msgstr "Número de teléfono."
#: canaille/app/forms.py:55 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "" msgstr ""
#: canaille/app/forms.py:67 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "" msgstr ""
#: canaille/app/forms.py:240 #: canaille/app/forms.py:244
#, fuzzy #, fuzzy
msgid "The page number is not valid" msgid "The page number is not valid"
msgstr "O acceso non está revogado" msgstr "O acceso non está revogado"
#: canaille/app/forms.py:268 #: canaille/app/forms.py:272
msgid "Not a valid datetime value." msgid "Not a valid datetime value."
msgstr "" msgstr ""
@ -767,7 +767,7 @@ msgid "Send again"
msgstr "Enviar outra vez" msgstr "Enviar outra vez"
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "Enviar" msgstr "Enviar"
@ -1128,7 +1128,7 @@ msgid "The user will not be able to authenticate unless the password is set"
msgstr "" msgstr ""
"O usuario non poderá iniciar sesión a menos que se estableza o contrasinal" "O usuario non poderá iniciar sesión a menos que se estableza o contrasinal"
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1252,7 +1252,7 @@ msgstr "Códigos"
msgid "Mail sending test" msgid "Mail sending test"
msgstr "Proba de envío de correo" msgstr "Proba de envío de correo"
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
#, fuzzy #, fuzzy
#| msgid "" #| msgid ""
#| "This form will send a fake invitation email to the address you want. This " #| "This form will send a fake invitation email to the address you want. This "
@ -1264,32 +1264,36 @@ msgstr ""
"Este formulario enviará un email de invitación falso ó enderezo que desexes. " "Este formulario enviará un email de invitación falso ó enderezo que desexes. "
"Isto pode usarse para probar a configuración de correo." "Isto pode usarse para probar a configuración de correo."
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "No mail server has been configured. The mail sending test is disabled."
msgstr ""
#: canaille/core/templates/mails/admin.html:73
msgid "Email preview" msgid "Email preview"
msgstr "Previsualización do email" msgstr "Previsualización do email"
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "Proba de conectividade" msgstr "Proba de conectividade"
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "Inicialización do contrasinal" msgstr "Inicialización do contrasinal"
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "Invitación" msgstr "Invitación"
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
#, fuzzy #, fuzzy

View file

@ -21,23 +21,23 @@ msgstr ""
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "" msgstr ""
#: canaille/app/forms.py:29 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "" msgstr ""
#: canaille/app/forms.py:36 canaille/app/forms.py:37 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "" msgstr ""
#: canaille/app/forms.py:49 #: canaille/app/forms.py:46
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "" msgstr ""
#: canaille/app/forms.py:57 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "" msgstr ""
#: canaille/app/forms.py:69 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "" msgstr ""
@ -693,7 +693,7 @@ msgid "Send again"
msgstr "" msgstr ""
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "" msgstr ""
@ -1014,7 +1014,7 @@ msgstr ""
msgid "The user will not be able to authenticate unless the password is set" msgid "The user will not be able to authenticate unless the password is set"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1129,38 +1129,42 @@ msgstr ""
msgid "Mail sending test" msgid "Mail sending test"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
msgid "" msgid ""
"This form will send a dummy email to the address you want. This should be" "This form will send a dummy email to the address you want. This should be"
" used for testing mail configuration." " used for testing mail configuration."
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "Email preview" msgid "No mail server has been configured. The mail sending test is disabled."
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:73
msgid "Email preview"
msgstr ""
#: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
msgid "Registration" msgid "Registration"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-10-28 11:57+0100\n" "POT-Creation-Date: 2024-11-13 10:57+0100\n"
"PO-Revision-Date: 2023-03-24 22:36+0000\n" "PO-Revision-Date: 2023-03-24 22:36+0000\n"
"Last-Translator: Sofi <sofi+git@mailbox.org>\n" "Last-Translator: Sofi <sofi+git@mailbox.org>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@ -20,38 +20,38 @@ msgstr ""
"X-Generator: Weblate 4.17-dev\n" "X-Generator: Weblate 4.17-dev\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:100 #: canaille/app/flask.py:53
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Ingen SMTP-tjener er satt opp" msgstr "Ingen SMTP-tjener er satt opp"
#: canaille/app/forms.py:27 #: canaille/app/forms.py:26
msgid "This is not a valid URL" msgid "This is not a valid URL"
msgstr "" msgstr ""
#: canaille/app/forms.py:34 canaille/app/forms.py:35 #: canaille/app/forms.py:33 canaille/app/forms.py:34
msgid "This value is a duplicate" msgid "This value is a duplicate"
msgstr "" msgstr ""
#: canaille/app/forms.py:47 #: canaille/app/forms.py:46
#, fuzzy #, fuzzy
#| msgid "Your phone number." #| msgid "Your phone number."
msgid "Not a valid phone number" msgid "Not a valid phone number"
msgstr "Ditt telefonnummer." msgstr "Ditt telefonnummer."
#: canaille/app/forms.py:55 #: canaille/app/forms.py:54
msgid "Field must be at least {minimum_password_length} characters long." msgid "Field must be at least {minimum_password_length} characters long."
msgstr "" msgstr ""
#: canaille/app/forms.py:67 #: canaille/app/forms.py:66
msgid "Field cannot be longer than {maximum_password_length} characters." msgid "Field cannot be longer than {maximum_password_length} characters."
msgstr "" msgstr ""
#: canaille/app/forms.py:240 #: canaille/app/forms.py:244
#, fuzzy #, fuzzy
msgid "The page number is not valid" msgid "The page number is not valid"
msgstr "Tilgangen har blitt tilbakekalt" msgstr "Tilgangen har blitt tilbakekalt"
#: canaille/app/forms.py:268 #: canaille/app/forms.py:272
msgid "Not a valid datetime value." msgid "Not a valid datetime value."
msgstr "" msgstr ""
@ -748,7 +748,7 @@ msgid "Send again"
msgstr "Send igjen" msgstr "Send igjen"
#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/forgotten-password.html:48
#: canaille/core/templates/mails/admin.html:52 #: canaille/core/templates/mails/admin.html:54
msgid "Send" msgid "Send"
msgstr "Send" msgstr "Send"
@ -1078,7 +1078,7 @@ msgstr ""
msgid "The user will not be able to authenticate unless the password is set" msgid "The user will not be able to authenticate unless the password is set"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/admin.html:109
#: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/mails/reset.html:19
#: canaille/core/templates/profile_settings.html:116 #: canaille/core/templates/profile_settings.html:116
#: canaille/core/templates/reset-password.html:12 #: canaille/core/templates/reset-password.html:12
@ -1198,38 +1198,42 @@ msgstr "Koder"
msgid "Mail sending test" msgid "Mail sending test"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:42 #: canaille/core/templates/mails/admin.html:44
msgid "" msgid ""
"This form will send a dummy email to the address you want. This should be " "This form will send a dummy email to the address you want. This should be "
"used for testing mail configuration." "used for testing mail configuration."
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:61 #: canaille/core/templates/mails/admin.html:62
msgid "Email preview" msgid "No mail server has been configured. The mail sending test is disabled."
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:73 #: canaille/core/templates/mails/admin.html:73
msgid "Email preview"
msgstr ""
#: canaille/core/templates/mails/admin.html:85
#: canaille/core/templates/mails/test.html:19 #: canaille/core/templates/mails/test.html:19
#: canaille/core/templates/mails/test.txt:1 #: canaille/core/templates/mails/test.txt:1
msgid "Connectivity test" msgid "Connectivity test"
msgstr "Tilkoblingstest" msgstr "Tilkoblingstest"
#: canaille/core/templates/mails/admin.html:85 #: canaille/core/templates/mails/admin.html:97
#: canaille/core/templates/mails/firstlogin.html:19 #: canaille/core/templates/mails/firstlogin.html:19
#: canaille/core/templates/mails/reset.txt:1 #: canaille/core/templates/mails/reset.txt:1
msgid "Password initialization" msgid "Password initialization"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:109 #: canaille/core/templates/mails/admin.html:121
#: canaille/core/templates/mails/email-confirmation.txt:1 #: canaille/core/templates/mails/email-confirmation.txt:1
msgid "Email verification" msgid "Email verification"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:121 #: canaille/core/templates/mails/admin.html:133
msgid "Invitation" msgid "Invitation"
msgstr "Invitasjon" msgstr "Invitasjon"
#: canaille/core/templates/mails/admin.html:133 #: canaille/core/templates/mails/admin.html:145
#: canaille/core/templates/mails/registration.html:19 #: canaille/core/templates/mails/registration.html:19
#: canaille/core/templates/mails/registration.txt:1 #: canaille/core/templates/mails/registration.txt:1
#, fuzzy #, fuzzy

212
uv.lock
View file

@ -103,11 +103,11 @@ wheels = [
[[package]] [[package]]
name = "blinker" name = "blinker"
version = "1.8.2" version = "1.9.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/1e/57/a6a1721eff09598fb01f3c7cda070c1b6a0f12d63c83236edf79a440abcc/blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83", size = 23161 } sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01", size = 9456 }, { url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458 },
] ]
[[package]] [[package]]
@ -450,61 +450,61 @@ wheels = [
[[package]] [[package]]
name = "coverage" name = "coverage"
version = "7.6.4" version = "7.6.7"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/52/12/3669b6382792783e92046730ad3327f53b2726f0603f4c311c4da4824222/coverage-7.6.4.tar.gz", hash = "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73", size = 798716 } sdist = { url = "https://files.pythonhosted.org/packages/bf/68/26895f8b068e384b1ec9ab122565b913b735e6b4c618b3d265a280607edc/coverage-7.6.7.tar.gz", hash = "sha256:d79d4826e41441c9a118ff045e4bccb9fdbdcb1d02413e7ea6eb5c87b5439d24", size = 799938 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/a5/93/4ad92f71e28ece5c0326e5f4a6630aa4928a8846654a65cfff69b49b95b9/coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07", size = 206713 }, { url = "https://files.pythonhosted.org/packages/62/c9/84898713e61208ddbe71b991d8f311d9ca175629ce5f1a46018acc643572/coverage-7.6.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:108bb458827765d538abcbf8288599fee07d2743357bdd9b9dad456c287e121e", size = 206875 },
{ url = "https://files.pythonhosted.org/packages/01/ae/747a580b1eda3f2e431d87de48f0604bd7bc92e52a1a95185a4aa585bc47/coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0", size = 207149 }, { url = "https://files.pythonhosted.org/packages/f0/69/7dfd65f0e284617f72d974f6dfedc7bc16f86172e5bc6ebc8b63430263f3/coverage-7.6.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c973b2fe4dc445cb865ab369df7521df9c27bf40715c837a113edaa2aa9faf45", size = 207307 },
{ url = "https://files.pythonhosted.org/packages/07/1a/1f573f8a6145f6d4c9130bbc120e0024daf1b24cf2a78d7393fa6eb6aba7/coverage-7.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72", size = 235584 }, { url = "https://files.pythonhosted.org/packages/d1/ce/6e356b2bc751bdaadd77c714336b98ec45ccaf0cfe085b6b25d34f7cceb8/coverage-7.6.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c6b24007c4bcd0b19fac25763a7cac5035c735ae017e9a349b927cfc88f31c1", size = 235744 },
{ url = "https://files.pythonhosted.org/packages/40/42/c8523f2e4db34aa9389caee0d3688b6ada7a84fcc782e943a868a7f302bd/coverage-7.6.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51", size = 233486 }, { url = "https://files.pythonhosted.org/packages/35/49/a7ab3d5a507d32344994cab856784e8d603c0b698070f7667c3ae41e8e50/coverage-7.6.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:acbb8af78f8f91b3b51f58f288c0994ba63c646bc1a8a22ad072e4e7e0a49f1c", size = 233645 },
{ url = "https://files.pythonhosted.org/packages/8d/95/565c310fffa16ede1a042e9ea1ca3962af0d8eb5543bc72df6b91dc0c3d5/coverage-7.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491", size = 234649 }, { url = "https://files.pythonhosted.org/packages/bd/41/de07328d2e79916fcc6cd53a5a1d18d163483519ab95f7f60fe15276811c/coverage-7.6.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad32a981bcdedb8d2ace03b05e4fd8dace8901eec64a532b00b15217d3677dd2", size = 234807 },
{ url = "https://files.pythonhosted.org/packages/d5/81/3b550674d98968ec29c92e3e8650682be6c8b1fa7581a059e7e12e74c431/coverage-7.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b", size = 233744 }, { url = "https://files.pythonhosted.org/packages/e4/cc/2a669319b1295e0c52e8cfbbb163b32188b62f3b0bbe7014ef402b24b7cf/coverage-7.6.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:34d23e28ccb26236718a3a78ba72744212aa383141961dd6825f6595005c8b06", size = 233902 },
{ url = "https://files.pythonhosted.org/packages/0d/70/d66c7f51b3e33aabc5ea9f9624c1c9d9655472962270eb5e7b0d32707224/coverage-7.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea", size = 232204 }, { url = "https://files.pythonhosted.org/packages/68/71/a1bb90cb177358a2d364b3968a2069225f614d6824c3d959dee688ca0902/coverage-7.6.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e25bacb53a8c7325e34d45dddd2f2fbae0dbc230d0e2642e264a64e17322a777", size = 232363 },
{ url = "https://files.pythonhosted.org/packages/23/2d/2b3a2dbed7a5f40693404c8a09e779d7c1a5fbed089d3e7224c002129ec8/coverage-7.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a", size = 233335 }, { url = "https://files.pythonhosted.org/packages/eb/dc/87551219d3437214523d1c7de0a717bead7a3369ed9bae05a7fd2854476f/coverage-7.6.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af05bbba896c4472a29408455fe31b3797b4d8648ed0a2ccac03e074a77e2314", size = 233493 },
{ url = "https://files.pythonhosted.org/packages/5a/4f/92d1d2ad720d698a4e71c176eacf531bfb8e0721d5ad560556f2c484a513/coverage-7.6.4-cp310-cp310-win32.whl", hash = "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa", size = 209435 }, { url = "https://files.pythonhosted.org/packages/ca/a4/d74ae3a3fb9e55fe5d9b811ce68a6bd8df3ae0a92c336acbc00075bc24fa/coverage-7.6.7-cp310-cp310-win32.whl", hash = "sha256:796c9b107d11d2d69e1849b2dfe41730134b526a49d3acb98ca02f4985eeff7a", size = 209593 },
{ url = "https://files.pythonhosted.org/packages/c7/b9/cdf158e7991e2287bcf9082670928badb73d310047facac203ff8dcd5ff3/coverage-7.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172", size = 210243 }, { url = "https://files.pythonhosted.org/packages/77/cb/7984c4d0404e8fcc4ada226b240965ef056e7a20e61a18c9038bf88e7624/coverage-7.6.7-cp310-cp310-win_amd64.whl", hash = "sha256:987a8e3da7da4eed10a20491cf790589a8e5e07656b6dc22d3814c4d88faf163", size = 210398 },
{ url = "https://files.pythonhosted.org/packages/87/31/9c0cf84f0dfcbe4215b7eb95c31777cdc0483c13390e69584c8150c85175/coverage-7.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b", size = 206819 }, { url = "https://files.pythonhosted.org/packages/c6/d7/1bf7bb0943237149ad01977190ac5c2e17add1f4fe7cabc06401682137f6/coverage-7.6.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7e61b0e77ff4dddebb35a0e8bb5a68bf0f8b872407d8d9f0c726b65dfabe2469", size = 206979 },
{ url = "https://files.pythonhosted.org/packages/53/ed/a38401079ad320ad6e054a01ec2b61d270511aeb3c201c80e99c841229d5/coverage-7.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25", size = 207263 }, { url = "https://files.pythonhosted.org/packages/83/eb/863b2cd654353b94c6ad834008df813424bf3e8f110e5f655fe5dc4c423b/coverage-7.6.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1a5407a75ca4abc20d6252efeb238377a71ce7bda849c26c7a9bece8680a5d99", size = 207431 },
{ url = "https://files.pythonhosted.org/packages/20/e7/c3ad33b179ab4213f0d70da25a9c214d52464efa11caeab438592eb1d837/coverage-7.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546", size = 239205 }, { url = "https://files.pythonhosted.org/packages/35/c9/d7a02a9654c41174fb99402c0fbd9583d0d2cb8714e7f948117fa7f919c4/coverage-7.6.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df002e59f2d29e889c37abd0b9ee0d0e6e38c24f5f55d71ff0e09e3412a340ec", size = 239368 },
{ url = "https://files.pythonhosted.org/packages/36/91/fc02e8d8e694f557752120487fd982f654ba1421bbaa5560debf96ddceda/coverage-7.6.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b", size = 236612 }, { url = "https://files.pythonhosted.org/packages/11/64/6c43a0ec43e5ddc5e09b0b589e3fd31def05fc463920d084e5af35fe527d/coverage-7.6.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:673184b3156cba06154825f25af33baa2671ddae6343f23175764e65a8c4c30b", size = 236769 },
{ url = "https://files.pythonhosted.org/packages/cc/57/cb08f0eda0389a9a8aaa4fc1f9fec7ac361c3e2d68efd5890d7042c18aa3/coverage-7.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e", size = 238479 }, { url = "https://files.pythonhosted.org/packages/1c/dc/e77d98ae433c556c29328712a07fed0e6d159a63b2ec81039ce0a13a24a3/coverage-7.6.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e69ad502f1a2243f739f5bd60565d14a278be58be4c137d90799f2c263e7049a", size = 238634 },
{ url = "https://files.pythonhosted.org/packages/d5/c9/2c7681a9b3ca6e6f43d489c2e6653a53278ed857fd6e7010490c307b0a47/coverage-7.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718", size = 237405 }, { url = "https://files.pythonhosted.org/packages/cc/84/50df3a8426d686057496171b4ccdb64528dacc4f42e94dceb7de3c598a69/coverage-7.6.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60dcf7605c50ea72a14490d0756daffef77a5be15ed1b9fea468b1c7bda1bc3b", size = 237562 },
{ url = "https://files.pythonhosted.org/packages/b5/4e/ebfc6944b96317df8b537ae875d2e57c27b84eb98820bc0a1055f358f056/coverage-7.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db", size = 236038 }, { url = "https://files.pythonhosted.org/packages/2e/0f/9560196247574c1ccdab64cb923d69119fd5abd5b3db28d601ab2b452861/coverage-7.6.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9c2eb378bebb2c8f65befcb5147877fc1c9fbc640fc0aad3add759b5df79d55d", size = 236197 },
{ url = "https://files.pythonhosted.org/packages/13/f2/3a0bf1841a97c0654905e2ef531170f02c89fad2555879db8fe41a097871/coverage-7.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522", size = 236812 }, { url = "https://files.pythonhosted.org/packages/df/14/38b7c081e86e845df1867143ddb6e05bf8395f60ab3923c023a56d97cca1/coverage-7.6.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c0317288f032221d35fa4cbc35d9f4923ff0dfd176c79c9b356e8ef8ef2dff4", size = 236970 },
{ url = "https://files.pythonhosted.org/packages/b9/9c/66bf59226b52ce6ed9541b02d33e80a6e816a832558fbdc1111a7bd3abd4/coverage-7.6.4-cp311-cp311-win32.whl", hash = "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf", size = 209400 }, { url = "https://files.pythonhosted.org/packages/8b/f3/af34f814ca3814f798878ae368b638edb91298595470614f5265f3f416fa/coverage-7.6.7-cp311-cp311-win32.whl", hash = "sha256:951aade8297358f3618a6e0660dc74f6b52233c42089d28525749fc8267dccd2", size = 209557 },
{ url = "https://files.pythonhosted.org/packages/2a/a0/b0790934c04dfc8d658d4a62acb8f7ca0efdf3818456fcad757b11c6479d/coverage-7.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19", size = 210243 }, { url = "https://files.pythonhosted.org/packages/5a/9e/5d1080d83d752873bd9dedea5524c0f5fe68a3d5e1e58c590865bd724591/coverage-7.6.7-cp311-cp311-win_amd64.whl", hash = "sha256:5e444b8e88339a2a67ce07d41faabb1d60d1004820cee5a2c2b54e2d8e429a0f", size = 210402 },
{ url = "https://files.pythonhosted.org/packages/7d/e7/9291de916d084f41adddfd4b82246e68d61d6a75747f075f7e64628998d2/coverage-7.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2", size = 207013 }, { url = "https://files.pythonhosted.org/packages/84/30/30e9df650b9038962c62d900b093a17414d5b43b4d07d47b8698d9e7ce26/coverage-7.6.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f07ff574986bc3edb80e2c36391678a271d555f91fd1d332a1e0f4b5ea4b6ea9", size = 207172 },
{ url = "https://files.pythonhosted.org/packages/27/03/932c2c5717a7fa80cd43c6a07d3177076d97b79f12f40f882f9916db0063/coverage-7.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117", size = 207251 }, { url = "https://files.pythonhosted.org/packages/88/8b/e28f86412317b9514692fd6f9d8ac6faa12494c3f470c3c63f202e10c756/coverage-7.6.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:49ed5ee4109258973630c1f9d099c7e72c5c36605029f3a91fe9982c6076c82b", size = 207406 },
{ url = "https://files.pythonhosted.org/packages/d5/3f/0af47dcb9327f65a45455fbca846fe96eb57c153af46c4754a3ba678938a/coverage-7.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613", size = 240268 }, { url = "https://files.pythonhosted.org/packages/ac/46/da1bd9a3a893f74f5ce85f35e2755fcb00a80ed21e18d300c54f64938b1c/coverage-7.6.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3e8796434a8106b3ac025fd15417315d7a58ee3e600ad4dbcfddc3f4b14342c", size = 240424 },
{ url = "https://files.pythonhosted.org/packages/8a/3c/37a9d81bbd4b23bc7d46ca820e16174c613579c66342faa390a271d2e18b/coverage-7.6.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27", size = 237298 }, { url = "https://files.pythonhosted.org/packages/f6/12/af8e932496de1997bf4a36785d025ddac6427cbaf6954f26c2edaf21a58a/coverage-7.6.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3b925300484a3294d1c70f6b2b810d6526f2929de954e5b6be2bf8caa1f12c1", size = 237456 },
{ url = "https://files.pythonhosted.org/packages/c0/70/6b0627e5bd68204ee580126ed3513140b2298995c1233bd67404b4e44d0e/coverage-7.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52", size = 239367 }, { url = "https://files.pythonhosted.org/packages/60/a2/23eb11eb60f825a84397cb94701d6f41d2e8e88ad7d0ba2b4339f38435fb/coverage-7.6.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c42ec2c522e3ddd683dec5cdce8e62817afb648caedad9da725001fa530d354", size = 239527 },
{ url = "https://files.pythonhosted.org/packages/3c/eb/634d7dfab24ac3b790bebaf9da0f4a5352cbc125ce6a9d5c6cf4c6cae3c7/coverage-7.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2", size = 238853 }, { url = "https://files.pythonhosted.org/packages/47/9e/63b318bc469308a32b0fbd6c80e2ea05dd7a2b7e840a46b3974843083a8c/coverage-7.6.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0266b62cbea568bd5e93a4da364d05de422110cbed5056d69339bd5af5685433", size = 239011 },
{ url = "https://files.pythonhosted.org/packages/d9/0d/8e3ed00f1266ef7472a4e33458f42e39492e01a64281084fb3043553d3f1/coverage-7.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1", size = 237160 }, { url = "https://files.pythonhosted.org/packages/99/47/1e84b067df3f021dfbc9cba09ec9acd4cb64938648a234e5bdf3006fd08b/coverage-7.6.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e5f2a0f161d126ccc7038f1f3029184dbdf8f018230af17ef6fd6a707a5b881f", size = 237316 },
{ url = "https://files.pythonhosted.org/packages/ce/9c/4337f468ef0ab7a2e0887a9c9da0e58e2eada6fc6cbee637a4acd5dfd8a9/coverage-7.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5", size = 238824 }, { url = "https://files.pythonhosted.org/packages/12/9d/96baaafc948d4a0ef2248a611d41051eea0917ef881d744879dd20be7c4a/coverage-7.6.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c132b5a22821f9b143f87446805e13580b67c670a548b96da945a8f6b4f2efbb", size = 238980 },
{ url = "https://files.pythonhosted.org/packages/5e/09/3e94912b8dd37251377bb02727a33a67ee96b84bbbe092f132b401ca5dd9/coverage-7.6.4-cp312-cp312-win32.whl", hash = "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17", size = 209639 }, { url = "https://files.pythonhosted.org/packages/87/d9/97af1886ca3f612d0cea2999d33e90d2f5b8fdf9bedc2d3bc75883efec4c/coverage-7.6.7-cp312-cp312-win32.whl", hash = "sha256:7c07de0d2a110f02af30883cd7dddbe704887617d5c27cf373362667445a4c76", size = 209801 },
{ url = "https://files.pythonhosted.org/packages/01/69/d4f3a4101171f32bc5b3caec8ff94c2c60f700107a6aaef7244b2c166793/coverage-7.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08", size = 210428 }, { url = "https://files.pythonhosted.org/packages/f8/4d/1e31c2018b1b3738154639f94188b1f54098fbf0f80c7ec104928576d0bb/coverage-7.6.7-cp312-cp312-win_amd64.whl", hash = "sha256:fd49c01e5057a451c30c9b892948976f5d38f2cbd04dc556a82743ba8e27ed8c", size = 210587 },
{ url = "https://files.pythonhosted.org/packages/c2/4d/2dede4f7cb5a70fb0bb40a57627fddf1dbdc6b9c1db81f7c4dcdcb19e2f4/coverage-7.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9", size = 207039 }, { url = "https://files.pythonhosted.org/packages/21/87/c590d0c7eeb884995d9d06b429c5e88e9fcd65d3a6a686d9476cb50b72a9/coverage-7.6.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:46f21663e358beae6b368429ffadf14ed0a329996248a847a4322fb2e35d64d3", size = 207199 },
{ url = "https://files.pythonhosted.org/packages/3f/f9/d86368ae8c79e28f1fb458ebc76ae9ff3e8bd8069adc24e8f2fed03c58b7/coverage-7.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba", size = 207298 }, { url = "https://files.pythonhosted.org/packages/40/ee/c88473c4f69c952f4425fabe045cb78d2027634ce50c9d7f7987d389b604/coverage-7.6.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:40cca284c7c310d622a1677f105e8507441d1bb7c226f41978ba7c86979609ab", size = 207454 },
{ url = "https://files.pythonhosted.org/packages/64/c5/b4cc3c3f64622c58fbfd4d8b9a7a8ce9d355f172f91fcabbba1f026852f6/coverage-7.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c", size = 239813 }, { url = "https://files.pythonhosted.org/packages/b8/07/afda6e10c50e3a8c21020c5c1d1b4f3d7eff1c190305cef2962adf8de018/coverage-7.6.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77256ad2345c29fe59ae861aa11cfc74579c88d4e8dbf121cbe46b8e32aec808", size = 239971 },
{ url = "https://files.pythonhosted.org/packages/8a/86/14c42e60b70a79b26099e4d289ccdfefbc68624d096f4481163085aa614c/coverage-7.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06", size = 236959 }, { url = "https://files.pythonhosted.org/packages/85/43/bd1934b75e31f2a49665be6a6b7f8bfaff7266ba19721bdb90239f5e9ed7/coverage-7.6.7-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87ea64b9fa52bf395272e54020537990a28078478167ade6c61da7ac04dc14bc", size = 237119 },
{ url = "https://files.pythonhosted.org/packages/7f/f8/4436a643631a2fbab4b44d54f515028f6099bfb1cd95b13cfbf701e7f2f2/coverage-7.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f", size = 238950 }, { url = "https://files.pythonhosted.org/packages/2b/19/7a70458c1624724086195b40628e91bc5b9ca180cdfefcc778285c49c7b2/coverage-7.6.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d608a7808793e3615e54e9267519351c3ae204a6d85764d8337bd95993581a8", size = 239109 },
{ url = "https://files.pythonhosted.org/packages/49/50/1571810ddd01f99a0a8be464a4ac8b147f322cd1e8e296a1528984fc560b/coverage-7.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b", size = 238610 }, { url = "https://files.pythonhosted.org/packages/f3/2c/3dee671415ff13c05ca68243b2264fc95a5eea57697cffa7986b68b8f608/coverage-7.6.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdd94501d65adc5c24f8a1a0eda110452ba62b3f4aeaba01e021c1ed9cb8f34a", size = 238769 },
{ url = "https://files.pythonhosted.org/packages/f3/8c/6312d241fe7cbd1f0cade34a62fea6f333d1a261255d76b9a87074d8703c/coverage-7.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21", size = 236697 }, { url = "https://files.pythonhosted.org/packages/37/ad/e0d1228638711aeacacc98d1197af6226b6d062d12c81a6bcc17d3234533/coverage-7.6.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82c809a62e953867cf57e0548c2b8464207f5f3a6ff0e1e961683e79b89f2c55", size = 236854 },
{ url = "https://files.pythonhosted.org/packages/ce/5f/fef33dfd05d87ee9030f614c857deb6df6556b8f6a1c51bbbb41e24ee5ac/coverage-7.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a", size = 238541 }, { url = "https://files.pythonhosted.org/packages/90/95/6467e9d9765a63c7f142703a7f212f6af114bd73a6c1cffeb7ad7f003a86/coverage-7.6.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb684694e99d0b791a43e9fc0fa58efc15ec357ac48d25b619f207c41f2fd384", size = 238701 },
{ url = "https://files.pythonhosted.org/packages/a9/64/6a984b6e92e1ea1353b7ffa08e27f707a5e29b044622445859200f541e8c/coverage-7.6.4-cp313-cp313-win32.whl", hash = "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e", size = 209707 }, { url = "https://files.pythonhosted.org/packages/b2/7a/fc11a163f0fd6ce8539d0f1b565873fe6903b900214ff71b5d80d16154c3/coverage-7.6.7-cp313-cp313-win32.whl", hash = "sha256:963e4a08cbb0af6623e61492c0ec4c0ec5c5cf74db5f6564f98248d27ee57d30", size = 209865 },
{ url = "https://files.pythonhosted.org/packages/5c/60/ce5a9e942e9543783b3db5d942e0578b391c25cdd5e7f342d854ea83d6b7/coverage-7.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963", size = 210439 }, { url = "https://files.pythonhosted.org/packages/f2/91/58be3a56efff0c3481e48e2caa56d5d6f3c5c8d385bf4adbecdfd85484b0/coverage-7.6.7-cp313-cp313-win_amd64.whl", hash = "sha256:14045b8bfd5909196a90da145a37f9d335a5d988a83db34e80f41e965fb7cb42", size = 210597 },
{ url = "https://files.pythonhosted.org/packages/78/53/6719677e92c308207e7f10561a1b16ab8b5c00e9328efc9af7cfd6fb703e/coverage-7.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f", size = 207784 }, { url = "https://files.pythonhosted.org/packages/34/7e/fed983809c2eccb09c5ddccfdb08efb7f2dd1ae3454dabf1c92c5a2e9946/coverage-7.6.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f2c7a045eef561e9544359a0bf5784b44e55cefc7261a20e730baa9220c83413", size = 207944 },
{ url = "https://files.pythonhosted.org/packages/fa/dd/7054928930671fcb39ae6a83bb71d9ab5f0afb733172543ced4b09a115ca/coverage-7.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806", size = 208058 }, { url = "https://files.pythonhosted.org/packages/c7/e0/2c1a157986a3927c3920e8e3938a3fdf33ea22b6f371dc3b679f13f619e2/coverage-7.6.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5dd4e4a49d9c72a38d18d641135d2fb0bdf7b726ca60a103836b3d00a1182acd", size = 208215 },
{ url = "https://files.pythonhosted.org/packages/b5/7d/fd656ddc2b38301927b9eb3aae3fe827e7aa82e691923ed43721fd9423c9/coverage-7.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11", size = 250772 }, { url = "https://files.pythonhosted.org/packages/35/2f/77b086b228f6443ae5499467d1629c7428925b390cd171350c403bc00f14/coverage-7.6.7-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c95e0fa3d1547cb6f021ab72f5c23402da2358beec0a8e6d19a368bd7b0fb37", size = 250930 },
{ url = "https://files.pythonhosted.org/packages/90/d0/eb9a3cc2100b83064bb086f18aedde3afffd7de6ead28f69736c00b7f302/coverage-7.6.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3", size = 246490 }, { url = "https://files.pythonhosted.org/packages/60/d8/2ffea937d89ee328fc6e47c2515b890735bdf3f195d507d1c78b5fa96939/coverage-7.6.7-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f63e21ed474edd23f7501f89b53280014436e383a14b9bd77a648366c81dce7b", size = 246647 },
{ url = "https://files.pythonhosted.org/packages/45/44/3f64f38f6faab8a0cfd2c6bc6eb4c6daead246b97cf5f8fc23bf3788f841/coverage-7.6.4-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a", size = 248848 }, { url = "https://files.pythonhosted.org/packages/b2/81/efbb3b00a7f7eb5f54a3b3b9f19b26d770a0b7d3870d651f07d2451c5504/coverage-7.6.7-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ead9b9605c54d15be228687552916c89c9683c215370c4a44f1f217d2adcc34d", size = 249006 },
{ url = "https://files.pythonhosted.org/packages/5d/11/4c465a5f98656821e499f4b4619929bd5a34639c466021740ecdca42aa30/coverage-7.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc", size = 248340 }, { url = "https://files.pythonhosted.org/packages/eb/91/ce36990cbefaf7909e96c888ed4d83f3471fc1be3273a5beda10896cde0f/coverage-7.6.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0573f5cbf39114270842d01872952d301027d2d6e2d84013f30966313cadb529", size = 248500 },
{ url = "https://files.pythonhosted.org/packages/f1/96/ebecda2d016cce9da812f404f720ca5df83c6b29f65dc80d2000d0078741/coverage-7.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70", size = 246229 }, { url = "https://files.pythonhosted.org/packages/75/3f/b8c87dfdd96276870fb4abc7e2957cba7d20d8a435fcd816d807869ec833/coverage-7.6.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e2c8e3384c12dfa19fa9a52f23eb091a8fad93b5b81a41b14c17c78e23dd1d8b", size = 246388 },
{ url = "https://files.pythonhosted.org/packages/16/d9/3d820c00066ae55d69e6d0eae11d6149a5ca7546de469ba9d597f01bf2d7/coverage-7.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef", size = 247510 }, { url = "https://files.pythonhosted.org/packages/a0/51/62273e1d5c25bb8fbef5fbbadc75b4a3e08c11b80516d0a97c25e5cced5b/coverage-7.6.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:70a56a2ec1869e6e9fa69ef6b76b1a8a7ef709972b9cc473f9ce9d26b5997ce3", size = 247669 },
{ url = "https://files.pythonhosted.org/packages/8f/c3/4fa1eb412bb288ff6bfcc163c11700ff06e02c5fad8513817186e460ed43/coverage-7.6.4-cp313-cp313t-win32.whl", hash = "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e", size = 210353 }, { url = "https://files.pythonhosted.org/packages/75/e5/d7772e56a7eace80e98ac39f2756d4b690fc0ce2384418174e02519a26a8/coverage-7.6.7-cp313-cp313t-win32.whl", hash = "sha256:dbba8210f5067398b2c4d96b4e64d8fb943644d5eb70be0d989067c8ca40c0f8", size = 210510 },
{ url = "https://files.pythonhosted.org/packages/7e/77/03fc2979d1538884d921c2013075917fc927f41cd8526909852fe4494112/coverage-7.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1", size = 211502 }, { url = "https://files.pythonhosted.org/packages/2d/12/f2666e4e36b43221391ffcd971ab0c50e19439c521c2c87cd7e0b49ddba2/coverage-7.6.7-cp313-cp313t-win_amd64.whl", hash = "sha256:dfd14bcae0c94004baba5184d1c935ae0d1231b8409eb6c103a5fd75e8ecdc56", size = 211660 },
{ url = "https://files.pythonhosted.org/packages/cc/56/e1d75e8981a2a92c2a777e67c26efa96c66da59d645423146eb9ff3a851b/coverage-7.6.4-pp39.pp310-none-any.whl", hash = "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e", size = 198954 }, { url = "https://files.pythonhosted.org/packages/e1/ec/dc663f7d34651aca74a531d10800595d9ec28a78b8306705721900b17a23/coverage-7.6.7-pp39.pp310-none-any.whl", hash = "sha256:0ddcb70b3a3a57581b450571b31cb774f23eb9519c2aaa6176d3a84c9fc57671", size = 199113 },
] ]
[package.optional-dependencies] [package.optional-dependencies]
@ -614,15 +614,15 @@ wheels = [
[[package]] [[package]]
name = "faker" name = "faker"
version = "30.8.2" version = "33.0.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "python-dateutil" }, { name = "python-dateutil" },
{ name = "typing-extensions" }, { name = "typing-extensions" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/c1/df/7574c0d13f0bbab725e52bec4b00783aaa14163fe9093dde11a928a4c638/faker-30.8.2.tar.gz", hash = "sha256:aa31b52cdae3673d6a78b4857c7bcdc0e98f201a5cb77d7827fa9e6b5876da94", size = 1808329 } sdist = { url = "https://files.pythonhosted.org/packages/5b/c7/0782eb872b96ee571701237be0dd85aef3713a15045ba42752a8aac7c8ce/faker-33.0.0.tar.gz", hash = "sha256:9b01019c1ddaf2253ca2308c0472116e993f4ad8fc9905f82fa965e0c6f932e9", size = 1850076 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/64/82/f7d0c0a4ab512fd1572a315eec903d50a578c75d5aa894cf3f5cc04025e5/Faker-30.8.2-py3-none-any.whl", hash = "sha256:4a82b2908cd19f3bba1a4da2060cc4eb18a40410ccdf9350d071d79dc92fe3ce", size = 1846458 }, { url = "https://files.pythonhosted.org/packages/c0/c3/0451555e7a9a233bc17f128cff7654ec60036d4ccbb8397dd949f28df176/Faker-33.0.0-py3-none-any.whl", hash = "sha256:68e5580cb6b4226710886e595eabc13127149d6e71e9d1db65506a7fbe2c7fce", size = 1889118 },
] ]
[[package]] [[package]]
@ -636,7 +636,7 @@ wheels = [
[[package]] [[package]]
name = "flask" name = "flask"
version = "3.0.3" version = "3.1.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "blinker" }, { name = "blinker" },
@ -645,9 +645,9 @@ dependencies = [
{ name = "jinja2" }, { name = "jinja2" },
{ name = "werkzeug" }, { name = "werkzeug" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/41/e1/d104c83026f8d35dfd2c261df7d64738341067526406b40190bc063e829a/flask-3.0.3.tar.gz", hash = "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842", size = 676315 } sdist = { url = "https://files.pythonhosted.org/packages/89/50/dff6380f1c7f84135484e176e0cac8690af72fa90e932ad2a0a60e28c69b/flask-3.1.0.tar.gz", hash = "sha256:5f873c5184c897c8d9d1b05df1e3d01b14910ce69607a117bd3277098a5836ac", size = 680824 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/61/80/ffe1da13ad9300f87c93af113edd0638c75138c42a0994becfacac078c06/flask-3.0.3-py3-none-any.whl", hash = "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3", size = 101735 }, { url = "https://files.pythonhosted.org/packages/af/47/93213ee66ef8fae3b93b3e29206f6b251e65c97bd91d8e1c5596ef15af0a/flask-3.1.0-py3-none-any.whl", hash = "sha256:d667207822eb83f1c4b50949b1623c8fc8d51f2341d65f72e1a1815397551136", size = 102979 },
] ]
[[package]] [[package]]
@ -770,11 +770,11 @@ wheels = [
[[package]] [[package]]
name = "identify" name = "identify"
version = "2.6.1" version = "2.6.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/29/bb/25024dbcc93516c492b75919e76f389bac754a3e4248682fba32b250c880/identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98", size = 99097 } sdist = { url = "https://files.pythonhosted.org/packages/02/79/7a520fc5011e02ca3f3285b5f6820eaf80443eb73e3733f73c02fb42ba0b/identify-2.6.2.tar.gz", hash = "sha256:fab5c716c24d7a789775228823797296a2994b075fb6080ac83a102772a98cbd", size = 99113 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/7d/0c/4ef72754c050979fdcc06c744715ae70ea37e734816bb6514f79df77a42f/identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0", size = 98972 }, { url = "https://files.pythonhosted.org/packages/e0/86/c4395700f3c5475424fb5c41e20c16be28d10c904aee4d005ba3217fc8e7/identify-2.6.2-py2.py3-none-any.whl", hash = "sha256:c097384259f49e372f4ea00a19719d95ae27dd5ff0fd77ad630aa891306b82f3", size = 98982 },
] ]
[[package]] [[package]]
@ -976,15 +976,15 @@ wheels = [
[[package]] [[package]]
name = "mysqlclient" name = "mysqlclient"
version = "2.2.5" version = "2.2.6"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/be/95/1af2ee813d4f0b607082c18bb82aa05c98a95a402a1d2d5808999317cb16/mysqlclient-2.2.5.tar.gz", hash = "sha256:add8643c32f738014d252d2bdebb478623b04802e8396d5903905db36474d3ff", size = 90519 } sdist = { url = "https://files.pythonhosted.org/packages/7d/62/51fbcd851834c830c940ded80280f593bd031137603329dd89479c68c5be/mysqlclient-2.2.6.tar.gz", hash = "sha256:c0b46d9b78b461dbb62482089ca8040fa916595b1b30f831ebbd1b0a82b43d53", size = 91055 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/87/78/5dc4d98b998e957968aa8ad807a6ca7f751ef79ce462da11156317d7ca08/mysqlclient-2.2.5-cp310-cp310-win_amd64.whl", hash = "sha256:b78438314199504c64f69e1e3521f2c9b419f19fcd85158b44c997b64409a6af", size = 207205 }, { url = "https://files.pythonhosted.org/packages/1a/04/f4e68d1a71b53ad81ac21e37729c1fcf38be46b88e3d47ab315e36abace0/mysqlclient-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:e94a92858203d97fd584bdb6d7ee8c56f2590db8d77fd44215c0dcf5e739bc37", size = 207533 },
{ url = "https://files.pythonhosted.org/packages/9a/12/0e10b29d0a880e0d2482fe93d502d537bddf647f1a35468c8b98bb517c91/mysqlclient-2.2.5-cp311-cp311-win_amd64.whl", hash = "sha256:b54511648c1455b43ac28f8b4c1f732c5b0c343e87f7a3bd6fc9f9fe0f91934e", size = 207207 }, { url = "https://files.pythonhosted.org/packages/e2/f6/3ac198c2633dc49de56b4631353e7a8b241fbda77bddb635c0b2ae57b9e3/mysqlclient-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:43c5b30be0675080b9c815f457d73397f0442173e7be83d089b126835e2617ae", size = 207532 },
{ url = "https://files.pythonhosted.org/packages/8b/96/962f16047ed35ee8c91c10c26a98057194242f6c8da3b78238909a8014fe/mysqlclient-2.2.5-cp312-cp312-win_amd64.whl", hash = "sha256:e871ede4261d0d42b8ed20a2459db411c7deafedd8e77b7e4ba760be4a6a752b", size = 207349 }, { url = "https://files.pythonhosted.org/packages/f2/e0/d4806d4970136047ba247ad738d8d9e19655f114a91326fc790d86f4234e/mysqlclient-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:e940b41d85dfd7b190fa47d52f525f878cfa203d4653bf6a35b271b3c3be125b", size = 207811 },
{ url = "https://files.pythonhosted.org/packages/62/f9/4a43f9fde92eb463bdb08643c4a143751be2b68cd9ad0582d7ee80836ddc/mysqlclient-2.2.5-cp313-cp313-win_amd64.whl", hash = "sha256:8012c633aab8c91ea8172ac479807135b171501b9cad1a7cd9b58c4dc8dcdab5", size = 207343 }, { url = "https://files.pythonhosted.org/packages/7f/92/9d67ec977119abf692429751b6ce5b84baef33cded260768d813e742be08/mysqlclient-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:794857bce4f9a1903a99786dd29ad7887f45a870b3d11585b8c51c4a753c4174", size = 207806 },
{ url = "https://files.pythonhosted.org/packages/be/17/cd1b80247f76968c1c5a643843c69c640a8548f4f5e131be6b10d4436def/mysqlclient-2.2.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1d2e2ca0fe8405d8d6464edd01bf059951279e4bc27284d39341bd4737b2bc64", size = 207267 }, { url = "https://files.pythonhosted.org/packages/db/b4/64d6a3b1e0c7d58dfce962595add65cd0fa181db2c2ecc524cc4c8f7c168/mysqlclient-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f3efb849d6f7ef4b9788a0eda2e896b975e0ebf1d6bf3dcabea63fd698e5b0b5", size = 207576 },
] ]
[[package]] [[package]]
@ -998,11 +998,11 @@ wheels = [
[[package]] [[package]]
name = "packaging" name = "packaging"
version = "24.1" version = "24.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/51/65/50db4dda066951078f0a96cf12f4b9ada6e4b811516bf0262c0f4f7064d4/packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", size = 148788 } sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124", size = 53985 }, { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
] ]
[[package]] [[package]]
@ -1464,11 +1464,11 @@ wheels = [
[[package]] [[package]]
name = "setuptools" name = "setuptools"
version = "75.3.0" version = "75.5.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/ed/22/a438e0caa4576f8c383fa4d35f1cc01655a46c75be358960d815bfbb12bd/setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686", size = 1351577 } sdist = { url = "https://files.pythonhosted.org/packages/c8/db/722a42ffdc226e950c4757b3da7b56ff5c090bb265dccd707f7b8a3c6fee/setuptools-75.5.0.tar.gz", hash = "sha256:5c4ccb41111392671f02bb5f8436dfc5a9a7185e80500531b133f5775c4163ef", size = 1336032 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 }, { url = "https://files.pythonhosted.org/packages/fe/df/88ccbee85aefbca071db004fdc8f8d2507d55d5a9dc27ebb93c92edb1bd8/setuptools-75.5.0-py3-none-any.whl", hash = "sha256:87cb777c3b96d638ca02031192d40390e0ad97737e27b6b4fa831bea86f2f829", size = 1222710 },
] ]
[[package]] [[package]]
@ -1797,11 +1797,11 @@ wheels = [
[[package]] [[package]]
name = "tomli" name = "tomli"
version = "2.0.2" version = "2.1.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/35/b9/de2a5c0144d7d75a57ff355c0c24054f965b2dc3036456ae03a51ea6264b/tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed", size = 16096 } sdist = { url = "https://files.pythonhosted.org/packages/1e/e4/1b6cbcc82d8832dd0ce34767d5c560df8a3547ad8cbc427f34601415930a/tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8", size = 16622 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/cf/db/ce8eda256fa131af12e0a76d481711abe4681b6923c27efb9a255c9e4594/tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38", size = 13237 }, { url = "https://files.pythonhosted.org/packages/de/f7/4da0ffe1892122c9ea096c57f64c2753ae5dd3ce85488802d11b0992cc6d/tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391", size = 13750 },
] ]
[[package]] [[package]]
@ -1860,27 +1860,27 @@ wheels = [
[[package]] [[package]]
name = "uv" name = "uv"
version = "0.4.30" version = "0.5.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/8e/66/8191736201d0b503f75cc5682e5d1a47e0e4fe55f5616605af8727e2c9de/uv-0.4.30.tar.gz", hash = "sha256:d9de718380e2f167243ca5e1dccea781e06404158442491255fec5955d57fed9", size = 2126167 } sdist = { url = "https://files.pythonhosted.org/packages/13/51/985549772d9c76d18b99ab188afe2aaa7a9afd948b97a03d7061e4716798/uv-0.5.2.tar.gz", hash = "sha256:89e60ad9601f35f187326de84f35e7517c6eb1438359da42ec85cfd9c1895957", size = 2174112 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/b7/67/f8eefd7499740fc5c2764574ad2d577a50d925c506e74cd0557c2d64f05b/uv-0.4.30-py3-none-linux_armv6l.whl", hash = "sha256:4ddad09385221fa5c609169e4a0dd5bee27cf56c1dc450d4cdc113122c54bb09", size = 13447487 }, { url = "https://files.pythonhosted.org/packages/59/e8/542ef2ce56366f550f1cb93c1d4fd75bdfda440be56e8e99303f694193ce/uv-0.5.2-py3-none-linux_armv6l.whl", hash = "sha256:7bde66f13571e437fd45f32f5742ab53d5e011b4edb1c74cb74cb8b1cbb828b5", size = 13639242 },
{ url = "https://files.pythonhosted.org/packages/bb/07/9e8f09a4f93fd3cda20e635392994bf15c79ec5c853b5d3fe001b8259ef6/uv-0.4.30-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f63d6646acdf2f38a5afca9fb9eeac62efa663a57f3c134f735a5f575b4e748f", size = 13478492 }, { url = "https://files.pythonhosted.org/packages/f7/5e/dfa65e7e0dd0db9e7b258b15e2cc5109a89c5a61939cff8a4772e1dd8478/uv-0.5.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d0834c6b37750c045bbea80600d3ae3e95becc4db148f5c0d0bc3ec6a7924e8f", size = 13610178 },
{ url = "https://files.pythonhosted.org/packages/67/37/8994c3d0be99851a21a6ee01bbf3cb35ddc4b202a2f6f4014098d5893660/uv-0.4.30-py3-none-macosx_11_0_arm64.whl", hash = "sha256:353617bfcf72e1eabade426d83fb86a69d11273d1612aabc3f4566d41c596c97", size = 12467039 }, { url = "https://files.pythonhosted.org/packages/24/e0/f468ea89d85fb4c7a442b999d6fc1a5ef32e6fa3c872e471f0a1ba856069/uv-0.5.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:a8a9897dd7657258c53f41aecdbe787da99f4fc0775f19826ab65cc0a7136cbf", size = 12658718 },
{ url = "https://files.pythonhosted.org/packages/0a/bc/c5fc5ede7f073c850fe61d1b35d45d45936bd212a188a513e319d11e450c/uv-0.4.30-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:dedcae3619f0eb181459b597fefefd99cb21fe5a5a48a530be6f5ad934399bfb", size = 12740841 }, { url = "https://files.pythonhosted.org/packages/12/46/4239d5dc97d6d292256baef0750c69f19ef427febcbbb4ab20b4b5a1a49b/uv-0.5.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:15c7ffa08ae21abd221dbdf9ba25c8969235f587cec6df8035552434e5ca1cc5", size = 12938603 },
{ url = "https://files.pythonhosted.org/packages/a1/a7/a728622e0990ba8fe5188387c7a21218e605f00297c6466ecd4caff068e4/uv-0.4.30-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:232575f30ed971ea32d4a525b7146c4b088a07ed6e70a31da63792d563fcac44", size = 13257182 }, { url = "https://files.pythonhosted.org/packages/7c/c5/71d05e9ca73ddbf83fb320105bdf966bab9e5d04d3708f58f8daea8d94a0/uv-0.5.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d1fe4e025dbb9ec5c9250bfc1231847b8487706538f94d10c769f0a54db3e0af", size = 13438355 },
{ url = "https://files.pythonhosted.org/packages/53/08/eb5283f4fb758537f18d5dfbb0f8dae3198be9f091e7a66d016a6a8c0b5c/uv-0.4.30-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c89f2eff63a08d04e81629611f43b1ffa668af6de0382b95a71599af7d4b77c", size = 13817386 }, { url = "https://files.pythonhosted.org/packages/76/ec/d6811c51f02f8426610468639d7c0f7bce50854e22491e6fd43dc6197003/uv-0.5.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfba5b0070652da4174083b78852f3ab3d262ba1c8b63a4d5ae497263b02b834", size = 13997533 },
{ url = "https://files.pythonhosted.org/packages/43/28/b1b914c67807cd05d0e0ffe682d82335fa9d222ebd271553aa423b34b734/uv-0.4.30-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4d41d09cabba1988728c2d9b9ad25f79233c2aa3d6ecd724c36f4678c4c89711", size = 14417701 }, { url = "https://files.pythonhosted.org/packages/03/b5/bafafe3132e2fdfde3a0931f5fbb0116fbd761bf813cc260a4672ff6fa2e/uv-0.5.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:dfcd8275ff8cb59d5f26f826a44270b2fe8f38aa7188d7355c48d3e9b759d0c0", size = 14586163 },
{ url = "https://files.pythonhosted.org/packages/0a/5d/fa1294dec14271be15affd420bdbba415dbc7e3db5b63719f8fb6d5cef34/uv-0.4.30-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ed0183e747065b9b1bcfb699ff10df671ebe6259709ce83e709f86cea564aee", size = 14163236 }, { url = "https://files.pythonhosted.org/packages/8d/69/685fdaa80434d680248e588e339bce08251167fcdd008ee384669cd7e507/uv-0.5.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71467545d51883d1af7094c8f6da69b55e7d49b742c2dc707d644676dcb66515", size = 14481327 },
{ url = "https://files.pythonhosted.org/packages/ff/ce/e2fedbfcf055f79dd8c6e827d130bb8b9f2fd0841a6a0973baca8bdee242/uv-0.4.30-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e17a799c6279800996828e10288ca8ccc40cc883d8998802b938aa671dfa9ce", size = 18250185 }, { url = "https://files.pythonhosted.org/packages/67/84/525f395051bf753a92509a0b19b8410017417e96705645a00b3554da3aa6/uv-0.5.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5052758d374dd769efd0c70b4789ffb08439567eb114ad8fe728536bb5cc5299", size = 18609412 },
{ url = "https://files.pythonhosted.org/packages/3b/36/592477b62bbd1d652ec2d45a5a6daba7ed5a6ce008690eb0749e18733adb/uv-0.4.30-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63196143f45018364c450ba94279a5bcff8562c14ba63deb41a92ed30baa6e22", size = 13953259 }, { url = "https://files.pythonhosted.org/packages/82/ce/11fe4448173570b9a4ac09a5b21b6b2d90d455ce454c3e344e5fcd8b3430/uv-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:374e9498e155fcaa8728a6770b84f03781106d705332f4ec059e1cc93c8f4d8a", size = 14156364 },
{ url = "https://files.pythonhosted.org/packages/f0/a1/4eb54d4b2809cb6b896881609d8620321f9907d052afee3111f72a50d16c/uv-0.4.30-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:6395820540f368f622e818735862abd633dfe7e729c450fca56b65bab4b46661", size = 12941390 }, { url = "https://files.pythonhosted.org/packages/44/4f/27fb79bf0300d110e9d9bf6ae31ffad516f6af9fca8a518208c9b71d1093/uv-0.5.2-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:675ca34829ceca3e9de395cf05e8f881334a24488f97dd923c463830270d52a7", size = 13132200 },
{ url = "https://files.pythonhosted.org/packages/e4/68/e963aa4c235151f8f91442ffeb734642fa9d139630b5bcdb77719c84638f/uv-0.4.30-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:1a83df281c5d900b4758b1a3969b3cff57231f9027db8508b71dce1f2da78684", size = 13209967 }, { url = "https://files.pythonhosted.org/packages/a3/ff/a25a9619201857cd3f6a2012d5d49ef9cfc76cd8b426f941b3c709c124c0/uv-0.5.2-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:c9795b990fb0b2a18d3a8cef8822e13c6a6f438bc16d34ccf01d931c76cfd5da", size = 13421241 },
{ url = "https://files.pythonhosted.org/packages/86/10/b72965bf44de9f31f5031efe9abad871b22c05884092314da4eb1233d0f0/uv-0.4.30-py3-none-musllinux_1_1_i686.whl", hash = "sha256:4aecd9fb39cf018e129627090a1d35af2b0184bb87078d573c9998f5e4072416", size = 13559034 }, { url = "https://files.pythonhosted.org/packages/fc/ea/e3b6fe349a63069f2724a8f5992e3d7da0eade867f9b5f6470afd8512046/uv-0.5.2-py3-none-musllinux_1_1_i686.whl", hash = "sha256:27d666da8fbb0f87d9df67abf9feea0da4ee1336730f2c4be29a11f3feaa0a29", size = 13787663 },
{ url = "https://files.pythonhosted.org/packages/3a/58/2ed027ea9ae017d16a78f0b49e738f2df36ce67d2c1c836fcf442731170c/uv-0.4.30-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:444468ad0e94b35cbf6acfc8a28589cfe1247136d43895e60a18955ff89a07ad", size = 15433457 }, { url = "https://files.pythonhosted.org/packages/b9/ed/6bf3b02e5672b9e4f4c9acfc9d92cd114572ce7d5ae458c423ab849e3738/uv-0.5.2-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:67776d34cba359c63919c5ad50331171261d2ec7a83fd07f032eb8cc22e22b8e", size = 15529195 },
{ url = "https://files.pythonhosted.org/packages/2b/db/b45b2d1470e39961e7d612f1f2ecd815de9b0fdd3298fbf14ef770863dbc/uv-0.4.30-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:ea55ca0fe5bdd04e46deaf395b3daf4fa92392f774e83610d066a2b272af5d3f", size = 14062977 }, { url = "https://files.pythonhosted.org/packages/19/29/41fd2928e79d343d7009b92028df868d13307f365949a9649d5fff9c11d7/uv-0.5.2-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:772b32d157ec8f27c0099ecac94cf5cd298bce72f1a1f512205591de4e9f0c5c", size = 14277293 },
{ url = "https://files.pythonhosted.org/packages/39/ee/1bac3464ae9c666c974a03e673a8cbb36023783a9c07de24d8a5e0473c4e/uv-0.4.30-py3-none-win32.whl", hash = "sha256:7f09bd6a853767863e2fb905f0eb1a0ed7afa9ea118852e5c02d2b451944e1cf", size = 13377566 }, { url = "https://files.pythonhosted.org/packages/3b/ba/bf58db3f3520c18fd7dc43cc302432bd49dc4a20a612cda587756f9fb035/uv-0.5.2-py3-none-win32.whl", hash = "sha256:2597e91be45b3f4458d0d16a5a1cda7e93af7d6dbfddf251aae5377f9187fa88", size = 13541309 },
{ url = "https://files.pythonhosted.org/packages/7b/05/3b42d33752cc0085369b4320e05ff667617de5a570be7cb358c6150ca046/uv-0.4.30-py3-none-win_amd64.whl", hash = "sha256:44c5aeb5b374f9fd1083959934daa9020db3610f0405198c5e3d8ec1f23d961d", size = 15022847 }, { url = "https://files.pythonhosted.org/packages/55/84/ab10b46e0523aa8ea290798ec7ca4dde339601697d2319d19564c3552b34/uv-0.5.2-py3-none-win_amd64.whl", hash = "sha256:a4d4fdad03e6dc3e8216192b8a12bcf2c71c8b12046e755575c7f262cbb61924", size = 15323473 },
] ]
[[package]] [[package]]
@ -1899,11 +1899,11 @@ wheels = [
[[package]] [[package]]
name = "waitress" name = "waitress"
version = "3.0.1" version = "3.0.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/cb/0b/5920c63f93c17f9b04117f271f97619a74e087bf3de0aeed2cfd28510194/waitress-3.0.1.tar.gz", hash = "sha256:ef0c1f020d9f12a515c4ec65c07920a702613afcad1dbfdc3bcec256b6c072b3", size = 180560 } sdist = { url = "https://files.pythonhosted.org/packages/bf/cb/04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184/waitress-3.0.2.tar.gz", hash = "sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f", size = 179901 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/77/7a/e3d9728774c66c84cdab509955539720fc0dc55781b8d79b299665752749/waitress-3.0.1-py3-none-any.whl", hash = "sha256:26cdbc593093a15119351690752c99adc13cbc6786d75f7b6341d1234a3730ac", size = 56678 }, { url = "https://files.pythonhosted.org/packages/8d/57/a27182528c90ef38d82b636a11f606b0cbb0e17588ed205435f8affe3368/waitress-3.0.2-py3-none-any.whl", hash = "sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e", size = 56232 },
] ]
[[package]] [[package]]
@ -1966,14 +1966,14 @@ wheels = [
[[package]] [[package]]
name = "werkzeug" name = "werkzeug"
version = "3.1.2" version = "3.1.3"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "markupsafe" }, { name = "markupsafe" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/9f/e7/58868f1a95bd6f2ffa0a26af212675fb74be2a4c4bfa3541077b0ca14ad3/werkzeug-3.1.2.tar.gz", hash = "sha256:f471a4cd167233077e9d2a8190c3471c5bc520c636a9e3c1e9300c33bced03bc", size = 806496 } sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925 }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/cb/ff/107697c9d5ca486c4a97e51be036d521ba08a70747c5e9fa1f4729240854/werkzeug-3.1.2-py3-none-any.whl", hash = "sha256:4f7d1a5de312c810a8a2c6f0b47e9f6a7cffb7c8322def35e4d4d9841ff85597", size = 224352 }, { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498 },
] ]
[[package]] [[package]]