Merge branch 'mealie-next' into snack-entry-type

This commit is contained in:
Cameron Pickle 2025-07-08 07:12:21 -06:00 committed by GitHub
commit e6f6c96744
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/ exclude: ^tests/data/
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version. # Ruff version.
rev: v0.12.1 rev: v0.12.2
hooks: hooks:
- id: ruff - id: ruff
- id: ruff-format - id: ruff-format

View file

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

View file

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

View file

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

View file

@ -599,7 +599,7 @@
"create-recipe-from-an-image": "Rezept von einem Bild erstellen", "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.", "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.", "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", "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-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.", "please-wait-images-processing": "Bitte warten, die Bilder werden verarbeitet. Dies kann einige Zeit dauern.",

View file

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

View file

@ -4,10 +4,9 @@ from logging import Logger
from pathlib import Path from pathlib import Path
from PIL import Image, ImageOps 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_heif_opener()
register_avif_opener()
@dataclass @dataclass

File diff suppressed because it is too large Load diff

View file

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

110
poetry.lock generated
View file

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