| Startup | Passwords |
|---|---|
![]() |
![]() |
| CLI | Get Password |
![]() |
![]() |
This application was created for an undergraduate university security class project.
SDS is a simple, cross-platform password manager app written in Python. This app secures collections of passwords in encrypted password files.
Features:
- Store and manage passwords inside of encrypted databases.
- Verify downloaded files using the developer supplied hash.
- Graphical user interface powered by Qt6.
- Command line interface for shell based workflows.
Download the latest release executable/package from the 'releases' section here.
The program does create data folders when it is run. These are not deleted when the program is uninstalled. You can delete them with:
- Linux:
rm -rI ~/.config/SuperDuperSecret - Windows: remove the
C:\Users\<USERNAME>\AppData\Local\SuperDuperSecretdirectory.
- Your Python version must be
>=3.13.0 - Set up virtual environment(Inside the project directory):
- Linux:
python3 -m venv .venv - Windows:
python -m venv .venv
- Linux:
- Activate virtual environment:
- Linux:
. .venv/bin/activate - Windows:
.\.venv\Scripts\activate
- Linux:
- Setup package and dependencies:
- Linux:
pip install -e . - Windows:
pip install -e .
- Linux:
- Run the project:
- Linux:
python src/main.py - Windows:
python src\main.py
- Linux:
- You can also compile the project to a binary executable:
pyinstaller --onefile src/main.py
- Compile the project using:
pyinstaller --onedir --noupx --name sds src/main.py - Move into the
dist/directory created by pyinstaller:cd dist - Rename the built directory:
mv sds sds-<version> - Copy desktop file to the built directory:
cp ../packaging/sds.desktop sds-<version> - Create
rpmbuilddirectory:mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} - Create tarball in the
rpmbuilddirectory:tar -czvf ~/rpmbuild/SOURCES/sds-<version>.tar.gz sds-<version>/ - Copy the spec file to
rpmbuild:cp ../packaging/sds.spec ~/rpmbuild/SPECS/ - Move to
rpmbuild:cd ~/rpmbuild - Build the package:
rpmbuild -bb SPECS/sds.spec - The newly created package will be located inside the
~/rpmbuild/RPMS/directory.
pyproject.tomlContains metadata such as dependencies for the project.assets/Contains non-source-code files such as images for documentation.packaging/Contains resources needed for building the project as a Linux package.src/Contains source code for the project.src/core/Contains the source code for core functionality such as encryption/hashing.src/ui/Contains the source code for the GUI and CLI.src/utils/Contains code used to perform external operations like manage config files.src/main.pyIs the primary entry point (file that is executed to start the application).
- CLI does not function on Windows as the program does not yet have a Windows installer.



