wako13 commited on
Commit
39f137f
·
verified ·
1 Parent(s): afb0844

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +413 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Pybuilderx
3
- emoji: 🏢
4
- colorFrom: indigo
5
- colorTo: green
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: pybuilderx
3
+ emoji: 🐳
4
+ colorFrom: blue
5
+ colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,413 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>PyBuilderX - Python Executable Builder</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .gradient-bg {
11
+ background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
12
+ }
13
+ .terminal {
14
+ font-family: 'Courier New', monospace;
15
+ background-color: #1e293b;
16
+ color: #f8fafc;
17
+ border-radius: 0.5rem;
18
+ height: 300px;
19
+ overflow-y: auto;
20
+ }
21
+ .terminal-line {
22
+ margin: 0;
23
+ padding: 0.25rem 0.5rem;
24
+ white-space: pre-wrap;
25
+ font-size: 0.875rem;
26
+ line-height: 1.25rem;
27
+ }
28
+ .terminal-line.info {
29
+ color: #60a5fa;
30
+ }
31
+ .terminal-line.success {
32
+ color: #4ade80;
33
+ }
34
+ .terminal-line.warning {
35
+ color: #fbbf24;
36
+ }
37
+ .terminal-line.error {
38
+ color: #f87171;
39
+ }
40
+ .progress-bar {
41
+ height: 0.5rem;
42
+ background-color: #334155;
43
+ border-radius: 0.25rem;
44
+ }
45
+ .progress-fill {
46
+ height: 100%;
47
+ border-radius: 0.25rem;
48
+ background: linear-gradient(90deg, #4f46e5 0%, #a855f7 50%, #ec4899 100%);
49
+ transition: width 0.3s ease;
50
+ }
51
+ .dependency-item {
52
+ transition: all 0.2s ease;
53
+ }
54
+ .dependency-item:hover {
55
+ transform: translateY(-2px);
56
+ }
57
+ .floating-btn {
58
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
59
+ }
60
+ .floating-btn:hover {
61
+ transform: translateY(-2px);
62
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
63
+ }
64
+ </style>
65
+ </head>
66
+ <body class="bg-gray-50 min-h-screen">
67
+ <div class="gradient-bg text-white">
68
+ <div class="container mx-auto px-4 py-12">
69
+ <div class="flex items-center justify-between">
70
+ <div>
71
+ <h1 class="text-4xl font-bold mb-2">PyBuilderX</h1>
72
+ <p class="text-xl opacity-90">Advanced Python Executable Builder</p>
73
+ </div>
74
+ <div class="flex items-center space-x-2">
75
+ <span class="px-3 py-1 bg-white bg-opacity-20 rounded-full text-sm">v2.1.0</span>
76
+ <span class="px-3 py-1 bg-emerald-500 rounded-full text-sm flex items-center">
77
+ <i class="fas fa-check-circle mr-1"></i> Stable
78
+ </span>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+
84
+ <div class="container mx-auto px-4 py-8 -mt-10">
85
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden">
86
+ <div class="md:flex">
87
+ <!-- Left Panel -->
88
+ <div class="md:w-1/3 p-6 border-r border-gray-200">
89
+ <h2 class="text-xl font-semibold mb-4">Project Configuration</h2>
90
+
91
+ <div class="mb-6">
92
+ <label class="block text-sm font-medium text-gray-700 mb-1">Output Directory</label>
93
+ <div class="flex">
94
+ <input type="text" id="outputDir" value="dist" class="flex-1 px-3 py-2 border border-gray-300 rounded-l-md focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500">
95
+ <button class="px-3 py-2 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md hover:bg-gray-200">
96
+ <i class="fas fa-folder-open"></i>
97
+ </button>
98
+ </div>
99
+ </div>
100
+
101
+ <div class="mb-6">
102
+ <label class="block text-sm font-medium text-gray-700 mb-1">Icon File</label>
103
+ <div class="flex">
104
+ <input type="text" id="iconPath" placeholder="Leave empty for default icon" class="flex-1 px-3 py-2 border border-gray-300 rounded-l-md focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500">
105
+ <button class="px-3 py-2 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md hover:bg-gray-200">
106
+ <i class="fas fa-image"></i>
107
+ </button>
108
+ </div>
109
+ </div>
110
+
111
+ <div class="mb-6">
112
+ <label class="block text-sm font-medium text-gray-700 mb-1">Build Options</label>
113
+ <div class="space-y-2">
114
+ <label class="flex items-center">
115
+ <input type="checkbox" checked class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
116
+ <span class="ml-2 text-sm text-gray-700">Create ZIP Package</span>
117
+ </label>
118
+ <label class="flex items-center">
119
+ <input type="checkbox" checked class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
120
+ <span class="ml-2 text-sm text-gray-700">One-file Executable</span>
121
+ </label>
122
+ <label class="flex items-center">
123
+ <input type="checkbox" class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded">
124
+ <span class="ml-2 text-sm text-gray-700">Console Window</span>
125
+ </label>
126
+ </div>
127
+ </div>
128
+
129
+ <div class="mb-6">
130
+ <label class="block text-sm font-medium text-gray-700 mb-1">Required Dependencies</label>
131
+ <div class="space-y-2 max-h-60 overflow-y-auto p-2 border border-gray-200 rounded-md">
132
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
133
+ <div class="flex items-center">
134
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
135
+ <span>PyInstaller</span>
136
+ </div>
137
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
138
+ </div>
139
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
140
+ <div class="flex items-center">
141
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
142
+ <span>Pillow</span>
143
+ </div>
144
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
145
+ </div>
146
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
147
+ <div class="flex items-center">
148
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
149
+ <span>Flask</span>
150
+ </div>
151
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
152
+ </div>
153
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
154
+ <div class="flex items-center">
155
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
156
+ <span>Flask-CORS</span>
157
+ </div>
158
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
159
+ </div>
160
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
161
+ <div class="flex items-center">
162
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
163
+ <span>Flask-RESTful</span>
164
+ </div>
165
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
166
+ </div>
167
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
168
+ <div class="flex items-center">
169
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
170
+ <span>NumPy</span>
171
+ </div>
172
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
173
+ </div>
174
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
175
+ <div class="flex items-center">
176
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
177
+ <span>Requests</span>
178
+ </div>
179
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
180
+ </div>
181
+ <div class="dependency-item flex items-center justify-between p-2 bg-gray-50 rounded">
182
+ <div class="flex items-center">
183
+ <i class="fas fa-cube text-indigo-500 mr-2"></i>
184
+ <span>BeautifulSoup4</span>
185
+ </div>
186
+ <span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Installed</span>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <button id="buildBtn" class="w-full py-3 px-4 bg-indigo-600 hover:bg-indigo-700 text-white font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 flex items-center justify-center">
192
+ <i class="fas fa-cogs mr-2"></i> Build Executable
193
+ </button>
194
+ </div>
195
+
196
+ <!-- Right Panel -->
197
+ <div class="md:w-2/3 p-6">
198
+ <div class="flex justify-between items-center mb-4">
199
+ <h2 class="text-xl font-semibold">Build Output</h2>
200
+ <div class="flex space-x-2">
201
+ <button class="px-3 py-1 bg-gray-100 hover:bg-gray-200 rounded-md text-sm">
202
+ <i class="fas fa-trash-alt mr-1"></i> Clear
203
+ </button>
204
+ <button class="px-3 py-1 bg-gray-100 hover:bg-gray-200 rounded-md text-sm">
205
+ <i class="fas fa-save mr-1"></i> Save Log
206
+ </button>
207
+ </div>
208
+ </div>
209
+
210
+ <div class="terminal mb-4 p-3">
211
+ <div id="terminalContent">
212
+ <p class="terminal-line info">PyBuilderX v2.1.0 initialized</p>
213
+ <p class="terminal-line info">Python version: 3.9.7</p>
214
+ <p class="terminal-line info">System: Windows 10 (64-bit)</p>
215
+ <p class="terminal-line">Ready to build executable...</p>
216
+ </div>
217
+ </div>
218
+
219
+ <div class="mb-4">
220
+ <div class="flex justify-between text-sm mb-1">
221
+ <span>Build Progress</span>
222
+ <span id="progressPercent">0%</span>
223
+ </div>
224
+ <div class="progress-bar">
225
+ <div id="progressFill" class="progress-fill" style="width: 0%"></div>
226
+ </div>
227
+ </div>
228
+
229
+ <div class="grid grid-cols-3 gap-4">
230
+ <div class="bg-blue-50 p-3 rounded-lg">
231
+ <div class="text-blue-800 text-sm font-medium mb-1">Status</div>
232
+ <div id="buildStatus" class="text-blue-600 font-semibold">Ready</div>
233
+ </div>
234
+ <div class="bg-green-50 p-3 rounded-lg">
235
+ <div class="text-green-800 text-sm font-medium mb-1">Time</div>
236
+ <div id="buildTime" class="text-green-600 font-semibold">0s</div>
237
+ </div>
238
+ <div class="bg-purple-50 p-3 rounded-lg">
239
+ <div class="text-purple-800 text-sm font-medium mb-1">Output Size</div>
240
+ <div id="outputSize" class="text-purple-600 font-semibold">0 MB</div>
241
+ </div>
242
+ </div>
243
+ </div>
244
+ </div>
245
+ </div>
246
+ </div>
247
+
248
+ <div class="container mx-auto px-4 py-8">
249
+ <h2 class="text-2xl font-semibold mb-4">Recent Builds</h2>
250
+ <div class="bg-white rounded-lg shadow overflow-hidden">
251
+ <table class="min-w-full divide-y divide-gray-200">
252
+ <thead class="bg-gray-50">
253
+ <tr>
254
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Project</th>
255
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
256
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th>
257
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Size</th>
258
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Date</th>
259
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
260
+ </tr>
261
+ </thead>
262
+ <tbody class="bg-white divide-y divide-gray-200">
263
+ <tr>
264
+ <td class="px-6 py-4 whitespace-nowrap">
265
+ <div class="flex items-center">
266
+ <i class="fas fa-file-archive text-indigo-500 mr-2"></i>
267
+ <div class="text-sm font-medium text-gray-900">MeSSiahX</div>
268
+ </div>
269
+ </td>
270
+ <td class="px-6 py-4 whitespace-nowrap">
271
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Success</span>
272
+ </td>
273
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">42s</td>
274
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15.7 MB</td>
275
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">2023-07-15</td>
276
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
277
+ <a href="#" class="text-indigo-600 hover:text-indigo-900 mr-3">Download</a>
278
+ <a href="#" class="text-red-600 hover:text-red-900">Delete</a>
279
+ </td>
280
+ </tr>
281
+ </tbody>
282
+ </table>
283
+ </div>
284
+ </div>
285
+
286
+ <footer class="bg-gray-100 border-t border-gray-200 py-6">
287
+ <div class="container mx-auto px-4">
288
+ <div class="flex flex-col md:flex-row justify-between items-center">
289
+ <div class="mb-4 md:mb-0">
290
+ <h3 class="text-lg font-semibold text-gray-800">PyBuilderX</h3>
291
+ <p class="text-gray-600">Advanced Python Executable Builder</p>
292
+ </div>
293
+ <div class="flex space-x-4">
294
+ <a href="#" class="text-gray-600 hover:text-indigo-600">
295
+ <i class="fab fa-github text-xl"></i>
296
+ </a>
297
+ <a href="#" class="text-gray-600 hover:text-indigo-600">
298
+ <i class="fas fa-book text-xl"></i>
299
+ </a>
300
+ <a href="#" class="text-gray-600 hover:text-indigo-600">
301
+ <i class="fas fa-bug text-xl"></i>
302
+ </a>
303
+ </div>
304
+ </div>
305
+ <div class="mt-4 text-center md:text-left text-sm text-gray-500">
306
+ &copy; 2023 PyBuilderX. All rights reserved.
307
+ </div>
308
+ </div>
309
+ </footer>
310
+
311
+ <script>
312
+ document.addEventListener('DOMContentLoaded', function() {
313
+ const buildBtn = document.getElementById('buildBtn');
314
+ const terminalContent = document.getElementById('terminalContent');
315
+ const progressFill = document.getElementById('progressFill');
316
+ const progressPercent = document.getElementById('progressPercent');
317
+ const buildStatus = document.getElementById('buildStatus');
318
+ const buildTime = document.getElementById('buildTime');
319
+ const outputSize = document.getElementById('outputSize');
320
+
321
+ let buildInProgress = false;
322
+ let startTime = null;
323
+
324
+ // Simulate build process
325
+ buildBtn.addEventListener('click', function() {
326
+ if (buildInProgress) return;
327
+
328
+ buildInProgress = true;
329
+ startTime = new Date();
330
+ buildBtn.disabled = true;
331
+ buildBtn.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> Building...';
332
+ buildStatus.textContent = 'Building';
333
+ buildStatus.className = 'text-blue-600 font-semibold';
334
+
335
+ // Clear terminal
336
+ terminalContent.innerHTML = '';
337
+
338
+ // Add initial messages
339
+ addTerminalLine('Starting build process...', 'info');
340
+ addTerminalLine('Checking system requirements...', 'info');
341
+
342
+ // Simulate progress
343
+ let progress = 0;
344
+ const interval = setInterval(() => {
345
+ progress += Math.random() * 5;
346
+ if (progress > 100) progress = 100;
347
+
348
+ progressFill.style.width = `${progress}%`;
349
+ progressPercent.textContent = `${Math.round(progress)}%`;
350
+
351
+ // Update time
352
+ const elapsed = Math.floor((new Date() - startTime) / 1000);
353
+ buildTime.textContent = `${elapsed}s`;
354
+
355
+ // Add messages at certain progress points
356
+ if (progress >= 10 && progress < 11) {
357
+ addTerminalLine('System requirements check completed', 'success');
358
+ addTerminalLine('Verifying dependencies...', 'info');
359
+ }
360
+
361
+ if (progress >= 25 && progress < 26) {
362
+ addTerminalLine('All dependencies verified', 'success');
363
+ addTerminalLine('Creating launcher script...', 'info');
364
+ }
365
+
366
+ if (progress >= 40 && progress < 41) {
367
+ addTerminalLine('Launcher script created successfully', 'success');
368
+ addTerminalLine('Generating configuration file...', 'info');
369
+ }
370
+
371
+ if (progress >= 60 && progress < 61) {
372
+ addTerminalLine('Configuration file generated', 'success');
373
+ addTerminalLine('Running PyInstaller...', 'info');
374
+ }
375
+
376
+ if (progress >= 85 && progress < 86) {
377
+ addTerminalLine('PyInstaller build completed', 'success');
378
+ addTerminalLine('Creating ZIP package...', 'info');
379
+ }
380
+
381
+ if (progress >= 100) {
382
+ clearInterval(interval);
383
+ addTerminalLine('Build completed successfully!', 'success');
384
+ outputSize.textContent = '15.7 MB';
385
+ buildStatus.textContent = 'Success';
386
+ buildStatus.className = 'text-green-600 font-semibold';
387
+
388
+ buildBtn.disabled = false;
389
+ buildBtn.innerHTML = '<i class="fas fa-check-circle mr-2"></i> Build Complete';
390
+ buildInProgress = false;
391
+
392
+ // Add to recent builds table
393
+ addRecentBuild();
394
+ }
395
+ }, 300);
396
+ });
397
+
398
+ function addTerminalLine(text, type = '') {
399
+ const line = document.createElement('p');
400
+ line.className = `terminal-line ${type}`;
401
+ line.textContent = text;
402
+ terminalContent.appendChild(line);
403
+ terminalContent.scrollTop = terminalContent.scrollHeight;
404
+ }
405
+
406
+ function addRecentBuild() {
407
+ // In a real app, this would add to the table
408
+ console.log('Build would be added to recent builds');
409
+ }
410
+ });
411
+ </script>
412
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=wako13/pybuilderx" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
413
+ </html>