Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyVault

A secure password manager with both command-line and web interfaces, built with Python.

Features

  • Secure password storage using Fernet symmetric encryption
  • SQLite database for persistence
  • Command-line interface with Click
  • Web-based graphical user interface with Flask
  • Password generation
  • CRUD operations: Add, Get, Update, Delete, List passwords

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/pyvault.git
    cd pyvault
  2. Install dependencies:

    pip install -r requirements.txt
  3. (Optional) Install for development:

    pip install -e .

Usage

Web Interface (Recommended)

Start the web application:

python -m pyvault.web

Then open your browser to http://127.0.0.1:5000 to access the user-friendly web interface.

Command-Line Interface

Initialize the database (first time only):

python -m pyvault.cli

Add a password:

pyvault add

Get a password:

pyvault get

Update a password:

pyvault update

Delete a password:

pyvault delete

List all services:

pyvault list

Generate a password:

pyvault generate --length 16

Security

  • Passwords are encrypted using Fernet (AES 128) before storage.
  • The encryption key is stored in secret.key (keep this secure!).
  • Uses secrets module for password generation.

Testing

Run tests with pytest:

pytest

Project Structure

pyvault/
├── src/pyvault/
│   ├── __init__.py
│   ├── cli.py
│   ├── database.py
│   ├── encryption.py
│   ├── models.py
│   └── utils.py
├── tests/
│   ├── __init__.py
│   ├── test_cli.py
│   ├── test_database.py
│   ├── test_encryption.py
│   ├── test_models.py
│   └── test_utils.py
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages