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:
stale-issue-label: 'stale'
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.'
days-before-issue-stale: 30
days-before-issue-close: 5
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: 90
# This stops an issue from ever getting closed automatically.
days-before-issue-close: -1
stale-pr-label: 'stale'
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity.'
days-before-pr-stale: 45
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: 90
# This stops a PR from ever getting closed automatically.
days-before-pr-close: -1
# 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/
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.11.11
rev: v0.11.12
hooks:
- id: ruff
- id: ruff-format

View file

@ -150,7 +150,7 @@
"shuffle": "Tilfeldig rekkefølge",
"sort": "Sorter",
"sort-ascending": "Sorter stigende",
"sort-descending": "Sortere synkende",
"sort-descending": "Sorter synkende",
"sort-alphabetically": "Alfabetisk",
"status": "Status",
"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."
},
"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-household": "Administrer husholdning",
"invite": "Inviter",
@ -253,9 +253,9 @@
"default-recipe-preferences": "Standard oppskriftsinnstillinger",
"group-preferences": "Gruppeinnstillinger",
"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-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-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",
@ -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-have-a-lot-of-recipes": "Har du mange oppskrifter du ønsker å skrape samtidig?",
"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",
"import-original-keywords-as-tags": "Importer originale søkeord som emneord",
"stay-in-edit-mode": "Forbli i redigeringsmodus",

View file

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

View file

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

View file

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

View file

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

View file

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

121
poetry.lock generated
View file

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