尚未检测到更新。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