Merge branch 'mealie-next' into mealie-next

This commit is contained in:
Kuchenpirat 2025-07-08 13:07:04 +02:00 committed by GitHub
commit 5e5818f7ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 976 additions and 981 deletions

View file

@ -12,7 +12,7 @@ repos:
exclude: ^tests/data/
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.12.1
rev: v0.12.2
hooks:
- id: ruff
- id: ruff-format

View file

@ -76,7 +76,7 @@ export const LOCALES = [{% for locale in locales %}
progress: {{ locale.progress }},
dir: "{{ locale.dir }}",
},{% endfor %}
]
];
"""

View file

@ -2,7 +2,6 @@
<v-tooltip
ref="copyToolTip"
v-model="show"
:color="copied? 'success-lighten-1' : 'red-lighten-1'"
top
:open-on-hover="false"
:open-on-click="true"
@ -24,15 +23,12 @@
{{ icon ? "" : $t("general.copy") }}
</v-btn>
</template>
<span>
<v-icon
start
dark
>
<span v-if="!isSupported || copiedSuccess !== null">
<v-icon start>
{{ $globals.icons.clipboardCheck }}
</v-icon>
<slot v-if="!isSupported"> {{ $t("general.your-browser-does-not-support-clipboard") }} </slot>
<slot v-else> {{ copied ? $t("general.copied_message") : $t("general.clipboard-copy-failure") }} </slot>
<slot v-else> {{ copiedSuccess ? $t("general.copied_message") : $t("general.clipboard-copy-failure") }} </slot>
</span>
</v-tooltip>
</template>
@ -63,19 +59,18 @@ export default defineNuxtComponent({
const { copy, copied, isSupported } = useClipboard();
const show = ref(false);
const copyToolTip = ref<VTooltip | null>(null);
function toggleBlur() {
copyToolTip.value?.deactivate();
}
const copiedSuccess = ref<boolean | null>(null);
async function textToClipboard() {
if (isSupported.value) {
await copy(props.copyText);
if (copied.value) {
console.log(`Copied\n${props.copyText}`);
copiedSuccess.value = true;
console.info(`Copied\n${props.copyText}`);
}
else {
console.warn("Copy failed: ", copied.value);
copiedSuccess.value = false;
console.error("Copy failed: ", copied.value);
}
}
else {
@ -84,8 +79,8 @@ export default defineNuxtComponent({
show.value = true;
setTimeout(() => {
toggleBlur();
}, 500);
show.value = false;
}, 3000);
}
return {
@ -94,6 +89,7 @@ export default defineNuxtComponent({
textToClipboard,
copied,
isSupported,
copiedSuccess,
};
},
});

View file

@ -45,7 +45,7 @@ export const LOCALES = [
{
name: "Slovenščina (Slovenian)",
value: "sl-SI",
progress: 37,
progress: 39,
dir: "ltr",
},
{
@ -93,7 +93,7 @@ export const LOCALES = [
{
name: "Nederlands (Dutch)",
value: "nl-NL",
progress: 37,
progress: 39,
dir: "ltr",
},
{
@ -213,7 +213,7 @@ export const LOCALES = [
{
name: "Deutsch (German)",
value: "de-DE",
progress: 37,
progress: 39,
dir: "ltr",
},
{
@ -252,4 +252,4 @@ export const LOCALES = [
progress: 26,
dir: "ltr",
},
]
];

View file

@ -599,7 +599,7 @@
"create-recipe-from-an-image": "Rezept von einem Bild erstellen",
"create-recipe-from-an-image-description": "Erstelle ein Rezept, indem du ein Bild hochlädst. Mealie wird versuchen, den Text aus dem Bild mit Hilfe von KI zu extrahieren und ein Rezept daraus zu erstellen.",
"crop-and-rotate-the-image": "Beschneide und drehe das Bild so, dass nur der Text zu sehen ist und die Ausrichtung stimmt.",
"create-from-images": "Create from Images",
"create-from-images": "Aus Bildern erstellen",
"should-translate-description": "Übersetze das Rezept in meine Sprache",
"please-wait-image-procesing": "Warte bitte, das Bild wird gerade bearbeitet. Dies kann einige Zeit dauern.",
"please-wait-images-processing": "Bitte warten, die Bilder werden verarbeitet. Dies kann einige Zeit dauern.",

View file

@ -45,7 +45,7 @@
"category-filter": "סינון קטגוריות",
"category-update-failed": "עדכון קטגוריה נכשל",
"category-updated": "קטגוריה עודכנה",
"uncategorized-count": "{count} לא קוטלגו",
"uncategorized-count": "{count} לא קיבלו קטגוריה",
"create-a-category": "יצירת קטגוריה",
"category-name": "שם קטגוריה",
"category": "קטגוריה"
@ -60,17 +60,17 @@
"new-notification-form-description": "Mקשךןק עושה שימוש בספריה בשם Apprise לשליחת התראות. Apprise מציעה אפשרויות רבות עבור התראות לבעלי שירותים. פנה לאתר הWiki של Apprise להסבר מלא על יצירת לינקים לשירות שלך.",
"new-version": "גרסה חדשה זמינה!",
"notification": "התראה",
"refresh": "רענן",
"refresh": "רענון",
"scheduled": "מתוזמן",
"something-went-wrong": "משהו השתבש!",
"subscribed-events": "אירועים שנרשמת אליהם",
"test-message-sent": "הודעת בדיקה נשלחה",
"message-sent": "ההודעה נשלחה",
"new-notification": "התראה חדשה",
"event-notifiers": "אירועי נוטיפיקציות",
"event-notifiers": "מנגנוני התרעה על אירועים",
"apprise-url-skipped-if-blank": "כתובת Apprise (דלג אם ריק)",
"enable-notifier": "אישור נוטיפיקציות",
"what-events": "לאילו אירועים להרשם בערוץ התראות זה?",
"enable-notifier": "הפעלת מתריע",
"what-events": "לאילו אירועים לרשום את מתריע זה?",
"user-events": "אירועי משתמש",
"mealplan-events": "אירועי תכנון ארוחות",
"when-a-user-in-your-group-creates-a-new-mealplan": "כאשר משתמש בקבוצה שלך יוצר תכנון ארוחות חדש",
@ -599,10 +599,10 @@
"create-recipe-from-an-image": "יצירת מתכון מתמונה",
"create-recipe-from-an-image-description": "יצירת מתכון ע\"י העלאת תמונה שלו. Mealie תנסה לחלץ את הטקסט מהתמונה באמצעות AI ותייצר ממנו מתכון.",
"crop-and-rotate-the-image": "נא לחתוך ולסובב את התמונה כך שרואים רק את הטקסט, והוא בכיוון הנכון.",
"create-from-images": "Create from Images",
"create-from-images": "יצירה מתמונה",
"should-translate-description": "תרגום המתכון לשפה שלי",
"please-wait-image-procesing": "נה להמתין, התמונה עוברת עיבוץ. זה יכול לקחת זמן.",
"please-wait-images-processing": "Please wait, the images are processing. This may take some time.",
"please-wait-images-processing": "נא להמתין, מנתח את התמונות. זה יכול לקחת זמן מה.",
"bulk-url-import": "ייבוא מספר לינקים",
"debug-scraper": "סורק לניפוי שגיאות",
"create-a-recipe-by-providing-the-name-all-recipes-must-have-unique-names": "יצירת מתכון באמצעות שם. כל שמות המתכונים צריכים להיות שונים.",
@ -662,9 +662,9 @@
},
"reset-servings-count": "איפוס מספר המנות",
"not-linked-ingredients": "מרכיבים נוספים",
"upload-another-image": "Upload another image",
"upload-images": "Upload images",
"upload-more-images": "Upload more images"
"upload-another-image": "העלאת תמונה נוספת",
"upload-images": "העלאת תמונות",
"upload-more-images": "העלאת תמונות נוספות"
},
"recipe-finder": {
"recipe-finder": "מצא מתכון",
@ -1342,7 +1342,7 @@
"manage-cookbooks": "ניהול ספרי בישול",
"manage-members": "ניהול משתמשים",
"manage-webhooks": "ניהול Webhooks",
"manage-notifiers": "ניהול ערוצי התראות",
"manage-notifiers": "ניהול מתריעים",
"manage-data-migrations": "ניהול מיגרציות מידע"
},
"cookbook": {

View file

@ -4,10 +4,9 @@ from logging import Logger
from pathlib import Path
from PIL import Image, ImageOps
from pillow_heif import register_avif_opener, register_heif_opener
from pillow_heif import register_heif_opener
register_heif_opener()
register_avif_opener()
@dataclass

File diff suppressed because it is too large Load diff

View file

@ -94,153 +94,153 @@
"spinach": {
"aliases": [],
"description": "",
"name": "spinach",
"plural_name": "spinaches"
"name": "spinazie",
"plural_name": "spinazie"
},
"sweet corn": {
"aliases": [],
"description": "",
"name": "sweet corn",
"plural_name": "sweet corns"
"name": "zoete maïs",
"plural_name": "zoete maïs"
},
"chile pepper": {
"aliases": [
"capsicum"
"paprika"
],
"description": "",
"name": "chile pepper",
"plural_name": "chile peppers"
"name": "chili peper",
"plural_name": "chilipepers"
},
"sweet potato": {
"aliases": [],
"description": "",
"name": "sweet potato",
"plural_name": "sweet potatoes"
"name": "zoete aardappel",
"plural_name": "zoete aardappelen"
},
"broccoli": {
"aliases": [],
"description": "",
"name": "broccoli",
"plural_name": "broccolis"
"plural_name": "broccoli"
},
"heart of palm": {
"aliases": [],
"description": "",
"name": "heart of palm",
"plural_name": "heart of palms"
"name": "palmhart",
"plural_name": "palmharten"
},
"baby green": {
"aliases": [],
"description": "",
"name": "baby green",
"plural_name": "baby greens"
"name": "baby groen",
"plural_name": "baby groen"
},
"pumpkin": {
"aliases": [],
"description": "",
"name": "pumpkin",
"plural_name": "pumpkins"
"name": "pompoen",
"plural_name": "pompoenen"
},
"cauliflower": {
"aliases": [],
"description": "",
"name": "cauliflower",
"plural_name": "cauliflowers"
"name": "bloemkool",
"plural_name": "bloemkolen"
},
"cabbage": {
"aliases": [],
"description": "",
"name": "cabbage",
"plural_name": "cabbages"
"name": "kool",
"plural_name": "kolen"
},
"asparagu": {
"aliases": [],
"description": "",
"name": "asparagu",
"plural_name": "asparagus"
"name": "asperges",
"plural_name": "asperges"
},
"kale": {
"aliases": [],
"description": "",
"name": "kale",
"plural_name": "kales"
"name": "boerenkool",
"plural_name": "boerenkool"
},
"arugula": {
"aliases": [],
"description": "",
"name": "arugula",
"plural_name": "arugulas"
"name": "rucola",
"plural_name": "rucola"
},
"leek": {
"aliases": [],
"description": "",
"name": "leek",
"plural_name": "leeks"
"name": "prei",
"plural_name": "preien"
},
"eggplant": {
"aliases": [],
"description": "",
"name": "eggplant",
"plural_name": "eggplants"
"name": "aubergine",
"plural_name": "aubergines"
},
"lettuce": {
"aliases": [],
"description": "",
"name": "lettuce",
"plural_name": "lettuces"
"name": "sla",
"plural_name": "sla"
},
"butternut squash": {
"aliases": [],
"description": "",
"name": "butternut squash",
"plural_name": "butternut squashes"
"name": "flespompoen",
"plural_name": "flespompoenen"
},
"romaine": {
"aliases": [],
"description": "",
"name": "romaine",
"plural_name": "romaines"
"plural_name": "romaine"
},
"beetroot": {
"aliases": [],
"description": "",
"name": "beetroot",
"plural_name": "beetroots"
"name": "rode biet",
"plural_name": "rode bieten"
},
"brussels sprout": {
"aliases": [],
"description": "",
"name": "brussels sprout",
"plural_name": "brussels sprouts"
"name": "spruit",
"plural_name": "spruiten"
},
"fennel": {
"aliases": [],
"description": "",
"name": "fennel",
"plural_name": "fennels"
"name": "venkel",
"plural_name": "venkels"
},
"sun dried tomato": {
"aliases": [],
"description": "",
"name": "sun dried tomato",
"plural_name": "sun dried tomatoes"
"name": "zon gedroogde tomaat",
"plural_name": "zon gedroogde tomaten"
},
"radish": {
"aliases": [],
"description": "",
"name": "radish",
"plural_name": "radishes"
"name": "radijs",
"plural_name": "radijsjes"
},
"red cabbage": {
"aliases": [],
"description": "",
"name": "red cabbage",
"plural_name": "red cabbages"
"name": "rode kool",
"plural_name": "rode kolen"
},
"artichoke": {
"aliases": [],
"description": "",
"name": "artichoke",
"name": "artisjok",
"plural_name": "artichokes"
},
"new potato": {
@ -389,20 +389,20 @@
"turnip": {
"aliases": [],
"description": "",
"name": "turnip",
"plural_name": "turnips"
"name": "raap",
"plural_name": "rapen"
},
"thai chile pepper": {
"aliases": [],
"description": "",
"name": "thai chile pepper",
"plural_name": "thai chile peppers"
"name": "thaise chili peper",
"plural_name": "chilipepers"
},
"bok choy": {
"aliases": [],
"description": "",
"name": "bok choy",
"plural_name": "bok choy"
"name": "bokchoi",
"plural_name": "bokchois"
},
"okra": {
"aliases": [],
@ -413,129 +413,129 @@
"acorn squash": {
"aliases": [],
"description": "",
"name": "acorn squash",
"plural_name": "acorn squashes"
"name": "eikelpompoen",
"plural_name": "eikelpompoenen"
},
"corn cob": {
"aliases": [],
"description": "",
"name": "corn cob",
"plural_name": "corn cobs"
"name": "mais kolf",
"plural_name": "mais kolven"
},
"radicchio": {
"aliases": [],
"description": "",
"name": "radicchio",
"name": "radijs",
"plural_name": "radicchio"
},
"pearl onion": {
"aliases": [],
"description": "",
"name": "pearl onion",
"plural_name": "pearl onions"
"name": "parel uien",
"plural_name": "parel uien"
},
"tenderstem broccoli": {
"aliases": [],
"description": "",
"name": "tenderstem broccoli",
"plural_name": "tenderstem broccolis"
"name": "broccolini",
"plural_name": "broccolinis"
},
"plantain": {
"aliases": [],
"description": "",
"name": "plantain",
"plural_name": "plantains"
"name": "bakbanaan",
"plural_name": "bakbananen"
},
"leaf lettuce": {
"aliases": [],
"description": "",
"name": "leaf lettuce",
"plural_name": "leaf lettuces"
"name": "blad sla",
"plural_name": "blad sla"
},
"pepperoncini": {
"aliases": [],
"description": "",
"name": "pepperoncini",
"plural_name": "pepperoncinis"
"name": "peperoncini",
"plural_name": "peperoncinis"
},
"baby bok choy": {
"aliases": [],
"description": "",
"name": "baby bok choy",
"plural_name": "baby bok choys"
"name": "baby boksoi",
"plural_name": "baby bokchois"
},
"jicama": {
"aliases": [],
"description": "",
"name": "jicama",
"plural_name": "jicamas"
"name": "yamboon",
"plural_name": "yambonen"
},
"endive": {
"aliases": [],
"description": "",
"name": "endive",
"plural_name": "endives"
"name": "andijvie",
"plural_name": "andijvie"
},
"habanero pepper": {
"aliases": [],
"description": "",
"name": "habanero pepper",
"plural_name": "habanero peppers"
"name": "habanero peper",
"plural_name": "habanero pepers"
},
"corn husk": {
"aliases": [
"maize"
"maïs"
],
"description": "",
"name": "corn husk",
"plural_name": "corn husks"
"name": "maisblad",
"plural_name": "maisbladeren"
},
"collard green": {
"aliases": [],
"description": "",
"name": "collard green",
"plural_name": "collard greens"
"name": "galicische kool",
"plural_name": "galicische kolen"
},
"french-fried onion": {
"aliases": [],
"description": "",
"name": "french-fried onion",
"plural_name": "french-fried onions"
"name": "gebakken uien",
"plural_name": "gebakken uien"
},
"daikon": {
"aliases": [],
"description": "",
"name": "daikon",
"plural_name": "daikons"
"name": "witte rammenas",
"plural_name": "witte rammenassen"
},
"baby corn": {
"aliases": [],
"description": "",
"name": "baby corn",
"plural_name": "baby corns"
"name": "baby maïs",
"plural_name": "baby maïs"
},
"broccoli rabe": {
"aliases": [],
"description": "",
"name": "broccoli rabe",
"plural_name": "broccoli rabes"
"name": "broccoli",
"plural_name": "broccoli"
},
"rutabaga": {
"aliases": [],
"description": "",
"name": "rutabaga",
"plural_name": "rutabagas"
"plural_name": "rutabaga"
},
"belgian endive": {
"aliases": [],
"description": "",
"name": "belgian endive",
"plural_name": "belgian endives"
"name": "andijvie",
"plural_name": "andijvie"
},
"yam": {
"aliases": [],
"description": "",
"name": "yam",
"name": "yamswortel",
"plural_name": "yams"
},
"ancho chile pepper": {
@ -689,14 +689,14 @@
"date": {
"aliases": [],
"description": "",
"name": "date",
"plural_name": "dates"
"name": "dadel",
"plural_name": "dadels"
},
"coconut": {
"aliases": [],
"description": "",
"name": "coconut",
"plural_name": "coconuts"
"name": "kokosnoot",
"plural_name": "kokosnoten"
},
"craisin": {
"aliases": [],
@ -707,38 +707,38 @@
"pear": {
"aliases": [],
"description": "",
"name": "pear",
"plural_name": "pears"
"name": "peer",
"plural_name": "peren"
},
"grape": {
"aliases": [],
"description": "",
"name": "grape",
"plural_name": "grapes"
"name": "druif",
"plural_name": "druiven"
},
"pomegranate": {
"aliases": [],
"description": "",
"name": "pomegranate",
"plural_name": "pomegranates"
"name": "granaatappel",
"plural_name": "granaatappels"
},
"watermelon": {
"aliases": [],
"description": "",
"name": "watermelon",
"plural_name": "watermelons"
"name": "watermeloen",
"plural_name": "watermeloenen"
},
"rhubarb": {
"aliases": [],
"description": "",
"name": "rhubarb",
"plural_name": "rhubarbs"
"name": "rabarber",
"plural_name": "rabarbers"
},
"dried apricot": {
"aliases": [],
"description": "",
"name": "dried apricot",
"plural_name": "dried apricots"
"name": "droge abrikoos",
"plural_name": "droge abrikoos"
},
"kiwi": {
"aliases": [],
@ -755,68 +755,68 @@
"plum": {
"aliases": [],
"description": "",
"name": "plum",
"plural_name": "plums"
"name": "pruim",
"plural_name": "pruimen"
},
"fig": {
"aliases": [],
"description": "",
"name": "fig",
"plural_name": "figs"
"name": "vijg",
"plural_name": "vijgen"
},
"apricot": {
"aliases": [],
"description": "",
"name": "apricot",
"plural_name": "apricots"
"name": "abrikoos",
"plural_name": "abrikozen"
},
"currant": {
"aliases": [],
"description": "",
"name": "currant",
"plural_name": "currants"
"name": "zwarte bes",
"plural_name": "rode bessen"
},
"mandarin": {
"aliases": [],
"description": "",
"name": "mandarin",
"plural_name": "mandarins"
"name": "mandarijn",
"plural_name": "mandarijnen"
},
"prune": {
"aliases": [],
"description": "",
"name": "prune",
"plural_name": "prunes"
"name": "pruim",
"plural_name": "pruimen"
},
"cantaloupe": {
"aliases": [],
"description": "",
"name": "cantaloupe",
"plural_name": "cantaloupes"
"name": "cantaloep",
"plural_name": "cantaloepen"
},
"sultana": {
"aliases": [],
"description": "",
"name": "sultana",
"plural_name": "sultanas"
"name": "krent",
"plural_name": "krenten"
},
"passion fruit": {
"aliases": [],
"description": "",
"name": "passion fruit",
"plural_name": "passion fruits"
"name": "passievrucht",
"plural_name": "passievruchten"
},
"papaya": {
"aliases": [],
"description": "",
"name": "papaya",
"plural_name": "papayas"
"name": "papaja",
"plural_name": "papajas"
},
"tamarind": {
"aliases": [],
"description": "",
"name": "tamarind",
"plural_name": "tamarinds"
"plural_name": "tamarindes"
},
"nectarine": {
"aliases": [],
@ -827,14 +827,14 @@
"dried fig": {
"aliases": [],
"description": "",
"name": "dried fig",
"plural_name": "dried figs"
"name": "gedroogde vijg",
"plural_name": "gedroogde vijgen"
},
"chestnut": {
"aliases": [],
"description": "",
"name": "chestnut",
"plural_name": "chestnuts"
"name": "kastanje",
"plural_name": "kastanjes"
},
"meyer lemon": {
"aliases": [],
@ -990,7 +990,7 @@
"aliases": [],
"description": "",
"name": "calamansi",
"plural_name": "calamansis"
"plural_name": "calamansi"
},
"yuzu": {
"aliases": [],
@ -1002,37 +1002,37 @@
"aliases": [],
"description": "",
"name": "granadilla",
"plural_name": "granadillas"
"plural_name": "granadilla"
},
"apple chip": {
"aliases": [],
"description": "",
"name": "apple chip",
"plural_name": "apple chips"
"name": "appel snipper",
"plural_name": "appel snippers"
},
"mixed peel": {
"aliases": [],
"description": "",
"name": "mixed peel",
"plural_name": "mixed peels"
"name": "gemengde schil",
"plural_name": "gemengde schillen"
},
"kokum": {
"aliases": [],
"description": "",
"name": "kokum",
"plural_name": "kokums"
"plural_name": "kokum"
},
"tangelo": {
"aliases": [],
"description": "",
"name": "tangelo",
"plural_name": "tangeloes"
"plural_name": "tangelo"
},
"dried lime": {
"aliases": [],
"description": "",
"name": "dried lime",
"plural_name": "dried limes"
"name": "gedroogde limoen",
"plural_name": "gedroogde limoenen"
},
"jujube": {
"aliases": [],
@ -1043,14 +1043,14 @@
"sweet lime": {
"aliases": [],
"description": "",
"name": "sweet lime",
"plural_name": "sweet limes"
"name": "zoete limoen",
"plural_name": "zoete limoenen"
},
"custard-apple": {
"aliases": [],
"description": "",
"name": "custard-apple",
"plural_name": "custard-apples"
"name": "custard appel",
"plural_name": "custard appels"
},
"dried lemon": {
"aliases": [],

110
poetry.lock generated
View file

@ -1816,14 +1816,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
[[package]]
name = "openai"
version = "1.93.0"
version = "1.93.1"
description = "The official Python library for the openai API"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "openai-1.93.0-py3-none-any.whl", hash = "sha256:3d746fe5498f0dd72e0d9ab706f26c91c0f646bf7459e5629af8ba7c9dbdf090"},
{file = "openai-1.93.0.tar.gz", hash = "sha256:988f31ade95e1ff0585af11cc5a64510225e4f5cd392698c675d0a9265b8e337"},
{file = "openai-1.93.1-py3-none-any.whl", hash = "sha256:a2c2946c4f21346d4902311a7440381fd8a33466ee7ca688133d1cad29a9357c"},
{file = "openai-1.93.1.tar.gz", hash = "sha256:11eb8932965d0f79ecc4cb38a60a0c4cef4bcd5fcf08b99fc9a399fa5f1e50ab"},
]
[package.dependencies]
@ -2100,62 +2100,62 @@ xmp = ["defusedxml"]
[[package]]
name = "pillow-heif"
version = "0.22.0"
version = "1.0.0"
description = "Python interface for libheif library"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "pillow_heif-0.22.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:bc78e4eb3198462ad6a79a73b7da0bc83a7d50a24e65429104e491cd3924ec08"},
{file = "pillow_heif-0.22.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:e78b48e85c981d03a3307bcf258763d54a2ab3d2426f11b3e6345d63fda038cb"},
{file = "pillow_heif-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7b8b1535df032730d3a1b4050f235b539dddac784dfc58612b072dcab3f85c1"},
{file = "pillow_heif-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d68d5eb3ea132613ed2fc6b20cf30359b886786b5b428554cd951a8aab4cd1e4"},
{file = "pillow_heif-0.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:27400e7abc476df122d712b44cfe2eac5b2825cbe8761541bfc9a1c64ba2cb56"},
{file = "pillow_heif-0.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9b7d765b00e7b80245120e0d53259b61f54bba2957f116f5ee07fcc1769be93f"},
{file = "pillow_heif-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:2345932d4efea71fce7990a8412c37f2e1dd19bf97909f42d96a452ad18a21db"},
{file = "pillow_heif-0.22.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:782eef461c836b3947fe253baaa5dcf6c75fba484c4905b4ac6b5b1a0bb04b7c"},
{file = "pillow_heif-0.22.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:b3035b4b4304e7624f9559989618ccad8ac614144befd30361ff51941b8c1b44"},
{file = "pillow_heif-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f73b7ce0d47e2dbd4f89de765a0c2d6e75f7dde95c5a5d87c4a6ad11bc9da4a3"},
{file = "pillow_heif-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:550093ee350c8cd404dbba61f7449d4ecc018109ab65f6f89b96a6dc39dde177"},
{file = "pillow_heif-0.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:646f2d05dd4a84ee1feb3a4aaa092269bf8f3f615c8f36d6e5d15b22a79d7cdd"},
{file = "pillow_heif-0.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8ccd70ff3c30e93f8153fa08b5533aee54a73574c980784f0b74f5fba7b61e19"},
{file = "pillow_heif-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf30bcaab9d2c0dbc43bb58d385faa9d3d8a693392beb50287aa6cda7a2f769e"},
{file = "pillow_heif-0.22.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:8b6e195b4cb17bf71e374b167f14be434dde54bb68afee6fba5aa1b6f7644bee"},
{file = "pillow_heif-0.22.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:6e31596116328d0a3bd5a3be9fbacea56e28d5950c824b12d2486e9989364bc0"},
{file = "pillow_heif-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5af08d451689539a2f9c4c6088180548b6146475f34d41a1334bc4ee1eab7a0b"},
{file = "pillow_heif-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8a058d7243779f5b02736b16d5be8f4a13321cb9163dd06a3ea90052dd68cb8"},
{file = "pillow_heif-0.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ff9f295a89b616e2f1648286752f269d4e3055f54884a7a46c5c74ea4b23c20c"},
{file = "pillow_heif-0.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1f548d852405a84bdfbc76ec060e94c0b17c9a06da968c104fd6146d874d9f07"},
{file = "pillow_heif-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:f0e980ac065690a61732dbdc3bac50de4064d09df24fca435178bd63df31a180"},
{file = "pillow_heif-0.22.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:31a2a4838b3eacec665befbd621a43201c2ece0e35d636e001c4039cca875ba8"},
{file = "pillow_heif-0.22.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:c5b25c2c4f147ca57e51ecfdd833c9ae9cbf00c8da34b7892ec0c8f4b57785b9"},
{file = "pillow_heif-0.22.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8563f14d76e544f5d1e8915c34dc2b01863351b7f74efbbaf9671d599b4ea5b"},
{file = "pillow_heif-0.22.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24b7b5bdc5a3a953cdf1de8aa8ee83b0305ab6be3c7808b1ca67594df0d750e2"},
{file = "pillow_heif-0.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9dcde90c30e61f1f0da30393bf1983fe8dad3b890f52406e617b7840c682948"},
{file = "pillow_heif-0.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:29caf663afcf142ac7ffb903fda4e5a01991054a0fe4abd379fef3d42575ca67"},
{file = "pillow_heif-0.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:bac5e9a4d85ffc724180eb0fa3aef304aa9b67faea6f86c33e4c2e6a447db098"},
{file = "pillow_heif-0.22.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:ee1a8d571636dffcc576d0d23a4017fe9c4635e585944fe72af6cfa7a5ed05ff"},
{file = "pillow_heif-0.22.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:165b7e0d87e233f42be3de1237d7c026916c356de476d4aeaac1febafaab45c3"},
{file = "pillow_heif-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c65291dc4f2f8404720b781580aba00eb3120acd26d829a58140b317d69093d3"},
{file = "pillow_heif-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7903f947db209b39e63e83def9885c2cb8bd3ace9982c5950773470911a6651e"},
{file = "pillow_heif-0.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d96d73cb237ca55aeff09bd13eb7824f3f279ef8939583a3c57b9e765d5bc7a7"},
{file = "pillow_heif-0.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1a5c88b34b49731d79deaf4f4ac8726400de9ca44e5b50cae56775ee60c3b85b"},
{file = "pillow_heif-0.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:6cb570abd9045f0141fe5053d8d0adf09e2d4c0bf51ae1736140d48a9cfec2d3"},
{file = "pillow_heif-0.22.0-pp310-pypy310_pp73-macosx_13_0_x86_64.whl", hash = "sha256:49f2258f08d85cab66408c48fa437accbe9b89f2387a4e847664645c8ce7e669"},
{file = "pillow_heif-0.22.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:a15ecf743d14bc772188bf8f25f15f81ddf9a441e8dbe53f6ee10582431ccb01"},
{file = "pillow_heif-0.22.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760f910ff90a97f9764be79e55a14c4ad0470322bb60b40789b3a0c38200dd3"},
{file = "pillow_heif-0.22.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b91c8a76bafdf776c4251475805ce777c2803e30386e997738a6b5c80efe437"},
{file = "pillow_heif-0.22.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a7c70fe0b5b6c232749ac7cbb608f0732a66804598a422cfcfbb1fb77e076f77"},
{file = "pillow_heif-0.22.0-pp39-pypy39_pp73-macosx_13_0_x86_64.whl", hash = "sha256:1b46976aa563e031dece0b9eb3611e02622e2a6cea0e3f4146e0dd95b304505d"},
{file = "pillow_heif-0.22.0-pp39-pypy39_pp73-macosx_14_0_arm64.whl", hash = "sha256:79010a7c4544d8e2ff2027087003a77e679d35399c6a1d73d6344d88acef0d2c"},
{file = "pillow_heif-0.22.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:487543a9d00157132f1aa45eee8099b3359c8626a85ee420dd28abab0d29428b"},
{file = "pillow_heif-0.22.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c6f37f7f2ef0a12cfb8498c75ce964a57ca61258058c1bceb6dee4327b5b324"},
{file = "pillow_heif-0.22.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:827640bbb58b227a60095911f909d9eead1f7aa31417a80aa86b87f15bfa758b"},
{file = "pillow_heif-0.22.0.tar.gz", hash = "sha256:61d473929340d3073722f6316b7fbbdb11132faa6bac0242328e8436cc55b39a"},
{file = "pillow_heif-1.0.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:5c1896b96c4b219846435ab859723853a8c42758ad4300d3ed8427b91496762d"},
{file = "pillow_heif-1.0.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:7e5ab47004e5c8f891229b051daacb1a90c16cb547a4849825f8be7321145fe3"},
{file = "pillow_heif-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba94f702f1c5203d98c625567af0a01d87bc7e69c3a451262d4fb76af25d827"},
{file = "pillow_heif-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661fb336e509294b892f1310282829359eaa7f628317e4cd1a42b1c056cb9f2f"},
{file = "pillow_heif-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5ce8ad2dc09c6100b27ea69ad681941b694878cb307b7058f1a5127b55ff0af9"},
{file = "pillow_heif-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98962fdc791e093749a8393aa02eeaa12593ca08f5064798572bb0553f302f81"},
{file = "pillow_heif-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:c4258cfca6edf34cb6f804fec9c8494eb6fe8f9029d7dea9fbd46e5648c127a8"},
{file = "pillow_heif-1.0.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:812bb192e98a1eb0f037cddccd6c95930e3b6ff00951c67f4623c2ab085d8938"},
{file = "pillow_heif-1.0.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0beb5a4d8ebdcc4bfd35c911cf0b2537ef1a6a145f4cf8a5468b1531fea9e89c"},
{file = "pillow_heif-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:560b7d6d265dc256ced56c9758de0efe927125d3132cc49e88328116d163823b"},
{file = "pillow_heif-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60ce73485154c7334d884f77cd4120b91b3daef4abdfd91970ebddcde955a9bb"},
{file = "pillow_heif-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:97ea05e4e71f70ec05ebea6a185e0fb3aaf31f081f452e3061f3aa237f52165a"},
{file = "pillow_heif-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a9cd71162046488e6f98507436cd8e7f85202a858adfce7b296b461eeb1e5b06"},
{file = "pillow_heif-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ffd8307e9fc4ad3cd998ffdf18eb15c1a1ccafffb5ac4d6a213368e4af7a4b39"},
{file = "pillow_heif-1.0.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:4217447e61df85d847718ecf4054d4292b691eee74fa565f0b650da1dc357f34"},
{file = "pillow_heif-1.0.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:425b1aac012fc59fc703cdce05ac125ffa2970ec9839bb8d763d8645eb59308c"},
{file = "pillow_heif-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ec85dfc7db7b34944e7a4c885a7d72fb470d532bb696c490445954a50db7241"},
{file = "pillow_heif-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71fa395744c53a3b4ceb2fbf29b63e556c64591038472600af9e368940f930c0"},
{file = "pillow_heif-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9691125b30d352b2817a544d3155f6a5911378d08901ee4b71ba3e4305fa32a0"},
{file = "pillow_heif-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ca0e829e6c6986a3acc33efb9e762439b84f0ecc8e583204f04ad8001b192bf"},
{file = "pillow_heif-1.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:0f0b8546fe98f0938cb6afd1127f2b7a855f4a657e31dcebedaee97ba5662da9"},
{file = "pillow_heif-1.0.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:6a7b14de333709ef9fdd4de57bda3103eb3178b6ed267f9e60bfd64bfb7c5c41"},
{file = "pillow_heif-1.0.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:07fba7ffbcc7841cc4e5a3bd781628ef6a2359c633d28fcd14ad490b09060bb3"},
{file = "pillow_heif-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0ab4c56637c2b332e15383a14ee1b493fbbc5dbc756a0b372b7c23df1ed281a"},
{file = "pillow_heif-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:809e4fd18bf1f683788d71449ae0ed7522e16c4a892a040ec64cf97377e6efd5"},
{file = "pillow_heif-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6d928a5e9f1cfa9e300695329bf9db08e01bcb14b14c4e6a48d6c032bf9dfa1c"},
{file = "pillow_heif-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f02906fd84688138bcbdbbd75fbef77356043bc6199516a152cc66811d1b7198"},
{file = "pillow_heif-1.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:864a01279069fcd1d99ac0c8ad3263c478438eb9adaa084a2f3d2278049b308f"},
{file = "pillow_heif-1.0.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:e4dd88b416199484aeebd467452293d4c29ab33a6e263eac735f5318b1713ab6"},
{file = "pillow_heif-1.0.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:6132ce820142c4a79510347dd3f0bf7410ed6e8780202821fb95540bfc8d7484"},
{file = "pillow_heif-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc76e1c27e80e8799ff476a2a768d65eef7d35db804d2386f8f50c8be47ab4e7"},
{file = "pillow_heif-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:061ee478b84899c8491e3370a5f5722952ce6644a64f07c7c82df00cad9324ab"},
{file = "pillow_heif-1.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2aa751d305fec59ff6ee86d23309bd06be0166e0b8cb9e1beb3d7498f309ccbf"},
{file = "pillow_heif-1.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e541afa24d19030d0f6582374ed3dd9edefe022bc23ae4dfd0f3c09ab7b839d4"},
{file = "pillow_heif-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b169dd41eed440eb26325d6daa85ede96ca02666966d898e5dcd045dd6ab37b"},
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-macosx_13_0_x86_64.whl", hash = "sha256:c63517df8df208e9f7d54a6160201e9eb437d39e658c5267037213710c071631"},
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:97b96897c92f1fcc99ee8b76a1f82fe48b61d03af0b4ce2b3913f49c2c0a74f1"},
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9b71197918a02b6e56ff2f087573de77da3057152ad29677f7625345e151b85"},
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83355656529029e048ed872d9d8ccae07f4f77625629041207d47b7573d26fbf"},
{file = "pillow_heif-1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:431cf83fc16f6760995da83563379233fb32b355309d08c4afabb53fdded5417"},
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-macosx_13_0_x86_64.whl", hash = "sha256:6df834a4fe4f5cb0c2641996f323ac0354a2c1133aee494e649848bbeb093bbb"},
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:f9c17066adc84820d465ce51ce0e8448e1074886ff765b6c07b81802eba0a0dd"},
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10eb674f94f8a7f449c2a0b32530fa34bd6c78a6717be8a0068e591c73b6fb"},
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62c6db1706367d6cf7fb04ad6074ab88f3863dde73cc14feeddb7c6a396d0c88"},
{file = "pillow_heif-1.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2c6486b9026d776e0dea264db3aa2f9aa6304aa1335f9a96f9b32aca1ce16cbc"},
{file = "pillow_heif-1.0.0.tar.gz", hash = "sha256:0df7a1fb29bd55bc77fd286195eeb02604e356a5da3d5e8786129b91263b99e2"},
]
[package.dependencies]
pillow = ">=10.1.0"
pillow = ">=11.1.0"
[package.extras]
dev = ["coverage", "defusedxml", "numpy", "opencv-python (==4.11.0.86)", "packaging", "pre-commit", "pylint", "pympler", "pytest", "setuptools"]
@ -3543,14 +3543,14 @@ files = [
[[package]]
name = "typing-extensions"
version = "4.14.0"
version = "4.14.1"
description = "Backported and Experimental Type Hints for Python 3.9+"
optional = false
python-versions = ">=3.9"
groups = ["main", "dev"]
files = [
{file = "typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af"},
{file = "typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4"},
{file = "typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76"},
{file = "typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36"},
]
[[package]]
@ -3871,4 +3871,4 @@ pgsql = ["psycopg2-binary"]
[metadata]
lock-version = "2.1"
python-versions = ">=3.12,<3.13"
content-hash = "7c0755d30c7245d3c7f4a86ef90db901a61b3f8d7ed39f59d7eb10f794136e02"
content-hash = "df16815f799254568f5e7083c49bb302e77003bcafbd34dfa92ad65d0335efb3"

View file

@ -14,7 +14,7 @@ mealie = "mealie.main:main"
[tool.poetry.dependencies]
Jinja2 = "^3.1.2"
Pillow = "^11.0.0"
Pillow = "^11.3.0"
PyYAML = "^6.0.1"
SQLAlchemy = "^2"
aiofiles = "^24.0.0"
@ -49,7 +49,7 @@ authlib = "^1.3.0"
html2text = "^2025.0.0"
paho-mqtt = "^1.6.1"
pydantic-settings = "^2.1.0"
pillow-heif = "^0.22.0"
pillow-heif = "^1.0.0"
pyjwt = "^2.8.0"
openai = "^1.63.0"
typing-extensions = "^4.12.2"