A comprehensive, ADA-compliant GUI application for processing school attendance data and generating ADA (Average Daily Attendance) audit reports and dashboards.
This tool automates the processing of Program Apportionment Data Collection (PADC) files for charter schools, specifically designed to handle multiple program types (C, N, J, K) with various location-specific variants (TK, CM, SYC). The application provides an accessible, keyboard-navigable interface that meets WCAG 2.1 AA accessibility standards.
- Automated Data Processing: Extracts student attendance data from Excel files based on configurable program boundaries
- Multiple Program Support: Handles 12+ program variations across resident/non-resident and independent study programs
- Boundary Management: Save and load program boundary configurations for different schools/locations
- Dashboard Generation: Creates CSV dashboards with ADA summaries by program, month, and grade level
- Real-time Progress Tracking: Visual progress indicators and detailed logging
- WCAG 2.1 AA Compliant: High contrast color scheme with proper text-to-background ratios
- Keyboard Navigation: Full keyboard access with comprehensive shortcuts (Ctrl+O, Ctrl+L, Ctrl+R, etc.)
- Screen Reader Compatible: Proper ARIA labels and accessible widget configurations
- Focus Indicators: Clear visual focus indicators for all interactive elements
- High Contrast Mode: Automatic detection and support for Windows high contrast settings
- Scrolling Support: Multiple scrolling methods (keyboard, mouse, page navigation)
- Operating System: Windows 10/11 (primary), macOS, or Linux
- Python: 3.8 or higher
- Excel: Input files must be in .xlsx format
- Memory: Minimum 4GB RAM recommended
- Display: Minimum 1200x800 resolution for optimal GUI experience
git clone https://github.com/yourusername/ada-audit-tool.git
cd ada-audit-toolpython -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activatepip install -r requirements.txtpython ADA_Audit_GUI.py- Select Input File (Ctrl+O): Choose your PADC Excel file
- Select Output File (Ctrl+S): Choose where to save processed data
- Load & Analyze (Ctrl+L): Load data and auto-detect program boundaries
- Review Boundaries: Edit boundaries in the table if needed
- Run Audit (Ctrl+R): Execute the audit process
- Run Dashboard (Ctrl+D): Generate CSV dashboard (optional)
- Export Results: Save results to Excel
The tool supports the following program configurations:
Program C - Charter Resident
Prog_C: Main program (includes CM and SYC locations)Prog_C_TK: Transitional Kindergarten (separate)Prog_C_CM: McClellan location (consolidated with main)Prog_C_SYC: Sacramento Youth Center (consolidated with main)
Program N - Non-Resident Charter
Prog_N: Main program (includes CM and SYC locations)Prog_N_TK: Transitional Kindergarten (separate)Prog_N_CM: McClellan location (consolidated with main)Prog_N_SYC: Sacramento Youth Center (consolidated with main)
Program J - Independent Study Charter Resident
Prog_J: Main programProg_J_TK: Transitional Kindergarten
Program K - Independent Study Charter Non-Resident
Prog_K: Main programProg_K_TK: Transitional Kindergarten
ada-audit-tool/
├── ADA_Audit_GUI.py # Main GUI application
├── ADA_Audit_25_26_IMPROVED.py # Core audit processing functions
├── ADA_Dashboard_Module.py # Dashboard generation module
├── boundary_settings/ # Saved boundary configurations
│ ├── COA Elem.json
│ ├── COA Mid.json
│ └── HLA.json
├── requirements.txt # Python dependencies
├── README.md # This file
├── LICENSE # License information
└── .gitignore # Git ignore rules
Boundary settings define where each program's data begins and ends in the Excel file. The tool can:
- Auto-detect boundaries by analyzing the input file
- Save configurations for reuse across similar files
- Load pre-configured boundary settings for specific schools
Example boundary configuration (JSON):
{
"name": "COA Elementary",
"program_boundaries": {
"Prog_C": {"start": 5, "stop": 28},
"Prog_C_TK": {"start": 29, "stop": 48}
}
}| Shortcut | Action |
|---|---|
| Ctrl+O | Open input file |
| Ctrl+S | Select output file |
| Ctrl+L | Load and analyze data |
| Ctrl+R | Run audit process |
| Ctrl+E | Export results |
| Ctrl+D | Run ADA Dashboard |
| F1 | Show help |
| F2-F5 | Sort table by different columns |
| Esc | Return focus to main window |
| Ctrl+Up/Down | Scroll line by line |
| Page Up/Down | Scroll page by page |
- Excel file with extracted attendance data
- Organized by program, month, and grade level
- Column AJ values (attendance figures)
- CSV file with ADA summary data
- Columns: Year, School, Location, Month, Program, TK, Grade Level, ADA %, Total ADA
- Suitable for import into BI tools or further analysis
"No module named 'tkinter'"
# Ubuntu/Debian
sudo apt-get install python3-tk
# macOS (via Homebrew)
brew install python-tk"File not found" errors
- Ensure input file path is correct
- Check that the file is not open in Excel
- Verify file permissions
Boundary detection fails
- Manually review the Excel file structure
- Check that program names match expected values
- Adjust boundaries manually in the GUI table
GUI scaling issues
- Adjust Windows display scaling (Settings > Display)
- Minimum recommended resolution: 1200x800
python ADA_Audit_GUI.pyYou can also import and use the modules programmatically:
from ADA_Audit_25_26_IMPROVED import (
find_rows_containing_program_name,
find_program_boundary_rows,
extract_student_attendance_data
)
from ADA_Dashboard_Module import run_ada_dashboard_with_boundariesWe welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Follow PEP 8 guidelines
- Use descriptive variable names
- Add docstrings to all functions
- Maintain accessibility standards
This project is licensed under the MIT License - see the LICENSE file for details.
For issues, questions, or feature requests:
- Create an issue on GitHub
- Contact: [your-email@example.com]
- Built for charter school attendance reporting compliance
- Designed with accessibility as a primary consideration
- Integrates with FastAPI, SQLModel, Celery, Redis backend systems
- ADA-compliant GUI interface
- Saved boundary configurations
- Dashboard generation module
- Comprehensive keyboard navigation
- High contrast mode support
- Initial command-line version
- Basic audit processing functionality
Note: This tool is specifically designed for PADC (Program Apportionment Data Collection) processing for California charter schools. Ensure your input files match the expected format for proper operation.