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.
Considérant en droit :
1.
Le Tribunal fédéral n'est pas une autorité d'appel devant laquelle les faits établis en dernière instance cantonale peuvent être librement rediscutés. 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 de façon manifestement inexacte ou en violation du droit au sens de l'art. 95 LTF (art. 97 al. 1 LTF), soit, pour l'essentiel, de façon arbitraire (art. 9 Cst.; ATF 142 II 369 consid. 4.3 p. 380; 141 IV 369 consid. 6.3 p. 375). 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 (ATF 142 II 369 consid. 4.3 p. 380; 141 IV 305 consid. 1.2 p. 308 s.; 141 I 49 consid. 3.4 p. 53). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (art. 106 al. 2 LTF; ATF 142 III 364 consid. 2.4 p. 368). Les critiques de nature appellatoire sont irrecevables (ATF 142 III 364 consid. 2.4 p. 368 et les références citées).
2.
Le recourant soutient que les éléments constitutifs de dommage à la propriété ne sont pas réalisés.
La cour cantonale a considéré que le recourant s'était rendu coupable de cette infraction d'une part en donnant dans la tête de lit du couple un coup de poing qui l'a abîmée et d'autre part en brisant, en le jetant sur le sol, un téléphone portable appartenant à l'intimée.
2.1. Conformément à l'art. 144 CP, se rend coupable de dommages à la propriété celui qui aura endommagé, détruit ou mis hors d'usage une chose appartenant à autrui ou frappée d'un droit d'usage ou d'usufruit au bénéfice d'autrui. L'infraction doit porter sur un objet corporel, mobilier ou immobilier, appartenant à autrui, même si l'auteur en est également copropriétaire (BERNARD CORBOZ, Les infractions en droit suisse, vol. I, 3e éd. 2010, n° 4 ad art. 144 CP; PHILIPPE WEISSENBERGER, in Basler Kommentar, Strafrecht II, 3e éd. 2013, n° 11 ad art. 144 CP; arrêt 6B_719/2015 du 4 mai 2016, consid. 7). Selon la jurisprudence, l'auteur se rend coupable de dommages à la propriété dès qu'il cause un changement de l'état de la chose qui n'est pas immédiatement réversible sans frais ni effort et qui porte atteinte à un intérêt légitime, par exemple, en apposant sur le pare-brise d'une voiture une affiche qui ne peut être que difficilement ôtée, en dégonflant les pneus d'une voiture, en vidant un extincteur qui doit être rechargé pour être de nouveau prêt à fonctionner (ATF 128 IV 250 consid. 2 p. 252) ou encore en salissant l'uniforme d'un fonctionnaire (arrêt 6B_348/2012 du 24 octobre 2012, consid. 2.2).
2.2. S'agissant du téléphone portable, le recourant conteste qu'il ait appartenu à autrui au sens de la disposition rappelée ci-dessus; il soutient que l'appareil en question lui appartenait car l'intimée le lui avait offert. Il se contente toutefois d'opposer sa version des faits à celle retenue par la cour cantonale sans exposer, par une argumentation satisfaisant aux exigences de l'art. 106 al. 2 LTF, en quoi l'appréciation des preuves à laquelle celle-ci a procédé serait insoutenable.
2.3. En ce qui concerne la tête de lit, le recourant reconnaît que la condition de l'appartenance à autrui est réalisée puisque les deux partenaires étaient copropriétaires de l'objet en question. Il se prévaut de la futilité du dommage, la légère marque causée par son coup de poing étant trop insignifiante pour constituer un dommage au sens de l'art. 144 CP.
La cour cantonale a admis que la tête de lit avait été abîmée (jugement attaqué, p. 10 consid. 3.2). Dans la mesure où le recourant prétend n'avoir causé qu'une marque insignifiante, il s'écarte à nouveau des constatations de fait du jugement attaqué sans invoquer de grief d'arbitraire. Le recours est irrecevable sur ce point. Pour le surplus, comme cela ressort du consid. 2.1 ci-dessus, le fait que l'objet en question ait été abîmé suffit pour que l'on doive considérer qu'il a été endommagé au sens de l'art. 144 CP.
3.
Le recourant se plaint d'une violation du droit fédéral en relation avec sa condamnation pour injure. Il soutient que les injures qui lui sont imputées ont été énoncées dans le contexte d'un échange de mots blessants, se prévaut de la réciprocité constante des injures et reproche à la cour cantonale d'avoir fait une application erronée de l'art. 177 al. 2 CP et d'avoir omis de prendre en considération l'al. 3 de cette disposition.
Sa critique est une nouvelle fois de nature appellatoire, le recourant se prévalant de ses propres affirmations ainsi que d'une allégation d'un témoin qui lui est proche, lequel s'est contenté de dire qu'il avait " par hasard constaté sur Facebook des commentaires de A._ qui étaient diffamants et injurieux ", sans même indiquer en quoi consistaient lesdits commentaires. Force est dès lors de constater que sur ce point également l'argumentation du recourant repose sur des éléments de fait qui ne ressortent pas du jugement attaqué et est par conséquent irrecevable.
4.
Le recourant soutient que sa condamnation pour menaces viole la présomption d'innocence. Il prétend n'avoir jamais menacé sa compagne et selon lui cette dernière n'a pas été effrayée.
4.1. La présomption d'innocence, garantie par les art. 6 par. 2 CEDH, 32 al. 1 Cst. et 10 CPP, ainsi que son corollaire le principe « in dubio pro reo » concernent tant le fardeau de la preuve que l'appréciation des preuves. Lorsque, comme en l'espèce, la présomption d'innocence est invoquée en relation avec l'appréciation des preuves et la constatation des faits, elle n'a pas de portée plus large que l'interdiction de l'arbitraire (ATF 138 V 74 consid. 7 p. 82).
4.2. La cour cantonale a admis que, le 30 janvier 2013, l'ex-compagne du recourant s'était trouvée face à ce dernier qui tenait à la main un couteau de cuisine, pointé dans sa direction, et menaçait de tuer les deux membres du couple. Elle a forgé cette conviction en se fondant sur les déclarations de la victime ainsi que sur les témoignages de deux personnes qui l'ont côtoyée à l'époque des faits et qui ont décrit l'impact psychologique que ceux-ci avaient eu sur elle.
4.3. Sur ce point également l'argumentation du recourant consiste à contester les faits retenus par la cour cantonale et à leur opposer sa propre version, sans toutefois montrer, par une argumentation satisfaisant aux exigences de l'art. 106 al. 2 LTF, que les constatations de la cour cantonale seraient manifestement insoutenables. Le recours est par conséquent irrecevable aussi dans cette mesure.
5.
Le recourant fait valoir que sa condamnation pour contrainte viole le droit fédéral.
5.1. Se rend coupable de contrainte au sens de l'art. 181 CP, celui qui, en usant de violence envers une personne ou en la menaçant d'un dommage sérieux, ou en l'entravant de quelque autre manière dans sa liberté d'action, l'aura obligée à faire, à ne pas faire ou à laisser faire un acte. Outre l'usage de la violence ou de menaces laissant craindre la survenance d'un dommage sérieux, il peut également y avoir contrainte lorsque l'auteur entrave sa victime " de quelque autre manière " dans sa liberté d'action. Cette formule générale doit être interprétée de manière restrictive. N'importe quelle pression de peu d'importance ne suffit pas. Il faut que le moyen de contrainte utilisé soit, comme pour la violence ou la menace d'un dommage sérieux, propre à impressionner une personne de sensibilité moyenne et à l'entraver d'une manière substantielle dans sa liberté de décision ou d'action. Il s'agit donc de moyens de contrainte qui, par leur intensité et leur effet, sont analogues à ceux qui sont cités expressément par la loi (ATF 141 IV 437 consid. 3.2.1 p. 440 s.; 137 IV 326 consid. 3.3.1 p. 328).
5.2. La cour cantonale a admis que le recourant s'était rendu coupable de contrainte au motif qu'il avait, en octobre 2012, enfermé pendant quelques minutes sa compagne dans la chambre à coucher du couple pour l'empêcher de sortir faire une course.
Sur ce point, le recourant s'en prend à nouveau, par une critique de nature appellatoire et donc irrecevable, aux constatations de la cour cantonale.
5.3. La cour cantonale a par ailleurs retenu que durant la période qui a suivi leur rupture, le recourant a assailli son ex-compagne d'appels téléphoniques et de messages, lui annonçant notamment plusieurs fois qu'il allait se suicider. Il lui a en outre à deux reprises dit qu'il se trouvait dans sa cave et qu'il entendait y passer la nuit. Il l'a menacée, si elle ne répondait pas à ses appels, de se rendre tous les jours sur son lieu de travail et d'entamer des démarches judiciaires civiles ou encore de déposer une plainte pénale. Ces pressions ou eu pour effet de pousser la victime à se faire héberger par des tiers et ont donc entravé sa liberté.
Le recourant fait valoir que l'envoi constant de messages et de courriels était habituel durant leur relation et que les nombreux messages, qu'il ne conteste pas avoir adressés à son ex-compagne dans les jours qui ont suivi la rupture, ne sauraient justifier sa condamnation, faute de gravité établie et de résultat concret.
Contrairement à ce que semble admettre le recourant, ce ne sont pas les seuls messages qu'il a adressés à son ex-compagne qui sont à l'origine de sa condamnation pour contrainte. A ceux-ci s'ajoutent la crainte de la victime d'être confrontée au recourant, qui s'était dit prêt à dormir dans sa cave ou à se rendre chaque jour sur son lieu de travail. Compte tenu des réactions difficilement prévisibles du recourant qui avait fait régulièrement au cours de la relation des crises, dont une particulièrement violente au cours de laquelle il avait menacé de s'en prendre à la vie des deux protagonistes, cette situation était de nature à impressionner une personne de sensibilité moyenne et à l'entraver d'une manière substantielle dans sa liberté de décision ou d'action. Tel a d'ailleurs été le cas puisque la crainte de rencontrer son ex-compagnon a amené la victime à se faire héberger par des tiers et même à calquer son horaire de travail sur celui de la dernière personne qui l'a accueillie afin d'éviter de se trouver seule sur le chemin du bureau et de risquer de rencontrer le recourant.
Dans ces circonstances, la condamnation du recourant pour contrainte ne procède pas d'une violation du droit fédéral.
6.
Le recourant se plaint d'une violation de l'art. 47 CP au motif que la peine qui lui a été infligée est exagérément sévère. Selon lui, la cour cantonale aurait dû se poser la question du prononcé d'une peine pécuniaire.
6.1. Conformément à l'art. 47 CP, le juge fixe la peine d'après la culpabilité de l'auteur. La culpabilité doit être évaluée en fonction de tous les éléments objectifs pertinents, qui ont trait à l'acte lui-même, à savoir notamment la gravité de la lésion, le caractère répréhensible de l'acte et son mode d'exécution. Du point de vue subjectif sont pris en compte l'intensité de la volonté délictuelle ainsi que les motivations et les buts de l'auteur. A ces composantes de la culpabilité, il faut ajouter les facteurs liés à l'auteur lui-même, à savoir les antécédents, la réputation, la situation personnelle (état de santé, âge, obligations familiales, situation professionnelle, risque de récidive, etc.), la vulnérabilité face à la peine, de même que le comportement après l'acte et au cours de la procédure pénale (ATF 141 IV 61 consid. 6.1.1 p. 66 s.; 136 IV 55 consid. 5 p. 57 ss; 134 IV 17 consid. 2.1 p. 19 s.).
L'art. 47 CP confère un large pouvoir d'appréciation au juge. Par conséquent, celui-ci ne viole le droit fédéral en fixant la peine que s'il sort du cadre légal, s'il se fonde sur des critères étrangers à l'art. 47 CP, s'il omet de prendre en considération des éléments d'appréciation prévus par cette disposition ou, enfin, si la peine qu'il prononce est exagérément sévère ou clémente au point de constituer un abus du pouvoir d'appréciation (ATF 136 IV 55 consid. 5.6 p. 61; arrêt 6B_316/2017 du 7 juin 2017 consid. 3).
6.2. Dans sa déclaration d'appel, le recourant a conclu principalement à son acquittement de tous les chefs d'accusation retenus à son encontre. Subsidiairement, dans l'hypothèse où l'un ou l'autre desdits chefs d'accusation serait maintenu, il a sollicité le prononcé d'une peine compatible avec l'octroi d'un sursis complet et la suspension de l'intégralité de la peine. La cour cantonale, qui a confirmé la condamnation pour tous les chefs d'accusation, n'a pas examiné la question de la quotité de la peine, qui n'était contestée qu'en relation avec l'abandon d'une partie d'entre eux et dont la durée de 18 mois était au demeurant compatible avec l'octroi d'un sursis complet (art. 42 al. 1 CP). Ce faisant, elle a implicitement confirmé la peine prononcée par l'autorité de première instance ainsi que la motivation de celle-ci. Le recourant ne remet pas ce procédé en question.
L'autorité de première instance a pris en considération le fait que plusieurs infractions entraient en concours. Elle a qualifié de lourde la culpabilité du recourant, les faits s'étant déroulés sur plusieurs mois et la violence ayant été crescendo. Elle a considéré que le recourant était dans le déni et n'avait que très partiellement pris conscience de la gravité de ses actes, qu'il n'avait présenté aucune excuse et n'avait même pas réparé le téléphone qu'il s'était engagé à remplacer. A sa décharge, elle a noté l'absence d'antécédents et une très légère diminution de responsabilité mise en évidence par l'expertise psychiatrique.
Pour sa part, le recourant soutient que la cour cantonale " a omis de prendre en considération la gravité relative de la situation en cause ", cherchant ainsi une nouvelle fois à minimiser les actes qui lui sont reprochés. Il invoque par ailleurs le fait que les infractions les plus graves pour lesquelles il a été dénoncé n'ont pas été retenues. Cet argument est totalement dénué de pertinence, les infractions en question n'ayant évidemment pas été prises en considération dans le cadre de la fixation de la peine. Il se prévaut en outre d'une prétendue absence de preuves et de doutes relatifs aux actes qui lui sont imputés, du contexte de rupture ainsi que du caractère habituellement tumultueux de la relation dans le contexte de laquelle ils se sont déroulés. Ces éléments sont également sans pertinence. Sur la base d'une appréciation des preuves que le recourant n'a pas remise en question par une argumentation satisfaisant aux exigences de l'art. 106 al. 2 LTF, la cour cantonale a établi les faits à l'origine de sa condamnation, sans éprouver de doute, qui aurait conduit à la libération du recourant. En outre, le contexte dans lequel les faits se sont déroulés n'a pas été méconnu. De même, contrairement à ce que prétend le recourant, son absence d'antécédent, qui a au demeurant en principe un effet neutre sur la fixation de la peine et n'a pas à être prise en considération dans un sens atténuant (ATF 141 IV 61 consid. 6.3.2 p. 70; 136 IV 1 consid. 2.6 p. 2 ss), a été expressément relevée. Enfin, il ne ressort pas des constatations de fait du jugement attaqué que le recourant présenterait une vulnérabilité particulière face à la peine et les effets négatifs engendrés par la procédure pénale ne figurent pas parmi les éléments à prendre en compte pour fixer la peine.
En définitive, le recourant ne montre pas que la cour cantonale aurait à tort omis ou pris en considération un élément important propre à modifier la peine et, eu égard à l'ensemble des circonstances du cas, il n'apparaît pas que celle-ci soit exagérément sévère au point de constituer un abus du pouvoir d'appréciation dont disposaient les autorités cantonales.
Enfin, vu la quotité de la peine privative de liberté, une peine pécuniaire n'entre pas en considération (art. 34 CP).
7.
Le recourant soutient que la cour cantonale a violé l'art. 42 CP en n'assortissant pas d'un sursis complet la peine qu'elle lui a infligée.
7.1. Selon l'art. 42 al. 1 CP, le juge suspend en règle générale l'exécution d'une peine pécuniaire, d'un travail d'intérêt général ou d'une peine privative de liberté de six mois au moins et de deux ans au plus lorsqu'une peine ferme ne paraît pas nécessaire pour détourner l'auteur d'autres crimes ou délits. L'art. 43 al. 1 CP prévoit que le juge peut suspendre partiellement l'exécution d'une peine pécuniaire, d'un travail d'intérêt général ou d'une peine privative de liberté d'un an au moins et de trois ans au plus afin de tenir compte de façon appropriée de la faute de l'auteur.
Lorsque la durée de la peine privative de liberté se situe, comme en l'espèce, entre un et deux ans, permettant donc le choix entre le sursis complet (art. 42 CP) et le sursis partiel (art. 43 CP), l'octroi du sursis au sens de l'art. 42 CP est la règle et le sursis partiel l'exception. Celui-ci ne doit être prononcé que si, sous l'angle de la prévention spéciale, l'octroi du sursis pour une partie de la peine ne peut se concevoir que moyennant exécution de l'autre partie. La situation est comparable à celle où il s'agit d'évaluer les perspectives d'amendement en cas de révocation du sursis. Lorsqu'il existe, notamment en raison de condamnations antérieures, de sérieux doutes sur les perspectives d'amendement de l'auteur, qui ne justifient cependant pas encore, à l'issue de l'appréciation de l'ensemble des circonstances, un pronostic concrètement défavorable, le tribunal peut accorder un sursis partiel au lieu du sursis total. On évite de la sorte, dans les cas de pronostics très incertains, le dilemme du " tout ou rien ". Un pronostic défavorable, en revanche, exclut tant le sursis partiel que le sursis total (ATF 134 IV 1 consid. 5.3.1 p. 10).
Selon la jurisprudence, les conditions subjectives auxquelles l'art. 42 CP soumet l'octroi du sursis intégral s'appliquent également à l'octroi du sursis partiel (ATF 139 IV 270 consid. 3.3 p. 277; 134 IV 1 consid. 5.3.1 p. 10). Pour formuler un pronostic sur l'amendement de l'auteur, le juge doit se livrer à une appréciation d'ensemble, tenant compte des circonstances de l'infraction, des antécédents de l'auteur, de sa réputation et de sa situation personnelle au moment du jugement, notamment de l'état d'esprit qu'il manifeste. Il doit tenir compte de tous les éléments propres à éclairer l'ensemble du caractère de l'accusé et ses chances d'amendement. Il ne peut accorder un poids particulier à certains critères et en négliger d'autres qui sont pertinents (ATF 135 IV 180 consid. 2.1 p. 185 s.; ATF 134 IV 1 consid. 4.2.1 p. 5). Le défaut de prise de conscience de la faute peut justifier un pronostic défavorable, car seul celui qui se repent de son acte mérite la confiance que l'on doit pouvoir accorder au condamné bénéficiant du sursis (arrêt 6B_682/2017 du 11 décembre 2017 consid. 3.1).
Le juge dispose d'un large pouvoir d'appréciation dans l'émission du pronostic. Le Tribunal fédéral n'intervient que s'il en a abusé, notamment lorsqu'il a omis de tenir compte de critères pertinents et s'est fondé exclusivement sur les antécédents du condamné (ATF 134 IV 140 consid. 4.2 p. 143; 133 IV 201 consid. 2.3 p. 204).
7.2. La cour cantonale a relevé l'absence de toute introspection de la part du recourant, qui refuse de prendre ses responsabilités; elle a en outre admis qu'un risque de récidive ne peut être exclu.
Le recourant se prévaut de son casier judiciaire vierge, de ses bonnes relations avec son entourage, particulièrement ses collègues de travail et du fait que l'expertise psychiatrique ne mentionnerait aucune forme de violence ou de dangerosité chez lui. S'agissant de son comportement au cours de la procédure, il soutient que contrairement à ce qu'a retenu la cour cantonale, il n'a pas tenté de fustiger son ex-compagne mais a cherché à se défendre des accusations portées à tort contre lui. Sur ce dernier point il s'en prend aux constatations de fait de la cour cantonale de sorte que son argumentation n'est pas recevable.
Ainsi que cela a déjà été relevé, le recourant persiste à minimiser les actes qui lui sont reprochés, ce qui dénote clairement un manque de prise de conscience de la gravité de ceux-ci, circonstance propre à justifier un pronostic défavorable. Par ailleurs, contrairement à ce que soutient le recourant, les experts n'ont pas admis qu'il ne présentait aucune forme de dangerosité. Ils ont au contraire indiqué que le risque de récidive ne pouvait être exclu (voir jugement attaqué, p. 9 consid. 1.2). La cour cantonale n'a donc pas abusé de son pouvoir d'appréciation en considérant que les perspectives d'amendement étaient douteuses et que ce pronostic mitigé justifiait le prononcé d'un sursis partiel. Mal fondé, le grief tiré d'une violation de l'art. 42 CP doit être rejeté.
8.
Le recours doit être rejeté dans la mesure où il est recevable.
Comme ses conclusions étaient dépourvues de chances de succès, l'assistance judiciaire ne peut être accordée (art. 64 al. 1 LTF). Le recourant, qui succombe, supportera les frais (art. 66 al. 1 LTF), dont le montant sera toutefois fixé en tenant compte de sa situation financière qui n'apparaît pas favorable.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal vaudois.
Lausanne, le 16 janvier 2018
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay