Skip to main content

gypp - readonly access to GPG YAML files

gypp provides convenience methods for accessing entries in a GPG encrypted YAML file.

The YAML file has a structure like:

# Comments start with a "#"
DESCRIPTION: |
  This is a human readable description of this file.

RECIPIENTS:
  - list of
  - recipients of
  - the encrypted file

some_key:
  user: name of account (required)
  password: the password or phrase (required)
  name: human readable name of entry (optional)
  note: |
    optional note. The pipe char indicates that
    line breaks will be preserved, but the
    preceding space on each line will not.
  other: Other properties may be added as needed.

another_key:
  user: some user
  password: password with a quote " in it
  name: another test entry
  note: |
    Same old stuff

Installation

pip install -U gypp

Use

List entries available:

$ gypp my_passwords.gpg

Source: junk.txt
Description: This is a human readable description of this file.

Keys available:
  some_key          : human readable name of entry (optional)
  another_key       : another test entry

Show a specific entry on the commandline:

$ gypp -s -k some_key my_passwords.gpg

user     : name of account (required)
password :
name     : human readable name of entry (optional)
note
  optional note. The pipe char indicates that
  line breaks will be preserved, but the
  preceding space on each line will not.

other    : Other properties may be added as needed.

Place password for entry on the clipboard:

$ gypp -k some_key my_passwords.gpg

New in version 1.1: gypp will read a list of sources from a configuration file that by default is located at $HOME/.config/gypp/gypp.yaml. The config file is a yaml file structured like:

sources:
  source_name_1: path/to/encrypted/file
  source_name_2: path/to/another/encryped/file

gypp can then be run using a key under sources to specify the gpg file to read. e.g.:

$ gypp source_name_2

Development

Repository: https://github.com/datadavev/gypp

Development install:

$ git clone https://github.com/datadavev/gypp.git
$ cd gypp
$ pip install -U -e .

Deploy to pypi:

$ python setup.py sdist
$ twine upload dist/*

Metadata

Release files for gypp 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gypp 1.1.2
File Size Uploaded Provenance Actions
gypp-1.1.2.tar.gz 5.9 kB Without provenance Details for gypp-1.1.2.tar.gz

Release files / gypp-1.1.2.tar.gz

Download URL gypp-1.1.2.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
386f273351bf78f0933bd24be7ed208f9707f74cf624f1a91576e3cede70ecd0
BLAKE2b-256 checksum
How to use checksums
b1afac7d289551c608915907b78fbcc1aca989c525ea0b4bce4ac341e622dc10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

Security for gypp 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page