secure-mypass 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -0,0 +1,174 @@
1
+ Metadata-Version: 2.4
2
+ Name: secure-mypass
3
+ Version: 0.1.0
4
+ Summary: Secure local terminal password manager
5
+ Author: Ravi K
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Environment :: Console
9
+ Requires-Python: >=3.10
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Dynamic: license-file
13
+
14
+ # Secure MyPass
15
+
16
+ A lightweight and secure local password manager for Linux/macOS terminals.
17
+
18
+ Secure MyPass allows you to store and search credentials directly from your terminal using a simple text-based database located in your home directory.
19
+
20
+ No cloud storage. No external servers. No account required.
21
+
22
+ ## Features
23
+
24
+ * Store credentials locally in `~/.mypass`
25
+ * Fast keyword search from the terminal
26
+ * Organize credentials into sections
27
+ * Simple and lightweight
28
+ * No internet dependency
29
+ * No vendor lock-in
30
+ * Easy backup and migration
31
+ * Linux and macOS friendly
32
+
33
+ ## Installation
34
+
35
+ ```bash
36
+ pip install secure-mypass
37
+ ```
38
+
39
+ ## Create Password Store
40
+
41
+ Create a file named:
42
+
43
+ ```bash
44
+ ~/.mypass
45
+ ```
46
+
47
+ Example:
48
+
49
+ ```ini
50
+ [SSO Login]
51
+ Name: Portal SSO
52
+ Url: https://abc.com
53
+ UserName: ravi
54
+ Password: mypassword
55
+
56
+ Name: Terminal SSO
57
+ Command: aws configure sso
58
+
59
+ [Microsoft Email Services]
60
+ Name: Provenio Mail
61
+ Email: ravi@example.com
62
+ Password: mysecretpassword
63
+
64
+ Name: Enkefalos Mail
65
+ Email: ravi@example.com
66
+ Password: anotherpassword
67
+ ```
68
+
69
+ ## Usage
70
+
71
+ Search by section name:
72
+
73
+ ```bash
74
+ mypass provenio
75
+ ```
76
+
77
+ Output:
78
+
79
+ ```text
80
+ [Microsoft Email Services]
81
+
82
+ Name: Provenio Mail
83
+ Email: ravi@example.com
84
+ Password: ********
85
+ ```
86
+
87
+ Search by email:
88
+
89
+ ```bash
90
+ mypass ravi@example.com
91
+ ```
92
+
93
+ Search by service name:
94
+
95
+ ```bash
96
+ mypass enkefalos
97
+ ```
98
+
99
+ ## File Location
100
+
101
+ Secure MyPass always reads credentials from:
102
+
103
+ ```bash
104
+ ~/.mypass
105
+ ```
106
+
107
+ This ensures credentials remain under your control and can easily be backed up using Git, Dropbox, OneDrive, rsync, or any preferred method.
108
+
109
+ ## Security Notes
110
+
111
+ * All data is stored locally on your machine.
112
+ * No credentials are transmitted over the internet.
113
+ * No external services are used.
114
+ * Restrict file access:
115
+
116
+ ```bash
117
+ chmod 600 ~/.mypass
118
+ ```
119
+
120
+ Recommended permissions:
121
+
122
+ ```text
123
+ -rw------- ~/.mypass
124
+ ```
125
+
126
+ ## Example Alias
127
+
128
+ Add to your `.bashrc` or `.zshrc`:
129
+
130
+ ```bash
131
+ alias mypass="python3 ~/mypass_cli.py"
132
+ ```
133
+
134
+ Or install from PyPI and use directly:
135
+
136
+ ```bash
137
+ mypass provenio
138
+ ```
139
+
140
+ ## Use Cases
141
+
142
+ * AWS SSO accounts
143
+ * Email credentials
144
+ * Internal portals
145
+ * Database logins
146
+ * Development environments
147
+ * Personal projects
148
+ * Infrastructure credentials
149
+
150
+ ## Why Secure MyPass?
151
+
152
+ Many password managers require cloud synchronization, subscriptions, or browser integrations.
153
+
154
+ Secure MyPass follows a different philosophy:
155
+
156
+ * Local-first
157
+ * Terminal-first
158
+ * Simple
159
+ * Fast
160
+ * Developer-friendly
161
+
162
+ Perfect for engineers, DevOps professionals, system administrators, and developers who prefer local credential management.
163
+
164
+ ## License
165
+
166
+ MIT License
167
+
168
+ ## Author
169
+
170
+ Ravi K
171
+
172
+ Lead Software Engineer
173
+
174
+ Python | Django | FastAPI | AWS | PostgreSQL
@@ -0,0 +1,161 @@
1
+ # Secure MyPass
2
+
3
+ A lightweight and secure local password manager for Linux/macOS terminals.
4
+
5
+ Secure MyPass allows you to store and search credentials directly from your terminal using a simple text-based database located in your home directory.
6
+
7
+ No cloud storage. No external servers. No account required.
8
+
9
+ ## Features
10
+
11
+ * Store credentials locally in `~/.mypass`
12
+ * Fast keyword search from the terminal
13
+ * Organize credentials into sections
14
+ * Simple and lightweight
15
+ * No internet dependency
16
+ * No vendor lock-in
17
+ * Easy backup and migration
18
+ * Linux and macOS friendly
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install secure-mypass
24
+ ```
25
+
26
+ ## Create Password Store
27
+
28
+ Create a file named:
29
+
30
+ ```bash
31
+ ~/.mypass
32
+ ```
33
+
34
+ Example:
35
+
36
+ ```ini
37
+ [SSO Login]
38
+ Name: Portal SSO
39
+ Url: https://abc.com
40
+ UserName: ravi
41
+ Password: mypassword
42
+
43
+ Name: Terminal SSO
44
+ Command: aws configure sso
45
+
46
+ [Microsoft Email Services]
47
+ Name: Provenio Mail
48
+ Email: ravi@example.com
49
+ Password: mysecretpassword
50
+
51
+ Name: Enkefalos Mail
52
+ Email: ravi@example.com
53
+ Password: anotherpassword
54
+ ```
55
+
56
+ ## Usage
57
+
58
+ Search by section name:
59
+
60
+ ```bash
61
+ mypass provenio
62
+ ```
63
+
64
+ Output:
65
+
66
+ ```text
67
+ [Microsoft Email Services]
68
+
69
+ Name: Provenio Mail
70
+ Email: ravi@example.com
71
+ Password: ********
72
+ ```
73
+
74
+ Search by email:
75
+
76
+ ```bash
77
+ mypass ravi@example.com
78
+ ```
79
+
80
+ Search by service name:
81
+
82
+ ```bash
83
+ mypass enkefalos
84
+ ```
85
+
86
+ ## File Location
87
+
88
+ Secure MyPass always reads credentials from:
89
+
90
+ ```bash
91
+ ~/.mypass
92
+ ```
93
+
94
+ This ensures credentials remain under your control and can easily be backed up using Git, Dropbox, OneDrive, rsync, or any preferred method.
95
+
96
+ ## Security Notes
97
+
98
+ * All data is stored locally on your machine.
99
+ * No credentials are transmitted over the internet.
100
+ * No external services are used.
101
+ * Restrict file access:
102
+
103
+ ```bash
104
+ chmod 600 ~/.mypass
105
+ ```
106
+
107
+ Recommended permissions:
108
+
109
+ ```text
110
+ -rw------- ~/.mypass
111
+ ```
112
+
113
+ ## Example Alias
114
+
115
+ Add to your `.bashrc` or `.zshrc`:
116
+
117
+ ```bash
118
+ alias mypass="python3 ~/mypass_cli.py"
119
+ ```
120
+
121
+ Or install from PyPI and use directly:
122
+
123
+ ```bash
124
+ mypass provenio
125
+ ```
126
+
127
+ ## Use Cases
128
+
129
+ * AWS SSO accounts
130
+ * Email credentials
131
+ * Internal portals
132
+ * Database logins
133
+ * Development environments
134
+ * Personal projects
135
+ * Infrastructure credentials
136
+
137
+ ## Why Secure MyPass?
138
+
139
+ Many password managers require cloud synchronization, subscriptions, or browser integrations.
140
+
141
+ Secure MyPass follows a different philosophy:
142
+
143
+ * Local-first
144
+ * Terminal-first
145
+ * Simple
146
+ * Fast
147
+ * Developer-friendly
148
+
149
+ Perfect for engineers, DevOps professionals, system administrators, and developers who prefer local credential management.
150
+
151
+ ## License
152
+
153
+ MIT License
154
+
155
+ ## Author
156
+
157
+ Ravi K
158
+
159
+ Lead Software Engineer
160
+
161
+ Python | Django | FastAPI | AWS | PostgreSQL
File without changes
@@ -0,0 +1,53 @@
1
+ import sys
2
+
3
+ from mypass.storage import get_file_path
4
+ from mypass.search import search
5
+
6
+
7
+ SAMPLE_CONTENT = """
8
+ [SSO Login]
9
+ Name: Portal SSO
10
+ Url: https://example.com
11
+ UserName: username
12
+ Password: password
13
+
14
+ [Email]
15
+ Name: Work Email
16
+ Email: user@example.com
17
+ Password: password
18
+ """.strip()
19
+
20
+
21
+ def initialize():
22
+
23
+ file_path = get_file_path()
24
+
25
+ if file_path.exists():
26
+ print(f"Already exists: {file_path}")
27
+ return
28
+
29
+ with open(file_path, "w", encoding="utf-8") as file:
30
+ file.write(SAMPLE_CONTENT)
31
+
32
+ print(f"Created: {file_path}")
33
+
34
+
35
+ def main():
36
+
37
+ if len(sys.argv) < 2:
38
+ print("Usage:")
39
+ print(" mypass init")
40
+ print(" mypass <keyword>")
41
+ return
42
+
43
+ command = sys.argv[1]
44
+
45
+ if command == "init":
46
+ initialize()
47
+ return
48
+
49
+ search(command)
50
+
51
+
52
+ if __name__ == "__main__":
53
+ main()
@@ -0,0 +1,18 @@
1
+ from cryptography.fernet import Fernet
2
+ from hashlib import sha256
3
+ import base64
4
+
5
+
6
+ def generate_key(master_password: str):
7
+ digest = sha256(master_password.encode()).digest()
8
+ return base64.urlsafe_b64encode(digest)
9
+
10
+
11
+ def encrypt(value: str, master_password: str):
12
+ key = generate_key(master_password)
13
+ return Fernet(key).encrypt(value.encode()).decode()
14
+
15
+
16
+ def decrypt(value: str, master_password: str):
17
+ key = generate_key(master_password)
18
+ return Fernet(key).decrypt(value.encode()).decode()
@@ -0,0 +1,42 @@
1
+ from mypass.storage import get_file_path
2
+
3
+
4
+ def parse_mypass():
5
+ file_path = get_file_path()
6
+
7
+ if not file_path.exists():
8
+ return {}
9
+
10
+ data = {}
11
+ current_section = None
12
+ current_record = {}
13
+
14
+ with open(file_path, "r", encoding="utf-8") as file:
15
+
16
+ for line in file:
17
+ line = line.strip()
18
+
19
+ if not line:
20
+
21
+ if current_record and current_section:
22
+ data[current_section].append(current_record)
23
+ current_record = {}
24
+
25
+ continue
26
+
27
+ if line.startswith("[") and line.endswith("]"):
28
+
29
+ current_section = line[1:-1]
30
+ data.setdefault(current_section, [])
31
+
32
+ continue
33
+
34
+ if ":" in line:
35
+ key, value = line.split(":", 1)
36
+
37
+ current_record[key.strip()] = value.strip()
38
+
39
+ if current_record and current_section:
40
+ data[current_section].append(current_record)
41
+
42
+ return data
@@ -0,0 +1,34 @@
1
+ from mypass.parser import parse_mypass
2
+
3
+
4
+ def search(keyword):
5
+
6
+ keyword = keyword.lower()
7
+
8
+ data = parse_mypass()
9
+
10
+ found = False
11
+
12
+ for section, records in data.items():
13
+
14
+ for record in records:
15
+
16
+ values = [
17
+ str(value).lower()
18
+ for value in record.values()
19
+ ]
20
+
21
+ if (
22
+ keyword in section.lower()
23
+ or any(keyword in value for value in values)
24
+ ):
25
+
26
+ found = True
27
+
28
+ print(f"\n[{section}]")
29
+
30
+ for key, value in record.items():
31
+ print(f"{key}: {value}")
32
+
33
+ if not found:
34
+ print("No matching records found.")
@@ -0,0 +1,7 @@
1
+ from pathlib import Path
2
+
3
+ FILE_PATH = Path.home() / ".mypass"
4
+
5
+
6
+ def get_file_path():
7
+ return FILE_PATH
@@ -0,0 +1,23 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "secure-mypass"
7
+ version = "0.1.0"
8
+ description = "Secure local terminal password manager"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+
12
+ authors = [
13
+ {name = "Ravi K"}
14
+ ]
15
+
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "Operating System :: OS Independent",
19
+ "Environment :: Console",
20
+ ]
21
+
22
+ [project.scripts]
23
+ mypass = "mypass.cli:main"
@@ -0,0 +1,174 @@
1
+ Metadata-Version: 2.4
2
+ Name: secure-mypass
3
+ Version: 0.1.0
4
+ Summary: Secure local terminal password manager
5
+ Author: Ravi K
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Environment :: Console
9
+ Requires-Python: >=3.10
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Dynamic: license-file
13
+
14
+ # Secure MyPass
15
+
16
+ A lightweight and secure local password manager for Linux/macOS terminals.
17
+
18
+ Secure MyPass allows you to store and search credentials directly from your terminal using a simple text-based database located in your home directory.
19
+
20
+ No cloud storage. No external servers. No account required.
21
+
22
+ ## Features
23
+
24
+ * Store credentials locally in `~/.mypass`
25
+ * Fast keyword search from the terminal
26
+ * Organize credentials into sections
27
+ * Simple and lightweight
28
+ * No internet dependency
29
+ * No vendor lock-in
30
+ * Easy backup and migration
31
+ * Linux and macOS friendly
32
+
33
+ ## Installation
34
+
35
+ ```bash
36
+ pip install secure-mypass
37
+ ```
38
+
39
+ ## Create Password Store
40
+
41
+ Create a file named:
42
+
43
+ ```bash
44
+ ~/.mypass
45
+ ```
46
+
47
+ Example:
48
+
49
+ ```ini
50
+ [SSO Login]
51
+ Name: Portal SSO
52
+ Url: https://abc.com
53
+ UserName: ravi
54
+ Password: mypassword
55
+
56
+ Name: Terminal SSO
57
+ Command: aws configure sso
58
+
59
+ [Microsoft Email Services]
60
+ Name: Provenio Mail
61
+ Email: ravi@example.com
62
+ Password: mysecretpassword
63
+
64
+ Name: Enkefalos Mail
65
+ Email: ravi@example.com
66
+ Password: anotherpassword
67
+ ```
68
+
69
+ ## Usage
70
+
71
+ Search by section name:
72
+
73
+ ```bash
74
+ mypass provenio
75
+ ```
76
+
77
+ Output:
78
+
79
+ ```text
80
+ [Microsoft Email Services]
81
+
82
+ Name: Provenio Mail
83
+ Email: ravi@example.com
84
+ Password: ********
85
+ ```
86
+
87
+ Search by email:
88
+
89
+ ```bash
90
+ mypass ravi@example.com
91
+ ```
92
+
93
+ Search by service name:
94
+
95
+ ```bash
96
+ mypass enkefalos
97
+ ```
98
+
99
+ ## File Location
100
+
101
+ Secure MyPass always reads credentials from:
102
+
103
+ ```bash
104
+ ~/.mypass
105
+ ```
106
+
107
+ This ensures credentials remain under your control and can easily be backed up using Git, Dropbox, OneDrive, rsync, or any preferred method.
108
+
109
+ ## Security Notes
110
+
111
+ * All data is stored locally on your machine.
112
+ * No credentials are transmitted over the internet.
113
+ * No external services are used.
114
+ * Restrict file access:
115
+
116
+ ```bash
117
+ chmod 600 ~/.mypass
118
+ ```
119
+
120
+ Recommended permissions:
121
+
122
+ ```text
123
+ -rw------- ~/.mypass
124
+ ```
125
+
126
+ ## Example Alias
127
+
128
+ Add to your `.bashrc` or `.zshrc`:
129
+
130
+ ```bash
131
+ alias mypass="python3 ~/mypass_cli.py"
132
+ ```
133
+
134
+ Or install from PyPI and use directly:
135
+
136
+ ```bash
137
+ mypass provenio
138
+ ```
139
+
140
+ ## Use Cases
141
+
142
+ * AWS SSO accounts
143
+ * Email credentials
144
+ * Internal portals
145
+ * Database logins
146
+ * Development environments
147
+ * Personal projects
148
+ * Infrastructure credentials
149
+
150
+ ## Why Secure MyPass?
151
+
152
+ Many password managers require cloud synchronization, subscriptions, or browser integrations.
153
+
154
+ Secure MyPass follows a different philosophy:
155
+
156
+ * Local-first
157
+ * Terminal-first
158
+ * Simple
159
+ * Fast
160
+ * Developer-friendly
161
+
162
+ Perfect for engineers, DevOps professionals, system administrators, and developers who prefer local credential management.
163
+
164
+ ## License
165
+
166
+ MIT License
167
+
168
+ ## Author
169
+
170
+ Ravi K
171
+
172
+ Lead Software Engineer
173
+
174
+ Python | Django | FastAPI | AWS | PostgreSQL
@@ -0,0 +1,14 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ mypass/__init__.py
5
+ mypass/cli.py
6
+ mypass/crypto.py
7
+ mypass/parser.py
8
+ mypass/search.py
9
+ mypass/storage.py
10
+ secure_mypass.egg-info/PKG-INFO
11
+ secure_mypass.egg-info/SOURCES.txt
12
+ secure_mypass.egg-info/dependency_links.txt
13
+ secure_mypass.egg-info/entry_points.txt
14
+ secure_mypass.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ mypass = mypass.cli:main
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+