Download scripts/build_dataset.py from grappapp/grapp: direct link, hf CLI and curl.
- Browser
- Download file 12.5 kB
-
https://huggingface.co/spaces/grappapp/grapp/resolve/main/scripts/build_dataset.py
- Command line
-
hf download hf://spaces/grappapp/grapp/scripts/build_dataset.py
-
curl -L -o build_dataset.py https://huggingface.co/spaces/grappapp/grapp/resolve/main/scripts/build_dataset.py
12.5 kB
| """Construit data/vins.csv : base de profils de vins français par appellation. | |
| Profils "typiques" d'appellation (pas des avis inventés) : couleur, bulles, | |
| sucre, corps, acidité, tanins (échelles 1-5), arômes dominants, accords et | |
| fourchette de prix indicative. Rédigés avec l'aide d'un assistant IA puis | |
| relus à partir de sources publiques (voir SOURCES.md). À enrichir avec | |
| scripts/enrichir_kaggle.py (Wine Reviews, Kaggle). | |
| """ | |
| import csv, pathlib | |
| COLS = ["nom","region","couleur","bulles","sucre","corps","acidite","tanins", | |
| "aromes","famille","accords","occasion","prix_bouteille","prix_verre","pitch"] | |
| # famille : fruite / floral / epice / boise / mineral / gourmand | |
| V = [ | |
| ("Beaujolais-Villages","Beaujolais","rouge",0,1,2,3,1,"fraise cerise bonbon framboise","fruite","charcuterie pizza apéro","apero",11,5,"Le rouge qui se boit comme du jus de fruits (mais pour adultes)."), | |
| ("Morgon","Beaujolais","rouge",0,1,3,3,2,"cerise noire kirsch violette","fruite","volaille burger","repas",15,6,"Le Beaujolais qui a fait de la muscu."), | |
| ("Fleurie","Beaujolais","rouge",0,1,2,3,1,"violette pivoine framboise","floral","saumon salade quiche","apero",15,6,"Un bouquet de fleurs dans ton verre."), | |
| ("Bourgogne Pinot Noir","Bourgogne","rouge",0,1,2,4,2,"cerise griotte sous-bois","fruite","volaille champignons","repas",18,7,"Le classique chic mais pas prise de tête."), | |
| ("Gevrey-Chambertin","Bourgogne","rouge",0,1,4,4,3,"cassis réglisse sous-bois cuir","boise","boeuf bourguignon gibier","grande_occasion",45,14,"Pour impressionner belle-maman."), | |
| ("Mercurey","Bourgogne","rouge",0,1,3,3,3,"fruits rouges épices douces","fruite","veau fromage","repas",22,8,"Bourgogne qualité, prix sympa."), | |
| ("Côtes du Rhône","Vallée du Rhône","rouge",0,1,3,3,3,"fruits noirs poivre garrigue","epice","barbecue pâtes bolo","repas",9,5,"Le pote fiable de toutes tes soirées."), | |
| ("Crozes-Hermitage","Vallée du Rhône","rouge",0,1,3,3,3,"mûre poivre noir violette","epice","grillades agneau","repas",17,7,"Syrah poivrée, caractère assumé."), | |
| ("Châteauneuf-du-Pape","Vallée du Rhône","rouge",0,1,5,2,4,"fruits confits garrigue réglisse","epice","daube gibier","grande_occasion",40,13,"Le soleil du Sud en mode XXL."), | |
| ("Gigondas","Vallée du Rhône","rouge",0,1,4,2,4,"cerise noire épices cacao","epice","agneau ragoût","repas",25,9,"Puissant et généreux comme un câlin."), | |
| ("Vacqueyras","Vallée du Rhône","rouge",0,1,4,3,3,"fruits noirs thym poivre","epice","côte de boeuf","repas",18,7,"Costaud mais pas bourrin."), | |
| ("Bordeaux Supérieur","Bordeaux","rouge",0,1,3,3,4,"cassis prune boisé léger","boise","entrecôte fromage","repas",12,6,"Le Bordeaux accessible qui ne fait pas peur."), | |
| ("Saint-Émilion","Bordeaux","rouge",0,1,4,3,3,"prune vanille chocolat","boise","magret canard","grande_occasion",28,10,"Merlot velours, ambiance château."), | |
| ("Pauillac","Bordeaux","rouge",0,1,5,3,5,"cassis cèdre tabac","boise","agneau de lait","grande_occasion",60,18,"Le boss final des rouges."), | |
| ("Médoc","Bordeaux","rouge",0,1,4,3,4,"cassis graphite boisé","boise","boeuf grillé","repas",16,7,"Structure béton, pour les viandeux."), | |
| ("Côtes de Bourg","Bordeaux","rouge",0,1,3,3,3,"fruits rouges réglisse","fruite","burger pâtes","repas",10,5,"Petit prix, grosse ambiance."), | |
| ("Chinon","Val de Loire","rouge",0,1,2,4,2,"framboise poivron violette","fruite","charcuterie rillettes","apero",13,6,"Le rouge frais à servir un peu frais."), | |
| ("Saumur-Champigny","Val de Loire","rouge",0,1,2,4,2,"fruits rouges croquants","fruite","volaille tartes salées","apero",13,6,"Croquant comme une fraise des bois."), | |
| ("Bourgueil","Val de Loire","rouge",0,1,3,4,3,"cassis framboise graphite","fruite","porc grillades","repas",13,6,"Cabernet franc qui a du peps."), | |
| ("Cahors","Sud-Ouest","rouge",0,1,5,3,5,"mûre prune réglisse","epice","cassoulet confit","repas",14,6,"Le vin noir. Ultra costaud."), | |
| ("Madiran","Sud-Ouest","rouge",0,1,5,3,5,"fruits noirs épices cacao","epice","magret garbure","repas",15,6,"Tanins de rugbyman."), | |
| ("Marcillac","Sud-Ouest","rouge",0,1,2,4,2,"cassis poivre framboise","fruite","charcuterie aligot","apero",12,6,"Le rouge secret de l'Aveyron."), | |
| ("Corbières","Languedoc","rouge",0,1,4,2,3,"fruits noirs garrigue laurier","epice","barbecue tajine","repas",10,5,"Le Sud qui sent la garrigue."), | |
| ("Pic Saint-Loup","Languedoc","rouge",0,1,4,3,3,"mûre thym poivre","epice","agneau grillé","repas",18,7,"Le Languedoc version premium."), | |
| ("Minervois","Languedoc","rouge",0,1,3,2,3,"cerise épices réglisse","epice","pizza grillades","repas",11,5,"Soleil en bouteille, prix mini."), | |
| ("Bandol rouge","Provence","rouge",0,1,5,3,5,"mûre cuir garrigue","epice","daube agneau","grande_occasion",30,11,"Mourvèdre de caractère."), | |
| ("Alsace Pinot Noir","Alsace","rouge",0,1,1,4,1,"cerise fraise légère","fruite","tarte flambée volaille","apero",15,6,"Le rouge léger comme une plume."), | |
| ("Corse Vin rouge","Corse","rouge",0,1,3,3,3,"maquis fruits rouges","epice","charcuterie corse","repas",15,6,"Le maquis dans ton verre."), | |
| ("Vin nature Gamay","Divers","rouge",0,1,1,4,1,"fruits rouges croquants bonbon","fruite","apéro tapas","apero",16,7,"Glou-glou nature, à boire frais."), | |
| ("Côtes de Provence rosé","Provence","rose",0,1,2,3,1,"pêche agrumes groseille","fruite","salade grillades apéro","apero",13,6,"Le rosé pâle de l'été en terrasse."), | |
| ("Tavel","Vallée du Rhône","rose",0,1,3,3,2,"fraise épices cerise","fruite","cuisine asiatique paella","repas",15,6,"Le rosé qui se prend pour un rouge."), | |
| ("Bandol rosé","Provence","rose",0,1,3,3,1,"agrumes pêche épices","fruite","bouillabaisse poisson grillé","repas",22,8,"Le rosé chic de la Riviera."), | |
| ("Rosé d'Anjou","Val de Loire","rose",0,3,1,3,1,"bonbon fraise framboise","gourmand","apéro dessert fruits","apero",8,4,"Doux et fruité, le rosé bonbon."), | |
| ("Cabernet d'Anjou","Val de Loire","rose",0,3,2,3,1,"fraise framboise sucre d'orge","gourmand","cuisine épicée apéro","apero",9,4,"Rosé gourmand, légèrement sucré."), | |
| ("Pays d'Oc rosé","Languedoc","rose",0,1,2,3,1,"fruits rouges agrumes","fruite","barbecue pique-nique","apero",7,4,"Petit budget, grand soleil."), | |
| ("Chablis","Bourgogne","blanc",0,1,2,5,1,"citron pierre à fusil iode","mineral","huîtres sushis","repas",20,8,"Ultra frais, comme une vague."), | |
| ("Mâcon-Villages","Bourgogne","blanc",0,1,2,3,1,"pomme beurre fleurs blanches","fruite","poisson volaille","apero",12,6,"Chardonnay facile et rond."), | |
| ("Meursault","Bourgogne","blanc",0,1,4,3,1,"beurre noisette brioche","boise","homard volaille crème","grande_occasion",50,15,"Le blanc beurré de luxe."), | |
| ("Pouilly-Fuissé","Bourgogne","blanc",0,1,3,3,1,"agrumes amande grillée","boise","poisson sauce","repas",28,10,"Chardonnay riche et élégant."), | |
| ("Sancerre","Val de Loire","blanc",0,1,2,5,1,"pamplemousse buis silex","mineral","chèvre poisson","repas",22,8,"Vif, net, sans bavure."), | |
| ("Pouilly-Fumé","Val de Loire","blanc",0,1,2,5,1,"agrumes pierre à fusil fumé","mineral","saint-jacques chèvre","repas",22,8,"Sauvignon fumé de caractère."), | |
| ("Muscadet Sèvre-et-Maine","Val de Loire","blanc",0,1,1,5,1,"citron iode pomme verte","mineral","huîtres moules","apero",9,5,"L'ami des fruits de mer à petit prix."), | |
| ("Vouvray sec","Val de Loire","blanc",0,1,2,4,1,"coing pomme miel","fruite","poisson cuisine asiatique","repas",14,6,"Chenin croquant et pomme."), | |
| ("Vouvray moelleux","Val de Loire","blanc",0,4,3,4,1,"miel coing abricot","gourmand","foie gras tarte aux pommes","dessert",18,7,"Doux mais frais, pas écœurant."), | |
| ("Touraine Sauvignon","Val de Loire","blanc",0,1,1,4,1,"agrumes groseille herbe coupée","fruite","apéro salade chèvre","apero",9,5,"Le blanc qui réveille."), | |
| ("Entre-deux-Mers","Bordeaux","blanc",0,1,1,4,1,"agrumes fleurs blanches","fruite","poisson apéro","apero",8,4,"Frais et pas cher, validé."), | |
| ("Sauternes","Bordeaux","blanc",0,5,4,3,1,"miel abricot safran","gourmand","foie gras roquefort dessert","dessert",35,12,"Le blanc liquoreux, du miel en bouteille."), | |
| ("Pessac-Léognan blanc","Bordeaux","blanc",0,1,3,4,1,"agrumes boisé fumé","boise","poisson noble","grande_occasion",35,12,"Bordeaux blanc grand style."), | |
| ("Alsace Riesling","Alsace","blanc",0,1,2,5,1,"citron vert pétrole léger minéral","mineral","choucroute poisson","repas",14,6,"Tranchant comme un laser."), | |
| ("Alsace Gewurztraminer","Alsace","blanc",0,3,3,2,1,"litchi rose épices","floral","cuisine asiatique munster","repas",15,6,"Litchi et rose, très parfumé."), | |
| ("Alsace Pinot Gris","Alsace","blanc",0,2,3,3,1,"poire fumé miel","gourmand","volaille foie gras","repas",15,6,"Rond, un peu fumé, très doux."), | |
| ("Viognier Pays d'Oc","Languedoc","blanc",0,1,3,2,1,"abricot pêche fleurs","floral","curry poulet","apero",10,5,"Parfum d'abricot, très solaire."), | |
| ("Condrieu","Vallée du Rhône","blanc",0,1,4,2,1,"abricot violette pêche","floral","poisson crème","grande_occasion",45,14,"Le Viognier haute couture."), | |
| ("Picpoul de Pinet","Languedoc","blanc",0,1,1,5,1,"citron iode fleurs","mineral","huîtres tapas","apero",9,5,"Le blanc de la mer du Sud."), | |
| ("Jurançon sec","Sud-Ouest","blanc",0,1,2,5,1,"fruits exotiques agrumes","fruite","poisson cuisine épicée","repas",14,6,"Exotique et vif."), | |
| ("Jurançon moelleux","Sud-Ouest","blanc",0,4,3,4,1,"mangue ananas miel","gourmand","dessert fruits foie gras","dessert",18,7,"Ananas et mangue, en mode dessert."), | |
| ("Côtes de Gascogne blanc","Sud-Ouest","blanc",0,2,1,4,1,"pamplemousse fruits exotiques","fruite","apéro salade","apero",7,4,"Le blanc tropical à mini prix."), | |
| ("Vin jaune","Jura","blanc",0,1,4,4,1,"noix curry épices","epice","comté poulet aux morilles","grande_occasion",40,13,"OVNI du vin : noix et curry."), | |
| ("Muscat de Beaumes-de-Venise","Vallée du Rhône","blanc",0,5,3,2,1,"raisin frais orange fleurs","gourmand","dessert chocolat blanc","dessert",16,6,"Comme croquer du raisin sucré."), | |
| ("Champagne Brut","Champagne","blanc",1,1,2,5,1,"brioche pomme agrumes","fruite","apéro sushis tout","grande_occasion",35,12,"Les bulles de la fête, obligées."), | |
| ("Champagne Rosé","Champagne","rose",1,1,2,4,1,"fraise framboise brioche","fruite","apéro dessert fruits rouges","grande_occasion",45,14,"Bulles + rose = combo parfait."), | |
| ("Champagne Demi-sec","Champagne","blanc",1,3,2,4,1,"fruits blancs miel brioche","gourmand","dessert gâteau","dessert",35,12,"Bulles douces pour le gâteau."), | |
| ("Crémant de Loire","Val de Loire","blanc",1,1,2,4,1,"pomme verte fleurs","fruite","apéro","apero",12,5,"Les bulles du Champagne sans le prix."), | |
| ("Crémant d'Alsace","Alsace","blanc",1,1,2,4,1,"agrumes pomme brioche","fruite","apéro tarte flambée","apero",12,5,"Bulles fines, budget mini."), | |
| ("Crémant de Bourgogne rosé","Bourgogne","rose",1,1,2,4,1,"fruits rouges croquants","fruite","apéro","apero",14,6,"Bulles roses pour trinquer."), | |
| ("Clairette de Die","Vallée du Rhône","blanc",1,4,1,3,1,"muscat raisin rose","gourmand","dessert brunch","dessert",11,5,"Bulles sucrées et légères, très fun."), | |
| ("Blanquette de Limoux","Languedoc","blanc",1,1,2,4,1,"pomme verte fleurs","fruite","apéro","apero",11,5,"Les plus vieilles bulles de France."), | |
| ("Pétillant naturel (Pet'Nat)","Divers","rose",1,2,1,4,1,"fruits rouges acidulés","fruite","apéro pique-nique","apero",15,6,"Bulles nature, funky et acidulées."), | |
| ("Prosecco","Italie","blanc",1,2,1,3,1,"poire pomme fleurs","fruite","apéro spritz","apero",10,5,"Bulles italiennes légères."), | |
| ("Cava","Espagne","blanc",1,1,2,4,1,"agrumes amande","fruite","tapas apéro","apero",10,5,"Bulles espagnoles, olé."), | |
| ("Rioja","Espagne","rouge",0,1,4,3,3,"cerise vanille cuir","boise","tapas chorizo","repas",14,6,"Le rouge espagnol vanillé."), | |
| ("Chianti","Italie","rouge",0,1,3,4,3,"cerise tomate herbes","fruite","pizza pâtes","repas",13,6,"Celui qui va avec ta pizza."), | |
| ("Malbec argentin","Argentine","rouge",0,1,4,3,3,"mûre prune violette","fruite","burger asado","repas",13,6,"Gros fruit, ultra facile."), | |
| ("Pinot Grigio","Italie","blanc",0,1,1,3,1,"poire citron","fruite","apéro salade","apero",9,5,"Léger, neutre, safe."), | |
| ("Porto Tawny","Portugal","rouge",0,5,4,3,2,"noix caramel figue","gourmand","chocolat fromage","dessert",20,6,"Caramel et noix, pour finir la soirée."), | |
| ] | |
| out = pathlib.Path(__file__).resolve().parents[1] / "data" / "vins.csv" | |
| with open(out, "w", newline="", encoding="utf-8") as f: | |
| w = csv.writer(f); w.writerow(COLS); w.writerows(V) | |
| print(f"{len(V)} vins -> {out}") | |