# pwpush
<div align="center">
[![Build status](https://github.com/pglombardo/pwpush-cli/workflows/build/badge.svg?branch=master&event=push)](https://github.com/pglombardo/pwpush-cli/actions?query=workflow%3Abuild)
[![Python Version](https://img.shields.io/pypi/pyversions/pwpush.svg)](https://pypi.org/project/pwpush/)
[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/pglombardo/pwpush-cli/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pglombardo/pwpush-cli/blob/master/.pre-commit-config.yaml)
[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/pglombardo/pwpush-cli/releases)
[![License](https://img.shields.io/github/license/pglombardo/pwpush-cli)](https://github.com/pglombardo/pwpush/blob/master/LICENSE)
Command Line Interface to Password Pusher.
<strong>This utility is currently in BETA. Most core functionality exists and works but needs a bit of polishing.</strong>
</div>
# Overview
This command line utility exists to interface with [pwpush.com](https://pwpush.com) or any privately hosted instance of [Password Pusher](https://github.com/pglombardo/PasswordPusher).
It uses the JSON API of Password Pusher to create, view, retrieve and manage pushes. It can do this anonymously or via the authenticated API.
# Installation
`pip install pwpush`
* Required Python version >3.8
# Quickstart
## pwpush.com
```sh
# Push a password to pwpush.com
> pwpush push mypassword
https://pwpush.com/en/p/uzij1ybk6rol
# Get JSON output instead
> pwpush --json=true push mypassword
{'url': 'https://pwpush.com/en/p/uzij1ybk6rol'}
```
## Private Self Hosted Instance
```sh
# Point this tool to your privately hosted instance
> pwpush config set --key url --value https://pwpush.mydomain.secure
# ...and push away...
> pwpush push mypassword
https://pwpush.mydomain.secure/en/p/uzij1ybk6rol
```
## Authentication with API Token
Get [the API token associated with your account](https://pwpush.com/en/users/token) and add it to the CLI configuration.
```sh
# Get your API token at [/en/users/token](https://pwpush.com/en/users/token)
# Configure the CLI with your email and API token
> pwpush config set --key email --value <pwpush login email>
> pwpush config set --key token --value <api token from /en/users/token>
# List active pushes in your dashboard
> pwpush list
=== Active Pushes:
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Secret URL Token ┃ Note ┃ Views ┃ Days ┃ Deletable by Viewer ┃ Retrieval Step ┃ Created ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ uzij1ybk6rol │ Push prior to Digital │ 6/100 │ 28/87 │ True │ False │ 10/08/2022, 11:55:49 │
│ │ Ocean migration 3 │ │ │ │ │ UTC │
│ sfoej1fwlfljwlf │ Push prior to Digital │ 0/100 │ 28/90 │ True │ True │ 10/08/2022, 11:55:19 │
│ │ Ocean migration 2 │ │ │ │ │ UTC │
└────────────────────┴────────────────────────┴───────┴───────┴─────────────────────┴────────────────┴────────────────────────┘
# Get the audit log for a push
> pwpush audit <secret url token>
```
## Show Configuration
```
> pwpush config show
=== Instance Settings:
Specify your credentials and even your private Password Pusher instance here.
┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Value ┃ Description ┃
┡━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ URL │ https://pwpush.com │ The Password Pusher instance to work with. │
│ email │ Not Set │ E-mail address of your account on Password Pusher. │
│ token │ Not Set │ API token from your account. e.g. 'https://pwpush.com/en/users/token' │
└───────┴────────────────────┴────────────────────────────────────────────────────────────────────────┘
=== Expiration Settings:
Pushes created with this tool will have these expiration settings.
If not specified, the application defaults will be used.
Command line options override these settings. See 'pwpush push --help'
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Value ┃ Valid Values ┃ Description ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ expire_after_days │ Not Set │ 1-90 │ Number of days each push will be valid for. │
│ expire_after_views │ Not Set │ 1-100 │ Number of views each push will be valid for. │
│ retrieval_step │ Not Set │ true/false │ Require users to perform a click through to retrieve a push. │
│ deletable_by_viewer │ Not Set │ true/false │ Enables/disables a user from deleting a push payload themselves. │
└─────────────────────┴─────────┴──────────────┴──────────────────────────────────────────────────────────────────┘
=== CLI Settings:
Behavior settings for this CLI.
Command line options override these settings. See 'pwpush --help'
┏━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Value ┃ Valid Values ┃ Description ┃
┡━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ json │ False │ true/false │ CLI outputs results in JSON. │
│ verbose │ False │ true/false │ More verbosity when appropriate. │
└─────────┴───────┴──────────────┴──────────────────────────────────┘
To change the above the values see: 'pwpush config set --help'
User config is saved in '/Users/pglombardo/Library/Application Support/pwpush/config.ini'
```
# Screenshots
## Help
![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-help.png)
## List
![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-list.png)
## Audit
![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-audit.png)
## Config
![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-config.png)
Raw data
{
"_id": null,
"home_page": "https://github.com/pglombardo/pwpush",
"name": "pwpush",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "security, cli, password, sharing",
"author": "pwpush",
"author_email": "pglombardo@hey.com",
"download_url": "https://files.pythonhosted.org/packages/2c/0c/dad279e0be84811a8c802e75831df2546b2a24b7f153a485f7c41b72e35d/pwpush-0.10.3.tar.gz",
"platform": null,
"description": "# pwpush\n\n<div align=\"center\">\n\n[![Build status](https://github.com/pglombardo/pwpush-cli/workflows/build/badge.svg?branch=master&event=push)](https://github.com/pglombardo/pwpush-cli/actions?query=workflow%3Abuild)\n[![Python Version](https://img.shields.io/pypi/pyversions/pwpush.svg)](https://pypi.org/project/pwpush/)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/pglombardo/pwpush-cli/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)\n[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pglombardo/pwpush-cli/blob/master/.pre-commit-config.yaml)\n[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/pglombardo/pwpush-cli/releases)\n[![License](https://img.shields.io/github/license/pglombardo/pwpush-cli)](https://github.com/pglombardo/pwpush/blob/master/LICENSE)\n\nCommand Line Interface to Password Pusher.\n \n<strong>This utility is currently in BETA. Most core functionality exists and works but needs a bit of polishing.</strong>\n\n</div>\n\n# Overview\n\nThis command line utility exists to interface with [pwpush.com](https://pwpush.com) or any privately hosted instance of [Password Pusher](https://github.com/pglombardo/PasswordPusher).\n\nIt uses the JSON API of Password Pusher to create, view, retrieve and manage pushes. It can do this anonymously or via the authenticated API.\n\n# Installation\n\n`pip install pwpush`\n\n* Required Python version >3.8\n\n# Quickstart\n\n## pwpush.com\n\n```sh\n# Push a password to pwpush.com\n> pwpush push mypassword\nhttps://pwpush.com/en/p/uzij1ybk6rol\n\n# Get JSON output instead\n> pwpush --json=true push mypassword\n{'url': 'https://pwpush.com/en/p/uzij1ybk6rol'}\n```\n## Private Self Hosted Instance\n\n```sh\n# Point this tool to your privately hosted instance\n> pwpush config set --key url --value https://pwpush.mydomain.secure\n# ...and push away...\n> pwpush push mypassword\nhttps://pwpush.mydomain.secure/en/p/uzij1ybk6rol\n```\n\n## Authentication with API Token\n\nGet [the API token associated with your account](https://pwpush.com/en/users/token) and add it to the CLI configuration.\n\n```sh\n# Get your API token at [/en/users/token](https://pwpush.com/en/users/token)\n\n# Configure the CLI with your email and API token\n> pwpush config set --key email --value <pwpush login email>\n> pwpush config set --key token --value <api token from /en/users/token>\n\n# List active pushes in your dashboard\n> pwpush list\n\n=== Active Pushes:\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Secret URL Token \u2503 Note \u2503 Views \u2503 Days \u2503 Deletable by Viewer \u2503 Retrieval Step \u2503 Created \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 uzij1ybk6rol \u2502 Push prior to Digital \u2502 6/100 \u2502 28/87 \u2502 True \u2502 False \u2502 10/08/2022, 11:55:49 \u2502\n\u2502 \u2502 Ocean migration 3 \u2502 \u2502 \u2502 \u2502 \u2502 UTC \u2502\n\u2502 sfoej1fwlfljwlf \u2502 Push prior to Digital \u2502 0/100 \u2502 28/90 \u2502 True \u2502 True \u2502 10/08/2022, 11:55:19 \u2502\n\u2502 \u2502 Ocean migration 2 \u2502 \u2502 \u2502 \u2502 \u2502 UTC \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n# Get the audit log for a push\n> pwpush audit <secret url token>\n```\n\n## Show Configuration\n\n```\n> pwpush config show\n\n=== Instance Settings:\nSpecify your credentials and even your private Password Pusher instance here.\n\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Key \u2503 Value \u2503 Description \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 URL \u2502 https://pwpush.com \u2502 The Password Pusher instance to work with. \u2502\n\u2502 email \u2502 Not Set \u2502 E-mail address of your account on Password Pusher. \u2502\n\u2502 token \u2502 Not Set \u2502 API token from your account. e.g. 'https://pwpush.com/en/users/token' \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n=== Expiration Settings:\nPushes created with this tool will have these expiration settings.\n\nIf not specified, the application defaults will be used.\nCommand line options override these settings. See 'pwpush push --help'\n\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Key \u2503 Value \u2503 Valid Values \u2503 Description \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 expire_after_days \u2502 Not Set \u2502 1-90 \u2502 Number of days each push will be valid for. \u2502\n\u2502 expire_after_views \u2502 Not Set \u2502 1-100 \u2502 Number of views each push will be valid for. \u2502\n\u2502 retrieval_step \u2502 Not Set \u2502 true/false \u2502 Require users to perform a click through to retrieve a push. \u2502\n\u2502 deletable_by_viewer \u2502 Not Set \u2502 true/false \u2502 Enables/disables a user from deleting a push payload themselves. \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n=== CLI Settings:\nBehavior settings for this CLI.\n\nCommand line options override these settings. See 'pwpush --help'\n\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Key \u2503 Value \u2503 Valid Values \u2503 Description \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 json \u2502 False \u2502 true/false \u2502 CLI outputs results in JSON. \u2502\n\u2502 verbose \u2502 False \u2502 true/false \u2502 More verbosity when appropriate. \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\nTo change the above the values see: 'pwpush config set --help'\n\nUser config is saved in '/Users/pglombardo/Library/Application Support/pwpush/config.ini'\n```\n\n# Screenshots\n\n## Help\n\n![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-help.png)\n\n## List\n\n![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-list.png)\n\n## Audit\n\n![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-audit.png)\n\n## Config\n\n![](https://pwpush.fra1.cdn.digitaloceanspaces.com/cli/pwpush-cli-config.png)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Command Line Interface to Password Pusher.",
"version": "0.10.3",
"project_urls": {
"Homepage": "https://github.com/pglombardo/pwpush",
"Repository": "https://github.com/pglombardo/pwpush"
},
"split_keywords": [
"security",
" cli",
" password",
" sharing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e2b7c1f4629b165e83b8bc576ab1ea8c24710a783041feb5d229a5c60106a132",
"md5": "5b9a56cdbff128c28cc38e54d1df1b7d",
"sha256": "e0e29bf07f49283464e4b45aa8604a40bb0ba0c9a87b4a1aaff4654657255006"
},
"downloads": -1,
"filename": "pwpush-0.10.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5b9a56cdbff128c28cc38e54d1df1b7d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 10919,
"upload_time": "2024-06-04T07:55:53",
"upload_time_iso_8601": "2024-06-04T07:55:53.685010Z",
"url": "https://files.pythonhosted.org/packages/e2/b7/c1f4629b165e83b8bc576ab1ea8c24710a783041feb5d229a5c60106a132/pwpush-0.10.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c0cdad279e0be84811a8c802e75831df2546b2a24b7f153a485f7c41b72e35d",
"md5": "27e0193919c8bf43e29bb32afddb692b",
"sha256": "ecb6fdf8b8918da7535a08d7c33c597fd66e8a4051901739d1867aab7cd07467"
},
"downloads": -1,
"filename": "pwpush-0.10.3.tar.gz",
"has_sig": false,
"md5_digest": "27e0193919c8bf43e29bb32afddb692b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 11479,
"upload_time": "2024-06-04T07:55:55",
"upload_time_iso_8601": "2024-06-04T07:55:55.455045Z",
"url": "https://files.pythonhosted.org/packages/2c/0c/dad279e0be84811a8c802e75831df2546b2a24b7f153a485f7c41b72e35d/pwpush-0.10.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-04 07:55:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pglombardo",
"github_project": "pwpush",
"github_not_found": true,
"lcname": "pwpush"
}