Logo Lanfrica

Naol1234/Mezmur-Lyrics-

Domaine:

natural language processing

Type de record:

software
Créateur:
Nao
Hôte:
Search thousands of Amharic gospel lyrics, bilingual, mobile-friendly, always up to date # 🎵 መዝሙር Search — WikiMezmur Lyrics App A clean, bilingual (Amharic + English) lyrics search app powered **live** from WikiMezmur.org via its MediaWiki API. Any new song added to the wiki appears in the app automatically — no rebuilds needed. --- ## ✨ Features | Feature | Detail | |---|---| | 🔍 Search | Full-text search in Amharic or English | | 🎤 Filter by | All / Song Title / Singer | | 📖 Lyrics view | Full lyrics stripped of wiki markup | | ⏱ Live data | Cached 5 min; always fresh from WikiMezmur | | 📱 Mobile-friendly | Responsive layout, large Ethiopic font | | 🎨 Designed for | Ethiopian gospel / worship context | --- ## 🚀 Deploy to Streamlit Community Cloud (Free) ### 1. Push to GitHub ```bash # Create a new repo on GitHub, then: git init git add . git commit -m "Initial commit — Mezmur Search App" git remote add origin github.com git push -u origin main ``` ### 2. Deploy on Streamlit Cloud 1. Go to **share.streamlit.io** and sign in with GitHub 2. Click **"New app"** 3. Select your repo → branch `main` → file `app.py` 4. Click **Deploy** — done! You'll get a public URL like: `your-app-name.streamlit.app` > No API keys needed. The WikiMezmur API is public. --- ## 🖥 Run Locally ```bash pip install -r requirements.txt streamlit run app.py ``` Open localhost --- ## 🗂 Project Structure ``` mezmur-app/ ├── app.py # Main Streamlit application ├── requirements.txt # Python dependencies ├── .streamlit/ │ └── config.toml # Theme + server config └── README.md ``` --- ## 🔌 How the Live Data Works The app calls the **MediaWiki API** at `wikimezmur.org`: | Action | API call | |---|---| | Search songs | `?action=query&list=search&srsearch=...` | | Get lyrics | `?action=query&prop=revisions&titles=...` | | Recent updates | `?action=query&list=recentchanges` | Results are cached for **5 minutes** with `@st.cache_data(ttl=300)`. The "Recently Added" feed o …

Languages