Faits: Faits: A. Le 30 août 2000, La Municipalité de Belmont-sur-Lausanne a autorisé la construction, sur les parcelles n° 238 et 720 propriétés de la société Y._, de sept bâtiments comprenant trois logements chacun. Les biens-fonds sont situés en zone de villas, entre le chemin des Pralets et un cordon boisé. Une autorisation de défricher a été accordée le 7 septembre 2000. Par arrêt du 15 avril 2002, le Tribunal administratif du canton de Vaud a partiellement admis un recours formé par les opposants au projet. Compte tenu de la surface habitable, chaque bâtiment devait disposer de six places de stationnement au lieu des cinq prévues. Le permis de construire a été annulé et le dossier renvoyé à la municipalité afin que soit examinée l'opportunité d'une dérogation, et, le cas échéant, que soit fixé le montant de la contribution compensatoire. Les autres griefs soulevés par les opposants ont été rejetés: les conditions annexées au permis de construire garantissaient la stabilité du terrain. Certaines parcelles (E et F) présentaient au sud un prolongement singulier, mais cela permettait d'implanter le bâtiment de la parcelle G suffisamment en retrait des maisons situées à l'ouest. Ce découpage n'avait pas pour but d'éluder la disposition réglementaire selon laquelle chaque bâtiment devait disposer de 1000 m2 de terrain au moins. Les bâtiments formaient une unité architecturale; il ne s'agissait pas de villas contiguës. Par arrêt du 15 avril 2002, le Tribunal administratif du canton de Vaud a partiellement admis un recours formé par les opposants au projet. Compte tenu de la surface habitable, chaque bâtiment devait disposer de six places de stationnement au lieu des cinq prévues. Le permis de construire a été annulé et le dossier renvoyé à la municipalité afin que soit examinée l'opportunité d'une dérogation, et, le cas échéant, que soit fixé le montant de la contribution compensatoire. Les autres griefs soulevés par les opposants ont été rejetés: les conditions annexées au permis de construire garantissaient la stabilité du terrain. Certaines parcelles (E et F) présentaient au sud un prolongement singulier, mais cela permettait d'implanter le bâtiment de la parcelle G suffisamment en retrait des maisons situées à l'ouest. Ce découpage n'avait pas pour but d'éluder la disposition réglementaire selon laquelle chaque bâtiment devait disposer de 1000 m2 de terrain au moins. Les bâtiments formaient une unité architecturale; il ne s'agissait pas de villas contiguës. B. Un nouveau projet, comportant sept places de stationnement supplémentaires, a fait l'objet d'une enquête complémentaire du 11 juin au 1er juillet 2002. Les oppositions ont été levées le 22 juillet 2002. Par arrêt du 30 mars 2004, le Tribunal administratif a rejeté le recours formé par X._ et divers consorts. Le découpage des parcelles n'impliquait pas une organisation déraisonnable du milieu bâti. Selon une esquisse produite en audience par la constructrice, le prolongement de la parcelle F pouvait être supprimé, ce qui impliquerait la réduction de la taille du bâtiment sur la parcelle G, compensée par un agrandissement de celui situé sur la parcelle F. Ce résultat était moins harmonieux et plus gênant pour les voisins. Il n'existait aucune obligation de mettre à l'enquête le plan de fractionnement; l'absence de ce plan lors de l'enquête complémentaire ne viciait pas cette dernière. Les problèmes de circulation sur le chemin de Pralets étaient dus au détournement du trafic de la commune de Lutry; les nouvelles constructions n'aggraveraient pas la situation. Les places de stationnement devaient en principe être aménagées en dehors des alignements, et sur le même bien-fonds que la construction à laquelle elles se rapportent; la dérogation exceptionnelle accordée par la municipalité sur ce point ne procédait pas de l'abus du pouvoir d'appréciation. Par arrêt du 30 mars 2004, le Tribunal administratif a rejeté le recours formé par X._ et divers consorts. Le découpage des parcelles n'impliquait pas une organisation déraisonnable du milieu bâti. Selon une esquisse produite en audience par la constructrice, le prolongement de la parcelle F pouvait être supprimé, ce qui impliquerait la réduction de la taille du bâtiment sur la parcelle G, compensée par un agrandissement de celui situé sur la parcelle F. Ce résultat était moins harmonieux et plus gênant pour les voisins. Il n'existait aucune obligation de mettre à l'enquête le plan de fractionnement; l'absence de ce plan lors de l'enquête complémentaire ne viciait pas cette dernière. Les problèmes de circulation sur le chemin de Pralets étaient dus au détournement du trafic de la commune de Lutry; les nouvelles constructions n'aggraveraient pas la situation. Les places de stationnement devaient en principe être aménagées en dehors des alignements, et sur le même bien-fonds que la construction à laquelle elles se rapportent; la dérogation exceptionnelle accordée par la municipalité sur ce point ne procédait pas de l'abus du pouvoir d'appréciation. C. Agissant par la voie du recours de droit public, X._ et consorts demandent au Tribunal fédéral d'annuler ce dernier arrêt. Le Tribunal administratif se réfère aux considérants de son arrêt. La société Y._ conclut au rejet du recours, dans la mesure où il est recevable. La Municipalité de Belmont-sur-Lausanne conclut à l'irrecevabilité du recours, subsidiairement à son rejet. Les recourants ont par la suite requis l'effet suspensif, qui a été refusé par ordonnance du 15 juillet 2004. 