hakcer 1.0.2__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.
- hakcer-1.0.2/LICENSE +21 -0
- hakcer-1.0.2/MANIFEST.in +7 -0
- hakcer-1.0.2/PKG-INFO +353 -0
- hakcer-1.0.2/README.md +314 -0
- hakcer-1.0.2/README_PYPI.md +314 -0
- hakcer-1.0.2/hakcer/__init__.py +21 -0
- hakcer-1.0.2/hakcer/banner.py +437 -0
- hakcer-1.0.2/hakcer/themes.py +160 -0
- hakcer-1.0.2/hakcer.egg-info/PKG-INFO +353 -0
- hakcer-1.0.2/hakcer.egg-info/SOURCES.txt +16 -0
- hakcer-1.0.2/hakcer.egg-info/dependency_links.txt +1 -0
- hakcer-1.0.2/hakcer.egg-info/entry_points.txt +2 -0
- hakcer-1.0.2/hakcer.egg-info/requires.txt +8 -0
- hakcer-1.0.2/hakcer.egg-info/top_level.txt +1 -0
- hakcer-1.0.2/pyproject.toml +62 -0
- hakcer-1.0.2/requirements.txt +2 -0
- hakcer-1.0.2/setup.cfg +4 -0
- hakcer-1.0.2/setup.py +58 -0
hakcer-1.0.2/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 haKCer
|
|
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.
|
hakcer-1.0.2/MANIFEST.in
ADDED
hakcer-1.0.2/PKG-INFO
ADDED
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hakcer
|
|
3
|
+
Version: 1.0.2
|
|
4
|
+
Summary: Animated ASCII banner with terminal effects and customizable themes for CLI tools
|
|
5
|
+
Home-page: https://github.com/haKC-ai/hakcer
|
|
6
|
+
Author: haKCer
|
|
7
|
+
Author-email: haKCer <cory@haKC.ai>
|
|
8
|
+
Project-URL: Homepage, https://github.com/haKC-ai/hakcer
|
|
9
|
+
Project-URL: Bug Reports, https://github.com/haKC-ai/hakcer/issues
|
|
10
|
+
Project-URL: Source, https://github.com/haKC-ai/hakcer
|
|
11
|
+
Keywords: cli,banner,ascii,terminal,effects,animation,themes,tokyo-night,cyberpunk
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
15
|
+
Classifier: Topic :: Terminals
|
|
16
|
+
Classifier: Topic :: System :: Shells
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Operating System :: OS Independent
|
|
25
|
+
Requires-Python: >=3.8
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: terminaltexteffects>=0.11.0
|
|
29
|
+
Requires-Dist: rich>=13.0.0
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
33
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
34
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
35
|
+
Dynamic: author
|
|
36
|
+
Dynamic: home-page
|
|
37
|
+
Dynamic: license-file
|
|
38
|
+
Dynamic: requires-python
|
|
39
|
+
|
|
40
|
+
# haKCer - Animated ASCII Banner with Themes
|
|
41
|
+
|
|
42
|
+
**Drop-in animated ASCII banners for your Python CLI tools with customizable themes**
|
|
43
|
+
|
|
44
|
+

|
|
45
|
+

|
|
46
|
+

|
|
47
|
+

|
|
48
|
+

|
|
49
|
+

