Faits : A. Par jugement du 30 juin 2015, le Tribunal de police de l'arrondissement de Lausanne a reconnu X._ coupable d'injure, de violence ou menace contre les autorités et les fonctionnaires, d'empêchement d'accomplir un acte officiel, de contravention à la LStup et à la loi vaudoise sur les contraventions. Il l'a condamnée à 480 heures de travail d'intérêt général et à une amende de 500 fr., la peine privative de liberté de substitution étant de 5 jours. Il a renoncé à révoquer le sursis accordé le 30 octobre 2012 par le Ministère public de l'arrondissement de Lausanne, a prolongé le délai d'épreuve d'un an et demi et a mis les frais de justice à la charge de X._. B. Par jugement du 30 novembre 2015, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel de X._, confirmé le jugement du 30 juin 2015 et statué sur les frais et dépens. Les faits encore pertinents ici au vu des griefs soulevés sont les suivants: Le 28 mai 2014, vers 23 h 05, à la rue A._ à Lausanne, X._ a été interpellée en possession de deux joints de marijuana. Un bol contenant un mélange de tabac et de marijuana a également été trouvé à proximité. Le 29 mai 2014, vers 00 h 05, à la rue B._ à Lausanne, une patrouille de police a tenté de contrôler l'identité de X._ car elle correspondait au signalement d'une femme qui avait, dans la soirée précédente, bouté le feu à des catalogues à la rue C._. Fortement alcoolisée, X._ s'est montrée agressive envers les policiers. Elle gesticulait, une canette à la main. Un des agents lui a demandé de poser la canette, elle a refusé et s'est mise à hurler tout en continuant à se démener. Finalement, les agents l'ont mise au sol pour lui passer les menottes mais elle s'est débattue pour les en empêcher. Elle a été conduite au poste de police et durant le transfert elle a tenté de donner des coups de pieds aux agents. Un test à l'éthylomètre indiquait une alcoolémie de 2,78 g 0/00. Le 16 décembre 2014, vers 22 h 32, à la place D._ à Lausanne, X._, sous l'influence de l'alcool, hurlait des propos incompréhensibles dans la rue, attirant l'attention des passants. Des agents sont intervenus et lui ont demandé à plusieurs reprises de cesser ses agissements et de présenter ses papiers. Elle a refusé et traité le premier lieutenant E._ de « grand connard ». Elle a été menottée et amenée à l'Hôtel de police où a été ordonnée une fouille complète. Elle a refusé d'obtempérer aux injonctions de l'agent F._. Affectant de lui jeter des cartons au visage, elle a ensuite donné un coup à la tempe gauche de la policière qui lui avait saisi le bras droit. X._ l'a alors agrippée par les cheveux et le col de son pull et l'a traitée de « salope ». Elle a refusé de se soumettre à un éthylotest et à l'Identiscan tout en continuant à injurier les agents de police. E._ et F._ ont déposé plainte le même jour. Selon l'extrait du casier judiciaire suisse, X._ a été condamnée, entre 2006 et 2012, à deux reprises pour dommage à la propriété, utilisation abusive d'une installation de télécommunication et menace.