Compare commits

..

9 Commits

Author SHA1 Message Date
renovate[bot]
9690d8632c fix(deps): update dependency pydantic-settings to v2.14.2 [security] 2026-06-21 03:27:12 +00:00
mealie-actions[bot]
62bb771758 chore(l10n): Crowdin locale sync (#7784)
Co-authored-by: GitHub Action <action@github.com>
2026-06-21 03:14:04 +00:00
renovate[bot]
0c04aa701f fix(deps): update dependency sqlalchemy to v2.0.51 (#7783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-20 18:11:58 +00:00
renovate[bot]
fcba5216bc fix(deps): update dependency fastapi to v0.137.1 (#7778)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-20 13:28:51 +00:00
renovate[bot]
13fd74057c chore(deps): update dependency pylint to v4.0.6 (#7777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 20:05:51 +00:00
renovate[bot]
92735196ef chore(deps): update dependency pytest to v9.1.0 (#7776)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 04:56:13 +00:00
renovate[bot]
c1176b323d chore(deps): update node.js to 032e78d (#7773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-18 20:23:53 +00:00
renovate[bot]
dd94e1de77 chore(deps): update dependency dompurify to v3.4.11 [security] (#7772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-18 20:06:26 +00:00
Michael Genson
4a099c168e fix: Various lint issues (#7766) 2026-06-17 10:57:45 -05:00
15 changed files with 582 additions and 582 deletions

View File

@@ -1,7 +1,7 @@
############################################### ###############################################
# Frontend Build # Frontend Build
############################################### ###############################################
FROM node:24@sha256:40ad9f3064e67d6860b4bc3fe1880b2953934fd6320ada990e45fe0efa6badd7 \ FROM node:24@sha256:032e78d7e54e352129831743737e3a83171d9cc5b5896f411649c597ce0b11ea \
AS frontend-builder AS frontend-builder
WORKDIR /frontend WORKDIR /frontend

View File

@@ -45,7 +45,7 @@ function cont(x: number, D: number, mixed: boolean) {
let Q_2 = 1; let Q_2 = 1;
let Q_1 = 0; let Q_1 = 0;
let Q = 0; let Q = 0;
let A = Math.floor(B); let A: number;
while (Q_1 < D) { while (Q_1 < D) {
A = Math.floor(B); A = Math.floor(B);
P = A * P_1 + P_2; P = A * P_1 + P_2;

View File

@@ -26,7 +26,7 @@ const authUser = ref<UserOut | null>(null);
const authStatus = ref<"loading" | "authenticated" | "unauthenticated">("loading"); const authStatus = ref<"loading" | "authenticated" | "unauthenticated">("loading");
export const useAuthBackend = function (): AuthState { export const useAuthBackend = function (): AuthState {
const { $appInfo, $axios } = useNuxtApp(); const { $axios } = useNuxtApp();
const router = useRouter(); const router = useRouter();
const runtimeConfig = useRuntimeConfig(); const runtimeConfig = useRuntimeConfig();

View File

@@ -59,7 +59,7 @@ export const LOCALES = [
{ {
name: "Slovenčina (Slovak)", name: "Slovenčina (Slovak)",
value: "sk-SK", value: "sk-SK",
progress: 62, progress: 64,
dir: "ltr", dir: "ltr",
pluralFoodHandling: "always", pluralFoodHandling: "always",
}, },
@@ -185,7 +185,7 @@ export const LOCALES = [
{ {
name: "Français (French)", name: "Français (French)",
value: "fr-FR", value: "fr-FR",
progress: 82, progress: 83,
dir: "ltr", dir: "ltr",
pluralFoodHandling: "always", pluralFoodHandling: "always",
}, },
@@ -220,7 +220,7 @@ export const LOCALES = [
{ {
name: "Español (Spanish)", name: "Español (Spanish)",
value: "es-ES", value: "es-ES",
progress: 62, progress: 64,
dir: "ltr", dir: "ltr",
pluralFoodHandling: "always", pluralFoodHandling: "always",
}, },
@@ -262,7 +262,7 @@ export const LOCALES = [
{ {
name: "Čeština (Czech)", name: "Čeština (Czech)",
value: "cs-CZ", value: "cs-CZ",
progress: 59, progress: 60,
dir: "ltr", dir: "ltr",
pluralFoodHandling: "always", pluralFoodHandling: "always",
}, },

View File

@@ -1,9 +1,9 @@
export function getTokenCookieOptions(): Parameters<typeof useCookie>[1] { export function getTokenCookieOptions() {
const isSecureConnection = useNuxtApp().$appInfo.production && window?.location?.protocol === "https:"; const isSecureConnection = useNuxtApp().$appInfo.production && window?.location?.protocol === "https:";
return { return {
maxAge: useNuxtApp().$appInfo.tokenTime * 60 * 60, maxAge: useNuxtApp().$appInfo.tokenTime * 60 * 60,
secure: isSecureConnection, secure: isSecureConnection,
sameSite: isSecureConnection ? "none" : "lax", sameSite: (isSecureConnection ? "none" : "lax") as "none" | "lax",
partitioned: isSecureConnection, partitioned: isSecureConnection,
}; };
} }

View File

@@ -169,7 +169,7 @@
"token": "Token", "token": "Token",
"tuesday": "Úterý", "tuesday": "Úterý",
"type": "Typ", "type": "Typ",
"undo": "Zpět", "undo": "Undo",
"update": "Aktualizace", "update": "Aktualizace",
"updated": "Aktualizováno", "updated": "Aktualizováno",
"upload": "Nahrát", "upload": "Nahrát",
@@ -224,8 +224,8 @@
"add-field": "Přidat pole", "add-field": "Přidat pole",
"date-created": "Datum vytvoření", "date-created": "Datum vytvoření",
"date-updated": "Datum aktualizace", "date-updated": "Datum aktualizace",
"key": "Klíč", "key": "Key",
"value": "Hodnota" "value": "Value"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Jste si jisti, že chcete smazat <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Jste si jisti, že chcete smazat <b>{groupName}<b/>?",
@@ -287,37 +287,37 @@
"total-households": "Celkem domácností", "total-households": "Celkem domácností",
"you-must-select-a-group-before-selecting-a-household": "Před výběrem domácnosti musíte vybrat skupinu", "you-must-select-a-group-before-selecting-a-household": "Před výběrem domácnosti musíte vybrat skupinu",
"ai-provider-settings": { "ai-provider-settings": {
"ai-provider-settings": "Nastavení AI providera", "ai-provider-settings": "AI Provider Settings",
"ai-provider": "AI provider", "ai-provider": "AI Provider",
"ai-providers": "AI provideři", "ai-providers": "AI Providers",
"ai-provider-settings-description": "Configure AI providers to enable AI-powered features, such as enhanced ingredient parsing, creating recipes from videos, and more!", "ai-provider-settings-description": "Configure AI providers to enable AI-powered features, such as enhanced ingredient parsing, creating recipes from videos, and more!",
"providers": "Provideři", "providers": "Providers",
"create-provider": "Vytvořit providera", "create-provider": "Create Provider",
"edit-provider": "Upravit providera", "edit-provider": "Edit Provider",
"default-provider": "Výchozí provider", "default-provider": "Default Provider",
"default-provider-description": "Požadováno pro povolení AI funkcí", "default-provider-description": "Required to enable AI features",
"audio-provider": "Audio provider", "audio-provider": "Audio Provider",
"audio-provider-description": "Povoluje funkce přepisu audia jako vytváření receptů z videí", "audio-provider-description": "Enables audio transcription features, such as creating recipes from videos",
"image-provider": "Provider obrázků", "image-provider": "Image Provider",
"image-provider-description": "Povolit funkce rozpoznávání obrázků jako vytváření receptů z obrázků", "image-provider-description": "Enables image recognition features, such as creating recipes from images",
"provider-name": "Název providera", "provider-name": "Provider Name",
"api-key": "Klíč API", "api-key": "API Key",
"api-key-description-create": "API klíč vašeho providera pro ověření. Pokud vaše služba (např. Ollama) nepoužívá API klíč, stále je potřeba sem něco vložit.", "api-key-description-create": "Your provider's API key for authentication. If your service (e.g. Ollama) doesn't use an API key, you still have to put something here.",
"api-key-description-edit": "Vyplňte pouze pokud chcete změnit.", "api-key-description-edit": "Leave this blank unless you want to change it.",
"base-url": "Base URL", "base-url": "Base URL",
"base-url-description": "If you're using OpenAI leave this blank. Must be an OpenAI-compatible endpoint (e.g. \"http://localhost:11434/v1\").", "base-url-description": "If you're using OpenAI leave this blank. Must be an OpenAI-compatible endpoint (e.g. \"http://localhost:11434/v1\").",
"model": "Model", "model": "Model",
"model-description": "Jaký model by měl váš AI provider použít (např. \"gpt-5\").", "model-description": "Which model your AI provider should use (e.g. \"gpt-5\").",
"request-timeout-seconds": "Platnost požadavku (sekundy)", "request-timeout-seconds": "Request Timeout (seconds)",
"provider-created": "Provider vytvořen", "provider-created": "Provider created",
"provider-updated": "Provider aktualizován", "provider-updated": "Provider updated",
"provider-deleted": "Provider odstraněn", "provider-deleted": "Provider deleted",
"provider-create-failed": "Vytvoření providera se nezdařilo", "provider-create-failed": "Failed to create provider",
"provider-update-failed": "Aktualizace providera se nezdařila", "provider-update-failed": "Failed to update provider",
"provider-delete-failed": "Odstranění providera se nezdařilo", "provider-delete-failed": "Failed to delete provider",
"request-headers": "Hlavičky požadavků", "request-headers": "Request Headers",
"request-params": "Parametry požadavků", "request-params": "Request Parameters",
"no-default-provider-warning": "Nezvolili jste výchozího providera, AI funkce jsou zakázané" "no-default-provider-warning": "You have not set a default provider, so AI features are disabled"
} }
}, },
"household": { "household": {
@@ -663,7 +663,7 @@
"create-recipe-description": "Vytvořit nový recept od nuly.", "create-recipe-description": "Vytvořit nový recept od nuly.",
"create-recipes": "Vytvořit recepty", "create-recipes": "Vytvořit recepty",
"import-with-zip": "Importovat pomocí .zip", "import-with-zip": "Importovat pomocí .zip",
"create-recipe-from-images": "Vytvořit recept z obrázků", "create-recipe-from-images": "Create Recipe from Images",
"create-recipe-from-an-image-description": "Vytvořte recept nahráním obrázku. Mealie se pokusí z obrázku extrahovat text pomocí AI a vytvořit z něj recept.", "create-recipe-from-an-image-description": "Vytvořte recept nahráním obrázku. Mealie se pokusí z obrázku extrahovat text pomocí AI a vytvořit z něj recept.",
"crop-and-rotate-the-image": "Oříznout a otočit obrázek tak, aby byl viditelný pouze text a aby byl ve správné orientaci.", "crop-and-rotate-the-image": "Oříznout a otočit obrázek tak, aby byl viditelný pouze text a aby byl ve správné orientaci.",
"create-from-images": "Vytvořit z obrázků", "create-from-images": "Vytvořit z obrázků",
@@ -952,7 +952,7 @@
"quantity": "Množství: {0}", "quantity": "Množství: {0}",
"shopping-list": "Nákupní seznam", "shopping-list": "Nákupní seznam",
"shopping-lists": "Nákupní seznamy", "shopping-lists": "Nákupní seznamy",
"add-item": "Přidat položku", "add-item": "Add item",
"food": "Jídlo", "food": "Jídlo",
"note": "Poznámka", "note": "Poznámka",
"label": "Popisek", "label": "Popisek",
@@ -978,7 +978,7 @@
"are-you-sure-you-want-to-uncheck-all-items": "Opravdu chcete zrušit výběr všech položek?", "are-you-sure-you-want-to-uncheck-all-items": "Opravdu chcete zrušit výběr všech položek?",
"are-you-sure-you-want-to-delete-checked-items": "Opravdu chcete odstranit všechny vybrané položky?", "are-you-sure-you-want-to-delete-checked-items": "Opravdu chcete odstranit všechny vybrané položky?",
"no-shopping-lists-found": "Nebyly nalezeny žádné nákupní seznamy", "no-shopping-lists-found": "Nebyly nalezeny žádné nákupní seznamy",
"item-checked-off": "Odškrtnuta položka {item}" "item-checked-off": "Checked off {item}"
}, },
"sidebar": { "sidebar": {
"all-recipes": "Všechny recepty", "all-recipes": "Všechny recepty",
@@ -1144,8 +1144,8 @@
}, },
"data-pages": { "data-pages": {
"foods": { "foods": {
"delete-affects-recipes": "Varování: toto jídlo je použito v {count} receptu(receptech). Odstranění zanechá v receptu(receptech) prázdnou ingrediencí.", "delete-affects-recipes": "Warning: this food is used in {count} recipe(s). Deleting it will leave an empty ingredient in the recipe(s).",
"delete-affects-recipes-more": "Zobrazit všechny {count} recepty", "delete-affects-recipes-more": "View all {count} recipes",
"merge-dialog-text": "Zkombinování zvolených potravin způsobí smazání zdrojové potraviny a veškeré odkazy na ni budou přesměrovány do cílové potraviny.", "merge-dialog-text": "Zkombinování zvolených potravin způsobí smazání zdrojové potraviny a veškeré odkazy na ni budou přesměrovány do cílové potraviny.",
"merge-food-example": "Sloučení {food1} do {food2}", "merge-food-example": "Sloučení {food1} do {food2}",
"seed-dialog-text": "Naplňte databázi potravinami z vašeho jazyka. Tímto vytvoříte přes 200 běžných potravin, které můžete použít k organizaci vaší databáze. Potraviny jsou přeloženy skrze komunitní úsilí.", "seed-dialog-text": "Naplňte databázi potravinami z vašeho jazyka. Tímto vytvoříte přes 200 běžných potravin, které můžete použít k organizaci vaší databáze. Potraviny jsou přeloženy skrze komunitní úsilí.",

View File

@@ -1145,7 +1145,7 @@
"data-pages": { "data-pages": {
"foods": { "foods": {
"delete-affects-recipes": "Warning: this food is used in {count} recipe(s). Deleting it will leave an empty ingredient in the recipe(s).", "delete-affects-recipes": "Warning: this food is used in {count} recipe(s). Deleting it will leave an empty ingredient in the recipe(s).",
"delete-affects-recipes-more": "Zeige alle {count} Rezepte", "delete-affects-recipes-more": "View all {count} recipes",
"merge-dialog-text": "Zusammenführen der ausgewählten Lebensmittel führt diese zusammen in ein einzelnes Lebensmittel. Die Ausgangslebensmittel werden gelöscht und alle Verweise werden auf das zusammengeführte Lebensmittel angepasst.", "merge-dialog-text": "Zusammenführen der ausgewählten Lebensmittel führt diese zusammen in ein einzelnes Lebensmittel. Die Ausgangslebensmittel werden gelöscht und alle Verweise werden auf das zusammengeführte Lebensmittel angepasst.",
"merge-food-example": "{food1} wird zu {food2} zusammengeführt", "merge-food-example": "{food1} wird zu {food2} zusammengeführt",
"seed-dialog-text": "Füllt die Datenbank mit Lebensmitteln basierend auf deiner Landessprache. Hierdurch werden mehr als 200 gängige Lebensmittel eingetragen, die verwendet werden können, um die Datenbank zu organisieren. Die Lebensmittel werden von der Community übersetzt.", "seed-dialog-text": "Füllt die Datenbank mit Lebensmitteln basierend auf deiner Landessprache. Hierdurch werden mehr als 200 gängige Lebensmittel eingetragen, die verwendet werden können, um die Datenbank zu organisieren. Die Lebensmittel werden von der Community übersetzt.",

View File

@@ -225,7 +225,7 @@
"date-created": "Date de création", "date-created": "Date de création",
"date-updated": "Date de mise à jour", "date-updated": "Date de mise à jour",
"key": "Clé", "key": "Clé",
"value": "Valeur" "value": "Value"
}, },
"group": { "group": {
"are-you-sure-you-want-to-delete-the-group": "Voulez-vous vraiment supprimer <b>{groupName}<b/>?", "are-you-sure-you-want-to-delete-the-group": "Voulez-vous vraiment supprimer <b>{groupName}<b/>?",
@@ -287,36 +287,36 @@
"total-households": "Nombre de foyers", "total-households": "Nombre de foyers",
"you-must-select-a-group-before-selecting-a-household": "Vous devez sélectionner un groupe avant de sélectionner un foyer", "you-must-select-a-group-before-selecting-a-household": "Vous devez sélectionner un groupe avant de sélectionner un foyer",
"ai-provider-settings": { "ai-provider-settings": {
"ai-provider-settings": "Paramètres du fournisseur d'IA", "ai-provider-settings": "AI Provider Settings",
"ai-provider": "Fournisseur d'IA", "ai-provider": "AI Provider",
"ai-providers": "Fournisseurs d'IA", "ai-providers": "AI Providers",
"ai-provider-settings-description": "Configurez les fournisseurs d'IA pour activer les fonctionnalités alimentées par l'AI, telles que l'analyse améliorée des ingrédients, la création de recettes à partir de vidéos, et plus encore !", "ai-provider-settings-description": "Configurez les fournisseurs d'IA pour activer les fonctionnalités alimentées par l'AI, telles que l'analyse améliorée des ingrédients, la création de recettes à partir de vidéos, et plus encore !",
"providers": "Fournisseurs", "providers": "Providers",
"create-provider": "Créer un fournisseur", "create-provider": "Create Provider",
"edit-provider": "Éditer le fournisseur", "edit-provider": "Edit Provider",
"default-provider": "Fournisseur par défaut", "default-provider": "Default Provider",
"default-provider-description": "Requis pour activer les fonctionnalités IA", "default-provider-description": "Required to enable AI features",
"audio-provider": "Fournisseur audio", "audio-provider": "Audio Provider",
"audio-provider-description": "Active les fonctionnalités de transcription audio, comme la création de recettes à partir de vidéos", "audio-provider-description": "Enables audio transcription features, such as creating recipes from videos",
"image-provider": "Fournisseur d'images", "image-provider": "Image Provider",
"image-provider-description": "Active les fonctionnalités de reconnaissance d'image, comme la création de recettes à partir d'images", "image-provider-description": "Enables image recognition features, such as creating recipes from images",
"provider-name": "Nom du fournisseur", "provider-name": "Provider Name",
"api-key": "Clé API", "api-key": "API Key",
"api-key-description-create": "La clé API de votre fournisseur pour l'authentification. Si votre service (par exemple Ollama) n'utilise pas une clé API, vous devez malgré tout toujours mettre quelque chose ici.", "api-key-description-create": "Your provider's API key for authentication. If your service (e.g. Ollama) doesn't use an API key, you still have to put something here.",
"api-key-description-edit": "Laissez ce champ vide à moins que vous vouliez le modifier.", "api-key-description-edit": "Leave this blank unless you want to change it.",
"base-url": "URL de base", "base-url": "Base URL",
"base-url-description": "Si vous utilisez OpenAI laissez ce champ vide. Doit être un point de terminaison compatible OpenAI (par exemple \"http://localhost:11434/v1\").", "base-url-description": "If you're using OpenAI leave this blank. Must be an OpenAI-compatible endpoint (e.g. \"http://localhost:11434/v1\").",
"model": "Modèle", "model": "Model",
"model-description": "Quel modèle doit utiliser votre fournisseur d'IA (par exemple \"gpt-5\").", "model-description": "Which model your AI provider should use (e.g. \"gpt-5\").",
"request-timeout-seconds": "Délai d'attente de la requête (secondes)", "request-timeout-seconds": "Request Timeout (seconds)",
"provider-created": "Fournisseur créé", "provider-created": "Provider created",
"provider-updated": "Fournisseur mis à jour", "provider-updated": "Provider updated",
"provider-deleted": "Fournisseur supprimé", "provider-deleted": "Provider deleted",
"provider-create-failed": "Échec de la création du fournisseur", "provider-create-failed": "Failed to create provider",
"provider-update-failed": "Échec de la mise à jour du fournisseur", "provider-update-failed": "Failed to update provider",
"provider-delete-failed": "Échec de la suppression du fournisseur", "provider-delete-failed": "Failed to delete provider",
"request-headers": "En-têtes de la requête", "request-headers": "Request Headers",
"request-params": "Paramètres de la requête", "request-params": "Request Parameters",
"no-default-provider-warning": "Vous n'avez pas défini de fournisseur par défaut, donc les fonctionnalités IA sont désactivées" "no-default-provider-warning": "Vous n'avez pas défini de fournisseur par défaut, donc les fonctionnalités IA sont désactivées"
} }
}, },
@@ -1144,8 +1144,8 @@
}, },
"data-pages": { "data-pages": {
"foods": { "foods": {
"delete-affects-recipes": "Attention : cet aliment est utilisé dans {count} recette(s). Le supprimer laissera un ingrédient vide dans la ou les recette(s).", "delete-affects-recipes": "Warning: this food is used in {count} recipe(s). Deleting it will leave an empty ingredient in the recipe(s).",
"delete-affects-recipes-more": "Visualiser les {count} recettes", "delete-affects-recipes-more": "View all {count} recipes",
"merge-dialog-text": "La combinaison des aliments sélectionnés fusionnera laliment source et laliment cible en un seul aliment. Laliment source sera supprimé et toutes les références à laliment source seront mises à jour pour pointer vers laliment cible.", "merge-dialog-text": "La combinaison des aliments sélectionnés fusionnera laliment source et laliment cible en un seul aliment. Laliment source sera supprimé et toutes les références à laliment source seront mises à jour pour pointer vers laliment cible.",
"merge-food-example": "Fusion de {food1} dans {food2}", "merge-food-example": "Fusion de {food1} dans {food2}",
"seed-dialog-text": "Initialisez la base de données avec des aliments basés sur votre langue locale. Cela permettra de créer plus de 200 aliments communs qui pourront être utilisés pour organiser votre base de données. Les aliments sont traduits grâce à un effort communautaire.", "seed-dialog-text": "Initialisez la base de données avec des aliments basés sur votre langue locale. Cela permettra de créer plus de 200 aliments communs qui pourront être utilisés pour organiser votre base de données. Les aliments sont traduits grâce à un effort communautaire.",

View File

@@ -1144,8 +1144,8 @@
}, },
"data-pages": { "data-pages": {
"foods": { "foods": {
"delete-affects-recipes": "Upozornenie: táto potravina sa používa v {count} receptoch (receptoch). Jej vymazaním zostane v recepte (receptoch) prázdna zložka.", "delete-affects-recipes": "Warning: this food is used in {count} recipe(s). Deleting it will leave an empty ingredient in the recipe(s).",
"delete-affects-recipes-more": "Zobraziť všetkých {count} receptov", "delete-affects-recipes-more": "View all {count} recipes",
"merge-dialog-text": "Kombináciou vybraných potravín sa zdrojové jedlo a cieľové jedlo zlúčia do jedného jedla. Zdrojové jedlo bude vymazané a všetky odkazy na zdrojové jedlo budú aktualizované tak, aby ukazovali na cieľové jedlo.", "merge-dialog-text": "Kombináciou vybraných potravín sa zdrojové jedlo a cieľové jedlo zlúčia do jedného jedla. Zdrojové jedlo bude vymazané a všetky odkazy na zdrojové jedlo budú aktualizované tak, aby ukazovali na cieľové jedlo.",
"merge-food-example": "Zlučujem {food1} do {food2}", "merge-food-example": "Zlučujem {food1} do {food2}",
"seed-dialog-text": "Naplňte databázu potravinami vo vašom jazyku. Tým vytvoríte viac ako 2700 bežných potravín, ktoré môžete použiť na organizovanie vašej databáze. Potraviny sú preložené vďaka úsiliu komunity.", "seed-dialog-text": "Naplňte databázu potravinami vo vašom jazyku. Tým vytvoríte viac ako 2700 bežných potravín, ktoré môžete použiť na organizovanie vašej databáze. Potraviny sú preložené vďaka úsiliu komunity.",

View File

@@ -5364,9 +5364,9 @@ domhandler@^5.0.2, domhandler@^5.0.3:
domelementtype "^2.3.0" domelementtype "^2.3.0"
dompurify@^3.4.10, dompurify@^3.4.7: dompurify@^3.4.10, dompurify@^3.4.7:
version "3.4.10" version "3.4.11"
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.4.10.tgz#96704295b4d8aeefcc8c7a90caa579b0ad69e46a" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.4.11.tgz#29c8ba496475f279ef4015784068452fb14a0680"
integrity sha512-0xzNv0e7oYC6yyuOGZIABPM4qtg3QxLFniDNPP4ZP90wR8Yq3zgwpRbrNiT4N3IKqDbbYFEJLV+JWEs19aZ//w== integrity sha512-zhlUV12GsaRzMsf9q5M254YhA4+VuF0fG+QFqu6aYpoGlKtz+w8//jBcGVYBgQkR5GHjUomejY84AV+/uPbWdw==
optionalDependencies: optionalDependencies:
"@types/trusted-types" "^2.0.7" "@types/trusted-types" "^2.0.7"

View File

@@ -419,8 +419,8 @@
"corn on the cob": { "corn on the cob": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kukuřičný klas", "name": "corn on the cob",
"plural_name": "kukuřičné klasy" "plural_name": "corn on the cob"
}, },
"radicchio": { "radicchio": {
"aliases": [], "aliases": [],
@@ -484,17 +484,17 @@
}, },
"maize": { "maize": {
"aliases": [ "aliases": [
"kukuřičná slupka" "corn husk"
], ],
"description": "", "description": "",
"name": "kukuřice", "name": "maize",
"plural_name": "kukuřice" "plural_name": "kukuřice"
}, },
"collard greens": { "collard greens": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kapusta", "name": "collard greens",
"plural_name": "kapusty" "plural_name": "collard greens"
}, },
"french-fried onion": { "french-fried onion": {
"aliases": [], "aliases": [],
@@ -554,7 +554,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "hlávkový salát", "name": "hlávkový salát",
"plural_name": "bostonský salát" "plural_name": "boston lettuce"
}, },
"kohlrabi": { "kohlrabi": {
"aliases": [], "aliases": [],
@@ -576,11 +576,11 @@
}, },
"Frisée": { "Frisée": {
"aliases": [ "aliases": [
"štěrbák" "curly endive"
], ],
"description": "", "description": "",
"name": "Čekanka", "name": "Frisée",
"plural_name": "Čekanky" "plural_name": "Frisées"
}, },
"anaheim pepper": { "anaheim pepper": {
"aliases": [], "aliases": [],
@@ -591,14 +591,14 @@
"cress": { "cress": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "řeřicha", "name": "cress",
"plural_name": "řeřichy" "plural_name": "cress"
}, },
"broccoli slaw": { "broccoli slaw": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "brokolicový salát", "name": "brokolicový salát",
"plural_name": "brokolisový salát" "plural_name": "broccoli slaw"
}, },
"arbol chile pepper": { "arbol chile pepper": {
"aliases": [], "aliases": [],
@@ -622,7 +622,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "vojtěška", "name": "vojtěška",
"plural_name": "vojtěšky" "plural_name": "alfalfa"
} }
} }
}, },
@@ -1171,14 +1171,14 @@
"fig leaf": { "fig leaf": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "fíkový list", "name": "fig leaf",
"plural_name": "fíkové listy" "plural_name": "fig leaves"
}, },
"freeze-dried pineapple": { "freeze-dried pineapple": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lyofilizovaný ananas", "name": "freeze-dried pineapple",
"plural_name": "lyofilizované ananasy" "plural_name": "freeze-dried pineapples"
}, },
"pluot": { "pluot": {
"aliases": [], "aliases": [],
@@ -1189,8 +1189,8 @@
"soursop": { "soursop": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "graviola", "name": "soursop",
"plural_name": "gravioly" "plural_name": "soursops"
}, },
"hog plum": { "hog plum": {
"aliases": [], "aliases": [],
@@ -1225,8 +1225,8 @@
"green ume plum": { "green ume plum": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "zelená ume švestka", "name": "green ume plum",
"plural_name": "zelené ume švestky" "plural_name": "green ume plums"
}, },
"kiwano": { "kiwano": {
"aliases": [], "aliases": [],
@@ -1301,8 +1301,8 @@
"black truffle": { "black truffle": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "černý lanýž", "name": "black truffle",
"plural_name": "černé lanýže" "plural_name": "black truffles"
}, },
"morel mushroom": { "morel mushroom": {
"aliases": [], "aliases": [],
@@ -1355,8 +1355,8 @@
"white truffle": { "white truffle": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "bílý lanýž", "name": "white truffle",
"plural_name": "bílé lanýže" "plural_name": "white truffles"
}, },
"white fungu": { "white fungu": {
"aliases": [], "aliases": [],
@@ -1503,8 +1503,8 @@
"dried cherry": { "dried cherry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sušená třešeň", "name": "dried cherry",
"plural_name": "sušené třešně" "plural_name": "dried cherries"
}, },
"juniper berry": { "juniper berry": {
"aliases": [], "aliases": [],
@@ -2031,26 +2031,26 @@
"cheese": { "cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sýr", "name": "cheese",
"plural_name": "sýry" "plural_name": "cheese"
}, },
"mozzarella cheese": { "mozzarella cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mozzarella", "name": "mozzarella cheese",
"plural_name": "mozzarelly" "plural_name": "mozzarella cheese"
}, },
"feta cheese": { "feta cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sýr feta", "name": "feta cheese",
"plural_name": "sýry feta" "plural_name": "feta cheese"
}, },
"ricotta cheese": { "ricotta cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sýr ricotta", "name": "ricotta cheese",
"plural_name": "sýry ricotta" "plural_name": "ricotta cheese"
}, },
"cheddar-jack cheese": { "cheddar-jack cheese": {
"aliases": [], "aliases": [],
@@ -2067,14 +2067,14 @@
"blue cheese": { "blue cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sýr s modrou plísní", "name": "blue cheese",
"plural_name": "sýry s modrou plísní" "plural_name": "blue cheese"
}, },
"goat cheese": { "goat cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kozí sýr", "name": "goat cheese",
"plural_name": "kozí sýry" "plural_name": "goat cheese"
}, },
"fresh mozzarella cheese": { "fresh mozzarella cheese": {
"aliases": [], "aliases": [],
@@ -2884,7 +2884,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kachní vejce", "name": "kachní vejce",
"plural_name": "kachní vejce" "plural_name": "duck eggs"
}, },
"salted egg": { "salted egg": {
"aliases": [], "aliases": [],
@@ -2896,7 +2896,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "skyr", "name": "skyr",
"plural_name": "skyry" "plural_name": "skyrs"
}, },
"pumpkin spice coffee creamer": { "pumpkin spice coffee creamer": {
"aliases": [], "aliases": [],
@@ -3181,8 +3181,8 @@
"soy milk": { "soy milk": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "sojové mléko", "name": "soy milk",
"plural_name": "sojová mléka" "plural_name": "soy milk"
}, },
"extra firm tofu": { "extra firm tofu": {
"aliases": [], "aliases": [],
@@ -3223,14 +3223,14 @@
"vegan cheese": { "vegan cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "veganský sýr", "name": "vegan cheese",
"plural_name": "veganské sýry" "plural_name": "vegan cheese"
}, },
"cashew butter": { "cashew butter": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kešu máslo", "name": "cashew butter",
"plural_name": "kešu másla" "plural_name": "cashew butter"
}, },
"tempeh": { "tempeh": {
"aliases": [], "aliases": [],
@@ -3271,8 +3271,8 @@
"oat milk": { "oat milk": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "ovesné mléko", "name": "oat milk",
"plural_name": "ovesná mléka" "plural_name": "oat milk"
}, },
"nut butter": { "nut butter": {
"aliases": [], "aliases": [],

View File

@@ -261,7 +261,7 @@
"mixed greens": { "mixed greens": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mezcla de lechugas", "name": "mixed greens",
"plural_name": "mézclum" "plural_name": "mézclum"
}, },
"parsnip": { "parsnip": {
@@ -358,7 +358,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lechuga de manteca", "name": "lechuga de manteca",
"plural_name": "lechuga mantequilla" "plural_name": "butter lettuce"
}, },
"hash brown": { "hash brown": {
"aliases": [], "aliases": [],
@@ -419,8 +419,8 @@
"corn on the cob": { "corn on the cob": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "elote", "name": "corn on the cob",
"plural_name": "elotes" "plural_name": "corn on the cob"
}, },
"radicchio": { "radicchio": {
"aliases": [], "aliases": [],
@@ -554,13 +554,13 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "lechuga Boston", "name": "lechuga Boston",
"plural_name": "lechuga tipo Boston" "plural_name": "boston lettuce"
}, },
"kohlrabi": { "kohlrabi": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "colirrábano", "name": "colirrábano",
"plural_name": "colinabos" "plural_name": "kohlrabi"
}, },
"fresno chile": { "fresno chile": {
"aliases": [], "aliases": [],
@@ -576,7 +576,7 @@
}, },
"Frisée": { "Frisée": {
"aliases": [ "aliases": [
"escarola rizada" "curly endive"
], ],
"description": "", "description": "",
"name": "Frisée", "name": "Frisée",
@@ -598,7 +598,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "brócoli", "name": "brócoli",
"plural_name": "ensalada de brócoli" "plural_name": "broccoli slaw"
}, },
"arbol chile pepper": { "arbol chile pepper": {
"aliases": [], "aliases": [],
@@ -1232,7 +1232,7 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "kiwano", "name": "kiwano",
"plural_name": "kiwuano" "plural_name": "kiwanos"
} }
} }
}, },
@@ -1427,7 +1427,7 @@
"honey fungu": { "honey fungu": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "hongo de miel", "name": "honey fungus",
"plural_name": "setas de la miel" "plural_name": "setas de la miel"
}, },
"caesar's mushroom": { "caesar's mushroom": {
@@ -1445,8 +1445,8 @@
"lions mane mushroom": { "lions mane mushroom": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "melena de león", "name": "lions mane mushroom",
"plural_name": "melenas de león" "plural_name": "lions mane mushrooms"
} }
} }
}, },
@@ -1587,8 +1587,8 @@
"elderberry": { "elderberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baya de saúco", "name": "elderberry",
"plural_name": "bayas de saúco" "plural_name": "elderberries"
}, },
"freeze-dried blueberry": { "freeze-dried blueberry": {
"aliases": [], "aliases": [],
@@ -1605,38 +1605,38 @@
"dried elderberry": { "dried elderberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baya de saúco seca", "name": "dried elderberry",
"plural_name": "bayas de saúco secas" "plural_name": "dried elderberries"
}, },
"barberry": { "barberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "agracejo", "name": "barberry",
"plural_name": "agracejos" "plural_name": "barberries"
}, },
"dried berry": { "dried berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baya seca", "name": "dried berry",
"plural_name": "bayas secas" "plural_name": "dried berries"
}, },
"sea buckthorn": { "sea buckthorn": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "espino amarillo", "name": "sea buckthorn",
"plural_name": "espinos amarillos" "plural_name": "sea buckthorns"
}, },
"saskatoon berry": { "saskatoon berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baya de saskatoon", "name": "saskatoon berry",
"plural_name": "bayas de saskatoon" "plural_name": "saskatoon berries"
}, },
"rosehip": { "rosehip": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "rosa mosqueta", "name": "rosa mosqueta",
"plural_name": "escaramujos" "plural_name": "rosehips"
}, },
"hawthorn": { "hawthorn": {
"aliases": [], "aliases": [],
@@ -1647,14 +1647,14 @@
"boysenberry": { "boysenberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baya de Boysen", "name": "boysenberry",
"plural_name": "bayas de Boysen" "plural_name": "boysenberries"
}, },
"cloudberry": { "cloudberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "camemoro", "name": "cloudberry",
"plural_name": "camemoros" "plural_name": "cloudberries"
}, },
"freeze-dried berry": { "freeze-dried berry": {
"aliases": [], "aliases": [],
@@ -1666,37 +1666,37 @@
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "", "name": "",
"plural_name": "bayas aronias" "plural_name": "aronia berries"
}, },
"chokeberry": { "chokeberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "baya aronia", "name": "chokeberry",
"plural_name": "bayas aronia" "plural_name": "chokeberries"
}, },
"loganberry": { "loganberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mora-frambuesa", "name": "loganberry",
"plural_name": "moras-frambuesas" "plural_name": "loganberries"
}, },
"blackcurrant leaf": { "blackcurrant leaf": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "hoja de grosella negra", "name": "blackcurrant leaf",
"plural_name": "hojas de grosella negra" "plural_name": "blackcurrant leaves"
}, },
"haskap berry": { "haskap berry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "haskap berry", "name": "haskap berry",
"plural_name": "madreselvas azules" "plural_name": "haskap berries"
}, },
"dewberry": { "dewberry": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mora ártica", "name": "dewberry",
"plural_name": "moras árticas" "plural_name": "dewberries"
}, },
"sloe berry": { "sloe berry": {
"aliases": [], "aliases": [],
@@ -1707,8 +1707,8 @@
"oregon grape": { "oregon grape": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mahonia", "name": "oregon grape",
"plural_name": "uvas de Oregon" "plural_name": "oregon grapes"
} }
} }
}, },
@@ -1777,8 +1777,8 @@
"slivered almond": { "slivered almond": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "almendra fileteadas", "name": "slivered almond",
"plural_name": "almendras fileteadas" "plural_name": "slivered almonds"
}, },
"pumpkin seed": { "pumpkin seed": {
"aliases": [], "aliases": [],
@@ -1819,20 +1819,20 @@
"chopped nut": { "chopped nut": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "nuez picada", "name": "chopped nut",
"plural_name": "nueces picadas" "plural_name": "chopped nuts"
}, },
"hemp heart": { "hemp heart": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "corazón de cáñamo", "name": "hemp heart",
"plural_name": "corazones de cáñamo" "plural_name": "hemp hearts"
}, },
"nigella seed": { "nigella seed": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "semilla de ajenuz", "name": "nigella seed",
"plural_name": "semillas de ajenuz" "plural_name": "nigella seeds"
}, },
"mixed nut": { "mixed nut": {
"aliases": [], "aliases": [],
@@ -1879,8 +1879,8 @@
"lotus seed": { "lotus seed": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "semilla de loto", "name": "lotus seed",
"plural_name": "semillas de loto" "plural_name": "lotus seeds"
}, },
"white chia": { "white chia": {
"aliases": [], "aliases": [],
@@ -1891,8 +1891,8 @@
"trail mix": { "trail mix": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mezcla de frutos secos", "name": "trail mix",
"plural_name": "mezclas de frutos secos" "plural_name": "trail mixes"
}, },
"basil seed": { "basil seed": {
"aliases": [], "aliases": [],
@@ -1903,14 +1903,14 @@
"candlenut": { "candlenut": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "nuez de la India", "name": "candlenut",
"plural_name": "nueces de la India" "plural_name": "candlenuts"
}, },
"peanut brittle": { "peanut brittle": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "palanqueta de cacahuate", "name": "peanut brittle",
"plural_name": "palanquetas de cacahuate" "plural_name": "peanut brittles"
}, },
"jackfruit seed": { "jackfruit seed": {
"aliases": [], "aliases": [],
@@ -2022,11 +2022,11 @@
}, },
"sharp cheddar cheese": { "sharp cheddar cheese": {
"aliases": [ "aliases": [
"cheddar fuerte" "sharp cheddar"
], ],
"description": "", "description": "",
"name": "queso cheddar fuerte", "name": "sharp cheddar cheese",
"plural_name": "queso cheddar fuerte" "plural_name": "sharp cheddar cheese"
}, },
"cheese": { "cheese": {
"aliases": [], "aliases": [],
@@ -2055,14 +2055,14 @@
"cheddar-jack cheese": { "cheddar-jack cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso cheddar jack", "name": "cheddar-jack cheese",
"plural_name": "queso cheddar jack" "plural_name": "cheddar-jack cheese"
}, },
"monterey jack cheese": { "monterey jack cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso monterey jack", "name": "monterey jack cheese",
"plural_name": "queso monterey jack" "plural_name": "monterey jack cheese"
}, },
"blue cheese": { "blue cheese": {
"aliases": [], "aliases": [],
@@ -2079,8 +2079,8 @@
"fresh mozzarella cheese": { "fresh mozzarella cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso mozzarella fresco", "name": "fresh mozzarella cheese",
"plural_name": "queso mozzarella fresco" "plural_name": "fresh mozzarella cheese"
}, },
"swis cheese": { "swis cheese": {
"aliases": [], "aliases": [],
@@ -2091,14 +2091,14 @@
"pecorino cheese": { "pecorino cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso pecorino", "name": "pecorino cheese",
"plural_name": "queso pecorino" "plural_name": "pecorino cheese"
}, },
"gruyere cheese": { "gruyere cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso gruyer", "name": "gruyere cheese",
"plural_name": "queso gruyer" "plural_name": "gruyere cheese"
}, },
"mascarpone cheese": { "mascarpone cheese": {
"aliases": [], "aliases": [],
@@ -2121,86 +2121,86 @@
"provolone cheese": { "provolone cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "provolone", "name": "provolone cheese",
"plural_name": "queso provolone" "plural_name": "queso provolone"
}, },
"mexican cheese blend": { "mexican cheese blend": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mezcla de queso mexicano", "name": "mexican cheese blend",
"plural_name": "mezcla de queso mexicano" "plural_name": "mexican cheese blend"
}, },
"pepper jack cheese": { "pepper jack cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "pepper jack", "name": "pepper jack cheese",
"plural_name": "pepper jack" "plural_name": "pepper jack cheese"
}, },
"brie cheese": { "brie cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "brie", "name": "brie cheese",
"plural_name": "brie" "plural_name": "brie cheese"
}, },
"paneer cheese": { "paneer cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso panir", "name": "paneer cheese",
"plural_name": "queso panir" "plural_name": "paneer cheese"
}, },
"fontina cheese": { "fontina cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "fontina", "name": "fontina cheese",
"plural_name": "fontina" "plural_name": "fontina cheese"
}, },
"queso fresco cheese": { "queso fresco cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso fresco", "name": "queso fresco cheese",
"plural_name": "queso fresco" "plural_name": "queso fresco cheese"
}, },
"quark cheese": { "quark cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso quark", "name": "quark cheese",
"plural_name": "queso quark" "plural_name": "quark cheese"
}, },
"gouda cheese": { "gouda cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "gouda", "name": "gouda cheese",
"plural_name": "gouda" "plural_name": "gouda cheese"
}, },
"cotija cheese": { "cotija cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso cotija", "name": "cotija cheese",
"plural_name": "queso cotija" "plural_name": "cotija cheese"
}, },
"asiago cheese": { "asiago cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso asiago", "name": "asiago cheese",
"plural_name": "asiago" "plural_name": "asiago cheese"
}, },
"smoked cheese": { "smoked cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso ahumado", "name": "smoked cheese",
"plural_name": "queso ahumado" "plural_name": "smoked cheese"
}, },
"halloumi cheese": { "halloumi cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso halloumi", "name": "halloumi cheese",
"plural_name": "queso halloumi" "plural_name": "halloumi cheese"
}, },
"chevre cheese": { "chevre cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso de cabra", "name": "chevre cheese",
"plural_name": "queso de cabra" "plural_name": "chevre cheese"
}, },
"manchego cheese": { "manchego cheese": {
"aliases": [], "aliases": [],
@@ -2211,98 +2211,98 @@
"italian cheese blend": { "italian cheese blend": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mezcla de quesos italianos", "name": "italian cheese blend",
"plural_name": "mezcla de quesos italianos" "plural_name": "italian cheese blend"
}, },
"neufchatel cheese": { "neufchatel cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso neufchâtel", "name": "neufchatel cheese",
"plural_name": "queso neufchâtel" "plural_name": "neufchatel cheese"
}, },
"herb cream cheese": { "herb cream cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso crema con hierbas", "name": "herb cream cheese",
"plural_name": "queso crema con hierbas" "plural_name": "herb cream cheese"
}, },
"burrata cheese": { "burrata cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso burrata", "name": "burrata cheese",
"plural_name": "queso burrata" "plural_name": "burrata cheese"
}, },
"havarti cheese": { "havarti cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso harvarti", "name": "queso harvarti",
"plural_name": "queso havarti" "plural_name": "havarti cheese"
}, },
"colby cheese": { "colby cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso havarti", "name": "colby cheese",
"plural_name": "queso colby" "plural_name": "colby cheese"
}, },
"grana-padano cheese": { "grana-padano cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso Grana Padano", "name": "grana-padano cheese",
"plural_name": "queso Grana Padano" "plural_name": "grana-padano cheese"
}, },
"muenster cheese": { "muenster cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso muenster", "name": "muenster cheese",
"plural_name": "queso muenster" "plural_name": "muenster cheese"
}, },
"string cheese": { "string cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso en tiras", "name": "string cheese",
"plural_name": "queso en tiras" "plural_name": "string cheese"
}, },
"camembert cheese": { "camembert cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso camembert", "name": "camembert cheese",
"plural_name": "queso camembert" "plural_name": "camembert cheese"
}, },
"soft cheese": { "soft cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso blando", "name": "soft cheese",
"plural_name": "queso blando" "plural_name": "soft cheese"
}, },
"stilton cheese": { "stilton cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso de stilton", "name": "stilton cheese",
"plural_name": "queso de stilton" "plural_name": "stilton cheese"
}, },
"raclette cheese": { "raclette cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso de raclette", "name": "raclette cheese",
"plural_name": "queso de raclette" "plural_name": "raclette cheese"
}, },
"colby-jack cheese": { "colby-jack cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso colby-jack", "name": "colby-jack cheese",
"plural_name": "queso colby-jack" "plural_name": "colby-jack cheese"
}, },
"jarlsberg cheese": { "jarlsberg cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso jarlsberg", "name": "jarlsberg cheese",
"plural_name": "queso jarlsberg" "plural_name": "jarlsberg cheese"
}, },
"taleggio cheese": { "taleggio cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso taleggio", "name": "taleggio cheese",
"plural_name": "queso taleggio" "plural_name": "taleggio cheese"
}, },
"oaxaca cheese": { "oaxaca cheese": {
"aliases": [], "aliases": [],
@@ -2313,73 +2313,73 @@
"labneh cheese": { "labneh cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso labneh", "name": "labneh cheese",
"plural_name": "queso labneh" "plural_name": "labneh cheese"
}, },
"edam cheese": { "edam cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso edam", "name": "edam cheese",
"plural_name": "queso edam" "plural_name": "edam cheese"
}, },
"creamy cheese wedge": { "creamy cheese wedge": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "cuña de queso cremoso", "name": "creamy cheese wedge",
"plural_name": "cuñas de queso cremoso" "plural_name": "creamy cheese wedges"
}, },
"cheese powder cheese": { "cheese powder cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso en polvo", "name": "cheese powder cheese",
"plural_name": "queso en polvo" "plural_name": "cheese powder cheese"
}, },
"fromage blanc cheese": { "fromage blanc cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso fromage blanc", "name": "fromage blanc cheese",
"plural_name": "queso fromage blanc" "plural_name": "fromage blanc cheese"
}, },
"asadero cheese": { "asadero cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso asadero", "name": "asadero cheese",
"plural_name": "queso asadero" "plural_name": "asadero cheese"
}, },
"marble cheese": { "marble cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso veteado", "name": "marble cheese",
"plural_name": "queso veteado" "plural_name": "marble cheese"
}, },
"leicester cheese": { "leicester cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso leicester", "name": "leicester cheese",
"plural_name": "queso leicester" "plural_name": "leicester cheese"
}, },
"kefalotyri cheese": { "kefalotyri cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso kefalotyri", "name": "kefalotyri cheese",
"plural_name": "queso kefalotyri" "plural_name": "kefalotyri cheese"
}, },
"mizithra cheese": { "mizithra cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "mizithra cheese", "name": "mizithra cheese",
"plural_name": "queso mizithra" "plural_name": "mizithra cheese"
}, },
"lancashire cheese": { "lancashire cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso Lancashire", "name": "lancashire cheese",
"plural_name": "queso Lancashire" "plural_name": "lancashire cheese"
}, },
"kasseri cheese": { "kasseri cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso kasseri", "name": "kasseri cheese",
"plural_name": "kasseri cheese" "plural_name": "kasseri cheese"
}, },
"babybel cheese": { "babybel cheese": {
@@ -2457,8 +2457,8 @@
"hard goat cheese": { "hard goat cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso de cabra curado", "name": "hard goat cheese",
"plural_name": "quesos de cabra curados" "plural_name": "hard goat cheese"
}, },
"kashkaval cheese": { "kashkaval cheese": {
"aliases": [], "aliases": [],
@@ -2523,92 +2523,92 @@
"queso quesadilla cheese": { "queso quesadilla cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso quesadilla", "name": "queso quesadilla cheese",
"plural_name": "queso quesadilla" "plural_name": "queso quesadilla cheese"
}, },
"caciocavallo cheese": { "caciocavallo cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso caciocavallo", "name": "caciocavallo cheese",
"plural_name": "queso caciocavallo" "plural_name": "caciocavalloe cheese"
}, },
"requeijão cheese": { "requeijão cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso requeijão", "name": "requeijão cheese",
"plural_name": "queso requeijão" "plural_name": "requeijãoe cheese"
}, },
"vacherin cheese": { "vacherin cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso vacherin", "name": "vacherin cheese",
"plural_name": "queso vacherin" "plural_name": "vacherin cheese"
}, },
"brown cheese": { "brown cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso castaño", "name": "brown cheese",
"plural_name": "queso castaño" "plural_name": "brown cheese"
}, },
"gloucester cheese": { "gloucester cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso Gloucester", "name": "gloucester cheese",
"plural_name": "queso Gloucester" "plural_name": "gloucester cheese"
}, },
"port salut cheese": { "port salut cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso port salut", "name": "port salut cheese",
"plural_name": "queso port salut" "plural_name": "port salut cheese"
}, },
"derby cheese": { "derby cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso derby", "name": "derby cheese",
"plural_name": "queso derby" "plural_name": "derby cheese"
}, },
"fontal cheese": { "fontal cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso fontal", "name": "fontal cheese",
"plural_name": "queso fontal" "plural_name": "fontal cheese"
}, },
"salad cheese": { "salad cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso de ensalada", "name": "salad cheese",
"plural_name": "queso de ensalada" "plural_name": "salad cheese"
}, },
"truffle cheese": { "truffle cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso trufado", "name": "truffle cheese",
"plural_name": "queso trufado" "plural_name": "truffle cheese"
}, },
"epoisses cheese": { "epoisses cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso époisses", "name": "epoisses cheese",
"plural_name": "queso époisses" "plural_name": "epoisses cheese"
}, },
"maasdam cheese": { "maasdam cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso maasdam", "name": "maasdam cheese",
"plural_name": "queso maasdam" "plural_name": "maasdam cheese"
}, },
"petit-suisse cheese": { "petit-suisse cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso petit-suisse", "name": "petit-suisse cheese",
"plural_name": "queso petit-suisse" "plural_name": "petit-suisse cheese"
}, },
"sbrinz cheese": { "sbrinz cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso sbrinz", "name": "sbrinz cheese",
"plural_name": "queso sbrinz" "plural_name": "sbrinz cheese"
} }
} }
}, },
@@ -2973,8 +2973,8 @@
"strawberry cream cheese": { "strawberry cream cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso crema con frutilla", "name": "strawberry cream cheese",
"plural_name": "queso crema con frutilla" "plural_name": "strawberry cream cheese"
}, },
"goat butter": { "goat butter": {
"aliases": [], "aliases": [],
@@ -3223,8 +3223,8 @@
"vegan cheese": { "vegan cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso vegano", "name": "vegan cheese",
"plural_name": "queso vegano" "plural_name": "vegan cheese"
}, },
"cashew butter": { "cashew butter": {
"aliases": [], "aliases": [],
@@ -3241,8 +3241,8 @@
"vegan cream cheese": { "vegan cream cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso crema vegano", "name": "vegan cream cheese",
"plural_name": "queso crema vegano" "plural_name": "vegan cream cheese"
}, },
"coconut yogurt": { "coconut yogurt": {
"aliases": [], "aliases": [],
@@ -3553,8 +3553,8 @@
"vegan cream cheese frosting": { "vegan cream cheese frosting": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "glaseado de queso crema vegano", "name": "vegan cream cheese frosting",
"plural_name": "glaseados de queso crema vegano" "plural_name": "vegan cream cheese frostings"
}, },
"coconut manna": { "coconut manna": {
"aliases": [], "aliases": [],
@@ -3583,8 +3583,8 @@
"cashew cheese sauce": { "cashew cheese sauce": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "salsa de queso cajuil", "name": "cashew cheese sauce",
"plural_name": "salsa de queso cajuil" "plural_name": "cashew cheese sauce"
}, },
"coconut fat": { "coconut fat": {
"aliases": [], "aliases": [],
@@ -3637,8 +3637,8 @@
"cashew cream cheese": { "cashew cream cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso crema cajuil", "name": "cashew cream cheese",
"plural_name": "queso crema cajuil" "plural_name": "cashew cream cheese"
}, },
"cricket flour": { "cricket flour": {
"aliases": [], "aliases": [],
@@ -8008,8 +8008,8 @@
"coffee bean": { "coffee bean": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "grano de café", "name": "coffee bean",
"plural_name": "granos de café" "plural_name": "coffee beans"
}, },
"toffee bit": { "toffee bit": {
"aliases": [], "aliases": [],
@@ -9576,8 +9576,8 @@
"cheese tortellini": { "cheese tortellini": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "tortellini con queso", "name": "cheese tortellini",
"plural_name": "tortellini con queso" "plural_name": "cheese tortellinis"
}, },
"rice noodle": { "rice noodle": {
"aliases": [], "aliases": [],
@@ -9696,8 +9696,8 @@
"mac 'n cheese": { "mac 'n cheese": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "macarrones con queso", "name": "mac 'n cheese",
"plural_name": "macaroones con queso" "plural_name": "mac 'n cheese"
}, },
"penne rigate": { "penne rigate": {
"aliases": [], "aliases": [],
@@ -11172,8 +11172,8 @@
"blue cheese dressing": { "blue cheese dressing": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "aderezo de queso azul", "name": "blue cheese dressing",
"plural_name": "aderezo de queso azul" "plural_name": "blue cheese dressing"
}, },
"caesar dressing": { "caesar dressing": {
"aliases": [], "aliases": [],
@@ -12902,8 +12902,8 @@
"cheese dip": { "cheese dip": {
"aliases": [], "aliases": [],
"description": "", "description": "",
"name": "queso fundido", "name": "cheese dip",
"plural_name": "queso fundido" "plural_name": "cheese dip"
}, },
"black bean sauce": { "black bean sauce": {
"aliases": [], "aliases": [],

File diff suppressed because it is too large Load Diff

View File

@@ -9,13 +9,13 @@ dependencies = [
"Jinja2==3.1.6", "Jinja2==3.1.6",
"Pillow==12.2.0", "Pillow==12.2.0",
"PyYAML==6.0.3", "PyYAML==6.0.3",
"SQLAlchemy==2.0.50", "SQLAlchemy==2.0.51",
"aiofiles==25.1.0", "aiofiles==25.1.0",
"alembic==1.18.4", "alembic==1.18.4",
"apprise==1.11.0", "apprise==1.11.0",
"bcrypt==5.0.0", "bcrypt==5.0.0",
"extruct==0.18.0", "extruct==0.18.0",
"fastapi==0.136.3", "fastapi==0.137.1",
"httpx==0.28.1", "httpx==0.28.1",
"lxml==6.1.1", "lxml==6.1.1",
"orjson==3.11.9", "orjson==3.11.9",
@@ -37,7 +37,7 @@ dependencies = [
"authlib==1.7.2", "authlib==1.7.2",
"html2text==2025.4.15", "html2text==2025.4.15",
"paho-mqtt==1.6.1", "paho-mqtt==1.6.1",
"pydantic-settings==2.14.1", "pydantic-settings==2.14.2",
"pillow-heif==1.4.0", "pillow-heif==1.4.0",
"pyjwt==2.13.0", "pyjwt==2.13.0",
"openai==2.41.1", "openai==2.41.1",
@@ -67,8 +67,8 @@ dev = [
"mkdocs-material==9.7.6", "mkdocs-material==9.7.6",
"mypy==2.1.0", "mypy==2.1.0",
"pre-commit==4.6.0", "pre-commit==4.6.0",
"pylint==4.0.5", "pylint==4.0.6",
"pytest==9.0.3", "pytest==9.1.0",
"pytest-asyncio==1.4.0", "pytest-asyncio==1.4.0",
"rich==15.0.0", "rich==15.0.0",
"ruff==0.15.17", "ruff==0.15.17",

46
uv.lock generated
View File

@@ -431,7 +431,7 @@ wheels = [
[[package]] [[package]]
name = "fastapi" name = "fastapi"
version = "0.136.3" version = "0.137.1"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "annotated-doc" }, { name = "annotated-doc" },
@@ -440,9 +440,9 @@ dependencies = [
{ name = "typing-extensions" }, { name = "typing-extensions" },
{ name = "typing-inspection" }, { name = "typing-inspection" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/81/2d/ff8d91d7b564d464629a0fd50a4489c97fcb836ac230bf3a7269232a9b1f/fastapi-0.136.3.tar.gz", hash = "sha256:e487fae93ad408e6f47641ee4dfe389864fd7bec92e547ea8498fc13f43e83ab", size = 396410, upload-time = "2026-05-23T18:53:15.192Z" } sdist = { url = "https://files.pythonhosted.org/packages/d5/b1/e5b92c59d2c37817e77c1a8c2fc1f79cdcc04c68253e5406b43e3204cba7/fastapi-0.137.1.tar.gz", hash = "sha256:822360704230d9533d8d9475399613525968aa2f0b5bd2a3ccc9f18c88fd541c", size = 408293, upload-time = "2026-06-15T11:28:20.79Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/e0/82/45359b62a067409bd929ae8a56b8ed13e5a8c8a61194b3c236920999ab83/fastapi-0.136.3-py3-none-any.whl", hash = "sha256:3d2a69bdf04b7e9f3afa292c3bc7a98816bbfafa10bc9b45f3f3700d2f761620", size = 117481, upload-time = "2026-05-23T18:53:16.924Z" }, { url = "https://files.pythonhosted.org/packages/da/35/380b9a5922f4340e51c309cde09e5bd32e62f02302971bee30dc15aa0624/fastapi-0.137.1-py3-none-any.whl", hash = "sha256:64f6983c59e45c4b9fdc44e57cb8035c2451ee91ea8e8ec042aca37de7cf6b69", size = 121877, upload-time = "2026-06-15T11:28:19.523Z" },
] ]
[[package]] [[package]]
@@ -967,7 +967,7 @@ requires-dist = [
{ name = "bcrypt", specifier = "==5.0.0" }, { name = "bcrypt", specifier = "==5.0.0" },
{ name = "beautifulsoup4", specifier = "==4.15.0" }, { name = "beautifulsoup4", specifier = "==4.15.0" },
{ name = "extruct", specifier = "==0.18.0" }, { name = "extruct", specifier = "==0.18.0" },
{ name = "fastapi", specifier = "==0.136.3" }, { name = "fastapi", specifier = "==0.137.1" },
{ name = "html2text", specifier = "==2025.4.15" }, { name = "html2text", specifier = "==2025.4.15" },
{ name = "httpx", specifier = "==0.28.1" }, { name = "httpx", specifier = "==0.28.1" },
{ name = "httpx-curl-cffi", specifier = "==0.1.5" }, { name = "httpx-curl-cffi", specifier = "==0.1.5" },
@@ -996,7 +996,7 @@ requires-dist = [
{ name = "rapidfuzz", specifier = "==3.14.5" }, { name = "rapidfuzz", specifier = "==3.14.5" },
{ name = "recipe-scrapers", specifier = "==15.11.0" }, { name = "recipe-scrapers", specifier = "==15.11.0" },
{ name = "requests", specifier = "==2.34.2" }, { name = "requests", specifier = "==2.34.2" },
{ name = "sqlalchemy", specifier = "==2.0.50" }, { name = "sqlalchemy", specifier = "==2.0.51" },
{ name = "text-unidecode", specifier = "==1.3" }, { name = "text-unidecode", specifier = "==1.3" },
{ name = "typing-extensions", specifier = "==4.15.0" }, { name = "typing-extensions", specifier = "==4.15.0" },
{ name = "tzdata", specifier = "==2026.2" }, { name = "tzdata", specifier = "==2026.2" },
@@ -1014,8 +1014,8 @@ dev = [
{ name = "mypy", specifier = "==2.1.0" }, { name = "mypy", specifier = "==2.1.0" },
{ name = "pre-commit", specifier = "==4.6.0" }, { name = "pre-commit", specifier = "==4.6.0" },
{ name = "pydantic-to-typescript2", specifier = "==1.0.6" }, { name = "pydantic-to-typescript2", specifier = "==1.0.6" },
{ name = "pylint", specifier = "==4.0.5" }, { name = "pylint", specifier = "==4.0.6" },
{ name = "pytest", specifier = "==9.0.3" }, { name = "pytest", specifier = "==9.1.0" },
{ name = "pytest-asyncio", specifier = "==1.4.0" }, { name = "pytest-asyncio", specifier = "==1.4.0" },
{ name = "rich", specifier = "==15.0.0" }, { name = "rich", specifier = "==15.0.0" },
{ name = "ruff", specifier = "==0.15.17" }, { name = "ruff", specifier = "==0.15.17" },
@@ -1513,7 +1513,7 @@ wheels = [
[[package]] [[package]]
name = "pylint" name = "pylint"
version = "4.0.5" version = "4.0.6"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "astroid" }, { name = "astroid" },
@@ -1524,9 +1524,9 @@ dependencies = [
{ name = "platformdirs" }, { name = "platformdirs" },
{ name = "tomlkit" }, { name = "tomlkit" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/e4/b6/74d9a8a68b8067efce8d07707fe6a236324ee1e7808d2eb3646ec8517c7d/pylint-4.0.5.tar.gz", hash = "sha256:8cd6a618df75deb013bd7eb98327a95f02a6fb839205a6bbf5456ef96afb317c", size = 1572474, upload-time = "2026-02-20T09:07:33.621Z" } sdist = { url = "https://files.pythonhosted.org/packages/7d/1d/3bb57f303701549550d74bf7ced2b07412be97125c167a0c9d216aa9f762/pylint-4.0.6.tar.gz", hash = "sha256:52f19191bee08bf103f9705ad1a0ece4aa5a0a4ef2bdcbd969375a1e6f6579d5", size = 1585588, upload-time = "2026-06-14T14:43:26.772Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/d5/6f/9ac2548e290764781f9e7e2aaf0685b086379dabfb29ca38536985471eaf/pylint-4.0.5-py3-none-any.whl", hash = "sha256:00f51c9b14a3b3ae08cff6b2cdd43f28165c78b165b628692e428fb1f8dc2cf2", size = 536694, upload-time = "2026-02-20T09:07:31.028Z" }, { url = "https://files.pythonhosted.org/packages/ab/da/acb2e7d4dbd2dfb792d38c0d850481f29ad7049b356d23f56c687d35203b/pylint-4.0.6-py3-none-any.whl", hash = "sha256:d11a0e1fdb7b1cd46ec5d6fc78fee8b95f28695b2d6140e5809925f61e32ea54", size = 538389, upload-time = "2026-06-14T14:43:24.873Z" },
] ]
[[package]] [[package]]
@@ -1567,7 +1567,7 @@ wheels = [
[[package]] [[package]]
name = "pytest" name = "pytest"
version = "9.0.3" version = "9.1.0"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" }, { name = "colorama", marker = "sys_platform == 'win32'" },
@@ -1576,9 +1576,9 @@ dependencies = [
{ name = "pluggy" }, { name = "pluggy" },
{ name = "pygments" }, { name = "pygments" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", size = 1572165, upload-time = "2026-04-07T17:16:18.027Z" } sdist = { url = "https://files.pythonhosted.org/packages/84/0e/b5858858d74958632c49b72cb25a3976ff9f632397626715be71c89d3971/pytest-9.1.0.tar.gz", hash = "sha256:41dd9148c08072446394cefd3d79701701335a9f4cae69ba92e39f6c7f5c061c", size = 1634181, upload-time = "2026-06-13T18:52:45.983Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, { url = "https://files.pythonhosted.org/packages/8b/5a/ba30a81239b909821b3153e303e7def45178bf353da4f72380e6c5e8793b/pytest-9.1.0-py3-none-any.whl", hash = "sha256:8ebb0e7888bdf2bdfc602ec51f8f62d50200af37356c74e503c79a94f5c81f32", size = 386453, upload-time = "2026-06-13T18:52:44.045Z" },
] ]
[[package]] [[package]]
@@ -1853,22 +1853,22 @@ wheels = [
[[package]] [[package]]
name = "sqlalchemy" name = "sqlalchemy"
version = "2.0.50" version = "2.0.51"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" },
{ name = "typing-extensions" }, { name = "typing-extensions" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/57/da/6fbf010c8ebb347679d0d100b22fe9ba5e13fd04046c5df7280d2f0bf706/sqlalchemy-2.0.50.tar.gz", hash = "sha256:af5607d11ef90fd6a5c0549fe0045dce1663d427426bcfb506dcb5346a85a3b9", size = 9907424, upload-time = "2026-05-24T19:20:04.018Z" } sdist = { url = "https://files.pythonhosted.org/packages/02/f1/a7a892f18d4d224e6b26f706531eafccc41e37594d37d304786969ee13cb/sqlalchemy-2.0.51.tar.gz", hash = "sha256:804dccd8a4a6242c4e30ad961e540e18a588f6527202f2d6791b01845d59fdc9", size = 9912201, upload-time = "2026-06-15T15:41:20.012Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/be/b0/a9d19b43f38f878b1278bca5b00b909f7540d41494396dd2561f9ad0956d/sqlalchemy-2.0.50-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae23d8b9d344d30d0a92f06d45825024a5790f1c1dd4cf452636a50d3e58cb", size = 2159807, upload-time = "2026-05-24T19:27:53.086Z" }, { url = "https://files.pythonhosted.org/packages/d5/70/e868bc5412acd101a8280f25c95f10eeae0771c4eb806b02491142810ee8/sqlalchemy-2.0.51-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d78702b26ba1c18b2d0fb2ea940ba7f17a9581b42e8361ff93920ebbee1235a", size = 2160291, upload-time = "2026-06-15T16:08:48.918Z" },
{ url = "https://files.pythonhosted.org/packages/f5/2c/191dd58a248fd2cfd4780fa82c375c505e4ad98c8b522fa69ec492130d77/sqlalchemy-2.0.50-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:47b71b933e7b4ebad407c8fdfd70d2c4f08b78b3238bb30eebdd6eb32ca51b89", size = 3343358, upload-time = "2026-05-24T20:09:29.279Z" }, { url = "https://files.pythonhosted.org/packages/e5/1c/71ee0f8a6b9d7316a1ccd30430b4c62b6c2e36adc96017a4e3a72dce49d6/sqlalchemy-2.0.51-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581921d849d6e6f994d560389192955e80e2950e18fcdfe2ccea863e01158e6e", size = 3343835, upload-time = "2026-06-15T16:19:42.613Z" },
{ url = "https://files.pythonhosted.org/packages/8a/2b/514fce8a7df81cf5bad7ff7865de7ac0c5776a38cc043475c4703eb7fe8b/sqlalchemy-2.0.50-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:110fdac56ace278949f00de805edacbd6141e382d992f9ba28238b3a0827a600", size = 3357994, upload-time = "2026-05-24T20:17:13.495Z" }, { url = "https://files.pythonhosted.org/packages/2b/7c/7ab9f9aadc5944fdd06612484ed7918fe376ad871a5f50404dc1536e0194/sqlalchemy-2.0.51-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1d21ce524ab86c23046e992a5b81cb54c21079c6df6e78b8fc77d77cac70a6b9", size = 3358470, upload-time = "2026-06-15T16:26:38.011Z" },
{ url = "https://files.pythonhosted.org/packages/35/a6/a0e283f5494f92b0d77e319ff77e437b1ffe4a051ba67c81d53234825475/sqlalchemy-2.0.50-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0f5e4ac70e9e757f6b3e87c0491ff034442ecd8dfd36d041a50564c322dafc0e", size = 3289399, upload-time = "2026-05-24T20:09:32.239Z" }, { url = "https://files.pythonhosted.org/packages/d0/7d/ff77169fee6186de145a7f2b87006c39638391130abbab2b1f63ac6ea583/sqlalchemy-2.0.51-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c5d98a2709840027f5a347c3af0a7c3d5f6c1ff93af2ca1c54494e23cba8f389", size = 3289874, upload-time = "2026-06-15T16:19:45.212Z" },
{ url = "https://files.pythonhosted.org/packages/b7/96/1b07325ba71752d6a028b77d07bed1483ad545f794e8b1dc89b3ba3b3c68/sqlalchemy-2.0.50-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:724f3dcbe53dd0151e3cb5e7ec4ba4c620bede579caacd16275dc35ce06e8615", size = 3321216, upload-time = "2026-05-24T20:17:15.581Z" }, { url = "https://files.pythonhosted.org/packages/6f/3b/6c505903710d781b55bc3141ee34a062bf9745a6b5bc7333305b9ed63b33/sqlalchemy-2.0.51-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1181256e0f16479691b5616d36375dc2620ad8332b25978763c3d206ad3f3f1d", size = 3321692, upload-time = "2026-06-15T16:26:39.747Z" },
{ url = "https://files.pythonhosted.org/packages/ed/8e/bad6ed253e8a99edfc99af02f7173ec48a1d3ed1b9b35a1b8bc1700900cc/sqlalchemy-2.0.50-cp312-cp312-win32.whl", hash = "sha256:1208050441471d003b7c8cb4054fb084f185cf35ac3f0ea270803865bca9939a", size = 2119194, upload-time = "2026-05-24T19:50:04.943Z" }, { url = "https://files.pythonhosted.org/packages/3c/b7/c5ffe50aa2f4d947c9250e1519d939260329a07fe6272edfccd784b3d007/sqlalchemy-2.0.51-cp312-cp312-win32.whl", hash = "sha256:9f380393be5abeb6815f68fd39271b95127173511b6706b0a630a9995d53f8f5", size = 2119674, upload-time = "2026-06-15T16:23:09.543Z" },
{ url = "https://files.pythonhosted.org/packages/b6/2d/314a6690dda4b9cfc571eab1a63cf6fe6e1470aa3759ccda6aa016ee0f5a/sqlalchemy-2.0.50-cp312-cp312-win_amd64.whl", hash = "sha256:9d1af51558029a156a70986b7df88f042b3d158d7c8d8fb5072912d4b32d89c7", size = 2146186, upload-time = "2026-05-24T19:50:06.74Z" }, { url = "https://files.pythonhosted.org/packages/25/dc/46a65916af68a06ef6b972c6050ba4c8f97070fe3fb33097d34229d9bef6/sqlalchemy-2.0.51-cp312-cp312-win_amd64.whl", hash = "sha256:2cf39aabdf48e87c1c2c2ed6d20d33ffa0733b3071ce9c5f66357947dd009080", size = 2146670, upload-time = "2026-06-15T16:23:11.048Z" },
{ url = "https://files.pythonhosted.org/packages/d0/10/f7220e9b784d295d241c86ed99aeb537f92afcd469a64861f2717e9bb077/sqlalchemy-2.0.50-py3-none-any.whl", hash = "sha256:92064363517a3ff8212b5a93b8c62876579d8dfd1ca5b561335f30152d884fa9", size = 1943861, upload-time = "2026-05-24T19:59:01.119Z" }, { url = "https://files.pythonhosted.org/packages/e2/22/dbf013a12ec759e54a34a119e9e217435b3f71b2dd5c61a7ade0a25dae87/sqlalchemy-2.0.51-py3-none-any.whl", hash = "sha256:bb024d8b621d0be75f4f44ecc7c950450026e76d66dc8f791bb5331d7fed59d5", size = 1944334, upload-time = "2026-06-15T16:09:22.418Z" },
] ]
[[package]] [[package]]