Faits:
Faits:
A. A._ est propriétaire, sur le territoire de la commune d'Epalinges, d'un bâtiment dans lequel un café-restaurant est exploité. Le 12 décembre 2001, elle a adressé à la Municipalité de cette commune une demande de permis de construire pour le "changement d'affectation d'une partie des locaux situés au rez-de-chaussée du bâtiment existant (création d'un cabaret avec attractions)". Le projet a été mis à l'enquête publique du 11 au 30 janvier 2002; il a suscité plusieurs oppositions. Par une décision du 6 février 2002, la Municipalité a refusé de délivrer l'autorisation requise. Elle a invoqué les "inconvénients majeurs" que provoquerait l'ouverture d'un cabaret à cet endroit, dans une zone de villas.
A. A._ est propriétaire, sur le territoire de la commune d'Epalinges, d'un bâtiment dans lequel un café-restaurant est exploité. Le 12 décembre 2001, elle a adressé à la Municipalité de cette commune une demande de permis de construire pour le "changement d'affectation d'une partie des locaux situés au rez-de-chaussée du bâtiment existant (création d'un cabaret avec attractions)". Le projet a été mis à l'enquête publique du 11 au 30 janvier 2002; il a suscité plusieurs oppositions. Par une décision du 6 février 2002, la Municipalité a refusé de délivrer l'autorisation requise. Elle a invoqué les "inconvénients majeurs" que provoquerait l'ouverture d'un cabaret à cet endroit, dans une zone de villas.
B. Le 27 février 2002, A._ a recouru contre la décision municipale auprès du Tribunal administratif du canton de Vaud. Elle concluait à l'annulation de cette décision et au renvoi de l'affaire à la Municipalité afin qu'elle accorde le permis de construire et transmette au besoin le dossier à la police cantonale du commerce.
Le Juge instructeur du Tribunal administratif a invité la Municipalité, les opposants, l'Office cantonal de la police du commerce et le Service cantonal de l'environnement et de l'énergie à répondre au recours jusqu'au 4 avril 2002. Pour la Municipalité, ce délai a été prolongé au 6 mai 2002. Des réponses ont été déposées.
Par une ordonnance du 6 août 2002, le Juge instructeur a informé les parties qu'elles seraient "renseignées ultérieurement sur la suite de la procédure".
Par une ordonnance du 6 août 2002, le Juge instructeur a informé les parties qu'elles seraient "renseignées ultérieurement sur la suite de la procédure".
C. Par lettres des 22 janvier 2003, 14 mars 2003, 5 novembre 2003, 13 janvier 2004 et 21 janvier 2004, A._ a demandé au Tribunal administratif des indications sur l'avancement de la procédure; elle a requis une décision rapide dans cette affaire. Ces lettres n'ont pas reçu de réponse.
C. Par lettres des 22 janvier 2003, 14 mars 2003, 5 novembre 2003, 13 janvier 2004 et 21 janvier 2004, A._ a demandé au Tribunal administratif des indications sur l'avancement de la procédure; elle a requis une décision rapide dans cette affaire. Ces lettres n'ont pas reçu de réponse.
D. Agissant le 27 février 2004 par la voie du recours de droit public pour déni de justice formel, A._ demande au Tribunal fédéral d'inviter le Tribunal administratif à statuer dans les meilleurs délais sur son recours déposé le 27 février 2002.
Le Tribunal administratif s'en remet à justice.
Invitée à répondre, la Municipalité propose l'admission du recours.
Invitée à répondre, la Municipalité propose l'admission du recours.
E. Après le dépôt du recours de droit public, le Juge instructeur du Tribunal administratif a cité les parties à une audience, le 12 mai 2004 à Epalinges.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Un refus de statuer, ou un retard injustifié à le faire, de la part de l'autorité compétente en dernière instance cantonale, doit être assimilé à une décision que les parties à la procédure cantonale peuvent contester par la voie du recours de droit public pour violation de droits constitutionnels des citoyens (art. 84 al. 1 let. a OJ). La recourante, qui a introduit la procédure devant le Tribunal administratif, a manifestement qualité pour recourir (art. 88 OJ). Un recours de droit public dirigé contre l'inaction de l'autorité n'est, de par sa nature même, pas soumis au délai de l'art. 89 OJ. Il y a donc lieu d'entrer en matière.
1. Un refus de statuer, ou un retard injustifié à le faire, de la part de l'autorité compétente en dernière instance cantonale, doit être assimilé à une décision que les parties à la procédure cantonale peuvent contester par la voie du recours de droit public pour violation de droits constitutionnels des citoyens (art. 84 al. 1 let. a OJ). La recourante, qui a introduit la procédure devant le Tribunal administratif, a manifestement qualité pour recourir (art. 88 OJ). Un recours de droit public dirigé contre l'inaction de l'autorité n'est, de par sa nature même, pas soumis au délai de l'art. 89 OJ. Il y a donc lieu d'entrer en matière.
2. La recourante reproche au Tribunal administratif un retard injustifié à statuer, et partant une violation de l'art. 29 al. 1 Cst. Elle n'a plus de renseignements sur l'état de la procédure depuis le 6 août 2002. Or, pour respecter le délai d'ordre de l'art. 57 al. 1 de la loi cantonale sur la juridiction et la procédure administratives (LJPA), le Tribunal administratif aurait dû rendre son arrêt à la fin du mois de février 2003 voire, à tout le moins, traiter ensuite ce dossier de manière prioritaire, conformément à la règle de l'art. 57 al. 4 LJPA.
2.1 Aux termes de l'art. 29 al. 1 Cst., toute personne a droit, dans une procédure judiciaire ou administrative, à ce que sa cause soit jugée dans un délai raisonnable. Cette disposition consacre le principe de la célérité ou, en d'autres termes, prohibe le retard injustifié à statuer. L'autorité viole cette garantie constitutionnelle lorsqu'elle ne rend pas la décision qu'il lui incombe de prendre dans le délai prescrit par la loi ou dans un délai que la nature de l'affaire ainsi que toutes les autres circonstances font apparaître comme raisonnable. Il faut se fonder à ce propos sur des éléments objectifs; entre autres critères sont notamment déterminants le degré de complexité de l'affaire, l'enjeu que revêt le litige pour l'intéressé ainsi que le comportement de ce dernier et celui des autorités compétentes. La durée du délai raisonnable n'est pas influencée par des circonstances étrangères au problème à résoudre. Ainsi, une organisation déficiente ou une surcharge structurelle ne peuvent pas justifier la lenteur excessive d'une procédure car il appartient à l'Etat de donner aux autorités judiciaires les moyens organisationnels et financiers suffisants pour garantir aux citoyens une administration de la justice conforme au droit constitutionnel (cf., à propos de l'art. 29 al. 1 Cst. et de la garantie correspondante déduite auparavant de l'art. 4 al. 1 aCst.: <ref-ruling> consid. 2a p. 191, 373 consid. 2b/aa p. 375; <ref-ruling> consid. 5b p. 325; <ref-ruling> consid. 2 p. 3; <ref-ruling> consid. 3c p. 165; <ref-ruling> consid. 3c p. 195; cf. également <ref-ruling> consid. 2c p. 142).
2.2 Le délai d'une année pour instruire la cause et rendre l'arrêt, prévu par le droit cantonal, est largement échu. La loi cantonale permet toutefois une prolongation de ce délai "pour des raisons impératives", qui doivent alors être exposées aux parties (art. 57 al. 3 LJPA); quoi qu'il en soit, en cas de dépassement, le dossier doit être traité "de manière prioritaire" (art. 57 al. 4 LJPA). En l'occurrence, le Tribunal administratif n'a jamais fait état de pareilles raisons impératives; le dossier ne donne aucun indice d'un traitement prioritaire de l'affaire depuis la fin du mois de février 2003, aucune mesure d'instruction n'ayant été ordonnée depuis l'enregistrement des réponses des intimés jusqu'au dépôt du recours de droit public (la convocation à l'audience du 12 mai 2004 est en effet postérieure à l'ouverture de la présente procédure).
L'affaire n'est, à l'évidence, pas particulièrement complexe. Le Tribunal administratif observe que les avocats des parties lui ont spontanément adressé plusieurs lettres depuis la fin de l'échange d'écritures. On ne saurait cependant voir dans ces lettres, précisant certains faits en raison de l'évolution des circonstances ou sollicitant une décision sur des réquisitions de mesures d'instruction, des procédés dilatoires. L'attitude des parties n'est pas en cause. Le Tribunal administratif relève encore qu'un poste de juge supplémentaire (poste à mi-temps) prévu par une récente révision législative n'aurait pas encore été pourvu, pour des "motifs d'économie". Il paraît ainsi faire le lien entre la gestion des ressources de l'Etat, en matière d'organisation judiciaire, et la surcharge de la juridiction administrative. Or, comme cela vient d'être exposé (supra, consid. 2.1), un tel élément - pour autant qu'il puisse expliquer une inaction déjà antérieure à l'augmentation, dans la loi, des effectifs du Tribunal administratif - n'est pas de nature à rendre admissible, au regard du droit constitutionnel fédéral, un retard à statuer que la nature de l'affaire ne justifie pas.
Dans ces conditions, il faut donc considérer qu'en n'ayant toujours pas statué sur les conclusions de la recourante plus de deux ans après l'ouverture de la procédure, le Tribunal administratif a violé l'art. 29 al. 1 Cst.
2.3 Il s'ensuit que le recours de droit public doit être admis, le Tribunal administratif devant être invité à statuer dans les meilleurs délais - c'est-à-dire après avoir accompli les actes d'instruction encore nécessaires - sur le recours formé contre la décision de la Municipalité.
2.3 Il s'ensuit que le recours de droit public doit être admis, le Tribunal administratif devant être invité à statuer dans les meilleurs délais - c'est-à-dire après avoir accompli les actes d'instruction encore nécessaires - sur le recours formé contre la décision de la Municipalité.
3. Le présent arrêt doit être rendu sans frais (art. 153, 153a et 156 al. 1 et 2 OJ). L'Etat de Vaud aura à verser des dépens à la recourante, assistée d'un avocat; la Municipalité n'a en revanche pas droit à des dépens (art. 159 al. 1 et 2 OJ).

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours de droit public est admis et le Tribunal administratif du canton de Vaud est invité à statuer dans les meilleurs délais sur le recours formé le 27 février 2002 par A._ contre la décision prise le 6 février 2002 par la Municipalité de la commune d'Epalinges, refusant de délivrer une autorisation de changement partiel d'affectation d'un immeuble de la recourante.
1. Le recours de droit public est admis et le Tribunal administratif du canton de Vaud est invité à statuer dans les meilleurs délais sur le recours formé le 27 février 2002 par A._ contre la décision prise le 6 février 2002 par la Municipalité de la commune d'Epalinges, refusant de délivrer une autorisation de changement partiel d'affectation d'un immeuble de la recourante.
2. Il n'est pas perçu d'émolument judiciaire.
2. Il n'est pas perçu d'émolument judiciaire.
3. Une indemnité de 1'000 fr., à payer à la recourante à titre de dépens, est mise à la charge de l'Etat de Vaud.
3. Une indemnité de 1'000 fr., à payer à la recourante à titre de dépens, est mise à la charge de l'Etat de Vaud.
4. Le présent arrêt est communiqué en copie aux mandataires de la recourante et de la Municipalité de la commune d'Epalinges ainsi qu'au Tribunal administratif du canton de Vaud.
Lausanne, le 6 avril 2004
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: