Faits : A. Par jugement du 17 mai 2016, le Tribunal correctionnel de l'arrondissement de l'Est vaudois a reconnu X._ coupable d'infraction grave et contravention à la LStup (RS 812.121) et d'infraction à la loi fédérale sur les armes, les accessoires d'armes et les munitions du 20 juin 1997 (LArm; RS 514.54). Il l'a condamné à une peine privative de liberté de 12 mois et à une amende de 100 fr., la peine privative de liberté de substitution étant d'un jour; il a par ailleurs révoqué un sursis accordé au condamné le 18 décembre 2013 et renoncé à révoquer un autre sursis accordé le 10 juin 2011. B. Statuant le 27 octobre 2016, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel de X._ ainsi que l'appel joint du Ministère public. Elle a porté à 18 mois la durée de la peine privative de liberté infligée à X._ et a renoncé à révoquer le sursis qui lui avait été accordé le 18 décembre 2013. Les faits à l'origine de cette condamnation sont en substance les suivants. Entre le 17 mai 2013 et le 19 février 2015, date de sa dernière audition, X._ a consommé de la marijuana et du haschich à raison de 1 à 1,5 g, soit entre 2 et 5 joints, par jour, ce qui représente une dépense de l'ordre de 300 fr. par mois. Il a par ailleurs déclaré avoir diminué sa consommation à 2 joints par semaine entre son audition par la police le 5 novembre 2014 et son audition par le ministère public le 19 février 2015. Entre le 1er février et le 5 novembre 2014, il a acheté 6 kg de marijuana à 9 fr. le gramme et 4.5 kg de haschich à 5 fr. 50 le gramme. Au cours de la même période, il a vendu à ses quelque 20 à 30 clients réguliers 5'375,05 g de marijuana et 4'305,65 g de haschich; il a lui-même consommé 173,75 g de marijuana et 173,75 g de haschich. Lors de la perquisition effectuée à son domicile le 5 novembre 2014, 451,2 g de marijuana et 20,6 g de haschich ont été saisis. X._ a réalisé un chiffre d'affaires minimum de 93'570 fr. 75 et un bénéfice minimum de 21'514 fr. 20. Lors de la perquisition du 5 novembre 2014, un appareil à électrochocs, détenu sans droit par X._, a également été saisi. C. X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement de la Cour d'appel pénale. Il conclut, avec suite de frais et dépens, principalement à la réforme du jugement entrepris en ce sens qu'il est libéré des chefs de prévention d'infraction grave à la LStup et d'infraction à la LArm et condamné à une peine d'une quotité modérée, assortie du sursis, pour infraction simple à la LStup et à une amende de 100 fr. pour contravention à la LStup. Subsidiairement, il conclut à ce qu'il soit libéré du chef d'accusation d'infraction grave à la LStup et condamné à une peine d'une quotité modérée, assortie du sursis, pour infraction simple à la LStup, reconnu coupable d'infraction par négligence à la LArm et exempté de toute peine pour cette infraction et condamné à une amende de 100 fr. pour contravention à la LStup. Plus subsidiairement encore, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour qu'elle statue à nouveau. Le recourant sollicite par ailleurs l'assistance judiciaire.