GithubHelp home page GithubHelp logo

berk76 / mypwd Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 57 KB

Very simple password vault for python projects

Home Page: https://berk76.github.io/posts/password-manager/

License: GNU General Public License v3.0

Python 100.00%
python password secrets-manager committed-password gpg password-vault vault

mypwd's Introduction

Very simple password vault for Python projects.

I often forgot the passwords in my scripts and committed them to the repository. So I created a simple password vault so that it doesn't happen to me anymore.

1. Usage

1.1 Basic setup and usage

Install mypwd module.

pip install mypwd

Now you can use mypwd your project:

import mypwd

login, password, server = mypwd.get_values("mongo-dev", ["login", "password", "server"])

uri = f"mongodb://{login}:{password}@{server}/admin?retryWrites=true&w=majority"

When you run it first time mypwd creates vault in your $HOME directory and will ask you for login, password and server of your mongo-dev entry and store it in your vault $HOME/mypwd.json.

Here is an example of vault content:

{
  "mongo-uat": {
    "login": "appl",
    "password": "hS78#pbTgc#J.CQL",
    "server": "myserver-uat.com"
  },
  "mongo-dev": {
    "login": "appl",
    "password": "VacK>p3k3~t*c~RX",
    "server": "myserver-dev.com",
    "note": "Valid until end of month"
  }
}

Now you can access your secrets from python code and you will never commit secret anymore.

1.2 Keep your passwords safe and encrypt mypwd.json with GPG

You should store your passwords in encrypted file mypwd.json.gpg instead of in plain text file mypwd.json.

  1. install GPG (if you are using GitBash probably you already have gpg installed)
  2. create key-pair gpg --gen-key and assign it to your e-mail

Now you can encrypt your mypwd.json with your gpg key:

mypwd encrypt -e [email protected]

and later on you can decrypt it back for some manual modification:

mypwd decrypt

2. Installation

Installation is simple:

pip install mypwd

or

python setup.py install

3. Contribution

Feel free create issue or pull request.

mypwd's People

Contributors

berk76 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

fortefrankie

mypwd's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.