Skip to main content

Python password manager

Project description

# Vault

[![Pypi](https://img.shields.io/pypi/v/pyvault.svg)](https://pypi.org/project/pyvault)
[![Build Status](https://travis-ci.org/gabfl/vault.svg?branch=master)](https://travis-ci.org/gabfl/vault)
[![codecov](https://codecov.io/gh/gabfl/vault/branch/master/graph/badge.svg)](https://codecov.io/gh/gabfl/vault)
[![MIT licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://raw.githubusercontent.com/gabfl/vault/master/LICENSE)

Vault is a simple Python password manager. It allows you to securely save secrets with a simple CLI interface.

## Features

- Secrets are stored in an encrypted SQLite database with [SQLCipher](https://www.zetetic.net/sqlcipher/)
- Within the database, each password and notes are encrypted with a unique salt using AES-256 encryption with [pycryptodome](http://legrandin.github.io/pycryptodome/)
- Master key is hashed with a unique salt
- Possibility to create an unlimited number of vaults
- Clipboard cleared automatically
- Automatic vault locking after inactivity
- Password suggestions with [password-generator-py](https://github.com/gabfl/password-generator-py)
- Import / Export in Json

## Basic usage

![Demo](https://github.com/gabfl/vault/blob/master/img/demo.gif?raw=true)

## Installation and setup

### Install sqlcipher

Vault 2.x requires `sqlcipher` to be installed on your machine.

On MacOS, you can install it with [brew](https://brew.sh/):
```bash
brew install sqlcipher
```

On Ubuntu/Debian, you can install it with apt-get:
```bash
sudo apt-get update
sudo apt-get install --yes gcc python3-dev libsqlcipher-dev
```

### Using PyPI

```bash
pip3 install pyvault

# Run setup
vault
```

### Cloning the project

```bash
# Clone project
git clone https://github.com/gabfl/vault && cd vault

# Installation
python3 setup.py install

# Run setup
vault
```

## Advanced settings:

```
usage: vault [-h] [-t [CLIPBOARD_TTL]] [-p [HIDE_SECRET_TTL]]
[-a [AUTO_LOCK_TTL]] [-v VAULT_LOCATION] [-c CONFIG_LOCATION]
[-k] [-i IMPORT_ITEMS] [-x EXPORT] [-f [{json}]] [-e]

optional arguments:
-h, --help show this help message and exit
-t [CLIPBOARD_TTL], --clipboard_TTL [CLIPBOARD_TTL]
Set clipboard TTL (in seconds, default: 15)
-p [HIDE_SECRET_TTL], --hide_secret_TTL [HIDE_SECRET_TTL]
Set delay before hiding a printed password (in
seconds, default: 15)
-a [AUTO_LOCK_TTL], --auto_lock_TTL [AUTO_LOCK_TTL]
Set auto lock TTL (in seconds, default: 900)
-v VAULT_LOCATION, --vault_location VAULT_LOCATION
Set vault path
-c CONFIG_LOCATION, --config_location CONFIG_LOCATION
Set config path
-k, --change_key Change master key
-i IMPORT_ITEMS, --import_items IMPORT_ITEMS
File to import credentials from
-x EXPORT, --export EXPORT
File to export credentials to
-f [{json}], --file_format [{json}]
Import/export file format (default: 'json')
-e, --erase_vault Erase the vault and config file
```


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvault-2.2.1.tar.gz (18.8 kB view hashes)

Uploaded Source

Built Distribution

pyvault-2.2.1-py2.py3-none-any.whl (25.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page