SeedShield 0.0.1__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.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 SeedShield
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ include pre_build.py
@@ -0,0 +1,205 @@
1
+ Metadata-Version: 2.1
2
+ Name: SeedShield
3
+ Version: 0.0.1
4
+ Summary: Secure BIP39 word viewer with masking and reveal functionality
5
+ Author-email: Barlog951 <barlog951@gmail.com>
6
+ Project-URL: Documentation, https://github.com/Barlog951/SeedShield/blob/main/README.md
7
+ Project-URL: Source Code, https://github.com/Barlog951/SeedShield
8
+ Project-URL: Bug Tracker, https://github.com/Barlog951/SeedShield/issues
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: End Users/Desktop
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.6
16
+ Classifier: Programming Language :: Python :: 3.7
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Security
23
+ Requires-Python: >=3.6
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: pyperclip>=1.8.0
27
+ Provides-Extra: test
28
+ Requires-Dist: pytest>=6.0; extra == "test"
29
+ Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
30
+ Requires-Dist: pytest-cov; extra == "test"
31
+ Requires-Dist: pylint; extra == "test"
32
+ Requires-Dist: flake8; extra == "test"
33
+ Requires-Dist: mypy; extra == "test"
34
+ Provides-Extra: windows
35
+ Requires-Dist: windows-curses; extra == "windows"
36
+ Provides-Extra: dev
37
+ Requires-Dist: build; extra == "dev"
38
+ Requires-Dist: twine; extra == "dev"
39
+
40
+ # SeedShield
41
+
42
+ A secure BIP39 seed phrase viewer with enterprise-grade security features, designed for safe interaction with cryptocurrency seed phrases. SeedShield emphasizes security and usability while maintaining zero data persistence.
43
+
44
+ ## Key Features
45
+
46
+ ### Security-First Design
47
+ - Zero data persistence - all operations occur in volatile memory
48
+ - Secure memory handling with automatic cleanup and sanitization
49
+ - Advanced masking system with consistent pattern length
50
+ - Timed reveal system with 3-second auto-mask
51
+ - Intelligent clipboard management with automatic clearing
52
+ - Comprehensive input validation and sanitization
53
+ - Anti-keylogging protection via mouse-based interaction
54
+ - Secure error handling with proper cleanup
55
+ - TTY/non-TTY mode handling for secure input
56
+ - Adaptive timeout mechanisms
57
+
58
+ ### User Interface
59
+ - Interactive word reveal with hover functionality
60
+ - Sequential phrase revelation mode
61
+ - Multi-source input support (file/clipboard)
62
+ - Responsive terminal interface
63
+ - Cross-platform support (Windows/Linux/MacOS)
64
+ - Dynamic scrolling for long word lists
65
+ - Clear command feedback
66
+
67
+ ## Security Guidelines
68
+
69
+ ### Operating Environment
70
+ - Use an air-gapped computer whenever possible
71
+ - Run on a secure, clean operating system
72
+ - Recommended: Live Linux distribution
73
+ - Avoid shared or public computers
74
+ - Maintain physical security awareness
75
+ - Check for surveillance devices
76
+ - Use privacy screens when necessary
77
+ - Implement proper memory management
78
+ - Clear system RAM after usage
79
+ - Utilize secure memory wiping tools
80
+
81
+ ### Usage Best Practices
82
+
83
+ #### Input Management
84
+ 1. Prefer clipboard input for multiple words (use 'v' command)
85
+ 2. Clipboard contents are automatically cleared after use
86
+ 3. Double-check word positions before revelation
87
+ 4. All input is automatically validated and sanitized
88
+ 5. Invalid inputs are safely rejected
89
+
90
+ #### Word Revelation Protocol
91
+ 1. Use sequential reveal mode ('s' command) for systematic checking
92
+ 2. Utilize mouse hover for temporary word exposure
93
+ 3. Allow auto-masking timer to complete
94
+ 4. One word visible at a time for maximum security
95
+ 5. Use scroll navigation for longer lists
96
+
97
+ ## Installation
98
+
99
+ ```bash
100
+ # Install via pip
101
+ pip install seedshield
102
+
103
+ # Install with development dependencies
104
+ pip install -e ".[test]"
105
+
106
+ # Using Docker
107
+ docker run -it --rm seedshield
108
+ docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
109
+ ```
110
+
111
+ ## Usage Guide
112
+
113
+ ### Basic Commands
114
+ ```bash
115
+ # Start interactive mode
116
+ seedshield
117
+
118
+ # Use custom wordlist
119
+ seedshield -w custom_words.txt
120
+
121
+ # Load from positions file
122
+ seedshield -i positions.txt
123
+ ```
124
+
125
+ ### Interactive Controls
126
+ - `v` - Import and validate clipboard data
127
+ - `n` - New input mode
128
+ - `s` - Sequential reveal mode
129
+ - `r` - Reset current sequence
130
+ - `q` - Safe exit with cleanup
131
+ - Mouse hover - Temporary reveal (3s timeout)
132
+ - ↑↓ Arrow keys - Scroll through lists
133
+
134
+ ## Development
135
+
136
+ ### Getting Started
137
+ ```bash
138
+ # Clone repository
139
+ git clone https://github.com/Barlog951/SeedShield.git
140
+
141
+ # Setup development environment
142
+ cd seedshield
143
+ pip install -e ".[test]"
144
+
145
+ # Run test suite
146
+ pytest
147
+ ```
148
+
149
+ ### Docker Build
150
+
151
+ #### Building from Source
152
+ ```bash
153
+ # Clone the repository
154
+ git clone https://github.com/Barlog951/SeedShield.git
155
+ cd SeedShield
156
+
157
+ # Build local image
158
+ chmod +x build.sh
159
+ ./build.sh
160
+
161
+ # Test run
162
+ docker run -it --rm seedshield --help
163
+
164
+ # Run with mounted input file
165
+ docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
166
+
167
+ # Run interactive mode
168
+ docker run -it --rm seedshield
169
+ ```
170
+ Note: Built image contains minimal dependencies and runs as non-root user for security.
171
+
172
+ ### Technical Architecture
173
+ - Python 3.6+ with type hints
174
+ - Comprehensive test suite (90% coverage)
175
+ - Automated security scanning
176
+ - Platform-agnostic clipboard handling
177
+ - Curses-based terminal interface
178
+ - Modular design with separate secure interface
179
+
180
+ ### Code Organization
181
+ - `main.py` - Entry point and argument handling
182
+ - `secure_word_interface.py` - Core interface coordination
183
+ - `input_handler.py` - Secure input processing
184
+ - `display_handler.py` - UI rendering and masking
185
+ - `state_handler.py` - State management and security
186
+ - `tests/` - Comprehensive test suite
187
+ - `data/` - Default wordlists
188
+
189
+ ## Security Philosophy
190
+ SeedShield implements a defense-in-depth approach:
191
+ - Multiple independent security layers
192
+ - Fail-secure design principles
193
+ - Memory-safe operations
194
+ - Input validation at all levels
195
+ - Automatic security timeout mechanisms
196
+ - No data persistence
197
+ - Secure error handling
198
+
199
+ ## Legal Notice
200
+
201
+ ### Disclaimer
202
+ SeedShield provides secure seed phrase verification capabilities but should be used as part of a comprehensive security strategy. Users are responsible for implementing appropriate system-level security measures. While SeedShield incorporates robust security features, it should not be relied upon as a sole security measure.
203
+
204
+ ### License
205
+ Released under the MIT License. See the LICENSE file for complete terms.
@@ -0,0 +1,166 @@
1
+ # SeedShield
2
+
3
+ A secure BIP39 seed phrase viewer with enterprise-grade security features, designed for safe interaction with cryptocurrency seed phrases. SeedShield emphasizes security and usability while maintaining zero data persistence.
4
+
5
+ ## Key Features
6
+
7
+ ### Security-First Design
8
+ - Zero data persistence - all operations occur in volatile memory
9
+ - Secure memory handling with automatic cleanup and sanitization
10
+ - Advanced masking system with consistent pattern length
11
+ - Timed reveal system with 3-second auto-mask
12
+ - Intelligent clipboard management with automatic clearing
13
+ - Comprehensive input validation and sanitization
14
+ - Anti-keylogging protection via mouse-based interaction
15
+ - Secure error handling with proper cleanup
16
+ - TTY/non-TTY mode handling for secure input
17
+ - Adaptive timeout mechanisms
18
+
19
+ ### User Interface
20
+ - Interactive word reveal with hover functionality
21
+ - Sequential phrase revelation mode
22
+ - Multi-source input support (file/clipboard)
23
+ - Responsive terminal interface
24
+ - Cross-platform support (Windows/Linux/MacOS)
25
+ - Dynamic scrolling for long word lists
26
+ - Clear command feedback
27
+
28
+ ## Security Guidelines
29
+
30
+ ### Operating Environment
31
+ - Use an air-gapped computer whenever possible
32
+ - Run on a secure, clean operating system
33
+ - Recommended: Live Linux distribution
34
+ - Avoid shared or public computers
35
+ - Maintain physical security awareness
36
+ - Check for surveillance devices
37
+ - Use privacy screens when necessary
38
+ - Implement proper memory management
39
+ - Clear system RAM after usage
40
+ - Utilize secure memory wiping tools
41
+
42
+ ### Usage Best Practices
43
+
44
+ #### Input Management
45
+ 1. Prefer clipboard input for multiple words (use 'v' command)
46
+ 2. Clipboard contents are automatically cleared after use
47
+ 3. Double-check word positions before revelation
48
+ 4. All input is automatically validated and sanitized
49
+ 5. Invalid inputs are safely rejected
50
+
51
+ #### Word Revelation Protocol
52
+ 1. Use sequential reveal mode ('s' command) for systematic checking
53
+ 2. Utilize mouse hover for temporary word exposure
54
+ 3. Allow auto-masking timer to complete
55
+ 4. One word visible at a time for maximum security
56
+ 5. Use scroll navigation for longer lists
57
+
58
+ ## Installation
59
+
60
+ ```bash
61
+ # Install via pip
62
+ pip install seedshield
63
+
64
+ # Install with development dependencies
65
+ pip install -e ".[test]"
66
+
67
+ # Using Docker
68
+ docker run -it --rm seedshield
69
+ docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
70
+ ```
71
+
72
+ ## Usage Guide
73
+
74
+ ### Basic Commands
75
+ ```bash
76
+ # Start interactive mode
77
+ seedshield
78
+
79
+ # Use custom wordlist
80
+ seedshield -w custom_words.txt
81
+
82
+ # Load from positions file
83
+ seedshield -i positions.txt
84
+ ```
85
+
86
+ ### Interactive Controls
87
+ - `v` - Import and validate clipboard data
88
+ - `n` - New input mode
89
+ - `s` - Sequential reveal mode
90
+ - `r` - Reset current sequence
91
+ - `q` - Safe exit with cleanup
92
+ - Mouse hover - Temporary reveal (3s timeout)
93
+ - ↑↓ Arrow keys - Scroll through lists
94
+
95
+ ## Development
96
+
97
+ ### Getting Started
98
+ ```bash
99
+ # Clone repository
100
+ git clone https://github.com/Barlog951/SeedShield.git
101
+
102
+ # Setup development environment
103
+ cd seedshield
104
+ pip install -e ".[test]"
105
+
106
+ # Run test suite
107
+ pytest
108
+ ```
109
+
110
+ ### Docker Build
111
+
112
+ #### Building from Source
113
+ ```bash
114
+ # Clone the repository
115
+ git clone https://github.com/Barlog951/SeedShield.git
116
+ cd SeedShield
117
+
118
+ # Build local image
119
+ chmod +x build.sh
120
+ ./build.sh
121
+
122
+ # Test run
123
+ docker run -it --rm seedshield --help
124
+
125
+ # Run with mounted input file
126
+ docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
127
+
128
+ # Run interactive mode
129
+ docker run -it --rm seedshield
130
+ ```
131
+ Note: Built image contains minimal dependencies and runs as non-root user for security.
132
+
133
+ ### Technical Architecture
134
+ - Python 3.6+ with type hints
135
+ - Comprehensive test suite (90% coverage)
136
+ - Automated security scanning
137
+ - Platform-agnostic clipboard handling
138
+ - Curses-based terminal interface
139
+ - Modular design with separate secure interface
140
+
141
+ ### Code Organization
142
+ - `main.py` - Entry point and argument handling
143
+ - `secure_word_interface.py` - Core interface coordination
144
+ - `input_handler.py` - Secure input processing
145
+ - `display_handler.py` - UI rendering and masking
146
+ - `state_handler.py` - State management and security
147
+ - `tests/` - Comprehensive test suite
148
+ - `data/` - Default wordlists
149
+
150
+ ## Security Philosophy
151
+ SeedShield implements a defense-in-depth approach:
152
+ - Multiple independent security layers
153
+ - Fail-secure design principles
154
+ - Memory-safe operations
155
+ - Input validation at all levels
156
+ - Automatic security timeout mechanisms
157
+ - No data persistence
158
+ - Secure error handling
159
+
160
+ ## Legal Notice
161
+
162
+ ### Disclaimer
163
+ SeedShield provides secure seed phrase verification capabilities but should be used as part of a comprehensive security strategy. Users are responsible for implementing appropriate system-level security measures. While SeedShield incorporates robust security features, it should not be relied upon as a sole security measure.
164
+
165
+ ### License
166
+ Released under the MIT License. See the LICENSE file for complete terms.
@@ -0,0 +1,205 @@
1
+ Metadata-Version: 2.1
2
+ Name: SeedShield
3
+ Version: 0.0.1
4
+ Summary: Secure BIP39 word viewer with masking and reveal functionality
5
+ Author-email: Barlog951 <barlog951@gmail.com>
6
+ Project-URL: Documentation, https://github.com/Barlog951/SeedShield/blob/main/README.md
7
+ Project-URL: Source Code, https://github.com/Barlog951/SeedShield
8
+ Project-URL: Bug Tracker, https://github.com/Barlog951/SeedShield/issues
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: End Users/Desktop
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.6
16
+ Classifier: Programming Language :: Python :: 3.7
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Security
23
+ Requires-Python: >=3.6
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: pyperclip>=1.8.0
27
+ Provides-Extra: test
28
+ Requires-Dist: pytest>=6.0; extra == "test"
29
+ Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
30
+ Requires-Dist: pytest-cov; extra == "test"
31
+ Requires-Dist: pylint; extra == "test"
32
+ Requires-Dist: flake8; extra == "test"
33
+ Requires-Dist: mypy; extra == "test"
34
+ Provides-Extra: windows
35
+ Requires-Dist: windows-curses; extra == "windows"
36
+ Provides-Extra: dev
37
+ Requires-Dist: build; extra == "dev"
38
+ Requires-Dist: twine; extra == "dev"
39
+
40
+ # SeedShield
41
+
42
+ A secure BIP39 seed phrase viewer with enterprise-grade security features, designed for safe interaction with cryptocurrency seed phrases. SeedShield emphasizes security and usability while maintaining zero data persistence.
43
+
44
+ ## Key Features
45
+
46
+ ### Security-First Design
47
+ - Zero data persistence - all operations occur in volatile memory
48
+ - Secure memory handling with automatic cleanup and sanitization
49
+ - Advanced masking system with consistent pattern length
50
+ - Timed reveal system with 3-second auto-mask
51
+ - Intelligent clipboard management with automatic clearing
52
+ - Comprehensive input validation and sanitization
53
+ - Anti-keylogging protection via mouse-based interaction
54
+ - Secure error handling with proper cleanup
55
+ - TTY/non-TTY mode handling for secure input
56
+ - Adaptive timeout mechanisms
57
+
58
+ ### User Interface
59
+ - Interactive word reveal with hover functionality
60
+ - Sequential phrase revelation mode
61
+ - Multi-source input support (file/clipboard)
62
+ - Responsive terminal interface
63
+ - Cross-platform support (Windows/Linux/MacOS)
64
+ - Dynamic scrolling for long word lists
65
+ - Clear command feedback
66
+
67
+ ## Security Guidelines
68
+
69
+ ### Operating Environment
70
+ - Use an air-gapped computer whenever possible
71
+ - Run on a secure, clean operating system
72
+ - Recommended: Live Linux distribution
73
+ - Avoid shared or public computers
74
+ - Maintain physical security awareness
75
+ - Check for surveillance devices
76
+ - Use privacy screens when necessary
77
+ - Implement proper memory management
78
+ - Clear system RAM after usage
79
+ - Utilize secure memory wiping tools
80
+
81
+ ### Usage Best Practices
82
+
83
+ #### Input Management
84
+ 1. Prefer clipboard input for multiple words (use 'v' command)
85
+ 2. Clipboard contents are automatically cleared after use
86
+ 3. Double-check word positions before revelation
87
+ 4. All input is automatically validated and sanitized
88
+ 5. Invalid inputs are safely rejected
89
+
90
+ #### Word Revelation Protocol
91
+ 1. Use sequential reveal mode ('s' command) for systematic checking
92
+ 2. Utilize mouse hover for temporary word exposure
93
+ 3. Allow auto-masking timer to complete
94
+ 4. One word visible at a time for maximum security
95
+ 5. Use scroll navigation for longer lists
96
+
97
+ ## Installation
98
+
99
+ ```bash
100
+ # Install via pip
101
+ pip install seedshield
102
+
103
+ # Install with development dependencies
104
+ pip install -e ".[test]"
105
+
106
+ # Using Docker
107
+ docker run -it --rm seedshield
108
+ docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
109
+ ```
110
+
111
+ ## Usage Guide
112
+
113
+ ### Basic Commands
114
+ ```bash
115
+ # Start interactive mode
116
+ seedshield
117
+
118
+ # Use custom wordlist
119
+ seedshield -w custom_words.txt
120
+
121
+ # Load from positions file
122
+ seedshield -i positions.txt
123
+ ```
124
+
125
+ ### Interactive Controls
126
+ - `v` - Import and validate clipboard data
127
+ - `n` - New input mode
128
+ - `s` - Sequential reveal mode
129
+ - `r` - Reset current sequence
130
+ - `q` - Safe exit with cleanup
131
+ - Mouse hover - Temporary reveal (3s timeout)
132
+ - ↑↓ Arrow keys - Scroll through lists
133
+
134
+ ## Development
135
+
136
+ ### Getting Started
137
+ ```bash
138
+ # Clone repository
139
+ git clone https://github.com/Barlog951/SeedShield.git
140
+
141
+ # Setup development environment
142
+ cd seedshield
143
+ pip install -e ".[test]"
144
+
145
+ # Run test suite
146
+ pytest
147
+ ```
148
+
149
+ ### Docker Build
150
+
151
+ #### Building from Source
152
+ ```bash
153
+ # Clone the repository
154
+ git clone https://github.com/Barlog951/SeedShield.git
155
+ cd SeedShield
156
+
157
+ # Build local image
158
+ chmod +x build.sh
159
+ ./build.sh
160
+
161
+ # Test run
162
+ docker run -it --rm seedshield --help
163
+
164
+ # Run with mounted input file
165
+ docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
166
+
167
+ # Run interactive mode
168
+ docker run -it --rm seedshield
169
+ ```
170
+ Note: Built image contains minimal dependencies and runs as non-root user for security.
171
+
172
+ ### Technical Architecture
173
+ - Python 3.6+ with type hints
174
+ - Comprehensive test suite (90% coverage)
175
+ - Automated security scanning
176
+ - Platform-agnostic clipboard handling
177
+ - Curses-based terminal interface
178
+ - Modular design with separate secure interface
179
+
180
+ ### Code Organization
181
+ - `main.py` - Entry point and argument handling
182
+ - `secure_word_interface.py` - Core interface coordination
183
+ - `input_handler.py` - Secure input processing
184
+ - `display_handler.py` - UI rendering and masking
185
+ - `state_handler.py` - State management and security
186
+ - `tests/` - Comprehensive test suite
187
+ - `data/` - Default wordlists
188
+
189
+ ## Security Philosophy
190
+ SeedShield implements a defense-in-depth approach:
191
+ - Multiple independent security layers
192
+ - Fail-secure design principles
193
+ - Memory-safe operations
194
+ - Input validation at all levels
195
+ - Automatic security timeout mechanisms
196
+ - No data persistence
197
+ - Secure error handling
198
+
199
+ ## Legal Notice
200
+
201
+ ### Disclaimer
202
+ SeedShield provides secure seed phrase verification capabilities but should be used as part of a comprehensive security strategy. Users are responsible for implementing appropriate system-level security measures. While SeedShield incorporates robust security features, it should not be relied upon as a sole security measure.
203
+
204
+ ### License
205
+ Released under the MIT License. See the LICENSE file for complete terms.
@@ -0,0 +1,25 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ pre_build.py
5
+ pyproject.toml
6
+ setup.py
7
+ SeedShield.egg-info/PKG-INFO
8
+ SeedShield.egg-info/SOURCES.txt
9
+ SeedShield.egg-info/dependency_links.txt
10
+ SeedShield.egg-info/entry_points.txt
11
+ SeedShield.egg-info/requires.txt
12
+ SeedShield.egg-info/top_level.txt
13
+ seedshield/__init__.py
14
+ seedshield/display_handler.py
15
+ seedshield/input_handler.py
16
+ seedshield/main.py
17
+ seedshield/secure_word_interface.py
18
+ seedshield/state_handler.py
19
+ seedshield/data/english.txt
20
+ tests/test_display_handler.py
21
+ tests/test_fixtures.py
22
+ tests/test_input_handler.py
23
+ tests/test_main.py
24
+ tests/test_secure_word_interface.py
25
+ tests/test_state_handler.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ seedshield = seedshield.main:main
@@ -0,0 +1,16 @@
1
+ pyperclip>=1.8.0
2
+
3
+ [dev]
4
+ build
5
+ twine
6
+
7
+ [test]
8
+ pytest>=6.0
9
+ pytest-timeout>=2.1.0
10
+ pytest-cov
11
+ pylint
12
+ flake8
13
+ mypy
14
+
15
+ [windows]
16
+ windows-curses
@@ -0,0 +1 @@
1
+ seedshield
@@ -0,0 +1,11 @@
1
+ import pytest
2
+ import sys
3
+
4
+ print("Running tests before build...")
5
+
6
+ exit_code = pytest.main(["tests/"])
7
+ if exit_code != 0:
8
+ print("Tests failed! Build aborted.")
9
+ sys.exit(1)
10
+
11
+ print("Tests passed! Proceeding with build...")