Faits :
A.
Par jugement du 10 décembre 2019, le Tribunal correctionnel de l'arrondissement de Lausanne a constaté que A._ s'est rendue coupable d'infraction grave à la LStup, d'infraction simple et grave à la LCR et de contravention à la LCR, l'a condamnée à vingt mois de privation de liberté, sous déduction de 64 jours de détention avant jugement, avec sursis pendant trois ans, ainsi qu'à une amende de 200 fr., la peine privative de liberté de substitution étant de deux jours, et a ordonné son expulsion du territoire suisse pour une durée de cinq ans.
B.
Par jugement du 14 mai 2020, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel formé par A._ à l'encontre de la décision de première instance. Elle s'est fondée en substance sur les faits suivants.
B.a. A._ est née en 1993 à B._, en France, pays dont elle est ressortissante. Elle vit en Suisse depuis quatre ans au bénéfice d'un permis de séjour annuel. Venue dans ce pays pour y travailler, elle exerçait avant son incarcération dans le cadre de la présente cause le métier de livreuse, qui lui procurait un salaire fluctuant entre 1'000 fr. et 4'000 fr. par mois. A sa sortie de prison, elle a repris son emploi, avant de le perdre pour des raisons économiques. Après avoir été à la charge des services sociaux pendant quelques mois, elle a retrouvé du travail à plein temps dès le 1er décembre 2019 comme chauffeuse-livreuse pour un salaire mensuel de 4'000 fr., puis, dès le 1er février 2020, pour un salaire mensuel brut de 3'900 francs. Célibataire et sans enfant, A._ vit seule. Elle n'a pas de fortune, mais des dettes à hauteur de 3'000 fr. et des poursuites pour un montant de 1'000 francs. Son casier judiciaire est vierge.
B.b. Entre le mois de septembre 2017 à tout le moins et le 11 septembre 2018, date de son interpellation, A._ a stocké à son domicile la cocaïne que vendait son voisin C._, domicilié deux étages au-dessus. A._ a entreposé cette drogue chez elle à une dizaine de reprises, pour une quantité totale d'au moins 244.6 grammes bruts de cocaïne, les produits stupéfiants restant dans son logement entre quelques jours et trois semaines. Ainsi, lorsque C._ s'était fourni en drogue, il demandait à A._ de monter à son appartement pour venir chercher les sachets de cocaïne pour les entreposer chez elle; de même, il demandait à A._ de lui monter la cocaïne lorsqu'il allait réaliser une vente. Il arrivait également que A._ laisse la clé de son appartement dans sa boîte aux lettres pour que C._ puisse y accéder.
La perquisition du logement de A._ réalisée le 11 septembre 2018 a mené à la saisie d'une quantité de 154.6 grammes nets de cocaïne destinés à la vente. L'enquête a permis d'établir que A._ était impliquée dans un trafic portant sur une quantité totale de 160.95 grammes de cocaïne pure, quantité finalement arrêtée à 145 grammes de cocaïne pure.
B.c. Le 16 juillet 2018 vers 10h00, sur l'autoroute A9 entre Vevey et Montreux, A._, qui circulait au volant d'un véhicule de livraison sur la voie de gauche à environ 100 km/h, sans faire usage de la ceinture de sécurité et sans être porteuse de son permis de conduire, a suivi une automobile sur plus de 300 mètres à une distance d'environ 10 mètres, insuffisante pour circuler en file. Ce faisant, elle a dépassé un véhicule de police banalisé. Puis, lorsque la voiture qui la précédait s'est rabattue sur la piste de droite, A._ a accéléré pour la dépasser et a atteint une vitesse comprise entre 130 et 140 km/h, alors que la vitesse était limitée à 100 km/h sur le tronçon concerné.
C.
A._ forme un recours en matière pénale au Tribunal fédéral. Elle conclut principalement, avec suite de frais et dépens, à la réforme du jugement entrepris en ce sens qu'elle est libérée de ses condamnations pour infraction grave à la LStup et violation grave de la LCR, qu'elle est condamnée à une amende de 200 fr., la peine privative de liberté étant de deux jours, et que son expulsion du territoire suisse est annulée. Subsidiairement, elle conclut au renvoi de la cause à l'autorité cantonale pour nouvelle instruction et décision. Elle demande par ailleurs que l'effet suspensif soit octroyé à son recours.
D.
Par courrier du 3 août 2020, la demande d'effet suspensif a été rejetée dans la mesure où elle n'était pas sans objet.
E.
Invités à se déterminer sur le recours portant sur la question des violations de la LCR, la cour cantonale et le ministère public y ont renoncé.
Considérant en droit :
1.
La recourante conteste avoir commis une infraction relevant du cas aggravé de l'art. 19 al. 2 let. a LStup.
1.1. L'art. 19 al. 1 LStup punit d'une peine privative de liberté de trois ans au plus ou d'une peine pécuniaire celui qui, sans droit, cultive, fabrique ou produit de toute autre manière des stupéfiants (let. a); celui qui, sans droit, entrepose, expédie, transporte, importe, exporte des stupéfiants ou les passe en transit (let. b); celui qui, sans droit, aliène ou prescrit des stupéfiants, en procure de toute autre manière à un tiers ou en met dans le commerce (let. c).
L'art. 19 al. 2 LStup prévoit les cas aggravés pour lesquels une peine privative de liberté d'un an au moins doit être prononcée. Il réprime le comportement de l'auteur qui sait ou ne peut ignorer que l'infraction peut directement ou indirectement mettre en danger la santé de nombreuses personnes (let. a). Cette formulation contient une condition objective (la mise en danger, directe ou indirecte, de la vie de nombreuses personnes) et une condition subjective (le fait que l'auteur le sache ou ne puisse l'ignorer). Les deux conditions sont cumulatives: l'intention de l'auteur (y compris le dol éventuel) ne peut suppléer l'absence de la condition objective (ATF 145 IV 312 consid. 2.1.1 p. 315; arrêt 6B_1428/2019 du 5 février 2020 consid. 1.1.2).
Le cas doit être considéré comme grave au sens de l'art. 19 al. 2 let. a LStup lorsque que le trafic de cocaïne porte sur une quantité supérieure à 18 grammes de substance pure (ATF 145 IV 312 consid. 2.1.1 p. 315s; 138 IV 100 consid. 3.2 p. 103; 109 IV 143 consid. 3b p. 145; arrêt 6B_1263/2018 du 28 janvier 2019 consid. 2.1.2). Les stupéfiants qui ont fait l'objet de plusieurs transactions doivent être pris en compte globalement pour décider de l'existence d'un cas grave, même si entre les diverses opérations, il n'existe qu'une relation de répétition et non de continuité. Il faut donc additionner les quantités de drogue émanant d'actes distincts (cf. ATF 114 IV 164 consid. 2b p. 167 s.; 112 IV 109 consid. 2b p. 113; voir aussi : arrêt 6B_632/2008 du 10 mars 2009 consid. 2)
Déterminer ce que l'auteur savait, voulait ou l'éventualité à laquelle il consentait et donc savoir s'il a agi avec conscience et volonté, au sens de l'art. 12 al. 2 CP, relève de l'établissement des faits (ATF 141 IV 336 consid. 2.4.1 p. 342; 137 IV 1 consid. 4.2.3 p. 4).
Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (art. 105 al. 1 LTF), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat. Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (ATF 145 IV 154 consid. 1.1. p. 155 s.).
1.2. La recourante soutient que son voisin avait entreposé chez elle, à une dizaine de reprises sur une période de deux ans, des petites quantités de cocaïne dans son appartement, et qu'il lui arrivait de ne plus entendre parler de lui durant près de six mois. Ainsi, en raison de la fréquence irrégulière à laquelle des stupéfiants étaient stockés dans son appartement ainsi que de la période écoulée entre chaque infraction, le comportement qui lui était reproché ne reposait pas sur un même acte de volonté. La recourante se prévaut sous cet angle de l'arrêt 6S.190/2000 du 11 juillet 2001 dans lequel il a été constaté que le prévenu avait, pour chaque commande de drogue passée, pris une nouvelle décision quant à la commission de l'infraction, de sorte qu'il n'y avait pas d'unité naturelle d'action. Elle en conclut que les quantités de drogue stockées chez elle à différentes occasions ne devaient pas être additionnées, ce qui excluait le cas grave.
1.3. Comme l'a relevé la cour cantonale, peu importe que les dix occasions auxquelles la recourante admet avoir stocké de la cocaïne pour le compte de son voisin se soient étendues sur un an ou deux ans, comme elle le prétend. Il n'est pas non plus déterminant de savoir combien de temps s'est écoulé entre chaque acte. En effet, dans l'arrêt cité par la recourante, le Tribunal fédéral n'a pas remis en cause la jurisprudence posant le principe de l'addition des quantités de drogue pour retenir le cas grave (cf. consid. 1.1 supra), mais s'est seulement interrogé sur la question de savoir si le comportement tombait sous le coup de l'art. 19 al. 2 let. a LStup ou plus généralement de l'art. 19 al. 2 LStup, tandis que la question de l'unité naturelle d'action concernait la problématique distincte du calcul du délai de prescription (arrêt 6S.190/2000 précité consid. 2). Partant, conformément à la jurisprudence, la cour cantonale pouvait conclure en l'espèce que les conditions objectives du cas grave au sens de l'art. 19 al. 2 LStup étaient réunies dès lors que les quantités de drogue entreposées par la recourante, soit un total 145 grammes de cocaïne pure, atteignaient le seuil du cas grave.
1.4. La recourante conteste la réalisation de l'élément subjectif de l'art. 19 al. 2 LStup.
1.4.1. La cour cantonale a retenu que la recourante avait mis son logement à la disposition de son voisin, dont elle savait pertinemment qu'il se livrait au trafic de cocaïne, pendant environ deux ans. Elle avait sciemment accepté de lui servir de consigne, savait qu'il entreposait de la drogue chez elle, et connaissait parfaitement l'illicéité de son acte, admettant « je ne sais pas dire non ». Aux débats d'appel, elle avait expliqué avoir agi de la sorte car elle se sentait redevable envers lui. Il n'était pas exclu qu'elle ait effectivement été surprise de constater, lors de la perquisition, la quantité de drogue stockée à son domicile, dans la mesure où elle était habituée, selon ses dires, à voir des quantités moindres. Toutefois, en laissant le champ libre à son voisin-trafiquant, il ne pouvait pas lui échapper qu'elle n'aurait aucune maîtrise sur les quantités qu'il pourrait entreposer chez elle. Comme l'avaient relevé à juste titre les premiers juges, rien au dossier n'indiquait que la recourante aurait limité l'accès de son appartement à de petites quantités de drogue, ce qu'elle ne soutenait d'ailleurs pas. Après avoir déjà été soupçonnée d'avoir entreposé de la cocaïne dans son appartement en 2016, elle avait pris un risque qu'elle avait accepté pour le cas où il se produirait, agissant par là même au moins par dol éventuel (jugement attaqué, consid. 5.3).
1.4.2. La recourante soutient qu'elle n'était en aucune façon en mesure d'envisager que son voisin stockerait une quantité importante de stupéfiants. En effet, C._ n'était qu'un détaillant et n'entreposait chez elle que des quantités inférieures à 18 grammes. Le sachet de 124 grammes retrouvé lors de la perquisition avait été déposé en son absence. Il s'agissait d'une situation inhabituelle qu'elle n'avait pas pu anticiper.
La recourante s'écarte de l'état de fait établi et oppose son appréciation à celle de la cour cantonale sans démontrer l'arbitraire. Son argumentation est ainsi appellatoire et, partant, irrecevable. Au demeurant, l'autorité précédente a expliqué, en se fondant sur divers éléments, pourquoi elle retenait que la recourante avait accepté, au moins par dol éventuel, que C._ entrepose chez elle les quantités de drogue qui lui sont imputées. La recourante ne conteste pas, en particulier, n'avoir eu aucune maîtrise sur les quantités entreposées chez elle et n'avoir jamais limité l'accès de son appartement à de petites quantités de drogue. Partant, la cour cantonale pouvait retenir que l'élément subjectif était réalisé. Le grief est rejeté, dans la mesure de sa recevabilité.
Selon ce qui précède, la condamnation de la recourante pour infraction grave à la LStup ne viole pas le droit fédéral.
2.
La recourante discute sa condamnation pour violation simple et grave de la LCR. Elle conteste avoir commis un excès de vitesse de 30 km/h sur une autoroute limitée à 100 km/h et avoir circulé à une distance insuffisante d'un autre véhicule. Elle fait grief à la cour cantonale de ne pas avoir déduit une marge de sécurité dans le calcul de son excès de vitesse. En outre, le constat selon lequel elle n'aurait pas respecté une distance suffisante avec le véhicule qui la précédait ne reposait sur aucun élément de preuve suffisant et, ici également, la cour cantonale n'avait pas procédé à un abattement sur la mesure de la vitesse retenue.
2.1. Conformément à l'art. 90 LCR, celui qui viole les règles de la circulation prévues par ladite loi ou par les dispositions d'exécution émanant du Conseil fédéral est puni de l'amende (al. 1). Celui qui, par une violation grave d'une règle de la circulation, crée un sérieux danger pour la sécurité d'autrui ou en prend le risque est puni d'une peine privative de liberté de trois ans au plus ou d'une peine pécuniaire (al. 2). Pour déterminer si une violation d'une règle de la circulation doit être qualifiée de grave au sens de l'art. 90 al. 2 LCR, il faut procéder à une appréciation aussi bien objective que subjective.
D'un point de vue objectif, la violation grave d'une règle de circulation au sens de l'art. 90 al. 2 LCR suppose que l'auteur ait mis sérieusement en danger la sécurité du trafic. Il y a création d'un danger sérieux pour la sécurité d'autrui non seulement en cas de mise en danger concrète, mais déjà en cas de mise en danger abstraite accrue (ATF 143 IV 508 consid. 1.3 p. 512; 142 IV 93 consid. 3.1 p. 96; 131 IV 133 consid. 3.2 p. 136).
Subjectivement, l'état de fait de l'art. 90 al. 2 LCR exige, selon la jurisprudence, un comportement sans scrupules ou gravement contraire aux règles de la circulation, c'est-à-dire une faute grave et, en cas d'acte commis par négligence, à tout le moins une négligence grossière. Celle-ci doit être admise lorsque le conducteur est conscient du caractère généralement dangereux de son comportement contraire aux règles de la circulation. Mais une négligence grossière peut également exister lorsque, contrairement à ses devoirs, l'auteur ne prend absolument pas en compte le fait qu'il met en danger les autres usagers, en d'autres termes s'il se rend coupable d'une négligence inconsciente. Dans de tels cas, une négligence grossière ne peut être admise que si l'absence de prise de conscience du danger créé pour autrui repose elle-même sur une absence de scrupules (ATF 131 IV 133 consid. 3.2 p. 136; arrêts 6B_1445/2019 du 17 avril 2020 consid. 2.2; 6B_1300/2016 du 5 décembre 2017 consid. 2.1.2 non publié aux ATF 143 IV 500). Plus la violation de la règle de la circulation est objectivement grave, plus on admettra l'existence d'une absence de scrupule, sauf indice particulier permettant de retenir le contraire (ATF 142 IV 93 consid. 3.1 p. 96).
Dans le domaine des excès de vitesse, la jurisprudence a été amenée à fixer des règles précises afin d'assurer l'égalité de traitement. Ainsi, le cas est objectivement grave au sens de l'art. 90 al. 2 LCR, sans égard aux circonstances concrètes, en cas de dépassement de la vitesse autorisée de 25 km/h ou plus à l'intérieur des localités, de 30 km/h ou plus hors des localités et sur les semi-autoroutes dont les chaussées, dans les deux directions, ne sont pas séparées et de 35 km/h ou plus sur les autoroutes (ATF 143 IV 508 consid. 1.3 p. 512; 132 II 234 consid. 3.1 p. 237 s.; 124 II 259 consid. 2b p. 261 ss; 123 II 106 consid. 2c p. 113et les références citées).
Conformément à l'art. 106 al. 1 LCR, le Conseil fédéral arrête les prescriptions nécessaires à l'application de cette loi et désigne les autorités fédérales compétentes pour son exécution. Il peut autoriser l'Office fédéral des routes (OFROU) à régler les modalités. En application de cette délégation de compétence, le Conseil fédéral a édicté l'ordonnance du 28 mars 2007 sur le contrôle de la circulation routière (OCCR; RS 741.013). Conformément à l'art. 9 al. 2 OCCR, pour les contrôles effectués à l'aide de moyens techniques, l'OFROU fixe, en accord avec l'Office fédéral de métrologie, les modalités d'exécution et la procédure qui s'y rapporte (let. a) ainsi que les exigences liées aux systèmes et aux genres de mesures et les marges d'erreur inhérentes aux appareils et aux mesures (let. b). Dans ce cadre, cet office a édicté, le 22 mai 2008, une ordonnance (OOCCR-OFROU; RS 741.013.1; RO 2008 2447), qui précise notamment, en matière de contrôle de vitesse et de surveillance de la circulation aux feux rouges, les marges de sécurité (art. 8) applicables en fonction des différents types de mesures utilisés (mesure par radar mobile ou immobile, par laser, par véhicule-suiveur, etc.). Ainsi, l'art. 8 al. 1 let. i OOCCR-OFROU prévoit, en cas de mesures de vitesse effectuées au moyen d'un véhicule-suiveur sans système calibré, une marge de sécurité de 15 km/h pour une valeur mesurée inférieure ou égale à 100 km/h (ch. 1), de 15% pour une valeur mesurée à partir de 101 km/h (ch. 2) ou une marge fixée par l'Institut fédéral de métrologie dans des cas particuliers (ch. 3).
L'art. 34 al. 4 LCR prévoit que le conducteur doit observer une distance suffisante notamment lorsque des véhicules se suivent. Cette disposition est concrétisée à l'art. 12 al. 1 de l'ordonnance sur les règles de la circulation routière (OCR; RS 741.11), selon lequel lorsque des véhicules se suivent, le conducteur se tiendra à une distance suffisante du véhicule qui le précède, afin de pouvoir s'arrêter à temps en cas de freinage inattendu. L'irrespect d'une distance suffisante constitue une violation simple (art. 90 al. 1 LCR), le cas échéant grave (art. 90 al. 2 LCR) des règles de la circulation (arrêt 6B_491/2011 du 3 novembre 2011 et les références citées). Ce qu'il faut comprendre par "distance suffisante" au sens de l' art. 34 al. 4 LCR doit être déterminé au regard de toutes les circonstances, telles en particulier que la configuration des lieux, la densité du trafic, la visibilité et le véhicule en cause. Il n'y a pas de règle générale développée par la jurisprudence qui indiquerait à partir de quelle distance une violation des règles de la circulation pourrait être retenue. Les règles des deux secondes ou du "demi compteur" (correspondant à un intervalle de 1.8 secondes) constituent cependant des standards minimaux habituellement reconnus (ATF 131 IV 133 consid. 3.1 p. 135 s.; arrêt 6B_110/2017 du 12 octobre 2017 consid. 3.1). Sur une autoroute, la règle du « 1/6 compteur », respectivement de l'intervalle de 0,6 seconde, peut être utilisée pour déterminer si l'infraction doit être qualifiée de grave (ATF 131 IV 133 précité consid. 3.2.2; arrêt 6B_1139/2019 du 3 avril 2020 consid. 2.2).
2.2. En l'espèce, la cour cantonale a constaté, en se fondant sur le rapport de police, que la recourante avait circulé à une vitesse de 130 km/h sur l'autoroute, la vitesse étant toutefois limitée à 100 km/h sur ce tronçon, ce qui correspondait à une violation simple des règles de la circulation routière. Elle a encore considéré que, même si l'excès de vitesse ne pouvait être qualifié à lui seul de grave, l'accumulation des fautes successives commises par la recourante constituait une violation grave des règles de la circulation, ce d'autant plus que ces manoeuvres dangereuses avaient eu lieu sur une autoroute où de grandes vitesses sont pratiquées et à un moment où le trafic était relativement dense, situation qui exigeait de tous les usagers une plus grande discipline et des égards redoublés (jugement attaqué, consid. 6.3).
Il ressort du rapport de police que le contrôle de vitesse du véhicule de la recourante s'est basé sur l'indicateur de vitesse du véhicule des policiers (art. 6 let. c ch. 2 OOCCR-OFROU). Dans un tel cas, il convient de procéder à la déduction d'une marge de sécurité de 15%, tel que le prévoit l'art. 8 al. 1 let. i ch. 2 OOCCR-OFROU. A teneur du jugement attaqué, il n'apparaît pas que cette déduction ait été faite. Ainsi, après application de la marge de sécurité de 15% sur la vitesse retenue de 130 km/h, conformément à l'art. 8 al. 1 let. i ch. 2 OOCCR-OFROU, il faut considérer que la recourante a circulé à une vitesse de 110,5 km/h. Ce comportement demeure, en soi, constitutif de violation simple des règles de la circulation routière au sens de l'art. 90 al. 1 LCR. La quotité de l'excès de vitesse retenu influe en revanche sur l'appréciation de la faute. Il convient dès lors de renvoyer la cause à la cour cantonale pour qu'elle statue à nouveau sur la peine réprimant cette infraction. Le recours est admis sur ce point.
2.3. La cour cantonale a retenu que la recourante avait circulé à une vitesse de 100 km/h sur une distance de 300 mètres en ne respectant qu'une distance d'environ 10 mètres avec le véhicule qui la précédait. Ce faisant, elle avait circulé à un intervalle d'un dixième de compteur, soit à une distance largement insuffisante pour lui permettre de s'arrêter à temps en cas de freinage inattendu.
La recourante soutient que l'évaluation de la distance entre les deux véhicules par les policiers ne présentait pas un degré de fiabilité suffisant car le rapport de police constatait qu'ils n'avaient pas pu suivre le véhicule conduit par la recourante « à vitesse constante et sur une distance suffisante ». Or, cette observation concerne le moment où la recourante a accéléré alors que le véhicule qui la précédait s'était rabattu sur la voie de droite, non celui, antérieur, où la distance entre les deux véhicules a été évaluée (pièce 4 p. 2). L'argument de la recourante est ainsi dénué de pertinence s'agissant de contester sa condamnation sous l'angle de l'art. 34 al. 4 cum 90 al. 2 LCR. Faute de démontrer en quoi les constatations des policiers seraient douteuses, il ne saurait être reproché à la cour cantonale de s'être fondée, dans le cadre de la libre appréciation des preuves, sur le rapport de police pour établir la distance entre les véhicules.
Par ailleurs, même à déduire une marge de sécurité de 15 km/h en vertu de l'art. 8 al. 1 let. i. ch. 1 OOCCR-OFROU, l'intervalle n'est que de 0,42 seconde pour une distance de 10 mètres parcourue à 85 km/h (0,36 seconde à 100 km/h), soit un intervalle en-deçà de la règle du « 1/6 compteur », respectivement de l'intervalle de 0,6 seconde. Il apparaît ainsi qu'en circulant à 10 mètres du véhicule qui la précédait à une vitesse de 85 km/h, marge de sécurité déduite, l'intéressée a de toute manière enfreint de manière grave l'art. 34 al. 4 LCR. La déduction d'une marge de sécurité dans la détermination de la vitesse est ainsi sans incidence sur l'infraction retenue. La cour cantonale n'a en conséquence pas violé le droit fédéral en concluant que la recourante avait créé un risque abstrait accru pour les autres usagers de la route au sens de l'art. 90 al. 2 LCR en circulant à une distance largement insuffisante.
2.4. Compte tenu de ce qui précède, le recours doit être admis en ce qui concerne la quotité de la peine sanctionnant l'excès de vitesse. Pour le surplus, le recours est rejeté dans la mesure de sa recevabilité.
3.
La recourante conteste son expulsion du territoire suisse.
3.1. Aux termes de l'art. 66a al. 1 let. o CP, le juge expulse de Suisse l'étranger qui est condamné notamment pour infraction à l'art. 19 al. 2 LStup, quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans. Selon l'art. 66a al. 2 CP, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
3.2. En l'espèce, la recourante a commis une infraction (à l'art. 19 al. 2 LStup) qui tombe sous le coup de l'art. 66a al. 1 let. o CP. Elle remplit donc a priori les conditions d'une expulsion, sous la réserve d'une application de l'art. 66a al. 2 CP, voire également des normes de droit international. Sous cet angle, la recourante soutient que dans la mesure où elle est ressortissante d'un Etat membre de l'Union européenne, il convenait d'effectuer un pronostic sur son comportement futur conformément aux exigences de l'ALCP. Or la cour cantonale n'avait pas examiné le risque de récidive. Celui-ci devant être considéré comme nul au vu des circonstances du cas d'espèce, son expulsion n'est pas justifiée.
3.3. Par l'accord sur la libre circulation des personnes (ALCP), la Suisse a en substance accordé aux ressortissants des Etats membres de l'Union européenne un droit étendu et réciproque à l'exercice d'une activité lucrative (ATF 145 IV 364 consid. 3.4.1 p. 368).
En vertu de l'art. 5 par. 1 annexe I ALCP, les droits accordés sur la base de cet accord ne peuvent être limités que par des mesures justifiées par des raisons d'ordre public, de sécurité publique et de santé publique. Selon la jurisprudence du Tribunal fédéral en matière de droit des étrangers (ATF 130 II 176), lors de l'application de l'art. 5 par. 1 annexe I ALCP, il doit être procédé à un « examen spécifique » sous l'angle des intérêts inhérents à la protection de la sécurité publique exigée par les intérêts des résidents du pays. Les mesures d'expulsion ou une interdiction d'entrée exigent une mise en danger suffisamment importante et actuelle de l'ordre public par l'étranger concerné. Une condamnation pénale ne peut servir de base à une telle mesure que si les circonstances sur lesquelles elle est fondée laissent apparaître un comportement personnel qui met en danger l'ordre public actuel. L'art. 5 par. 1 annexe I ALCP s'oppose à des mesures ordonnées (uniquement) pour des raisons de prévention générale. Des comportements passés peuvent réaliser les conditions d'une telle mise en danger de l'ordre public. Le pronostic du bon comportement futur est également important, mais dans ce cadre, il est nécessaire d'apprécier la probabilité suffisante que l'étranger perturbera à l'avenir la sécurité et l'ordre publics suivant le genre et l'étendue de la violation possible des biens juridiques. Un risque de récidive faible mais réel peut suffire pour qu'une mesure mettant un terme au séjour au sens de l'art. 5 par. 1 annexe I ALCP puisse être ordonnée, s'il existe le risque d'une violation grave d'un bien juridique important, comme par exemple la protection de l'intégrité physique (ATF 145 IV 364 consid. 3.5.2 p. 371 s. traduit au JdT 2020 IV 30; 145 IV 55 consid. 4.4 p. 63; arrêts 6B_177/2020 du 2 juillet 2020 consid. 3.4.5; 6B_736/2019 du 3 avril 2020 consid. 1.1.3; 6B_1146/2018 du 8 novembre 2019 consid. 6.3.2 et 6.3.3). Le pronostic de bonne conduite et de resocialisation n'est pas déterminant en matière de droit des étrangers, où l'intérêt général de l'ordre et de la sécurité publics sont au premier plan (ATF 145 IV 364 consid. 3.5.2 p. 371 s. et les références citées). Les mesures prises pour des raisons d'ordre public doivent respecter la CEDH et le principe de proportionnalité (ATF 145 IV 364 consid. 3.5.2 p. 371 s.).
L'exigence de la mise en danger actuelle n'implique pas qu'il faut s'attendre avec certitude à d'autres infractions, ou au contraire, que celles-ci sont exclues avec certitude. Il faut plutôt une probabilité suffisante, compte tenu du genre et de l'étendue des possibles violations des biens juridiques, que l'étranger trouble à l'avenir la sécurité et l'ordre publics; plus elle est forte, moins les exigences pour admettre le risque de récidive sont élevées. Les restrictions à la libre circulation au sens de l'art. 5 par. 1 annexe I ALCP doivent toutefois être interprétées restrictivement; il ne peut être renvoyé simplement à l'ordre public indépendamment d'une perturbation de l'ordre social propre à toute infraction pénale. Un trafic de stupéfiants constitue une violation grave de l'ordre public au sens de l'art. 5 par. 1 annexe I ALCP (ATF 145 IV 364 consid. 3.5.2 p. 372 et les références citées; arrêt 2C_487/2020 du 17 août 2020 consid. 4.2.2).
3.4. La recourante, citoyenne française travaillant en Suisse comme chauffeuse-livreuse, peut se prévaloir de l'ALCP pour résider et travailler en Suisse (art. 1 lit. a et art. 4 ALCP, art. 6 et suivants de l'annexe I ALCP). Comme vu ci-dessus, en vertu de l'art. 5 par. 1 annexe I ALCP, ce droit peut être limité. En participant, depuis à tout le moins l'année 2017, à un trafic de cocaïne portant sur plus d'une centaine de grammes de cocaïne pure (environ huit fois le cas grave fixé à 18 grammes), la recourante a commis une violation grave de l'ordre public au sens de l'art. 5 par. 1 annexe I ALCP.
La recourante s'écarte de manière irrecevable de l'état de fait cantonal lorsqu'elle affirme ne pas avoir touché de rémunération dans le cadre de ce trafic, ou encore que son comportement durant l'enquête révèle une prise de conscience réelle et sincère. La cour cantonale a en effet retenu, d'une part, qu'elle avait perçu certaines sommes de C._, de l'ordre de 1000 fr. au total et, d'autre part, que ses dénégations démontraient qu'elle n'avait pas pris conscience de ses fautes (jugement attaqué, consid. 8.3.1). L'autorité précédente a également observé que la recourante avait commis l'infraction à la LStup alors même qu'elle avait un travail et un salaire qui lui permettaient de subvenir à ses besoins (jugement attaqué, consid. 8.3.1). Considérant ces éléments, la cour cantonale pouvait conclure, comme elle l'a fait (jugement attaqué, consid. 7.3 in fine), à l'existence d'une menace pour l'ordre et la santé publics. Il existe ainsi une probabilité suffisante, sous l'angle de l'art. 5 par. 1 annexe I ALCP, que la recourante perturbe à l'avenir la sécurité et l'ordre publics.
Pour le reste, la cour cantonale a constaté que le retour en France de la recourante ne la placerait pas dans une situation grave, car elle avait quitté ce pays il y a peu (4 ans) et elle y disposait de solides attaches familiales, contrairement à la Suisse. Par surabondance, compte tenu des éléments cités, l'intérêt public à son expulsion l'emportait manifestement sur son intérêt privé à demeurer en Suisse. Cette analyse ne prête pas le flanc à la critique. C'est encore le lieu de préciser que la recourante se saurait se plaindre d'être traitée plus sévèrement que C._ qui ne peut être expulsé, faute de démontrer en quoi leurs situations seraient comparables. Compte tenu de ce qui précède, la décision d'expulsion pour une durée de 5 ans ne viole pas le droit fédéral et international, soit en particulier l'ALCP.
4.
Le recours doit être partiellement admis, le jugement attaqué doit être annulé s'agissant de la peine sanctionnant la violation simple de la LCR (excès de vitesse) et la cause renvoyée à la cour cantonale sur ce point. Pour le surplus, le recours est rejeté dans la mesure où il est recevable. La recourante, qui succombe dans une large mesure, supportera une partie des frais judiciaires (art. 66 al. 1 LTF). Elle peut prétendre à des dépens réduits, à la charge du canton de Vaud, s'agissant de l'aspect du recours pour lequel elle obtient gain de cause.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis, l'arrêt attaqué est annulé et la cause est renvoyée à la cour cantonale pour nouvelle décision. Pour le surplus, le recours est rejeté dans la mesure où il est recevable.
2.
Une partie des frais judiciaires, arrêtée à 2'500 fr., est mise à la charge de la recourante.
3.
Le canton de Vaud versera à la recourante une indemnité de 500 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 26 novembre 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy