Faits : A. Le 13 mai 2016, le Tribunal correctionnel de l'arrondissement de Lausanne a libéré X._ des chefs d'accusation de voies de fait qualifiées, viol et contrainte sexuelle; il l'a condamné pour dommages à la propriété, injure, menaces qualifiées et contrainte à une peine privative de liberté de 18 mois, dont 12 mois avec sursis, la durée du délai d'épreuve étant fixée à 3 ans. B. Par jugement du 23 novembre 2016, la Cour d'appel pénale du Tribunal cantonal vaudois a très partiellement admis l'appel formé par X._ contre ce jugement, qu'elle a réformé sur des points relatifs aux frais et indemnités. Elle a en revanche rejeté l'appel de A._ et l'appel-joint du Ministère public. Les faits à l'origine de cette condamnation sont en substance les suivants. X._ a fait la connaissance de A._ au début de l'année 2012 et a entretenu une relation amoureuse avec elle dès le mois d'avril de la même année. Angoissé à l'idée de perdre sa compagne, X._ s'est montré d'emblée très possessif et envahissant. Dès octobre 2012, les jeunes gens ont loué un appartement à Lausanne en vue d'éviter à tous deux des trajets quotidiens et pour disposer de plus d'espace. Les tensions qui étaient rapidement intervenues en raison du comportement de X._ n'ont toutefois pas disparu et A._ a vite réalisé que leur couple n'avait pas d'avenir. En préparation d'examens et très prise par sa vie professionnelle, elle a toutefois choisi de se concentrer sur celle-ci et de régler sa situation personnelle après ses examens, au printemps 2013. Aux alentours du mois d'octobre 2012, A._ voulait sortir faire une course. X._, qui ne souhaitait pas rester seul, l'a retenue et a fermé à clé la porte de la chambre dans laquelle elle se trouvait. Il s'est toutefois laissé raisonner par sa compagne et a ouvert la porte après quelques minutes. Entre octobre 2012 et novembre 2013, X._ a donné un coup de poing sur la tête de lit du couple, qui a été abîmée. En outre, le 19 janvier 2013, il a saisi un téléphone portable des mains de A._ et l'a jeté au sol, le brisant. Le 30 janvier 2013, A._ s'est rendue à Berne pour un entretien d'embauche. X._ a marqué sa désapprobation face à ce projet professionnel, craignant que son amie ne s'éloigne de lui. Il lui a envoyé de nombreux messages durant la journée et la soirée, alors qu'elle l'avait informé qu'elle mangerait le soir avec des collègues. Lorsque A._ a regagné le domicile du couple, X._, qui était furieux car il trouvait l'heure de rentrée trop tardive, l'a d'abord empêchée d'entrer dans l'appartement. Il l'a ensuite laissée y pénétrer et a fait une crise de désespoir intense. Il s'est saisi d'un couteau de cuisine d'une longueur de 30 cm environ et a menacé de mettre fin à leurs jours à tous les deux, pointant la lame en direction de A._, qui a craint pour sa vie. X._ a ensuite fait mine de se planter le couteau dans le ventre et est tombé à terre, comme s'il était blessé. A._ a cru qu'il avait mis sa menace à exécution mais n'a pas osé s'approcher de peur qu'il retourne le couteau contre elle. X._ a alors totalement perdu ses nerfs et s'est mis à hurler et à pleurer. Le lendemain, A._ s'est rendue au centre LAVI. Sur les conseils des spécialistes de ce centre, elle a fait procéder au changement des serrures de l'appartement du couple. Elle a par ailleurs envoyé un message de rupture à X._, qui lui a ensuite adressé une centaine de SMS pour lui demander de revenir sur sa décision. Il a en outre essayé des dizaines de fois de la joindre par téléphone. Malgré le changement de serrures, A._ n'a pas osé retourner chez elle et a pendant un certain temps été hébergée par une connaissance, puis sa cousine et enfin une employée du service de sécurité de son employeur, à laquelle elle s'était confiée. Craignant de quitter seule son lieu de travail en fin journée, elle a durant plusieurs semaines calqué ses horaires sur ceux de l'employée en question afin d'être accompagnée sur le chemin du bureau. De son côté, X._ a continué d'adresser à A._ d'innombrables SMS, menaçant notamment de l'attendre devant chez elle, de la poursuivre en justice par n'importe quel moyen, de l'empêcher de trouver du travail, de tout casser chez elle et même de mettre le feu à son appartement. Le 1er février 2013, X._ a traité A._ de " monstre " et d' "ordure " par messages électroniques. 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 principalement à l'annulation, avec frais et dépens, du jugement attaqué et à son acquittement de toutes les infractions retenues à son encontre, à l'exception le cas échéant de l'infraction d'injure, pour laquelle il devra bénéficier d'une exemption de peine, et au renvoi de la cause à l'autorité cantonale pour déterminer l'indemnité fondée sur l'art. 429 CPP. Subsidiairement, il conclut au prononcé d'une peine pécuniaire avec sursis; plus subsidiairement, si une peine privative de liberté devait être prononcée, il demande à ce qu'elle soit assortie d'un sursis complet. Plus subsidiairement encore, il conclut au renvoi de la cause à l'autorité cantonale pour qu'elle statue à nouveau. Il sollicite par ailleurs l'assistance judiciaire.