krz/yoshi-cli

Archived

A password manager for the command line. cli password-manager terminal

Commit 4aa9f47939

4aa9f479392ca5f0203d3227cb9e7b7100ebd695

parent: c7e5d9fbec

Verified · cmc

cmc <hello@cleberg.net> · 2024-11-07 03:54 UTC

clean up unecessary files

Layout: unified · split

.gitignore +1
@@ -1,6 +1,7 @@
11.DS_Store
22.idea/
33.pypirc
4dist/
45venv/
56__pycache__/
67*.sqlite
dist/yoshi_cli-0.1.0-py3-none-any.whl deleted

Binary file not shown.

dist/yoshi_cli-0.1.0.tar.gz deleted

Binary file not shown.

src/yoshi_christian_cleberg.egg-info/PKG-INFO deleted −198
@@ -1,198 +0,0 @@
1Metadata-Version: 2.1
2Name: yoshi_christian-cleberg
3Version: 0.1.0
4Summary: A password manager for the command line.
5Author-email: Christian Cleberg <hello@cleberg.net>
6Project-URL: Homepage, https://github.com/ccleberg/yoshi
7Project-URL: Issues, https://github.com/ccleberg/yoshi/issues
8Classifier: Programming Language :: Python :: 3
9Classifier: License :: OSI Approved :: GPL-3.0
10Classifier: Operating System :: OS Independent
11Requires-Python: >=3.8
12Description-Content-Type: text/markdown
13License-File: LICENSE
14
15# Yoshi: A Password Manager
16
17A simple command-line pass manager, writtin in Python + SQLite3. This tool
18allows you to manage accounts and generate random passwords containing ASCII
19letters, numbers, and punctuation (min. 8 characters) or XKCD-like passphrases
20(min. 3 words).
21
22Please note that the script is written in Python 3 - you may need to run the
23script with the `python3` command instead of `python` if your system uses a
24default of Python 2. See the Installation & Usage sections below for more
25information.
26
27# Table of Contents
28
29- [Installation](#installation)
30- [Usage](#usage)
31 - [Arguments](#arguments)
32- [Contributing](#contributing)
33
34# Installation
35
36[(Back to top)](#table-of-contents)
37
38To run the script locally, run the following commands:
39
40```bash
41git clone REPO_URL
42```
43
44```bash
45cd yoshi
46```
47
48```bash
49pip3 install -r requirements.txt
50```
51
52```bash
53python3 main.py --help
54```
55
56# Usage
57
58[(Back to top)](#table-of-contents)
59
60All commands can be passed to the program with the following template:
61`python3 main.py <COMMAND> <FLAG> <PARAMETER>`
62
63![Yoshi CLI Help](./examples/yoshi-help.png)
64
65## Arguments
66
67### Summary
68
69<table>
70 <thead>
71 <tr>
72 <td><b>Argument</b></td>
73 <td><b>Shortcut</b></td>
74 <td><b>Explanation</b></td>
75 </tr>
76 </thead>
77 <tbody>
78 <tr>
79 <td>help</td>
80 <td>h</td>
81 <td>Print the welcome message</td>
82 </tr>
83 <tr>
84 <td>new</td>
85 <td>n</td>
86 <td>Create a new account</td>
87 </tr>
88 <tr>
89 <td>list</td>
90 <td>l</td>
91 <td>List all saved accounts</td>
92 </tr>
93 <tr>
94 <td>edit</td>
95 <td>e</td>
96 <td>Edit a saved account (see below for required flags)</td>
97 </tr>
98 <tr>
99 <td>delete</td>
100 <td>d</td>
101 <td>Delete a saved account (see below for required flags)</td>
102 </tr>
103 <tr>
104 <td>purge</td>
105 <td>N/A</td>
106 <td>Purge all accounts and delete the vault</td>
107 </tr>
108 <tr>
109 <td>encrypt</td>
110 <td>N/A</td>
111 <td>Encrypt the vault database (see below for required flags)</td>
112 </tr>
113 <tr>
114 <td>decrypt</td>
115 <td>N/A</td>
116 <td>Decrypt the vault database (see below for required flags)</td>
117 </tr>
118 </tbody>
119</table>
120
121#### Flags
122
123Flags for the `edit`, `e` command - both are required:
124
125<table>
126 <thead>
127 <tr>
128 <td><b>Argument</b></td>
129 <td><b>Shortcut</b></td>
130 <td><b>Explanation</b></td>
131 </tr>
132 </thead>
133 <tbody>
134 <tr>
135 <td>--uuid</td>
136 <td>-u</td>
137 <td>Provide the account UUID to edit</td>
138 </tr>
139 <tr>
140 <td>--field</td>
141 <td>-f</td>
142 <td>Provide the account field to edit</td>
143 </tr>
144 </tbody>
145</table>
146
147Flags for the `delete`, `d` command - this flag is required:
148
149<table>
150 <thead>
151 <tr>
152 <td><b>Argument</b></td>
153 <td><b>Shortcut</b></td>
154 <td><b>Explanation</b></td>
155 </tr>
156 </thead>
157 <tbody>
158 <tr>
159 <td>--uuid</td>
160 <td>-u</td>
161 <td>Provide the account UUID to delete</td>
162 </tr>
163 </tbody>
164</table>
165
166Flags for the `encrypt` or `decrypt` command - you must provide at least one
167when encrypting, none are required when decrypting:
168
169<table>
170 <thead>
171 <tr>
172 <td><b>Argument</b></td>
173 <td><b>Shortcut</b></td>
174 <td><b>Explanation</b></td>
175 </tr>
176 </thead>
177 <tbody>
178 <tr>
179 <td>--generate</td>
180 <td>-g</td>
181 <td>When encrypting, generate a new key</td>
182 </tr>
183 <tr>
184 <td>--keyfile</td>
185 <td>-k</td>
186 <td>When encrypting or decrypting, provide the path to a saved key file</td>
187 </tr>
188 </tbody>
189</table>
190
191![Yoshi CLI New Account](./examples/yoshi-example.png)
192
193# Contributing
194
195[(Back to top)](#table-of-contents)
196
197Any and all contributions are welcome. Feel free to fork the project, add
198features, and submit a pull request.
src/yoshi_christian_cleberg.egg-info/SOURCES.txt deleted −11
@@ -1,11 +0,0 @@
1LICENSE
2README.md
3pyproject.toml
4src/account.py
5src/crypto.py
6src/database.py
7src/process.py
8src/yoshi_christian_cleberg.egg-info/PKG-INFO
9src/yoshi_christian_cleberg.egg-info/SOURCES.txt
10src/yoshi_christian_cleberg.egg-info/dependency_links.txt
11src/yoshi_christian_cleberg.egg-info/top_level.txt
\ No newline at end of file
src/yoshi_christian_cleberg.egg-info/dependency_links.txt deleted −1
@@ -1 +0,0 @@
1
src/yoshi_christian_cleberg.egg-info/top_level.txt deleted −4
@@ -1,4 +0,0 @@
1account
2crypto
3database
4process
src/yoshi_cli_christian_cleberg.egg-info/PKG-INFO deleted −198
@@ -1,198 +0,0 @@
1Metadata-Version: 2.1
2Name: yoshi-cli_christian-cleberg
3Version: 0.1.0
4Summary: A password manager for the command line.
5Author-email: Christian Cleberg <hello@cleberg.net>
6Project-URL: Homepage, https://github.com/ccleberg/yoshi
7Project-URL: Issues, https://github.com/ccleberg/yoshi/issues
8Classifier: Programming Language :: Python :: 3
9Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
10Classifier: Operating System :: OS Independent
11Requires-Python: >=3.8
12Description-Content-Type: text/markdown
13License-File: LICENSE
14
15# Yoshi: A Password Manager
16
17A simple command-line pass manager, writtin in Python + SQLite3. This tool
18allows you to manage accounts and generate random passwords containing ASCII
19letters, numbers, and punctuation (min. 8 characters) or XKCD-like passphrases
20(min. 3 words).
21
22Please note that the script is written in Python 3 - you may need to run the
23script with the `python3` command instead of `python` if your system uses a
24default of Python 2. See the Installation & Usage sections below for more
25information.
26
27# Table of Contents
28
29- [Installation](#installation)
30- [Usage](#usage)
31 - [Arguments](#arguments)
32- [Contributing](#contributing)
33
34# Installation
35
36[(Back to top)](#table-of-contents)
37
38To run the script locally, run the following commands:
39
40```bash
41git clone REPO_URL
42```
43
44```bash
45cd yoshi
46```
47
48```bash
49pip3 install -r requirements.txt
50```
51
52```bash
53python3 main.py --help
54```
55
56# Usage
57
58[(Back to top)](#table-of-contents)
59
60All commands can be passed to the program with the following template:
61`python3 main.py <COMMAND> <FLAG> <PARAMETER>`
62
63![Yoshi CLI Help](./examples/yoshi-help.png)
64
65## Arguments
66
67### Summary
68
69<table>
70 <thead>
71 <tr>
72 <td><b>Argument</b></td>
73 <td><b>Shortcut</b></td>
74 <td><b>Explanation</b></td>
75 </tr>
76 </thead>
77 <tbody>
78 <tr>
79 <td>help</td>
80 <td>h</td>
81 <td>Print the welcome message</td>
82 </tr>
83 <tr>
84 <td>new</td>
85 <td>n</td>
86 <td>Create a new account</td>
87 </tr>
88 <tr>
89 <td>list</td>
90 <td>l</td>
91 <td>List all saved accounts</td>
92 </tr>
93 <tr>
94 <td>edit</td>
95 <td>e</td>
96 <td>Edit a saved account (see below for required flags)</td>
97 </tr>
98 <tr>
99 <td>delete</td>
100 <td>d</td>
101 <td>Delete a saved account (see below for required flags)</td>
102 </tr>
103 <tr>
104 <td>purge</td>
105 <td>N/A</td>
106 <td>Purge all accounts and delete the vault</td>
107 </tr>
108 <tr>
109 <td>encrypt</td>
110 <td>N/A</td>
111 <td>Encrypt the vault database (see below for required flags)</td>
112 </tr>
113 <tr>
114 <td>decrypt</td>
115 <td>N/A</td>
116 <td>Decrypt the vault database (see below for required flags)</td>
117 </tr>
118 </tbody>
119</table>
120
121#### Flags
122
123Flags for the `edit`, `e` command - both are required:
124
125<table>
126 <thead>
127 <tr>
128 <td><b>Argument</b></td>
129 <td><b>Shortcut</b></td>
130 <td><b>Explanation</b></td>
131 </tr>
132 </thead>
133 <tbody>
134 <tr>
135 <td>--uuid</td>
136 <td>-u</td>
137 <td>Provide the account UUID to edit</td>
138 </tr>
139 <tr>
140 <td>--field</td>
141 <td>-f</td>
142 <td>Provide the account field to edit</td>
143 </tr>
144 </tbody>
145</table>
146
147Flags for the `delete`, `d` command - this flag is required:
148
149<table>
150 <thead>
151 <tr>
152 <td><b>Argument</b></td>
153 <td><b>Shortcut</b></td>
154 <td><b>Explanation</b></td>
155 </tr>
156 </thead>
157 <tbody>
158 <tr>
159 <td>--uuid</td>
160 <td>-u</td>
161 <td>Provide the account UUID to delete</td>
162 </tr>
163 </tbody>
164</table>
165
166Flags for the `encrypt` or `decrypt` command - you must provide at least one
167when encrypting, none are required when decrypting:
168
169<table>
170 <thead>
171 <tr>
172 <td><b>Argument</b></td>
173 <td><b>Shortcut</b></td>
174 <td><b>Explanation</b></td>
175 </tr>
176 </thead>
177 <tbody>
178 <tr>
179 <td>--generate</td>
180 <td>-g</td>
181 <td>When encrypting, generate a new key</td>
182 </tr>
183 <tr>
184 <td>--keyfile</td>
185 <td>-k</td>
186 <td>When encrypting or decrypting, provide the path to a saved key file</td>
187 </tr>
188 </tbody>
189</table>
190
191![Yoshi CLI New Account](./examples/yoshi-example.png)
192
193# Contributing
194
195[(Back to top)](#table-of-contents)
196
197Any and all contributions are welcome. Feel free to fork the project, add
198features, and submit a pull request.
src/yoshi_cli_christian_cleberg.egg-info/SOURCES.txt deleted −11
@@ -1,11 +0,0 @@
1LICENSE
2README.md
3pyproject.toml
4src/account.py
5src/crypto.py
6src/database.py
7src/process.py
8src/yoshi_cli_christian_cleberg.egg-info/PKG-INFO
9src/yoshi_cli_christian_cleberg.egg-info/SOURCES.txt
10src/yoshi_cli_christian_cleberg.egg-info/dependency_links.txt
11src/yoshi_cli_christian_cleberg.egg-info/top_level.txt
\ No newline at end of file
src/yoshi_cli_christian_cleberg.egg-info/dependency_links.txt deleted −1
@@ -1 +0,0 @@
1
src/yoshi_cli_christian_cleberg.egg-info/top_level.txt deleted −4
@@ -1,4 +0,0 @@
1account
2crypto
3database
4process