The Guth Pump Registry is a desktop application designed to manage the lifecycle of pump assemblies at Guth South Africa. It provides a user-friendly interface for creating, tracking, and approving pump assemblies, integrating with a SQL Server database to store pump details, Bills of Materials (BOM), user accounts, and audit logs. Built with Python and ttkbootstrap, it supports multiple user roles and generates PDF notifications and email alerts for key workflow events.
-
Role-Based Access:
- Pump Originator: Create new pump assemblies and view status.
- Stores: Manage BOM item pulling for assembly.
- Assembler/Tester: Assemble pumps, perform tests, and submit for approval.
- Approval: Approve or reject tested pumps.
- Admin: Configure settings, manage users, and oversee the system.
-
Pump Management:
- Generate unique serial numbers (e.g.,
5101 001 - 25) based on model, configuration, and year. - Track pump status: Stores -> Assembler -> Testing -> Pending Approval -> Completed.
- Store pump details (model, configuration, customer, etc.) and test data.
- Generate unique serial numbers (e.g.,
-
Bill of Materials (BOM):
- Automatically populate BOM items from
bom.jsonwhen creating pumps. - Mark items as pulled and log reasons for non-pulled items.
- Automatically populate BOM items from
-
Notifications:
- Generate PDF reports for pump creation, assembly, testing, and approval.
- Send email notifications with attachments to relevant stakeholders (e.g., Stores team).
-
Database Integration:
- Uses SQL Server via
pyodbcwith a singleton connection pool. - Stores pumps, BOM items, users, and audit logs with indexing for performance.
- Uses SQL Server via
-
User Interface:
- Modern GUI with
ttkbootstrap(flatly theme) and custom styles (styles.py). - Features include tabbed views, tooltips, and consistent typography (Roboto font).
- Modern GUI with
- Python 3.8+: Required to run the application in development mode.
- SQL Server: GuthPumpRegistry database (create manually or via
database.py). - ODBC Driver: Install "ODBC Driver 17 for SQL Server" for database connectivity.
- Dependencies: Install via
requirements.txt:pip install ttkbootstrap pyodbc bcrypt reportlab pillow