Merge remote-tracking branch 'upstream/mealie-next' into pr/mrth2/5184

This commit is contained in:
Michael Genson 2025-06-02 15:06:12 +00:00
commit 70118c9885
9 changed files with 343 additions and 341 deletions

View file

@ -16,12 +16,13 @@ jobs:
with: with:
stale-issue-label: 'stale' stale-issue-label: 'stale'
exempt-issue-labels: 'pinned,security,early-stages,bug: confirmed,feedback,task' exempt-issue-labels: 'pinned,security,early-stages,bug: confirmed,feedback,task'
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.' stale-issue-message: 'This issue has been automatically marked as stale because it has been open 90 days with no activity.'
days-before-issue-stale: 30 days-before-issue-stale: 90
days-before-issue-close: 5 # This stops an issue from ever getting closed automatically.
days-before-issue-close: -1
stale-pr-label: 'stale' stale-pr-label: 'stale'
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity.' stale-pr-message: 'This PR has been automatically marked as stale because it has been open 90 days with no activity.'
days-before-pr-stale: 45 days-before-pr-stale: 90
# This stops a PR from ever getting closed automatically. # This stops a PR from ever getting closed automatically.
days-before-pr-close: -1 days-before-pr-close: -1
# If an issue/PR has a milestone, it's exempt from being marked as stale. # If an issue/PR has a milestone, it's exempt from being marked as stale.

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.11.11 rev: v0.11.12
hooks: hooks:
- id: ruff - id: ruff
- id: ruff-format - id: ruff-format

View file

@ -150,7 +150,7 @@
"shuffle": "Tilfeldig rekkefølge", "shuffle": "Tilfeldig rekkefølge",
"sort": "Sorter", "sort": "Sorter",
"sort-ascending": "Sorter stigende", "sort-ascending": "Sorter stigende",
"sort-descending": "Sortere synkende", "sort-descending": "Sorter synkende",
"sort-alphabetically": "Alfabetisk", "sort-alphabetically": "Alfabetisk",
"status": "Status", "status": "Status",
"subject": "Emne", "subject": "Emne",
@ -244,7 +244,7 @@
"keep-my-recipes-private-description": "Setter gruppen din og alle oppskrifter som standard til privat. Du kan alltids endre dette senere." "keep-my-recipes-private-description": "Setter gruppen din og alle oppskrifter som standard til privat. Du kan alltids endre dette senere."
}, },
"manage-members": "Administrer medlemmer", "manage-members": "Administrer medlemmer",
"manage-members-description": "Administrer rettighetene til medlemmene i ditt hushold. {manage} lar brukeren få tilgang til dataadministrasjonssiden. {invite} lar brukeren generere invitasjonslenker for andre brukere. Gruppeeiere kan ikke endre egne tillatelser.", "manage-members-description": "Administrer rettighetene til medlemmene i din husholdning. {manage} lar brukeren få tilgang til dataadministrasjonssiden. {invite} lar brukeren generere invitasjonslenker for andre brukere. Gruppeeiere kan ikke endre sine egne tillatelser.",
"manage": "Administrer", "manage": "Administrer",
"manage-household": "Administrer husholdning", "manage-household": "Administrer husholdning",
"invite": "Inviter", "invite": "Inviter",
@ -253,9 +253,9 @@
"default-recipe-preferences": "Standard oppskriftsinnstillinger", "default-recipe-preferences": "Standard oppskriftsinnstillinger",
"group-preferences": "Gruppeinnstillinger", "group-preferences": "Gruppeinnstillinger",
"private-group": "Privat gruppe", "private-group": "Privat gruppe",
"private-group-description": "Setting your group to private will disable all public view options. This overrides any individual public view settings", "private-group-description": "Å sette husholdningen din til privat vil deaktivere alle alternativer for offentlig visning. Denne innstillingen overstyrer individuelle innstillinger for offentlig visning",
"enable-public-access": "Aktiver offentlig tilgang", "enable-public-access": "Aktiver offentlig tilgang",
"enable-public-access-description": "Gjør gruppeoppskrifte offentlige som standard, og tillat besøkende å se oppskrifter uten å logge inn", "enable-public-access-description": "Gjør gruppeoppskrifter offentlige som standard, og tillat besøkende å se oppskrifter uten å logge inn",
"allow-users-outside-of-your-group-to-see-your-recipes": "Tillat brukere utenfor gruppen å se oppskriftene dine", "allow-users-outside-of-your-group-to-see-your-recipes": "Tillat brukere utenfor gruppen å se oppskriftene dine",
"allow-users-outside-of-your-group-to-see-your-recipes-description": "Når aktivert, kan du bruke en offentlig lenke for å dele spesifikke oppskrifter uten å autorisere brukeren. Når deaktivert, kan du kun dele oppskrifter med brukere som er i gruppen din eller med en forhåndsgenerert privat lenke", "allow-users-outside-of-your-group-to-see-your-recipes-description": "Når aktivert, kan du bruke en offentlig lenke for å dele spesifikke oppskrifter uten å autorisere brukeren. Når deaktivert, kan du kun dele oppskrifter med brukere som er i gruppen din eller med en forhåndsgenerert privat lenke",
"show-nutrition-information": "Vis ernæringsinformasjon", "show-nutrition-information": "Vis ernæringsinformasjon",
@ -610,7 +610,7 @@
"scrape-recipe-description": "Skrap en oppskrift ved bruk av nettadresse. Oppgi nettadressen til nettstedet du vil skrape, så vil Mealie forsøke å skrape oppskriften fra den siden og legge den til i samlingen din.", "scrape-recipe-description": "Skrap en oppskrift ved bruk av nettadresse. Oppgi nettadressen til nettstedet du vil skrape, så vil Mealie forsøke å skrape oppskriften fra den siden og legge den til i samlingen din.",
"scrape-recipe-have-a-lot-of-recipes": "Har du mange oppskrifter du ønsker å skrape samtidig?", "scrape-recipe-have-a-lot-of-recipes": "Har du mange oppskrifter du ønsker å skrape samtidig?",
"scrape-recipe-suggest-bulk-importer": "Prøv masseimportering", "scrape-recipe-suggest-bulk-importer": "Prøv masseimportering",
"scrape-recipe-have-raw-html-or-json-data": "Have raw HTML or JSON data?", "scrape-recipe-have-raw-html-or-json-data": "Har du HTML- eller JSON-rådata?",
"scrape-recipe-you-can-import-from-raw-data-directly": "Du kan importere fra rådata direkte", "scrape-recipe-you-can-import-from-raw-data-directly": "Du kan importere fra rådata direkte",
"import-original-keywords-as-tags": "Importer originale søkeord som emneord", "import-original-keywords-as-tags": "Importer originale søkeord som emneord",
"stay-in-edit-mode": "Forbli i redigeringsmodus", "stay-in-edit-mode": "Forbli i redigeringsmodus",

View file

@ -3,7 +3,7 @@
"name": "βελανίδι σκουός" "name": "βελανίδι σκουός"
}, },
"alfalfa-sprouts": { "alfalfa-sprouts": {
"name": "alfalfa sprouts" "name": "φύτρα σπόρων αλφάλφα"
}, },
"anchovies": { "anchovies": {
"name": "αντζούγιες" "name": "αντζούγιες"
@ -16,7 +16,7 @@
"name": "αγκινάρα" "name": "αγκινάρα"
}, },
"arugula": { "arugula": {
"name": "arugula" "name": "ρόκα"
}, },
"asparagus": { "asparagus": {
"name": "σπαράγγι" "name": "σπαράγγι"
@ -35,10 +35,10 @@
"name": "Μαγειρική σόδα" "name": "Μαγειρική σόδα"
}, },
"baking-sugar": { "baking-sugar": {
"name": "baking sugar" "name": "μαγειρική ζάχαρη"
}, },
"bar-sugar": { "bar-sugar": {
"name": "bar sugar" "name": "μπάρα ζάχαρης"
}, },
"basil": { "basil": {
"name": "βασιλικός" "name": "βασιλικός"

View file

@ -119,10 +119,10 @@
"plural_name": "gulrøtter" "plural_name": "gulrøtter"
}, },
"caster-sugar": { "caster-sugar": {
"name": "caster sugar" "name": "finkornet sukker"
}, },
"castor-sugar": { "castor-sugar": {
"name": "castor sugar" "name": "finkornet sukker"
}, },
"catfish": { "catfish": {
"name": "malle" "name": "malle"

View file

@ -1,692 +1,692 @@
{ {
"acorn-squash": { "acorn-squash": {
"name": "acorn squash" "name": "гарбуз акорн"
}, },
"alfalfa-sprouts": { "alfalfa-sprouts": {
"name": "alfalfa sprouts" "name": "люцерна"
}, },
"anchovies": { "anchovies": {
"name": "anchovies" "name": "анчоуси"
}, },
"apples": { "apples": {
"name": "apple", "name": "яблуко",
"plural_name": "apples" "plural_name": "яблука"
}, },
"artichoke": { "artichoke": {
"name": "artichoke" "name": "артишок"
}, },
"arugula": { "arugula": {
"name": "arugula" "name": "рукола"
}, },
"asparagus": { "asparagus": {
"name": "asparagus" "name": "спаржа"
}, },
"avocado": { "avocado": {
"name": "avocado", "name": "авокадо",
"plural_name": "avocado" "plural_name": "авокадо"
}, },
"bacon": { "bacon": {
"name": "bacon" "name": "бекон"
}, },
"baking-powder": { "baking-powder": {
"name": "baking powder" "name": "харчовий розпушувач"
}, },
"baking-soda": { "baking-soda": {
"name": "baking soda" "name": "столова сода"
}, },
"baking-sugar": { "baking-sugar": {
"name": "baking sugar" "name": "цукрова пудра"
}, },
"bar-sugar": { "bar-sugar": {
"name": "bar sugar" "name": "цукрова пудра"
}, },
"basil": { "basil": {
"name": "basil" "name": "базилік"
}, },
"beans": { "beans": {
"name": "beans" "name": "боби"
}, },
"bell-peppers": { "bell-peppers": {
"name": "bell peppers", "name": "болгарський перець",
"plural_name": "bell peppers" "plural_name": "болгарські перці"
}, },
"blackberries": { "blackberries": {
"name": "blackberries" "name": "ожина"
}, },
"bok-choy": { "bok-choy": {
"name": "bok choy" "name": "пак чой"
}, },
"brassicas": { "brassicas": {
"name": "brassicas" "name": "брасика"
}, },
"bread": { "bread": {
"name": "bread" "name": "хліб"
}, },
"breadfruit": { "breadfruit": {
"name": "breadfruit" "name": "плоди хлібного дерева"
}, },
"broccoflower": { "broccoflower": {
"name": "broccoflower" "name": "брокофлауер"
}, },
"broccoli": { "broccoli": {
"name": "broccoli" "name": "брокколі"
}, },
"broccoli-rabe": { "broccoli-rabe": {
"name": "broccoli rabe" "name": "рапіні"
}, },
"broccolini": { "broccolini": {
"name": "broccolini" "name": "брокколіні"
}, },
"brown-sugar": { "brown-sugar": {
"name": "brown sugar" "name": "коричневий цукор"
}, },
"brussels-sprouts": { "brussels-sprouts": {
"name": "brussels sprouts" "name": "брюссельська капуста"
}, },
"butter": { "butter": {
"name": "butter" "name": "вершкове масло"
}, },
"butternut-pumpkin": { "butternut-pumpkin": {
"name": "butternut pumpkin" "name": "гарбуз баттернат"
}, },
"butternut-squash": { "butternut-squash": {
"name": "butternut squash" "name": "баттернат сквош"
}, },
"cabbage": { "cabbage": {
"name": "cabbage", "name": "капуста",
"plural_name": "cabbages" "plural_name": "капусти"
}, },
"cactus-edible": { "cactus-edible": {
"name": "cactus, edible" "name": "кактус, опунція"
}, },
"calabrese": { "calabrese": {
"name": "calabrese" "name": "колабрезе"
}, },
"cane-sugar": { "cane-sugar": {
"name": "cane sugar" "name": "тростинний цукор"
}, },
"cannabis": { "cannabis": {
"name": "cannabis" "name": "канабіс"
}, },
"capsicum": { "capsicum": {
"name": "capsicum" "name": "стручковий перець"
}, },
"caraway": { "caraway": {
"name": "caraway" "name": "кмин"
}, },
"carrot": { "carrot": {
"name": "carrot", "name": "морква",
"plural_name": "carrots" "plural_name": "моркви"
}, },
"caster-sugar": { "caster-sugar": {
"name": "caster sugar" "name": "цукрова пудра"
}, },
"castor-sugar": { "castor-sugar": {
"name": "castor sugar" "name": "цукрова пудра"
}, },
"catfish": { "catfish": {
"name": "catfish" "name": "сом"
}, },
"cauliflower": { "cauliflower": {
"name": "cauliflower", "name": "цвітна капуста",
"plural_name": "cauliflowers" "plural_name": "цвітні капусти"
}, },
"cayenne-pepper": { "cayenne-pepper": {
"name": "cayenne pepper" "name": "каєнський перець"
}, },
"celeriac": { "celeriac": {
"name": "celery root" "name": "корінь селери"
}, },
"celery": { "celery": {
"name": "celery" "name": "селера"
}, },
"cereal-grains": { "cereal-grains": {
"name": "cereal grains" "name": "висівки"
}, },
"chard": { "chard": {
"name": "chard" "name": "мангольд"
}, },
"cheese": { "cheese": {
"name": "cheese" "name": "сир"
}, },
"chicory": { "chicory": {
"name": "chicory" "name": "цикорій"
}, },
"chilli-peppers": { "chilli-peppers": {
"name": "chilli pepper", "name": "перець чилі",
"plural_name": "chilli peppers" "plural_name": "перець чилі"
}, },
"chinese-leaves": { "chinese-leaves": {
"name": "chinese leaves" "name": "китайська капуста"
}, },
"chives": { "chives": {
"name": "chives" "name": "цибуля-трибулька"
}, },
"chocolate": { "chocolate": {
"name": "chocolate" "name": "шоколад"
}, },
"cilantro": { "cilantro": {
"name": "cilantro" "name": "коріандр"
}, },
"cinnamon": { "cinnamon": {
"name": "cinnamon" "name": "кориця"
}, },
"clarified-butter": { "clarified-butter": {
"name": "clarified butter" "name": "пряжене масло"
}, },
"coconut": { "coconut": {
"name": "coconut", "name": "кокос",
"plural_name": "coconuts" "plural_name": "кокоси"
}, },
"coconut-milk": { "coconut-milk": {
"name": "coconut milk" "name": "кокосове молоко"
}, },
"cod": { "cod": {
"name": "cod" "name": "тріска"
}, },
"coffee": { "coffee": {
"name": "coffee" "name": "кава"
}, },
"collard-greens": { "collard-greens": {
"name": "collard greens" "name": "капуста коллард"
}, },
"confectioners-sugar": { "confectioners-sugar": {
"name": "confectioners' sugar" "name": "кондитерський цукор"
}, },
"coriander": { "coriander": {
"name": "coriander" "name": "коріандр"
}, },
"corn": { "corn": {
"name": "corn", "name": "кукурудза",
"plural_name": "corns" "plural_name": "кукурудзи"
}, },
"corn-syrup": { "corn-syrup": {
"name": "corn syrup" "name": "кукурудзяний сироп"
}, },
"cottonseed-oil": { "cottonseed-oil": {
"name": "cottonseed oil" "name": "бавовняна олія"
}, },
"courgette": { "courgette": {
"name": "courgette" "name": "цукіні"
}, },
"cream-of-tartar": { "cream-of-tartar": {
"name": "cream of tartar" "name": "гідротартрат калію"
}, },
"cucumber": { "cucumber": {
"name": "cucumber", "name": "огірок",
"plural_name": "cucumbers" "plural_name": "огірки"
}, },
"cumin": { "cumin": {
"name": "cumin" "name": "кумин"
}, },
"daikon": { "daikon": {
"name": "daikon", "name": "дайкон",
"plural_name": "daikons" "plural_name": "дайкони"
}, },
"dairy-products-and-dairy-substitutes": { "dairy-products-and-dairy-substitutes": {
"name": "dairy products and dairy substitutes" "name": "молочні продукти та молочні замінники"
}, },
"dandelion": { "dandelion": {
"name": "dandelion" "name": "кульбаба"
}, },
"demerara-sugar": { "demerara-sugar": {
"name": "demerara sugar" "name": "цукор демерара"
}, },
"dough": { "dough": {
"name": "dough" "name": "тісто"
}, },
"edible-cactus": { "edible-cactus": {
"name": "edible cactus" "name": "кактус"
}, },
"eggplant": { "eggplant": {
"name": "eggplant", "name": "баклажан",
"plural_name": "eggplants" "plural_name": "баклажани"
}, },
"eggs": { "eggs": {
"name": "egg", "name": "яйце",
"plural_name": "eggs" "plural_name": "яйця"
}, },
"endive": { "endive": {
"name": "endive", "name": "ендивій (салатний цикорій)",
"plural_name": "endives" "plural_name": "ендивії (салатні цикорії)"
}, },
"fats": { "fats": {
"name": "fats" "name": "жири"
}, },
"fava-beans": { "fava-beans": {
"name": "fava beans" "name": "біб кінський"
}, },
"fiddlehead": { "fiddlehead": {
"name": "fiddlehead" "name": "рахіси"
}, },
"fiddlehead-fern": { "fiddlehead-fern": {
"name": "fiddlehead fern", "name": "рахіс папороті",
"plural_name": "fiddlehead ferns" "plural_name": "рахіси папороті"
}, },
"fish": { "fish": {
"name": "fish" "name": "риба"
}, },
"five-spice-powder": { "five-spice-powder": {
"name": "five spice powder" "name": "5 спецій"
}, },
"flour": { "flour": {
"name": "flour" "name": "борошно"
}, },
"frisee": { "frisee": {
"name": "frisee" "name": "фрізе"
}, },
"fructose": { "fructose": {
"name": "fructose" "name": "фруктоза"
}, },
"fruit": { "fruit": {
"name": "fruit" "name": "фрукт"
}, },
"fruit-sugar": { "fruit-sugar": {
"name": "fruit sugar" "name": "фруктоза"
}, },
"ful": { "ful": {
"name": "ful" "name": "фул медамес"
}, },
"garam-masala": { "garam-masala": {
"name": "garam masala" "name": "гарам масала"
}, },
"garlic": { "garlic": {
"name": "garlic", "name": "часник",
"plural_name": "garlics" "plural_name": "часники"
}, },
"gem-squash": { "gem-squash": {
"name": "gem squash" "name": "гарбуз гем"
}, },
"ghee": { "ghee": {
"name": "ghee" "name": "гхі"
}, },
"giblets": { "giblets": {
"name": "giblets" "name": "пташині тельбухи"
}, },
"ginger": { "ginger": {
"name": "ginger" "name": "імбир"
}, },
"grains": { "grains": {
"name": "grains" "name": "зерна"
}, },
"granulated-sugar": { "granulated-sugar": {
"name": "granulated sugar" "name": "гранульований цукор"
}, },
"grape-seed-oil": { "grape-seed-oil": {
"name": "grape seed oil" "name": "олія з виноградних кісточок"
}, },
"green-onion": { "green-onion": {
"name": "green onion", "name": "зелена цибуля",
"plural_name": "green onions" "plural_name": "зелені цибулі"
}, },
"heart-of-palm": { "heart-of-palm": {
"name": "heart of palm", "name": "серцевина пальми",
"plural_name": "heart of palms" "plural_name": "серцевина пальм"
}, },
"hemp": { "hemp": {
"name": "hemp" "name": "коноплі"
}, },
"herbs": { "herbs": {
"name": "herbs" "name": "трави"
}, },
"honey": { "honey": {
"name": "honey" "name": "мед"
}, },
"isomalt": { "isomalt": {
"name": "isomalt" "name": "ізомальт"
}, },
"jackfruit": { "jackfruit": {
"name": "jackfruit", "name": "джекфрут",
"plural_name": "jackfruits" "plural_name": "джекфрукти"
}, },
"jaggery": { "jaggery": {
"name": "jaggery" "name": "цукор джаггері"
}, },
"jams": { "jams": {
"name": "jams" "name": "джеми"
}, },
"jellies": { "jellies": {
"name": "jellies" "name": "желе"
}, },
"jerusalem-artichoke": { "jerusalem-artichoke": {
"name": "jerusalem artichoke" "name": "топінамбур"
}, },
"jicama": { "jicama": {
"name": "jicama" "name": "хікама"
}, },
"kale": { "kale": {
"name": "kale" "name": "капуста кейл"
}, },
"kohlrabi": { "kohlrabi": {
"name": "kohlrabi" "name": "кольрабі"
}, },
"kumara": { "kumara": {
"name": "kumara" "name": "кумара"
}, },
"leavening-agents": { "leavening-agents": {
"name": "leavening agents" "name": "харчовий розпушувач"
}, },
"leek": { "leek": {
"name": "leek", "name": "цибуля-порей",
"plural_name": "leeks" "plural_name": "цибулі-порей"
}, },
"legumes": { "legumes": {
"name": "legumes" "name": "бобові"
}, },
"lemongrass": { "lemongrass": {
"name": "lemongrass" "name": "лемонграс"
}, },
"lentils": { "lentils": {
"name": "lentils" "name": "сочевиця"
}, },
"lettuce": { "lettuce": {
"name": "lettuce" "name": "салат"
}, },
"liver": { "liver": {
"name": "liver", "name": "печінка",
"plural_name": "livers" "plural_name": "печінки"
}, },
"maize": { "maize": {
"name": "maize" "name": "кукурудза звичайна"
}, },
"maple-syrup": { "maple-syrup": {
"name": "maple syrup" "name": "кленовий сироп"
}, },
"meat": { "meat": {
"name": "meat" "name": "м’ясо"
}, },
"milk": { "milk": {
"name": "milk" "name": "молоко"
}, },
"mortadella": { "mortadella": {
"name": "mortadella" "name": "мортадела"
}, },
"mushroom": { "mushroom": {
"name": "mushroom", "name": "гриб",
"plural_name": "mushrooms" "plural_name": "гриби"
}, },
"mussels": { "mussels": {
"name": "mussels" "name": "мідії"
}, },
"nanaimo-bar-mix": { "nanaimo-bar-mix": {
"name": "nanaimo bar mix" "name": "nanaimo бари"
}, },
"nori": { "nori": {
"name": "nori" "name": "норі"
}, },
"nutmeg": { "nutmeg": {
"name": "nutmeg" "name": "мускатний горіх"
}, },
"nutritional-yeast-flakes": { "nutritional-yeast-flakes": {
"name": "nutritional yeast flakes" "name": "пластівці харчових дріждж"
}, },
"nuts": { "nuts": {
"name": "nuts" "name": "горіхи"
}, },
"octopuses": { "octopuses": {
"name": "octopus", "name": "восьминіг",
"plural_name": "octopuses" "plural_name": "восьминоги"
}, },
"oils": { "oils": {
"name": "oils" "name": "олії"
}, },
"okra": { "okra": {
"name": "okra" "name": "бамія"
}, },
"olive": { "olive": {
"name": "olive" "name": "оливка"
}, },
"olive-oil": { "olive-oil": {
"name": "olive oil" "name": "оливкова олія"
}, },
"onion": { "onion": {
"name": "onion" "name": "цибуля"
}, },
"onion-family": { "onion-family": {
"name": "onion family" "name": "цибулеві"
}, },
"orange-blossom-water": { "orange-blossom-water": {
"name": "orange blossom water" "name": "флердоранж"
}, },
"oranges": { "oranges": {
"name": "orange", "name": "апельсин",
"plural_name": "oranges" "plural_name": "апельсини"
}, },
"oregano": { "oregano": {
"name": "oregano" "name": "орегано"
}, },
"oysters": { "oysters": {
"name": "oysters" "name": "устриці"
}, },
"panch-puran": { "panch-puran": {
"name": "panch puran" "name": "панч-пуран"
}, },
"paprika": { "paprika": {
"name": "paprika" "name": "паприка"
}, },
"parsley": { "parsley": {
"name": "parsley" "name": "петрушка"
}, },
"parsnip": { "parsnip": {
"name": "parsnip", "name": "пастернак",
"plural_name": "parsnips" "plural_name": "пастернаки"
}, },
"pear": { "pear": {
"name": "pear", "name": "груша",
"plural_name": "pears" "plural_name": "груші"
}, },
"peas": { "peas": {
"name": "peas" "name": "горох"
}, },
"pepper": { "pepper": {
"name": "pepper", "name": "перець",
"plural_name": "peppers" "plural_name": "перці"
}, },
"pineapple": { "pineapple": {
"name": "pineapple", "name": "ананас",
"plural_name": "pineapples" "plural_name": "ананаси"
}, },
"plantain": { "plantain": {
"name": "plantain", "name": "плантан",
"plural_name": "plantains" "plural_name": "плантани"
}, },
"poppy-seeds": { "poppy-seeds": {
"name": "poppy seeds" "name": "макове насіння"
}, },
"potato": { "potato": {
"name": "potato", "name": "картопля",
"plural_name": "potatoes" "plural_name": "картоплини"
}, },
"poultry": { "poultry": {
"name": "poultry" "name": "птиця"
}, },
"powdered-sugar": { "powdered-sugar": {
"name": "powdered sugar" "name": "цукрова пудра"
}, },
"pumpkin": { "pumpkin": {
"name": "pumpkin", "name": "гарбуз",
"plural_name": "pumpkins" "plural_name": "гарбузи"
}, },
"pumpkin-seeds": { "pumpkin-seeds": {
"name": "pumpkin seeds" "name": "гарбузове насіння"
}, },
"radish": { "radish": {
"name": "radish", "name": "редис",
"plural_name": "radishes" "plural_name": "редиски"
}, },
"raw-sugar": { "raw-sugar": {
"name": "raw sugar" "name": "цукор сирець"
}, },
"refined-sugar": { "refined-sugar": {
"name": "refined sugar" "name": "рафінований цукор"
}, },
"rice": { "rice": {
"name": "rice" "name": "рис"
}, },
"rice-flour": { "rice-flour": {
"name": "rice flour" "name": "рисове борошно"
}, },
"rock-sugar": { "rock-sugar": {
"name": "rock sugar" "name": "камінний цукор"
}, },
"rum": { "rum": {
"name": "rum" "name": "ром"
}, },
"salmon": { "salmon": {
"name": "salmon" "name": "лосось"
}, },
"salt": { "salt": {
"name": "salt" "name": "сіль"
}, },
"salt-cod": { "salt-cod": {
"name": "salt cod" "name": "солона тріска"
}, },
"scallion": { "scallion": {
"name": "scallion", "name": "зелена цибуля",
"plural_name": "scallions" "plural_name": "зелені цибулі"
}, },
"seafood": { "seafood": {
"name": "seafood" "name": "морепродукти"
}, },
"seeds": { "seeds": {
"name": "seeds" "name": "насіння"
}, },
"sesame-seeds": { "sesame-seeds": {
"name": "sesame seeds" "name": "насіння кунжуту"
}, },
"shallot": { "shallot": {
"name": "shallot", "name": "цибуля шалот",
"plural_name": "shallots" "plural_name": "цибулі шалот"
}, },
"skate": { "skate": {
"name": "skate" "name": "скат"
}, },
"soda": { "soda": {
"name": "soda" "name": "сода"
}, },
"soda-baking": { "soda-baking": {
"name": "soda, baking" "name": "харчова сода"
}, },
"soybean": { "soybean": {
"name": "soybean" "name": "соєві боби"
}, },
"spaghetti-squash": { "spaghetti-squash": {
"name": "spaghetti squash", "name": "спагеті-сквош",
"plural_name": "spaghetti squashes" "plural_name": "спагеті-сквоші"
}, },
"speck": { "speck": {
"name": "speck" "name": "шпек"
}, },
"spices": { "spices": {
"name": "spices" "name": "спеції"
}, },
"spinach": { "spinach": {
"name": "spinach" "name": "шпинат"
}, },
"spring-onion": { "spring-onion": {
"name": "spring onion", "name": "зелена цибуля",
"plural_name": "spring onions" "plural_name": "зелені цибулі"
}, },
"squash": { "squash": {
"name": "squash", "name": "гарбуз",
"plural_name": "squashes" "plural_name": "гарбузи"
}, },
"squash-family": { "squash-family": {
"name": "squash family" "name": "гарбузові"
}, },
"stockfish": { "stockfish": {
"name": "stockfish" "name": "в'ялена риба"
}, },
"sugar": { "sugar": {
"name": "sugar" "name": "цукор"
}, },
"sunchoke": { "sunchoke": {
"name": "sunchoke", "name": "топінамбур",
"plural_name": "sunchokes" "plural_name": "топінамбури"
}, },
"sunflower-seeds": { "sunflower-seeds": {
"name": "sunflower seeds" "name": "насіння соняшника"
}, },
"superfine-sugar": { "superfine-sugar": {
"name": "superfine sugar" "name": "цукрова пудра"
}, },
"sweet-potato": { "sweet-potato": {
"name": "sweet potato", "name": "батат",
"plural_name": "sweet potatoes" "plural_name": "батати"
}, },
"sweetcorn": { "sweetcorn": {
"name": "sweetcorn", "name": "солодка кукурудза",
"plural_name": "sweetcorns" "plural_name": "солодкі кукурудзи"
}, },
"sweeteners": { "sweeteners": {
"name": "sweeteners" "name": "підсолоджувачі"
}, },
"tahini": { "tahini": {
"name": "tahini" "name": "тахіні"
}, },
"taro": { "taro": {
"name": "taro", "name": "таро",
"plural_name": "taroes" "plural_name": "таро"
}, },
"teff": { "teff": {
"name": "teff" "name": "тефф"
}, },
"tomato": { "tomato": {
"name": "tomato", "name": "помідор",
"plural_name": "tomatoes" "plural_name": "помідори"
}, },
"trout": { "trout": {
"name": "trout" "name": "форель"
}, },
"tubers": { "tubers": {
"name": "tuber", "name": "бульба",
"plural_name": "tubers" "plural_name": "бульби"
}, },
"tuna": { "tuna": {
"name": "tuna" "name": "тунець"
}, },
"turbanado-sugar": { "turbanado-sugar": {
"name": "turbanado sugar" "name": "цукор турбінадо"
}, },
"turnip": { "turnip": {
"name": "turnip", "name": "ріпа",
"plural_name": "turnips" "plural_name": "ріпи"
}, },
"unrefined-sugar": { "unrefined-sugar": {
"name": "unrefined sugar" "name": "нерафінований цукор"
}, },
"vanilla": { "vanilla": {
"name": "vanilla" "name": "ваніль"
}, },
"vegetables": { "vegetables": {
"name": "vegetables" "name": "овочі"
}, },
"watercress": { "watercress": {
"name": "watercress" "name": "настурція лікарська"
}, },
"watermelon": { "watermelon": {
"name": "watermelon", "name": "кавун",
"plural_name": "watermelons" "plural_name": "кавуни"
}, },
"white-mushroom": { "white-mushroom": {
"name": "white mushroom", "name": "білий гриб",
"plural_name": "white mushrooms" "plural_name": "білі гриби"
}, },
"white-sugar": { "white-sugar": {
"name": "white sugar" "name": "білий цукор"
}, },
"xanthan-gum": { "xanthan-gum": {
"name": "xanthan gum" "name": "ксантанова камедь"
}, },
"yam": { "yam": {
"name": "yam", "name": "ямс",
"plural_name": "yams" "plural_name": "ямси"
}, },
"yeast": { "yeast": {
"name": "yeast" "name": "дріжджі"
}, },
"zucchini": { "zucchini": {
"name": "zucchini", "name": "цукіні",
"plural_name": "zucchinis" "plural_name": "цукіні"
} }
} }

View file

@ -173,7 +173,7 @@ class QueryFilterBuilderComponent:
if not isinstance(self.value, list): if not isinstance(self.value, list):
sanitized_values = [self.value] sanitized_values = [self.value]
else: else:
sanitized_values = self.value sanitized_values = list(self.value)
for i, v in enumerate(sanitized_values): for i, v in enumerate(sanitized_values):
# always allow querying for null values # always allow querying for null values

View file

@ -155,7 +155,7 @@ def parse_iso8601_duration(time: str | None) -> str:
return time return time
# TODO: make singular and plural translatable # TODO: make singular and plural translatable
time_part_map = { time_part_map: dict[str, dict] = {
"days": {"singular": "day", "plural": "days"}, "days": {"singular": "day", "plural": "days"},
"hours": {"singular": "hour", "plural": "hours"}, "hours": {"singular": "hour", "plural": "hours"},
"minutes": {"singular": "minute", "plural": "minutes"}, "minutes": {"singular": "minute", "plural": "minutes"},

121
poetry.lock generated
View file

@ -1666,48 +1666,49 @@ files = [
[[package]] [[package]]
name = "mypy" name = "mypy"
version = "1.15.0" version = "1.16.0"
description = "Optional static typing for Python" description = "Optional static typing for Python"
optional = false optional = false
python-versions = ">=3.9" python-versions = ">=3.9"
groups = ["dev"] groups = ["dev"]
files = [ files = [
{file = "mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13"}, {file = "mypy-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7909541fef256527e5ee9c0a7e2aeed78b6cda72ba44298d1334fe7881b05c5c"},
{file = "mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559"}, {file = "mypy-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e71d6f0090c2256c713ed3d52711d01859c82608b5d68d4fa01a3fe30df95571"},
{file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b"}, {file = "mypy-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:936ccfdd749af4766be824268bfe22d1db9eb2f34a3ea1d00ffbe5b5265f5491"},
{file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3"}, {file = "mypy-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4086883a73166631307fdd330c4a9080ce24913d4f4c5ec596c601b3a4bdd777"},
{file = "mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b"}, {file = "mypy-1.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:feec38097f71797da0231997e0de3a58108c51845399669ebc532c815f93866b"},
{file = "mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828"}, {file = "mypy-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:09a8da6a0ee9a9770b8ff61b39c0bb07971cda90e7297f4213741b48a0cc8d93"},
{file = "mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f"}, {file = "mypy-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9f826aaa7ff8443bac6a494cf743f591488ea940dd360e7dd330e30dd772a5ab"},
{file = "mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5"}, {file = "mypy-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82d056e6faa508501af333a6af192c700b33e15865bda49611e3d7d8358ebea2"},
{file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e"}, {file = "mypy-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:089bedc02307c2548eb51f426e085546db1fa7dd87fbb7c9fa561575cf6eb1ff"},
{file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c"}, {file = "mypy-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a2322896003ba66bbd1318c10d3afdfe24e78ef12ea10e2acd985e9d684a666"},
{file = "mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f"}, {file = "mypy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:021a68568082c5b36e977d54e8f1de978baf401a33884ffcea09bd8e88a98f4c"},
{file = "mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f"}, {file = "mypy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:54066fed302d83bf5128632d05b4ec68412e1f03ef2c300434057d66866cea4b"},
{file = "mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd"}, {file = "mypy-1.16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c5436d11e89a3ad16ce8afe752f0f373ae9620841c50883dc96f8b8805620b13"},
{file = "mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f"}, {file = "mypy-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f2622af30bf01d8fc36466231bdd203d120d7a599a6d88fb22bdcb9dbff84090"},
{file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464"}, {file = "mypy-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d045d33c284e10a038f5e29faca055b90eee87da3fc63b8889085744ebabb5a1"},
{file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee"}, {file = "mypy-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b4968f14f44c62e2ec4a038c8797a87315be8df7740dc3ee8d3bfe1c6bf5dba8"},
{file = "mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e"}, {file = "mypy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb14a4a871bb8efb1e4a50360d4e3c8d6c601e7a31028a2c79f9bb659b63d730"},
{file = "mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22"}, {file = "mypy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:bd4e1ebe126152a7bbaa4daedd781c90c8f9643c79b9748caa270ad542f12bec"},
{file = "mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445"}, {file = "mypy-1.16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a9e056237c89f1587a3be1a3a70a06a698d25e2479b9a2f57325ddaaffc3567b"},
{file = "mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d"}, {file = "mypy-1.16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b07e107affb9ee6ce1f342c07f51552d126c32cd62955f59a7db94a51ad12c0"},
{file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5"}, {file = "mypy-1.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c6fb60cbd85dc65d4d63d37cb5c86f4e3a301ec605f606ae3a9173e5cf34997b"},
{file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036"}, {file = "mypy-1.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7e32297a437cc915599e0578fa6bc68ae6a8dc059c9e009c628e1c47f91495d"},
{file = "mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357"}, {file = "mypy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:afe420c9380ccec31e744e8baff0d406c846683681025db3531b32db56962d52"},
{file = "mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf"}, {file = "mypy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:55f9076c6ce55dd3f8cd0c6fff26a008ca8e5131b89d5ba6d86bd3f47e736eeb"},
{file = "mypy-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078"}, {file = "mypy-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f56236114c425620875c7cf71700e3d60004858da856c6fc78998ffe767b73d3"},
{file = "mypy-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba"}, {file = "mypy-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:15486beea80be24ff067d7d0ede673b001d0d684d0095803b3e6e17a886a2a92"},
{file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5"}, {file = "mypy-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f2ed0e0847a80655afa2c121835b848ed101cc7b8d8d6ecc5205aedc732b1436"},
{file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b"}, {file = "mypy-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb5fbc8063cb4fde7787e4c0406aa63094a34a2daf4673f359a1fb64050e9cb2"},
{file = "mypy-1.15.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2"}, {file = "mypy-1.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a5fcfdb7318c6a8dd127b14b1052743b83e97a970f0edb6c913211507a255e20"},
{file = "mypy-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980"}, {file = "mypy-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7e0ad35275e02797323a5aa1be0b14a4d03ffdb2e5f2b0489fa07b89c67b21"},
{file = "mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e"}, {file = "mypy-1.16.0-py3-none-any.whl", hash = "sha256:29e1499864a3888bca5c1542f2d7232c6e586295183320caa95758fc84034031"},
{file = "mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43"}, {file = "mypy-1.16.0.tar.gz", hash = "sha256:84b94283f817e2aa6350a14b4a8fb2a35a53c286f97c9d30f53b63620e7af8ab"},
] ]
[package.dependencies] [package.dependencies]
mypy_extensions = ">=1.0.0" mypy_extensions = ">=1.0.0"
pathspec = ">=0.9.0"
typing_extensions = ">=4.6.0" typing_extensions = ">=4.6.0"
[package.extras] [package.extras]
@ -1854,14 +1855,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
[[package]] [[package]]
name = "openai" name = "openai"
version = "1.82.0" version = "1.82.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.82.0-py3-none-any.whl", hash = "sha256:8c40647fea1816516cb3de5189775b30b5f4812777e40b8768f361f232b61b30"}, {file = "openai-1.82.1-py3-none-any.whl", hash = "sha256:334eb5006edf59aa464c9e932b9d137468d810b2659e5daea9b3a8c39d052395"},
{file = "openai-1.82.0.tar.gz", hash = "sha256:b0a009b9a58662d598d07e91e4219ab4b1e3d8ba2db3f173896a92b9b874d1a7"}, {file = "openai-1.82.1.tar.gz", hash = "sha256:ffc529680018e0417acac85f926f92aa0bbcbc26e82e2621087303c66bc7f95d"},
] ]
[package.dependencies] [package.dependencies]
@ -3247,30 +3248,30 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
[[package]] [[package]]
name = "ruff" name = "ruff"
version = "0.11.11" version = "0.11.12"
description = "An extremely fast Python linter and code formatter, written in Rust." description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
groups = ["dev"] groups = ["dev"]
files = [ files = [
{file = "ruff-0.11.11-py3-none-linux_armv6l.whl", hash = "sha256:9924e5ae54125ed8958a4f7de320dab7380f6e9fa3195e3dc3b137c6842a0092"}, {file = "ruff-0.11.12-py3-none-linux_armv6l.whl", hash = "sha256:c7680aa2f0d4c4f43353d1e72123955c7a2159b8646cd43402de6d4a3a25d7cc"},
{file = "ruff-0.11.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c8a93276393d91e952f790148eb226658dd275cddfde96c6ca304873f11d2ae4"}, {file = "ruff-0.11.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2cad64843da9f134565c20bcc430642de897b8ea02e2e79e6e02a76b8dcad7c3"},
{file = "ruff-0.11.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d6e333dbe2e6ae84cdedefa943dfd6434753ad321764fd937eef9d6b62022bcd"}, {file = "ruff-0.11.12-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9b6886b524a1c659cee1758140138455d3c029783d1b9e643f3624a5ee0cb0aa"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7885d9a5e4c77b24e8c88aba8c80be9255fa22ab326019dac2356cff42089fc6"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cc3a3690aad6e86c1958d3ec3c38c4594b6ecec75c1f531e84160bd827b2012"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1b5ab797fcc09121ed82e9b12b6f27e34859e4227080a42d090881be888755d4"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f97fdbc2549f456c65b3b0048560d44ddd540db1f27c778a938371424b49fe4a"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e231ff3132c1119ece836487a02785f099a43992b95c2f62847d29bace3c75ac"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74adf84960236961090e2d1348c1a67d940fd12e811a33fb3d107df61eef8fc7"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a97c9babe1d4081037a90289986925726b802d180cca784ac8da2bbbc335f709"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b56697e5b8bcf1d61293ccfe63873aba08fdbcbbba839fc046ec5926bdb25a3a"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8c4ddcbe8a19f59f57fd814b8b117d4fcea9bee7c0492e6cf5fdc22cfa563c8"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d47afa45e7b0eaf5e5969c6b39cbd108be83910b5c74626247e366fd7a36a13"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6224076c344a7694c6fbbb70d4f2a7b730f6d47d2a9dc1e7f9d9bb583faf390b"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bf9603fe1bf949de8b09a2da896f05c01ed7a187f4a386cdba6760e7f61be"},
{file = "ruff-0.11.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:882821fcdf7ae8db7a951df1903d9cb032bbe838852e5fc3c2b6c3ab54e39875"}, {file = "ruff-0.11.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08033320e979df3b20dba567c62f69c45e01df708b0f9c83912d7abd3e0801cd"},
{file = "ruff-0.11.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:dcec2d50756463d9df075a26a85a6affbc1b0148873da3997286caf1ce03cae1"}, {file = "ruff-0.11.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:929b7706584f5bfd61d67d5070f399057d07c70585fa8c4491d78ada452d3bef"},
{file = "ruff-0.11.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99c28505ecbaeb6594701a74e395b187ee083ee26478c1a795d35084d53ebd81"}, {file = "ruff-0.11.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7de4a73205dc5756b8e09ee3ed67c38312dce1aa28972b93150f5751199981b5"},
{file = "ruff-0.11.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9263f9e5aa4ff1dec765e99810f1cc53f0c868c5329b69f13845f699fe74f639"}, {file = "ruff-0.11.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2635c2a90ac1b8ca9e93b70af59dfd1dd2026a40e2d6eebaa3efb0465dd9cf02"},
{file = "ruff-0.11.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:64ac6f885e3ecb2fdbb71de2701d4e34526651f1e8503af8fb30d4915a3fe345"}, {file = "ruff-0.11.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d05d6a78a89166f03f03a198ecc9d18779076ad0eec476819467acb401028c0c"},
{file = "ruff-0.11.11-py3-none-win32.whl", hash = "sha256:1adcb9a18802268aaa891ffb67b1c94cd70578f126637118e8099b8e4adcf112"}, {file = "ruff-0.11.12-py3-none-win32.whl", hash = "sha256:f5a07f49767c4be4772d161bfc049c1f242db0cfe1bd976e0f0886732a4765d6"},
{file = "ruff-0.11.11-py3-none-win_amd64.whl", hash = "sha256:748b4bb245f11e91a04a4ff0f96e386711df0a30412b9fe0c74d5bdc0e4a531f"}, {file = "ruff-0.11.12-py3-none-win_amd64.whl", hash = "sha256:5a4d9f8030d8c3a45df201d7fb3ed38d0219bccd7955268e863ee4a115fa0832"},
{file = "ruff-0.11.11-py3-none-win_arm64.whl", hash = "sha256:6c51f136c0364ab1b774767aa8b86331bd8e9d414e2d107db7a2189f35ea1f7b"}, {file = "ruff-0.11.12-py3-none-win_arm64.whl", hash = "sha256:65194e37853158d368e333ba282217941029a28ea90913c67e558c611d04daa5"},
{file = "ruff-0.11.11.tar.gz", hash = "sha256:7774173cc7c1980e6bf67569ebb7085989a78a103922fb83ef3dfe230cd0687d"}, {file = "ruff-0.11.12.tar.gz", hash = "sha256:43cf7f69c7d7c7d7513b9d59c5d8cafd704e05944f978614aa9faff6ac202603"},
] ]
[[package]] [[package]]
@ -3610,14 +3611,14 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[[package]] [[package]]
name = "uvicorn" name = "uvicorn"
version = "0.34.2" version = "0.34.3"
description = "The lightning-fast ASGI server." description = "The lightning-fast ASGI server."
optional = false optional = false
python-versions = ">=3.9" python-versions = ">=3.9"
groups = ["main"] groups = ["main"]
files = [ files = [
{file = "uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403"}, {file = "uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885"},
{file = "uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328"}, {file = "uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a"},
] ]
[package.dependencies] [package.dependencies]
@ -3627,12 +3628,12 @@ h11 = ">=0.8"
httptools = {version = ">=0.6.3", optional = true, markers = "extra == \"standard\""} httptools = {version = ">=0.6.3", optional = true, markers = "extra == \"standard\""}
python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""}
pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""}
uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""} uvloop = {version = ">=0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""}
watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""}
websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""}
[package.extras] [package.extras]
standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1) ; sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\"", "watchfiles (>=0.13)", "websockets (>=10.4)"] standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.15.1) ; sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\"", "watchfiles (>=0.13)", "websockets (>=10.4)"]
[[package]] [[package]]
name = "uvloop" name = "uvloop"