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
```
[![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
Release history Release notifications | RSS feed
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.tar.gz
(18.8 kB
view hashes)
Built Distribution
pyvault-2.2-py2.py3-none-any.whl
(25.5 kB
view hashes)
Close
Hashes for pyvault-2.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23d6c54d9a8a03b8cb2e65f8a7c9b33139475957c16f47123056b6b33e50fa22 |
|
MD5 | 94b3d7f335f59bc5dcdb8e3891ddafe6 |
|
BLAKE2b-256 | 6159e7637e97e831869e7eeca583bb2d8cd91e47ba24beb22cf413aa2372dcd3 |