An offline desktop application for managing school library operations. Built with Python, PySide6, and SQLite.
- Dashboard — Overview of library statistics (total books, available, issued, students, pending returns, overdue, low stock)
- Books Management — Add, edit, deactivate, search, filter, import/export books via Excel
- Student Management — Add, edit, deactivate, search, import/export students via Excel, view issue history
- Issue Book — Issue books to students with automatic quantity updates, duplicate prevention
- Return Book — Record returns, overdue tracking, automatic quantity recovery
- Reports — 10 report types with search, date filters, and Excel export
- Settings — School/library configuration, SQLite backup/restore, Excel full backup
Download the standalone executable from the Releases page:
| File | Description |
|---|---|
School Library Management System.exe |
Single-file standalone. Copy anywhere and run. No Python or DLLs needed. |
School-Library-Management-System-Setup.exe |
Installer (recommended for most users) |
Data is stored in %LOCALAPPDATA%\School Library Management System\ and persists across updates.
- Python 3.10+
- PySide6
- openpyxl
pip install -r requirements.txtpython main.pySee BUILD.md for detailed build instructions, including one-folder, one-file, and Inno Setup installer builds.
build_exe.batOutput: dist\School Library Management System\
school-library-management/
├── main.py # Application entry point
├── app/ # Core: config, database, validators, utils
├── services/ # Business logic: books, students, issues, reports, excel, backup
├── ui/ # PySide6 UI: main window, dashboard, all screens
├── database/ # SQLite schema and database file
├── exports/ # Exported Excel reports
├── backups/ # Database backups
├── assets/ # Icons and images
├── installer/ # Inno Setup installer output
├── installer.iss # Inno Setup script
├── build_exe.bat # PyInstaller build script
├── pyproject.toml # Project metadata and test config
├── README.md # This file
├── BUILD.md # Build instructions
└── AGENTS.md # AI agent instructions
- UI: PySide6 (Qt6)
- Database: SQLite
- Excel: openpyxl
- Packaging: PyInstaller (one-file & one-folder builds), Inno Setup (installer)
- Testing: pytest
MIT