Faits: A. Le 29 octobre 2009, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné X._ pour blanchiment d'argent et infraction grave à la loi fédérale sur les stupéfiants à une peine privative de liberté de sept ans. Le 8 janvier 2010, ce jugement a été confirmé par la Cour de cassation pénale du Tribunal cantonal vaudois. Les faits à la base de la condamnation sont en résumé les suivants, l'arrêt cantonal se référant au surplus à l'intégralité de l'état de fait des premiers juges. X._, née en 1978, ressortissante camerounaise, mariée et mère de trois enfants nés en 1996, 1998 et 2004, a agi dans le cadre d'un réseau international de trafiquants de cocaïne comme mule. Elle a livré, en Suisse, entre mars et avril 2008, 14 kg de cocaïne en onze trajets effectués par rail ou par route et a ramené à ses commanditaires le prix de la drogue estimé entre 10'000 et 20'000 fr. Elle a été rémunérée pour chaque livraison à raison de 1'500 euros par kg de cocaïne livré en Suisse et a touché en tout 22'500 euros. Lors d'un trajet elle a avalé une partie de la drogue et dissimulé le reste dans ses vêtements; dans tous les autres cas elle a caché la drogue dans ses habits. Il lui est arrivé d'impliquer son mari et ses enfants lors des transports effectués en voiture, ce qui lui permettait de livrer une double quantité de cocaïne et de toucher 3'000 euros d'un coup. La drogue importée le 20 avril 2008 avait un taux de pureté de 33,9%. X._ a été arrêtée le 5 juillet 2008. Elle nourrissait le projet d'ouvrir une épicerie avec son mari grâce au bénéfice du trafic. La situation financière du couple n'était pas florissante, mais plus ou moins saine. Le mari touchait régulièrement des montants de 1'200 à 1'300 euros. Les époux sont propriétaires d'une maison au Cameroun et possèdent deux voitures. B. X._ forme un recours en matière pénale contre l'arrêt de la Cour de cassation cantonale, concluant principalement à sa réforme en ce sens que la peine privative de liberté soit de 4 ans au plus et subsidiairement à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité cantonale. Elle invoque une violation des art. 47, 48 et 50 CP. Elle sollicite également l'assistance judiciaire. Le Ministère public et la Cour de cassation cantonale ont renoncé à se déterminer. 