Skip to main content

Very simple password vault for Python projects

Project description

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 your.email@something.com

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.

Please install pre-commit before commiting your changes

uv run pre-commit install

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

mypwd-0.9.2.tar.gz (38.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mypwd-0.9.2-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file mypwd-0.9.2.tar.gz.

File metadata

  • Download URL: mypwd-0.9.2.tar.gz
  • Upload date:
  • Size: 38.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mypwd-0.9.2.tar.gz
Algorithm Hash digest
SHA256 3232732d031cbf7ff6919251b08be975504be592cc725104029ca6051d94edbc
MD5 a3420b3df0fbd08b3ce143aea5536108
BLAKE2b-256 5b593949d31f5402622c90cf5b7e59ebb5e04cf8e2c8bdeb592b864b45c26e20

See more details on using hashes here.

File details

Details for the file mypwd-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: mypwd-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mypwd-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c34044b36cf33005939b358a22cecc3f37e026a3b2eebb26a3ae86dfa546f049
MD5 27b84d9b2f5b532163705c55f504aa8a
BLAKE2b-256 d98b20b1316228238b09189153992c0dd45f917ca70403d1ee289b7bbffb92c6

See more details on using hashes here.

Supported by

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