A desktop application built with CustomTkinter (Python) for managing a personal library.
It allows you to create, edit, delete, filter, and browse books in a user-friendly interface.
- π₯οΈ Modern UI with CustomTkinter (dark mode support).
- π Book management:
- Add new books.
- Edit existing ones.
- Delete with confirmation.
- π Advanced filters:
- Search by title, author, publisher, theme, or collection.
- Filter by publication year and edition year (exact or ranges).
- Filter by location (place, furniture, module, shelf).
- Reset filters with one click.
- π Data display:
- Interactive table (
Treeview) with sorting by any column. - Vertical scrollbar for easier navigation.
- Action column with edit βοΈ and delete ποΈ buttons.
- Interactive table (
- π Statistics:
- Shows total number of books in the collection.
- πͺ Window management:
- Main window opens maximized by default.
- Filter window appears centered over the main window.
- Fullscreen toggle with F11 and exit with Esc.
- Python 3.11+
- CustomTkinter for the modern UI
- Tkinter / ttk for advanced widgets (Treeview, Combobox with scroll)
- SQLAlchemy for ORM and queries
- SQLite / MySQL (depending on config) as database backend
Clone the repository:
git clone https://github.com/your-username/library-app.git
cd library-appCreate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # WindowsInstall dependencies:
pip install -r requirements.txtConfigure the database connection in:
database/db_config.py
Run the application:
python main.py- Main window opens maximized.
- Use Filters to refine your book list.
- Use Add Book to create new entries.
- Use the βοΈ / ποΈ icons in the table to edit or delete books.
library-app/
βββ main.py # Entry point
βββ controllers/ # Database logic (CRUD, filters, queries)
βββ models/ # SQLAlchemy models
βββ views/ # UI windows (Main, Filters, FormBook)
βββ database/ # DB config and migrations
βββ assets/ # Optional icons or resources
βββ requirements.txt # Dependencies
βββ README.md # This file
(maximized with sortable table and actions)
(advanced filters with placeholders and reset button)
(form with placeholders and dropdowns with scroll)
- Export/import library to CSV/Excel.
- Support for book covers (images).
- Statistics dashboard.
Developed by MΓ³nica Melendo
Feel free to β the repo if you find it useful!