{"id":13936500,"url":"https://github.com/gabfl/vault","last_synced_at":"2025-04-09T05:12:25.494Z","repository":{"id":44898837,"uuid":"95264151","full_name":"gabfl/vault","owner":"gabfl","description":"Python password manager","archived":false,"fork":false,"pushed_at":"2024-09-26T01:02:32.000Z","size":1683,"stargazers_count":185,"open_issues_count":2,"forks_count":50,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-12-18T09:45:37.724Z","etag":null,"topics":["password-manager","python3","secrets-management","sqlite3"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabfl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-23T23:47:27.000Z","updated_at":"2024-12-05T14:35:41.000Z","dependencies_parsed_at":"2024-12-29T08:04:27.722Z","dependency_job_id":"7557b233-6df5-4f4d-8d11-e7335e1526c2","html_url":"https://github.com/gabfl/vault","commit_stats":{"total_commits":81,"total_committers":2,"mean_commits":40.5,"dds":0.04938271604938271,"last_synced_commit":"cb17baf64337ad39c064943f3958cc1a8468f4fe"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabfl%2Fvault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabfl%2Fvault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabfl%2Fvault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabfl%2Fvault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabfl","download_url":"https://codeload.github.com/gabfl/vault/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980844,"owners_count":21027808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["password-manager","python3","secrets-management","sqlite3"],"created_at":"2024-08-07T23:02:44.018Z","updated_at":"2025-04-09T05:12:25.475Z","avatar_url":"https://github.com/gabfl.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Vault\n\n[![Pypi](https://img.shields.io/pypi/v/pyvault.svg)](https://pypi.org/project/pyvault)\n[![Build Status](https://github.com/gabfl/vault/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/gabfl/vault/actions)\n[![codecov](https://codecov.io/gh/gabfl/vault/branch/main/graph/badge.svg)](https://codecov.io/gh/gabfl/vault)\n[![MIT licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://raw.githubusercontent.com/gabfl/vault/main/LICENSE)\n\nVault is a simple Python password manager. It allows you to securely save secrets with a simple CLI interface.\n\n## Features\n\n - Secrets are stored in an encrypted SQLite database with [SQLCipher](https://www.zetetic.net/sqlcipher/)\n - Within the database, each password and notes are encrypted with a unique salt using AES-256 encryption with [pycryptodome](http://legrandin.github.io/pycryptodome/)\n - Master key is hashed with a unique salt\n - Possibility to create an unlimited number of vaults\n - Clipboard cleared automatically\n - Automatic vault locking after inactivity\n - Password suggestions with [password-generator-py](https://github.com/gabfl/password-generator-py)\n - Import / Export in Json\n\n## Basic usage\n\n![Demo](https://github.com/gabfl/vault/blob/main/img/demo.gif?raw=true)\n\n## Installation and setup\n\nVault 2.x requires `sqlcipher` to be installed on your machine.\n\n### MacOS\n\nOn MacOS, you can install `sqlcipher` with [brew](https://brew.sh/):\n```bash\nbrew install sqlcipher\n\n# Install sqlcipher3\nSQLCIPHER_VERSION=\"0.5.3\"\npip3 install sqlcipher3==$SQLCIPHER_VERSION\n\n# If you are getting an error \"Failed to build sqlcipher3\", you would need to fix the build flags:\nSQLCIPHER_PATH=\"$(brew --cellar sqlcipher)/$(brew list --versions sqlcipher | tr ' ' '\\n' | tail -1)\"\nC_INCLUDE_PATH=$SQLCIPHER_PATH/include LIBRARY_PATH=$SQLCIPHER_PATH/lib pip3 install sqlcipher3==$SQLCIPHER_VERSION\n```\n\nThen install the vault:\n\n```bash\npip3 install pyvault\n\n# Run setup\nvault\n```\n\n### Ubuntu / Debian\n\nOn Ubuntu/Debian, you can install `sqlcipher` with apt:\n```bash\nsudo apt update\nsudo apt install -y gcc python3-dev libsqlcipher-dev xclip\n```\n\nThen install the vault:\n\n```bash\npip3 install pyvault\n\n# Run setup\nvault\n```\n\n### Using Docker\n\n```bash\n# Pull the image\ndocker pull gabfl/vault\n\n# Create local directory\nmkdir ~/.vault\n\n# Launch image\ndocker run -v ~/.vault:/root/.vault -ti gabfl/vault\n```\n\n### Cloning the project\n\n```bash\n# Clone project\ngit clone https://github.com/gabfl/vault \u0026\u0026 cd vault\n\n# Installation\npip3 install .\n\n# Run setup\nvault\n```\n\n## Advanced settings:\n\n```\nusage: vault [-h] [-t [CLIPBOARD_TTL]] [-p [HIDE_SECRET_TTL]]\n             [-a [AUTO_LOCK_TTL]] [-v VAULT_LOCATION] [-c CONFIG_LOCATION]\n             [-k] [-i IMPORT_ITEMS] [-x EXPORT] [-f [{json}]] [-e]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -t [CLIPBOARD_TTL], --clipboard_TTL [CLIPBOARD_TTL]\n                        Set clipboard TTL (in seconds, default: 15)\n  -p [HIDE_SECRET_TTL], --hide_secret_TTL [HIDE_SECRET_TTL]\n                        Set delay before hiding a printed password (in\n                        seconds, default: 15)\n  -a [AUTO_LOCK_TTL], --auto_lock_TTL [AUTO_LOCK_TTL]\n                        Set auto lock TTL (in seconds, default: 900)\n  -v VAULT_LOCATION, --vault_location VAULT_LOCATION\n                        Set vault path\n  -c CONFIG_LOCATION, --config_location CONFIG_LOCATION\n                        Set config path\n  -k, --change_key      Change master key\n  -i IMPORT_ITEMS, --import_items IMPORT_ITEMS\n                        File to import credentials from\n  -x EXPORT, --export EXPORT\n                        File to export credentials to\n  -f [{json}], --file_format [{json}]\n                        Import/export file format (default: 'json')\n  -e, --erase_vault     Erase the vault and config file\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabfl%2Fvault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabfl%2Fvault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabfl%2Fvault/lists"}