Logo Lanfrica

Naol1234/Mezmur-Lyrics-

Domain:

natural language processing

Record type:

software
Creator:
Nao
Host:
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