A secure and modern desktop application built with Python and Flet that allows users to generate strong passwords, evaluate the strength of existing ones, and manage credentials locally.
-
Customizable Security: Generate passwords with specific requirements including:
-
Numbers
-
Capital Letters
-
Small Letters
-
Punctuation/Symbols
-
Adjustable Length: Define the exact number of characters for your password.
-
One-Click Save: Directly save generated passwords to your local database with a website name and link.
- Real-Time Analysis: Switch to "Evaluation" mode to type in a password and instantly check its strength.
- Visual Feedback: Provides a percentage score and color-coded indicators (Red to Green) to represent security levels.
- Local Database: View all your saved credentials in a structured Data Table.
- Management: easily delete obsolete or compromised passwords.
- Dark Mode UI: Features a sleek, responsive interface with radial gradient backgrounds and smooth animations.
- Flet - The framework used for the UI.
password_strength- Library used for calculating password complexity.json- Used for local data storage.
Main.py: The entry point of the application, managing navigation between the Generator and Manager views.first_interface.py: Contains the UI logic for the Password Generator and Strength Evaluator.Second_interface.py: Contains the UI logic for the Password Manager (Data Table).Buttons_func.py: Handles the core logic for buttons (Generate, Save, Clear) and strength calculation.Json_file.py: Manages the CRUD operations (Create, Read, Delete) for thePasswords.jsonfile.DT_Handling.py: specific logic for populating and updating the Data Table rows.
- Clone the repository:
git clone https://github.com/youssef3082004/password_manager.git
cd password_manager
- Install dependencies:
pip install flet password_strength
⚠️ Configuration (Important): The application currently uses absolute paths for the database file. You must update the file paths in the code to match your local directory structure before running the app.
- **Open
Json_file.py**: Update the path insideopen()functions (lines 8, 10, 21, 35, 43) to point to yourPasswords.jsonlocation. - **Open
DT_Handling.py**: Update the path inside theShow_datafunction (line 12).
Example change:
# Change this:
with open(r"D:\python\Python Projects\Password Generator\Passwords.json", "r") as file:
# To this (relative path recommended):
with open("Passwords.json", "r") as file:- Create the Database File:
Create an empty file named
Passwords.jsonin your project directory with the following initial structure:
{
"passwords": []
}
Run the application:
python Main.py
- Use the Navigation Menu (top-left icon) to switch between the "Password Generator" and "Password Manager".
- In the Generator, toggle the Radio button to switch between "Generate" and "Evaluation" modes.
This project is open-source and available for use and modification.

