SafeVixAI/SafeVixAI-Dataset-Hub
SafeVixAI Dataset Hub 🛡️ The Intelligence Layer for the SafeVixAI platform — IIT Madras Road Safety Hackathon 2026 This repository hosts all datasets, pre-trained models, notebooks, and reproducible data acquisition scripts that power the SafeVixAI application. It is designed to be cloned directly into Google Colab or any research environment. Main Application Repo: SafeVixAI/SafeVixAI ⚡ Quickstart (Google Colab) # Clone the entire intelligence layer !git… See the full description on the dataset page: https://huggingface.co/datasets/SafeVixAI/SafeVixAI-Dataset-Hub.
1145
1from __future__ import annotations2 3import logging4logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')5LOGGER = logging.getLogger(__name__)6 7 8from pathlib import Path9ROOT_DIR = Path(__file__).resolve().parents[2]10 11from _overpass_utils import build_arg_parser, build_india_query, fetch_elements, normalize_row, write_rows12 13 14DEFAULT_OUTPUT = ROOT_DIR / 'chatbot_service' / 'data' / 'emergency' / 'police_stations.csv'15SELECTORS = [16 'node["amenity"="police"](area.searchArea);',17 'way["amenity"="police"](area.searchArea);',18 'relation["amenity"="police"](area.searchArea);',19]20 21 22def main() -> None:23 parser = build_arg_parser('Fetch India police station data from Overpass.', DEFAULT_OUTPUT)24 args = parser.parse_args()25 26 query = build_india_query(SELECTORS, timeout=args.timeout)27 elements = fetch_elements(query, endpoint=args.endpoint, timeout=args.timeout)28 rows = [29 row30 for element in elements31 if (row := normalize_row(element, default_type='police', fallback_name='Unnamed police station')) is not None32 ]33 count = write_rows(args.output, rows)34 LOGGER.info(f'Saved {count} police station records to {args.output}')35 36 37if __name__ == '__main__':38 main()39 