Spaces:
Running
title: Telugu Dialect Map
emoji: πΊοΈ
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit
Telugu Dialect Map
Interactive web-based visualization of Telugu dialect words across Telangana and Andhra Pradesh districts.
π― Features
- 48 Districts: 33 Telangana + 15 Andhra Pradesh districts
- Dynamic Data Loading: Automatically loads data from JSON sources
- Interactive Map: Click districts to explore local vocabulary, meanings, and sources
- Rich Content: 3000+ verified dialect terms from crowdsourced and JSONL data
- Zero Build Required: Pure static site with automatic data loading
- Google Sheets Integration: Automated synchronization with Google Sheets
π Deployment Options
Option 1: Hugging Face Spaces (Recommended for Public Access)
Deploy to Hugging Face Spaces with continuous automation:
- Create a Space on Hugging Face
- Configure secrets for
config.jsonandcredentials.json - Push your code to the Space repository
- Access your app at
https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE
π Complete HF Spaces Setup Guide β
Option 2: Local Development
π How to Run
Complete Setup (First Time)
# 1. Navigate to project directory
cd /home/kashikuldeep/Desktop/swechaworkspace/dilacet-map/indian-dialects-maps
# 2. Activate virtual environment
source venv/bin/activate
# 3. Start automation (syncs Google Sheets every 5 minutes)
python scripts/automation_runner.py &
# 4. Start web server (in new terminal or background)
python -m http.server 8080 &
# 5. Open in browser
# Navigate to: http://localhost:8080/
Quick Run (After First Time)
# Activate virtual environment
source venv/bin/activate
# Start both services
python scripts/automation_runner.py &
python -m http.server 8080 &
# Open: http://localhost:8080/
Stop Services
# Press Ctrl+C in the terminals, or:
pkill -f automation_runner
pkill -f "http.server 8080"
Important: Use http://localhost:8080/ not file:// URLs (browser security blocks JSON loading from file://)
π― What You'll See
- Automation Console: Shows sync status every 5 minutes
- Web Interface: Interactive map with 48 districts (33 Telangana + 15 Andhra Pradesh)
- Auto-Updates: Edit Google Sheets β Changes appear within 5 minutes!
π€ Automated Data Updates
The project includes automated synchronization from Google Sheets:
- File Watcher: Automatically converts CSV β JSON when files change
- Google Sheets Sync: Downloads sheet data every 5 minutes
- Zero Manual Work: Update your Google Sheet and changes appear automatically!
Configuration
Your automation is already configured for:
- Processed Dialects Sheet: 901 rows
- Digiwords Sheet: 178 rows
- Sync Interval: Every 5 minutes
To modify settings, edit config.json:
{
"google_sheets": {
"enabled": true,
"sync_interval_minutes": 5,
"spreadsheets": [...]
}
}
π Full Automation Setup Guide β
π Project Structure
indian-dialects-maps/
βββ index.html # Main visualization (open this via http server)
βββ data/
β βββ processed/
β βββ processed_dialects.json # JSONL-processed dialect data
β βββ digiwords_grouped.json # Crowdsourced dialect data
βββ sheets_output/ # CSV files (auto-converted to JSON)
β βββ processed_dialects.csv
β βββ digiwords_grouped.csv
βββ scripts/ # Automation scripts (NEW!)
β βββ csv_to_json.py # CSV β JSON converter
β βββ sheets_sync.py # Google Sheets downloader
β βββ file_watcher.py # Auto-conversion on file changes
β βββ automation_runner.py # Main automation orchestrator
βββ config.json # Automation configuration
βββ requirements.txt # Python dependencies
βββ AUTOMATION_SETUP.md # Detailed setup guide
βββ README.md
π How It Works
Manual Mode (Original)
- Load
index.html: Contains hardcoded data for 33 Telangana districts - Fetch
processed_dialects.json: Enhances/adds districts from JSONL data - Fetch
digiwords_grouped.json:- Merges additional words into Telangana districts
- Automatically adds 15 Andhra Pradesh districts with coordinates
- Render: All districts appear on the map with merged data
Automated Mode (NEW!)
- Google Sheets: Update your dialect data in Google Sheets
- Auto-Sync: Script downloads sheets as CSV (every 5 min)
- File Watcher: Detects CSV changes
- Auto-Convert: CSV files β JSON format
- Browser: Refresh to see updates on the map!
Flow:
Google Sheet β CSV (sheets_output/) β JSON (data/processed/) β Browser (index.html)
β β β
Manual Edit File Watcher Auto-Refresh
Smart Merging:
- Existing districts β Appends new words
- New AP districts β Creates markers automatically
- Graceful fallback if JSON files are missing
π Current Data Coverage
| State | Districts | Words | Sources |
|---|---|---|---|
| Telangana | 33 | 2000+ | Hardcoded + JSONL + Digiwords |
| Andhra Pradesh | 15 | 1000+ | Digiwords (crowdsourced) |
| Total | 48 | 3000+ | Multiple sources |
Andhra Pradesh Districts:
Anantapur, Annamayya, Chittoor, East Godavari, Eluru, Kadapa, Kurnool, Nandyal, Ongole, Tirupati, Srikakulam, Visakhapatnam, Vizianagaram, West Godavari, Rayalaseema
π¨ Adding New Data
Update Existing JSON Files
Edit data/processed/digiwords_grouped.json:
{
"Telangana": {
"YourDistrict": [
{"t": "ΰ°€ΰ±ΰ°²ΰ±ΰ°ΰ±ΰ°ͺΰ°¦ΰ°", "m": "meaning", "s": "Crowd"}
]
},
"Andhra Pradesh": {
"YourDistrict": [
{"t": "ΰ°€ΰ±ΰ°²ΰ±ΰ°ΰ±ΰ°ͺΰ°¦ΰ°", "m": "meaning", "s": "Crowd"}
]
}
}
Edit data/processed/processed_dialects.json:
[
{
"name": "YourDistrict",
"region": "Region Name",
"words": [
{"t": "ΰ°€ΰ±ΰ°²ΰ±ΰ°ΰ±ΰ°ͺΰ°¦ΰ°", "m": "meaning", "s": "Source"}
]
}
]
Then refresh the browser!
Add New AP District Coordinates
If adding a new Andhra Pradesh district, update index.html:
const AP_COORDINATES = {
"YourDistrict": {
lat: 00.0000,
lng: 00.0000,
region: "Region Name",
history: "Historical context..."
},
// ...
};
π οΈ Technical Stack
- Frontend: HTML5, Vanilla JavaScript, Leaflet.js
- Data Format: JSON (pre-processed)
- Map Library: Leaflet with CartoDB basemap
- Server: Any HTTP server (Python, Node, etc.)
- No Build Step: Pure static site
π Troubleshooting
Data Not Loading?
β
Check #1: Are you using http://localhost:8000/?
- β Don't use
file://URLs - β Use an HTTP server
β Check #2: Is the server running?
python3 -m http.server 8000
β Check #3: Hard refresh the page
- Press
Ctrl + Shift + R(Windows/Linux) - Press
Cmd + Shift + R(Mac)
β Check #4: Check browser console (F12)
- Look for fetch errors
- Should see loading messages
Server Won't Start?
# Kill process on port 8000
lsof -ti:8000 | xargs kill -9
# Start fresh
python3 -m http.server 8000
Still Not Working?
- Open browser console (F12)
- Look for error messages
- Check that JSON files exist in
data/processed/ - Verify you're on the correct URL (
localhost:8000not127.0.0.1if redirects are weird)
π Technical Notes
- Telugu text uses web fonts (Poppins, Ramabhadra)
- Console shows detailed merge logs for debugging
- Map centered at (16.5Β°N, 79.8Β°E) to show both states
- Zoom level: 6.5 (fits both Telangana and AP)
- Data loads asynchronously with
async/await
π€ Contributing
To add more dialect data:
- Edit the JSON files in
data/processed/ - Refresh
http://localhost:8000/ - That's it!
Made with β€οΈ for preserving Telugu linguistic heritage across Telangana and Andhra Pradesh