|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
██████████
|
|
54
|
+
█▓ ░██
|
|
55
|
+
█▒ ██
|
|
56
|
+
█████████████░ █████████████████ ████████████ ████████████ ████████████
|
|
57
|
+
██ ███░ ███▓▒▒▒▒▒▒▒▒▒▒▒██ █▒▒▒▒▒▒▒▒▓████ █████████▓ ▒█
|
|
58
|
+
██ ███ ███▒▒▒▒▒▒▒▒▒▒▒▒▓██████████████▓ ███▓▒ ▒▓░ ▒█
|
|
59
|
+
██ ███ ░██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓██▓▒▒▒▒▒▒▒▒█▓ ███░ ░██░ ▒█
|
|
60
|
+
██ ███ ▒██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▓▒▒▒▒▒▒▒▓▒ ██ ▓ ██░ ▓█
|
|
61
|
+
██ ██▓ ███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▓▒▒▒▒▒▒▒▓▒ ██ █ ██░ ▓
|
|
62
|
+
██ ██▒ ██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▓▒ ██ █ ▓█████████
|
|
63
|
+
██ ██▒▒▒▒▒▒▒▒█▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒ ▒███████ █░ ░▓ █
|
|
64
|
+
██ ░░ ██▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█ ▓ ░█ ▓ ░▒ ░█
|
|
65
|
+
██ ██░ ░█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█ █░ ▒ █ ░█
|
|
66
|
+
██ ██ ▓█▒▒▒▒▒▒▒▒▒██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█ █░ ▒ █░ ▒█
|
|
67
|
+
██████████ ███████████▓██▓▓█▓█ █▓▒▒▒▒▒▒▒▒▒▓██▓██ █▓▓▓▓▓▓▓█ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓██
|
|
68
|
+
.:/====================█▓██▓██=========████▓█▓█ ███======> [ P R E S E N T S ] ====\:.
|
|
69
|
+
/\ ██▓██ █▓▓▓██ ██
|
|
70
|
+
_ __ / \__________________█▓█_____________██▓██______________________________ _ _ _
|
|
71
|
+
_ __ \/ /\____________________██_____________ ███________ _________ __ _______ _
|
|
72
|
+
\ / T H E P I N A C L E O F H A K C I N G Q U A L I T Y
|
|
73
|
+
\/
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Features
|
|
77
|
+
|
|
78
|
+
- **23+ Terminal Effects** - From subtle to spectacular animations
|
|
79
|
+
- **9 Beautiful Themes** - Tokyo Night, Cyberpunk, Neon, Dracula, Nord, Gruvbox, Matrix, and more
|
|
80
|
+
- **Speed Categories** - Fast (<2s), Medium (2-4s), Slow (4s+)
|
|
81
|
+
- **Zero Config** - Works out of the box with sensible defaults
|
|
82
|
+
- **Pip Installable** - `pip install hakcer`
|
|
83
|
+
- **Simple API** - Just 2 lines of code to get started
|
|
84
|
+
|
|
85
|
+
## Architecture
|
|
86
|
+
|
|
87
|
+
```mermaid
|
|
88
|
+
graph TB
|
|
89
|
+
A[User Application] --> B[hakcer Package]
|
|
90
|
+
B --> C[show_banner]
|
|
91
|
+
B --> D[set_theme]
|
|
92
|
+
B --> E[list_themes]
|
|
93
|
+
C --> F[Theme System]
|
|
94
|
+
C --> G[Effect Engine]
|
|
95
|
+
F --> H[9 Built-in Themes]
|
|
96
|
+
G --> I[23+ Terminal Effects]
|
|
97
|
+
I --> J[terminaltexteffects]
|
|
98
|
+
F --> K[Color Palettes]
|
|
99
|
+
K --> G
|
|
100
|
+
G --> L[Terminal Output]
|
|
101
|
+
|
|
102
|
+
style B fill:#00D9FF
|
|
103
|
+
style F fill:#FF10F0
|
|
104
|
+
style G fill:#7928CA
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Quick Start
|
|
108
|
+
|
|
109
|
+
### Installation
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
pip install hakcer
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Basic Usage
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
from hakcer import show_banner
|
|
119
|
+
|
|
120
|
+
# Show banner with default theme (synthwave) and random fast effect
|
|
121
|
+
show_banner()
|
|
122
|
+
|
|
123
|
+
# Your application code here
|
|
124
|
+
print("Welcome to my CLI tool!")
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### With Themes
|
|
128
|
+
|
|
129
|
+
```python
|
|
130
|
+
from hakcer import show_banner, set_theme
|
|
131
|
+
|
|
132
|
+
# Use Tokyo Night theme
|
|
133
|
+
set_theme("tokyo_night")
|
|
134
|
+
show_banner()
|
|
135
|
+
|
|
136
|
+
# Or Cyberpunk theme
|
|
137
|
+
set_theme("cyberpunk")
|
|
138
|
+
show_banner()
|
|
139
|
+
|
|
140
|
+
# Or any other theme
|
|
141
|
+
set_theme("neon")
|
|
142
|
+
show_banner(effect_name="synthgrid")
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Available Themes
|
|
146
|
+
|
|
147
|
+
| Theme | Description | Color Scheme |
|
|
148
|
+
|-------|-------------|--------------|
|
|
149
|
+
| **synthwave** | Classic synthwave with cyan, magenta, purple (default) | `#00D9FF` `#FF10F0` `#7928CA` |
|
|
150
|
+
| **tokyo_night** | Dark blue aesthetic inspired by Tokyo at night | `#7aa2f7` `#bb9af7` `#7dcfff` |
|
|
151
|
+
| **tokyo_night_storm** | Deeper blue Tokyo Night variant | `#82aaff` `#c792ea` `#89ddff` |
|
|
152
|
+
| **neon** | Bright electric neon colors | `#00ff00` `#ff00ff` `#00ffff` |
|
|
153
|
+
| **cyberpunk** | Yellow and pink Cyberpunk 2077 inspired | `#fcee09` `#ff2a6d` `#05d9e8` |
|
|
154
|
+
| **matrix** | Classic green matrix theme | `#00ff41` `#008f11` `#003b00` |
|
|
155
|
+
| **dracula** | Popular Dracula theme | `#bd93f9` `#ff79c6` `#8be9fd` |
|
|
156
|
+
| **nord** | Arctic north-bluish color palette | `#88c0d0` `#81a1c1` `#5e81ac` |
|
|
157
|
+
| **gruvbox** | Retro groove with warm colors | `#fe8019` `#d3869b` `#83a598` |
|
|
158
|
+
|
|
159
|
+
## Theme System Flow
|
|
160
|
+
|
|
161
|
+
```mermaid
|
|
162
|
+
sequenceDiagram
|
|
163
|
+
participant App as Your Application
|
|
164
|
+
participant API as haKCer API
|
|
165
|
+
participant Theme as Theme Engine
|
|
166
|
+
participant Effect as Effect Renderer
|
|
167
|
+
participant Term as Terminal
|
|
168
|
+
|
|
169
|
+
App->>API: set_theme("tokyo_night")
|
|
170
|
+
API->>Theme: Load theme configuration
|
|
171
|
+
Theme-->>API: Theme colors loaded
|
|
172
|
+
|
|
173
|
+
App->>API: show_banner()
|
|
174
|
+
API->>Theme: Get current theme
|
|
175
|
+
Theme-->>API: Return color palette
|
|
176
|
+
API->>Effect: Apply theme to effect
|
|
177
|
+
Effect->>Effect: Generate animation frames
|
|
178
|
+
Effect->>Term: Render to terminal
|
|
179
|
+
Term-->>App: Animation complete
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Terminal Effects
|
|
183
|
+
|
|
184
|
+
### Speed Categories
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
# Fast effects (<2s) - great for production
|
|
188
|
+
show_banner(speed_preference="fast")
|
|
189
|
+
|
|
190
|
+
# Medium effects (2-4s) - balanced
|
|
191
|
+
show_banner(speed_preference="medium")
|
|
192
|
+
|
|
193
|
+
# Slow effects (4s+) - impressive for demos
|
|
194
|
+
show_banner(speed_preference="slow")
|
|
195
|
+
|
|
196
|
+
# Specific effect
|
|
197
|
+
show_banner(effect_name="synthgrid")
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Fast Effects (10)**: `decrypt`, `expand`, `print`, `slide`, `wipe`, `colorshift`, `scattered`, `randomsequence`, `pour`, `errorcorrect`
|
|
201
|
+
|
|
202
|
+
**Medium Effects (10)**: `beams`, `binarypath`, `burn`, `crumble`, `overflow`, `rain`, `spray`, `unstable`, `vhstape`, `waves`
|
|
203
|
+
|
|
204
|
+
**Slow Effects (9)**: `blackhole`, `bouncyballs`, `fireworks`, `matrix`, `orbittingvolley`, `rings`, `spotlights`, `swarm`, `synthgrid`
|
|
205
|
+
|
|
206
|
+
## Package Structure
|
|
207
|
+
|
|
208
|
+
```mermaid
|
|
209
|
+
graph LR
|
|
210
|
+
A[hakcer/] --> B[__init__.py]
|
|
211
|
+
A --> C[banner.py]
|
|
212
|
+
A --> D[themes.py]
|
|
213
|
+
|
|
214
|
+
B --> E[Package Exports]
|
|
215
|
+
C --> F[show_banner]
|
|
216
|
+
C --> G[Effect Configuration]
|
|
217
|
+
D --> H[Theme Definitions]
|
|
218
|
+
D --> I[Color Palettes]
|
|
219
|
+
|
|
220
|
+
F --> J[Terminal Rendering]
|
|
221
|
+
G --> J
|
|
222
|
+
H --> G
|
|
223
|
+
I --> G
|
|
224
|
+
|
|
225
|
+
style A fill:#00D9FF
|
|
226
|
+
style C fill:#FF10F0
|
|
227
|
+
style D fill:#7928CA
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Documentation
|
|
231
|
+
|
|
232
|
+
### API Reference
|
|
233
|
+
|
|
234
|
+
#### `show_banner()`
|
|
235
|
+
|
|
236
|
+
Display the haKCer banner with animation.
|
|
237
|
+
|
|
238
|
+
**Parameters:**
|
|
239
|
+
- `effect_name` (str, optional): Specific effect to use
|
|
240
|
+
- `speed_preference` (str, optional): "fast", "medium", "slow", or "any" (default: "fast")
|
|
241
|
+
- `hold_time` (float, optional): Seconds to display final frame (default: 1.5)
|
|
242
|
+
- `clear_after` (bool, optional): Clear terminal after animation (default: False)
|
|
243
|
+
- `theme` (str, optional): Theme name to use (default: current global theme)
|
|
244
|
+
|
|
245
|
+
#### `set_theme(theme_name)`
|
|
246
|
+
|
|
247
|
+
Set the global theme for all banners.
|
|
248
|
+
|
|
249
|
+
#### `list_themes()`
|
|
250
|
+
|
|
251
|
+
Get list of all available theme names.
|
|
252
|
+
|
|
253
|
+
#### `list_effects()`
|
|
254
|
+
|
|
255
|
+
Get list of all available effect names.
|
|
256
|
+
|
|
257
|
+
## Usage Examples
|
|
258
|
+
|
|
259
|
+
Check out [examples.py](examples.py) for comprehensive usage examples including:
|
|
260
|
+
- Basic usage
|
|
261
|
+
- Theme showcase
|
|
262
|
+
- CLI integration with Click
|
|
263
|
+
- Smart terminal detection
|
|
264
|
+
- Production-ready setups
|
|
265
|
+
- Error handling
|
|
266
|
+
|
|
267
|
+
Run examples:
|
|
268
|
+
```bash
|
|
269
|
+
python examples.py # Show menu
|
|
270
|
+
python examples.py 1 # Run example 1
|
|
271
|
+
python examples.py 7 # List all features
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Development
|
|
275
|
+
|
|
276
|
+
### Setup
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
# Clone the repository
|
|
280
|
+
git clone https://github.com/haKC-ai/hakcer.git
|
|
281
|
+
cd hakcer
|
|
282
|
+
|
|
283
|
+
# Install in development mode
|
|
284
|
+
pip install -e .
|
|
285
|
+
|
|
286
|
+
# Run tests
|
|
287
|
+
python test_package.py
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Publishing
|
|
291
|
+
|
|
292
|
+
Use the automated deployment script:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
./deploy.sh
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
The script will:
|
|
299
|
+
1. Validate all required files
|
|
300
|
+
2. Run tests
|
|
301
|
+
3. Commit to GitHub
|
|
302
|
+
4. Build the package
|
|
303
|
+
5. Publish to PyPI
|
|
304
|
+
|
|
305
|
+
See [PYPI_SETUP_GUIDE.md](PYPI_SETUP_GUIDE.md) for detailed instructions.
|
|
306
|
+
|
|
307
|
+
## Requirements
|
|
308
|
+
|
|
309
|
+
- Python 3.8+
|
|
310
|
+
- terminaltexteffects >= 0.11.0
|
|
311
|
+
- rich >= 13.0.0
|
|
312
|
+
|
|
313
|
+
## Contributing
|
|
314
|
+
|
|
315
|
+
Contributions welcome! Areas for contribution:
|
|
316
|
+
- New themes
|
|
317
|
+
- Additional effects
|
|
318
|
+
- Performance improvements
|
|
319
|
+
- Documentation
|
|
320
|
+
- Bug fixes
|
|
321
|
+
|
|
322
|
+
Please open an issue or PR on GitHub.
|
|
323
|
+
|
|
324
|
+
## License
|
|
325
|
+
|
|
326
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
|
327
|
+
|
|
328
|
+
## Links
|
|
329
|
+
|
|
330
|
+
- **PyPI**: https://pypi.org/project/hakcer/
|
|
331
|
+
- **GitHub**: https://github.com/haKC-ai/hakcer
|
|
332
|
+
- **Issues**: https://github.com/haKC-ai/hakcer/issues
|
|
333
|
+
|
|
334
|
+
## Best Practices
|
|
335
|
+
|
|
336
|
+
1. **Always provide `--no-banner` flag** for automation/scripting
|
|
337
|
+
2. **Use fast effects** in production tools that run frequently
|
|
338
|
+
3. **Check TTY** before showing banner to avoid piping issues
|
|
339
|
+
4. **Pick themes** that match your tool's aesthetic
|
|
340
|
+
|
|
341
|
+
```python
|
|
342
|
+
import sys
|
|
343
|
+
from hakcer import show_banner
|
|
344
|
+
|
|
345
|
+
if sys.stdout.isatty():
|
|
346
|
+
show_banner(speed_preference="fast")
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
**Made with power by haKCer | The Pinnacle of Hakcing Quality**
|
|
352
|
+
|
|
353
|
+
Add instant style to your CLI tools!
|
hakcer-1.0.2/README.md
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
# haKCer - Animated ASCII Banner with Themes
|
|
2
|
+
|
|
3
|
+
**Drop-in animated ASCII banners for your Python CLI tools with customizable themes**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
██████████
|
|
15
|
+
█▓ ░██
|
|
16
|
+
█▒ ██
|
|
17
|
+
█████████████░ █████████████████ ████████████ ████████████ ████████████
|
|
18
|
+
██ ███░ ███▓▒▒▒▒▒▒▒▒▒▒▒██ █▒▒▒▒▒▒▒▒▓████ █████████▓ ▒█
|
|
19
|
+
██ ███ ███▒▒▒▒▒▒▒▒▒▒▒▒▓██████████████▓ ███▓▒ ▒▓░ ▒█
|
|
20
|
+
██ ███ ░██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓██▓▒▒▒▒▒▒▒▒█▓ ███░ ░██░ ▒█
|
|
21
|
+
██ ███ ▒██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▓▒▒▒▒▒▒▒▓▒ ██ ▓ ██░ ▓█
|
|
22
|
+
██ ██▓ ███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▓▒▒▒▒▒▒▒▓▒ ██ █ ██░ ▓
|
|
23
|
+
██ ██▒ ██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▓▒ ██ █ ▓█████████
|
|
24
|
+
██ ██▒▒▒▒▒▒▒▒█▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒ ▒███████ █░ ░▓ █
|
|
25
|
+
██ ░░ ██▒▒▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█ ▓ ░█ ▓ ░▒ ░█
|
|
26
|
+
██ ██░ ░█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█ █░ ▒ █ ░█
|
|
27
|
+
██ ██ ▓█▒▒▒▒▒▒▒▒▒██▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓█ █░ ▒ █░ ▒█
|
|
28
|
+
██████████ ███████████▓██▓▓█▓█ █▓▒▒▒▒▒▒▒▒▒▓██▓██ █▓▓▓▓▓▓▓█ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓██
|
|
29
|
+
.:/====================█▓██▓██=========████▓█▓█ ███======> [ P R E S E N T S ] ====\:.
|
|
30
|
+
/\ ██▓██ █▓▓▓██ ██
|
|
31
|
+
_ __ / \__________________█▓█_____________██▓██______________________________ _ _ _
|
|
32
|
+
_ __ \/ /\____________________██_____________ ███________ _________ __ _______ _
|
|
33
|
+
\ / T H E P I N A C L E O F H A K C I N G Q U A L I T Y
|
|
34
|
+
\/
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Features
|
|
38
|
+
|
|
39
|
+
- **23+ Terminal Effects** - From subtle to spectacular animations
|
|
40
|
+
- **9 Beautiful Themes** - Tokyo Night, Cyberpunk, Neon, Dracula, Nord, Gruvbox, Matrix, and more
|
|
41
|
+
- **Speed Categories** - Fast (<2s), Medium (2-4s), Slow (4s+)
|
|
42
|
+
- **Zero Config** - Works out of the box with sensible defaults
|
|
43
|
+
- **Pip Installable** - `pip install hakcer`
|
|
44
|
+
- **Simple API** - Just 2 lines of code to get started
|
|
45
|
+
|
|
46
|
+
## Architecture
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
graph TB
|
|
50
|
+
A[User Application] --> B[hakcer Package]
|
|
51
|
+
B --> C[show_banner]
|
|
52
|
+
B --> D[set_theme]
|
|
53
|
+
B --> E[list_themes]
|
|
54
|
+
C --> F[Theme System]
|
|
55
|
+
C --> G[Effect Engine]
|
|
56
|
+
F --> H[9 Built-in Themes]
|
|
57
|
+
G --> I[23+ Terminal Effects]
|
|
58
|
+
I --> J[terminaltexteffects]
|
|
59
|
+
F --> K[Color Palettes]
|
|
60
|
+
K --> G
|
|
61
|
+
G --> L[Terminal Output]
|
|
62
|
+
|
|
63
|
+
style B fill:#00D9FF
|
|
64
|
+
style F fill:#FF10F0
|
|
65
|
+
style G fill:#7928CA
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Quick Start
|
|
69
|
+
|
|
70
|
+
### Installation
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pip install hakcer
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Basic Usage
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
from hakcer import show_banner
|
|
80
|
+
|
|
81
|
+
# Show banner with default theme (synthwave) and random fast effect
|
|
82
|
+
show_banner()
|
|
83
|
+
|
|
84
|
+
# Your application code here
|
|
85
|
+
print("Welcome to my CLI tool!")
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### With Themes
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
from hakcer import show_banner, set_theme
|
|
92
|
+
|
|
93
|
+
# Use Tokyo Night theme
|
|
94
|
+
set_theme("tokyo_night")
|
|
95
|
+
show_banner()
|
|
96
|
+
|
|
97
|
+
# Or Cyberpunk theme
|
|
98
|
+
set_theme("cyberpunk")
|
|
99
|
+
show_banner()
|
|
100
|
+
|
|
101
|
+
# Or any other theme
|
|
102
|
+
set_theme("neon")
|
|
103
|
+
show_banner(effect_name="synthgrid")
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Available Themes
|
|
107
|
+
|
|
108
|
+
| Theme | Description | Color Scheme |
|
|
109
|
+
|-------|-------------|--------------|
|
|
110
|
+
| **synthwave** | Classic synthwave with cyan, magenta, purple (default) | `#00D9FF` `#FF10F0` `#7928CA` |
|
|
111
|
+
| **tokyo_night** | Dark blue aesthetic inspired by Tokyo at night | `#7aa2f7` `#bb9af7` `#7dcfff` |
|
|
112
|
+
| **tokyo_night_storm** | Deeper blue Tokyo Night variant | `#82aaff` `#c792ea` `#89ddff` |
|
|
113
|
+
| **neon** | Bright electric neon colors | `#00ff00` `#ff00ff` `#00ffff` |
|
|
114
|
+
| **cyberpunk** | Yellow and pink Cyberpunk 2077 inspired | `#fcee09` `#ff2a6d` `#05d9e8` |
|
|
115
|
+
| **matrix** | Classic green matrix theme | `#00ff41` `#008f11` `#003b00` |
|
|
116
|
+
| **dracula** | Popular Dracula theme | `#bd93f9` `#ff79c6` `#8be9fd` |
|
|
117
|
+
| **nord** | Arctic north-bluish color palette | `#88c0d0` `#81a1c1` `#5e81ac` |
|
|
118
|
+
| **gruvbox** | Retro groove with warm colors | `#fe8019` `#d3869b` `#83a598` |
|
|
119
|
+
|
|
120
|
+
## Theme System Flow
|
|
121
|
+
|
|
122
|
+
```mermaid
|
|
123
|
+
sequenceDiagram
|
|
124
|
+
participant App as Your Application
|
|
125
|
+
participant API as haKCer API
|
|
126
|
+
participant Theme as Theme Engine
|
|
127
|
+
participant Effect as Effect Renderer
|
|
128
|
+
participant Term as Terminal
|
|
129
|
+
|
|
130
|
+
App->>API: set_theme("tokyo_night")
|
|
131
|
+
API->>Theme: Load theme configuration
|
|
132
|
+
Theme-->>API: Theme colors loaded
|
|
133
|
+
|
|
134
|
+
App->>API: show_banner()
|
|
135
|
+
API->>Theme: Get current theme
|
|
136
|
+
Theme-->>API: Return color palette
|
|
137
|
+
API->>Effect: Apply theme to effect
|
|
138
|
+
Effect->>Effect: Generate animation frames
|
|
139
|
+
Effect->>Term: Render to terminal
|
|
140
|
+
Term-->>App: Animation complete
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Terminal Effects
|
|
144
|
+
|
|
145
|
+
### Speed Categories
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
# Fast effects (<2s) - great for production
|
|
149
|
+
show_banner(speed_preference="fast")
|
|
150
|
+
|
|
151
|
+
# Medium effects (2-4s) - balanced
|
|
152
|
+
show_banner(speed_preference="medium")
|
|
153
|
+
|
|
154
|
+
# Slow effects (4s+) - impressive for demos
|
|
155
|
+
show_banner(speed_preference="slow")
|
|
156
|
+
|
|
157
|
+
# Specific effect
|
|
158
|
+
show_banner(effect_name="synthgrid")
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Fast Effects (10)**: `decrypt`, `expand`, `print`, `slide`, `wipe`, `colorshift`, `scattered`, `randomsequence`, `pour`, `errorcorrect`
|
|
162
|
+
|
|
163
|
+
**Medium Effects (10)**: `beams`, `binarypath`, `burn`, `crumble`, `overflow`, `rain`, `spray`, `unstable`, `vhstape`, `waves`
|
|
164
|
+
|
|
165
|
+
**Slow Effects (9)**: `blackhole`, `bouncyballs`, `fireworks`, `matrix`, `orbittingvolley`, `rings`, `spotlights`, `swarm`, `synthgrid`
|
|
166
|
+
|
|
167
|
+
## Package Structure
|
|
168
|
+
|
|
169
|
+
```mermaid
|
|
170
|
+
graph LR
|
|
171
|
+
A[hakcer/] --> B[__init__.py]
|
|
172
|
+
A --> C[banner.py]
|
|
173
|
+
A --> D[themes.py]
|
|
174
|
+
|
|
175
|
+
B --> E[Package Exports]
|
|
176
|
+
C --> F[show_banner]
|
|
177
|
+
C --> G[Effect Configuration]
|
|
178
|
+
D --> H[Theme Definitions]
|
|
179
|
+
D --> I[Color Palettes]
|
|
180
|
+
|
|
181
|
+
F --> J[Terminal Rendering]
|
|
182
|
+
G --> J
|
|
183
|
+
H --> G
|
|
184
|
+
I --> G
|
|
185
|
+
|
|
186
|
+
style A fill:#00D9FF
|
|
187
|
+
style C fill:#FF10F0
|
|
188
|
+
style D fill:#7928CA
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Documentation
|
|
192
|
+
|
|
193
|
+
### API Reference
|
|
194
|
+
|
|
195
|
+
#### `show_banner()`
|
|
196
|
+
|
|
197
|
+
Display the haKCer banner with animation.
|
|
198
|
+
|
|
199
|
+
**Parameters:**
|
|
200
|
+
- `effect_name` (str, optional): Specific effect to use
|
|
201
|
+
- `speed_preference` (str, optional): "fast", "medium", "slow", or "any" (default: "fast")
|
|
202
|
+
- `hold_time` (float, optional): Seconds to display final frame (default: 1.5)
|
|
203
|
+
- `clear_after` (bool, optional): Clear terminal after animation (default: False)
|
|
204
|
+
- `theme` (str, optional): Theme name to use (default: current global theme)
|
|
205
|
+
|
|
206
|
+
#### `set_theme(theme_name)`
|
|
207
|
+
|
|
208
|
+
Set the global theme for all banners.
|
|
209
|
+
|
|
210
|
+
#### `list_themes()`
|
|
211
|
+
|
|
212
|
+
Get list of all available theme names.
|
|
213
|
+
|
|
214
|
+
#### `list_effects()`
|
|
215
|
+
|
|
216
|
+
Get list of all available effect names.
|
|
217
|
+
|
|
218
|
+
## Usage Examples
|
|
219
|
+
|
|
220
|
+
Check out [examples.py](examples.py) for comprehensive usage examples including:
|
|
221
|
+
- Basic usage
|
|
222
|
+
- Theme showcase
|
|
223
|
+
- CLI integration with Click
|
|
224
|
+
- Smart terminal detection
|
|
225
|
+
- Production-ready setups
|
|
226
|
+
- Error handling
|
|
227
|
+
|
|
228
|
+
Run examples:
|
|
229
|
+
```bash
|
|
230
|
+
python examples.py # Show menu
|
|
231
|
+
python examples.py 1 # Run example 1
|
|
232
|
+
python examples.py 7 # List all features
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Development
|
|
236
|
+
|
|
237
|
+
### Setup
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Clone the repository
|
|
241
|
+
git clone https://github.com/haKC-ai/hakcer.git
|
|
242
|
+
cd hakcer
|
|
243
|
+
|
|
244
|
+
# Install in development mode
|
|
245
|
+
pip install -e .
|
|
246
|
+
|
|
247
|
+
# Run tests
|
|
248
|
+
python test_package.py
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Publishing
|
|
252
|
+
|
|
253
|
+
Use the automated deployment script:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
./deploy.sh
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
The script will:
|
|
260
|
+
1. Validate all required files
|
|
261
|
+
2. Run tests
|
|
262
|
+
3. Commit to GitHub
|
|
263
|
+
4. Build the package
|
|
264
|
+
5. Publish to PyPI
|
|
265
|
+
|
|
266
|
+
See [PYPI_SETUP_GUIDE.md](PYPI_SETUP_GUIDE.md) for detailed instructions.
|
|
267
|
+
|
|
268
|
+
## Requirements
|
|
269
|
+
|
|
270
|
+
- Python 3.8+
|
|
271
|
+
- terminaltexteffects >= 0.11.0
|
|
272
|
+
- rich >= 13.0.0
|
|
273
|
+
|
|
274
|
+
## Contributing
|
|
275
|
+
|
|
276
|
+
Contributions welcome! Areas for contribution:
|
|
277
|
+
- New themes
|
|
278
|
+
- Additional effects
|
|
279
|
+
- Performance improvements
|
|
280
|
+
- Documentation
|
|
281
|
+
- Bug fixes
|
|
282
|
+
|
|
283
|
+
Please open an issue or PR on GitHub.
|
|
284
|
+
|
|
285
|
+
## License
|
|
286
|
+
|
|
287
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
|
288
|
+
|
|
289
|
+
## Links
|
|
290
|
+
|
|
291
|
+
- **PyPI**: https://pypi.org/project/hakcer/
|
|
292
|
+
- **GitHub**: https://github.com/haKC-ai/hakcer
|
|
293
|
+
- **Issues**: https://github.com/haKC-ai/hakcer/issues
|
|
294
|
+
|
|
295
|
+
## Best Practices
|
|
296
|
+
|
|
297
|
+
1. **Always provide `--no-banner` flag** for automation/scripting
|
|
298
|
+
2. **Use fast effects** in production tools that run frequently
|
|
299
|
+
3. **Check TTY** before showing banner to avoid piping issues
|
|
300
|
+
4. **Pick themes** that match your tool's aesthetic
|
|
301
|
+
|
|
302
|
+
```python
|
|
303
|
+
import sys
|
|
304
|
+
from hakcer import show_banner
|
|
305
|
+
|
|
306
|
+
if sys.stdout.isatty():
|
|
307
|
+
show_banner(speed_preference="fast")
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
**Made with power by haKCer | The Pinnacle of Hakcing Quality**
|
|
313
|
+
|
|
314
|
+
Add instant style to your CLI tools!
|