尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Offline voter CSV explorer and validated PDF-to-CSV converter
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A private-by-design, browser-based dashboard for searching, filtering, analyzing, printing, and exporting Rajasthan municipal voter-list CSV files.
The dashboard runs entirely in the browser. Selected CSV files are not uploaded to a server, and voter PDFs, generated CSVs, validation reports, and local environments are excluded from this repository.
Browser preferences such as filters, column order, sorting, and print settings are saved locally. Voter records themselves are not saved in browser storage.檢視完整 README ↗A private-by-design, browser-based dashboard for searching, filtering, analyzing, printing, and exporting Rajasthan municipal voter-list CSV files.
Live dashboard: https://voter.vishalnagda.dev
The dashboard runs entirely in the browser. Selected CSV files are not uploaded to a server, and voter PDFs, generated CSVs, validation reports, and local environments are excluded from this repository.
Browser preferences such as filters, column order, sorting, and print settings are saved locally. Voter records themselves are not saved in browser storage.
Surname analytics reports names exactly as recorded and must not be treated as verified caste identification.
.
├── dashboard/index.html # Standalone browser dashboard (deployed to GitHub Pages)
├── src/voter_converter/ # PDF → CSV converter package
│ ├── converter.py # Extraction, OCR, transliteration, validation, CLI
│ └── data/transliteration_overrides.json
├── scripts/ # setup_voter_converter.sh, run_voter_converter.command
├── tests/ # unittest suite
├── data/ # Local voter PDFs/CSVs (git-ignored)
├── .github/workflows/pages.yml # Dashboard deployment
└── pyproject.toml
Open dashboard/index.html directly in a modern browser and select the generated CSV files. No server or Python environment is required for the dashboard.
The repository also includes the voter_converter Python package (src/voter_converter/), an offline converter for the supported Rajasthan municipal voter-roll PDF layout. Install uv, then double-click scripts/run_voter_converter.command (it runs first-time setup automatically). Its interactive menu can either extract PDFs into CSV files or refresh English transliteration in existing converter CSV files without rerunning PDF extraction or OCR.
Every successful conversion produces a UTF-8 CSV and a validation report. Verified preferred spellings come from src/voter_converter/data/transliteration_overrides.json; other English names use deterministic Hindi-name rules and remain flagged for review before official use.
Roll type, municipality or panchayat name, ward, and part metadata are detected from the PDF header using OCR cross-checked against the embedded text layer. PDF filenames are not required to follow a convention; a matching conventional filename may only enrich a location label after the document content confirms it. Explicit command-line metadata options remain available as authoritative overrides.
Voter rolls group cards by locality and print the area, such as पाटीदारों का मोहल्ला, करणपुर, as a heading above the first card row of that area. A heading stays in force across page breaks until the next one. The converter locates these headings in the PDF text layer and reads them with OCR. Every printed instance of the same heading receives one reading. Each row carries:
house_number_or_address: the house number from the voter's card (390).area_hindi / area_english: the area heading above the card.full_address_hindi / full_address_english: the house, area, gram panchayat or municipality, panchayat samiti, and district, with repeated place names removed (390, पाटीदारों का मोहल्ला, करणपुर, वल्लभनगर, उदयपुर → 390, Patidaron Ka Mohalla, Karanpur, Vallabhnagar, Udaipur).The validation report's address section lists every detected area with its voter count, which makes OCR misreadings easy to spot.
For the best transliteration data, filter the dashboard to english_name_needs_review = Yes, review the most frequent Hindi words first, and add each confirmed spelling to src/voter_converter/data/transliteration_overrides.json. Prefer reusable word entries such as "भंवर": "Bhanwar" over a full-name entry such as "भंवर लाल": "Bhanwar Lal"; the word entry also fixes भंवर सिंह and other combinations. Keep full-name entries only when the spelling genuinely changes in that exact combination. Then choose Update English transliteration in existing CSV files in the converter menu. By default it updates only blank or review-needed English names and preserves already reviewed rows.
After setup, the converter can also be run directly:
.venv-voter/bin/python -m voter_converter data/PDFs --output-dir data/CSVs
.venv-voter/bin/python -m unittest discover -s tests