clapp-pm 1.0.18__py3-none-any.whl → 1.0.20__py3-none-any.whl
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.
- clapp-packages-repo/packages/hello-python/main.py +49 -0
- clapp-packages-repo/packages/hello-python/manifest.json +8 -0
- {clapp_pm-1.0.18.data → clapp_pm-1.0.20.data}/data/version.json +1 -1
- {clapp_pm-1.0.18.dist-info → clapp_pm-1.0.20.dist-info}/METADATA +1 -1
- {clapp_pm-1.0.18.dist-info → clapp_pm-1.0.20.dist-info}/RECORD +27 -24
- {clapp_pm-1.0.18.dist-info → clapp_pm-1.0.20.dist-info}/top_level.txt +3 -1
- cli_commands.py +34 -29
- docs/developer_guide.md +361 -0
- install_command.py +12 -12
- installer.py +18 -12
- main.py +25 -16
- manifest_schema.py +20 -5
- manifest_validator.py +3 -3
- package_runner.py +134 -34
- package_signing.py +47 -269
- templates/dart/manifest.json +11 -0
- templates/lua/manifest.json +11 -0
- templates/python/README.md +51 -0
- templates/python/main.py +55 -0
- templates/python/manifest.json +11 -0
- test-app/README.md +51 -0
- test-app/main.py +55 -0
- test-app/manifest.json +15 -0
- version.py +1 -1
- packages/hello-python/main.py +0 -49
- packages/hello-python/manifest.json +0 -8
- packages/test-app/main.py +0 -1
- packages/test-app/manifest.json +0 -1
- packages/test-app2/main.py +0 -1
- packages/test-app2/manifest.json +0 -1
- {clapp_pm-1.0.18.dist-info → clapp_pm-1.0.20.dist-info}/WHEEL +0 -0
- {clapp_pm-1.0.18.dist-info → clapp_pm-1.0.20.dist-info}/entry_points.txt +0 -0
- {clapp_pm-1.0.18.dist-info → clapp_pm-1.0.20.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Hello Python - Basit Python merhaba dünya uygulaması
|
4
|
+
clapp paket yöneticisi için örnek uygulama
|
5
|
+
"""
|
6
|
+
|
7
|
+
import sys
|
8
|
+
import os
|
9
|
+
from datetime import datetime
|
10
|
+
|
11
|
+
def main():
|
12
|
+
"""Ana fonksiyon"""
|
13
|
+
print("🐍 Merhaba Python Dünyası!")
|
14
|
+
print("=" * 40)
|
15
|
+
|
16
|
+
# Uygulama bilgileri
|
17
|
+
print(f"📦 Uygulama: hello-python")
|
18
|
+
print(f"🔢 Sürüm: 1.0.0")
|
19
|
+
print(f"💻 Dil: Python {sys.version.split()[0]}")
|
20
|
+
print(f"📅 Tarih: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
21
|
+
|
22
|
+
# Sistem bilgileri
|
23
|
+
print(f"\n🖥️ Sistem Bilgileri:")
|
24
|
+
print(f" İşletim Sistemi: {os.name}")
|
25
|
+
print(f" Python Sürümü: {sys.version}")
|
26
|
+
print(f" Çalışma Dizini: {os.getcwd()}")
|
27
|
+
|
28
|
+
# Basit hesaplama
|
29
|
+
print(f"\n🧮 Basit Hesaplama:")
|
30
|
+
a, b = 15, 25
|
31
|
+
print(f" {a} + {b} = {a + b}")
|
32
|
+
print(f" {a} * {b} = {a * b}")
|
33
|
+
|
34
|
+
# Dosya listesi
|
35
|
+
print(f"\n📁 Mevcut Dizin İçeriği:")
|
36
|
+
try:
|
37
|
+
files = os.listdir('.')
|
38
|
+
for i, file in enumerate(files[:5], 1):
|
39
|
+
print(f" {i}. {file}")
|
40
|
+
if len(files) > 5:
|
41
|
+
print(f" ... ve {len(files) - 5} dosya daha")
|
42
|
+
except Exception as e:
|
43
|
+
print(f" Dosya listesi alınamadı: {e}")
|
44
|
+
|
45
|
+
print(f"\n✅ hello-python uygulaması başarıyla çalıştı!")
|
46
|
+
print("🎉 clapp paket yöneticisine hoş geldiniz!")
|
47
|
+
|
48
|
+
if __name__ == "__main__":
|
49
|
+
main()
|
@@ -2,26 +2,26 @@ cache_manager.py,sha256=HdQ3vnZO_YP0vyotzjP5wozltVNgkJAxrvYFXhGLGCI,13287
|
|
2
2
|
check_env.py,sha256=9O8CrdWGcxd_WBV5bsAAZG9iAaiO-nGYDYY-gYZ9G3M,4132
|
3
3
|
clapp_core.py,sha256=5tkzt7J4GKSv7Chv5Zoe9N0dv_sWlYGqYxmIn3dhEPY,1764
|
4
4
|
clean_command.py,sha256=nmzitkdNo0Ovgi-tGPUxa9mkAIFzwEzGNaTm82MUdvw,6806
|
5
|
-
cli_commands.py,sha256=
|
5
|
+
cli_commands.py,sha256=nC7bGzUQZwV11KI4iV0s-tvmnT8nwZHFLy0GfV0a1qE,13143
|
6
6
|
dependency_resolver.py,sha256=OyzWOW45OWTr8BX0gcy5fFbk9qIVBP9JQyMtXrKPmEM,24499
|
7
7
|
doctor_command.py,sha256=8Tv_em4mp-ibaDPXli6uyhYV--Fb6lHyDnnS2S0_d7c,7654
|
8
8
|
info_command.py,sha256=b74Pl1-x_PSezALx-lS3FkEcVNTF7a9McTKk5XTDhjM,5629
|
9
|
-
install_command.py,sha256=
|
10
|
-
installer.py,sha256=
|
9
|
+
install_command.py,sha256=9m7C7dVvRop5-4TUy5V2aGb59jSPRp4NAx8QJIOC2tA,9556
|
10
|
+
installer.py,sha256=IElGtgQl1GvakiWGOiewLPIepdf00K_uek_KZcsC85A,10976
|
11
11
|
list_command.py,sha256=qbeocvrg2eXRklxbYS3audQhYHGXTlMBk_tNh1cMxd0,8391
|
12
|
-
main.py,sha256=
|
13
|
-
manifest_schema.py,sha256=
|
14
|
-
manifest_validator.py,sha256=
|
12
|
+
main.py,sha256=uf2-LzBBFIwIiyg1kcyZG4J1B9f5U33VHieBXu1uLi8,23889
|
13
|
+
manifest_schema.py,sha256=qR6dIpYL1zwAJmrij05gkgE_urN3qVamoUi2BgR7Lv4,2801
|
14
|
+
manifest_validator.py,sha256=JW0mETHDQCSMhodZ5sntr5KPU8T5LYv4IiVoAp4zOIY,8092
|
15
15
|
package_registry.py,sha256=Rco15cvz-6lpCEDdCzwGZNCKtvVhlFIsEPy-WFAESMM,4233
|
16
|
-
package_runner.py,sha256=
|
17
|
-
package_signing.py,sha256=
|
16
|
+
package_runner.py,sha256=GqLPlQRxh7g3bDgGDSVpmHdeRXaP5f6s8kp8QVnw5LM,5783
|
17
|
+
package_signing.py,sha256=ModMAzLk08rkI6zd8QKhyCH5BFbB-7dy8pwqKYatFQo,4579
|
18
18
|
post_install_hint.py,sha256=wjMPCgRurZiGu6hv_se-XA36KqBCdeYdRCD1q7FrJzQ,4918
|
19
19
|
publish_command.py,sha256=P05AFbu_mxcc1yAiwShN5Yi9PX1o_7TFXD1mowJcqJE,8589
|
20
20
|
remote_registry.py,sha256=rPBIM_ESXUt0br5cARQ4YbzUoTda0G4e1KGzfyYMbpQ,8235
|
21
21
|
smart_search.py,sha256=R5O5CDXqlQc-N-6R6D5k36_-arCB-wnKfmWr5zMYWUI,15741
|
22
22
|
uninstall_command.py,sha256=rQYbZ-XMw8Xxw1fmgGdDaBQmgBGqyJ_rTBZkvEV5HV0,7066
|
23
23
|
validate_command.py,sha256=idaujErzrwuZNT6DYCVTVwZqBDEEi1GTxIXAGBgKMKM,7623
|
24
|
-
version.py,sha256=
|
24
|
+
version.py,sha256=DMXUNBIpCO2h5TM6F6PU54p2mpOWyr1HvIyqrSE7UCo,224
|
25
25
|
version_command.py,sha256=DZuYWtohSeM5PJNYCflBy36_k0vex3tYV2C8ixEA9ho,4259
|
26
26
|
version_manager.py,sha256=fpC7jxhIW1wZhJ9IkVwyqkgJN4mhBjUUbaLefXLDMiM,11423
|
27
27
|
where_command.py,sha256=TcLoXLGmrPSHQuvlceVuuKBsfeadIwz-E0G_5okH14g,6420
|
@@ -54,22 +54,25 @@ backup_current/where_command.py,sha256=TcLoXLGmrPSHQuvlceVuuKBsfeadIwz-E0G_5okH1
|
|
54
54
|
clapp-packages-repo/README.md,sha256=stsqg4c5qWcUZxRabvbD0DEwzjJEGDGvxpA4bGbzJqg,1688
|
55
55
|
clapp-packages-repo/index.json,sha256=Z1tF-OZrWxMjue7q-nUMVJy1UhWop9zwh05gDqy5fCM,894
|
56
56
|
clapp-packages-repo/packages.json,sha256=kjcUn29aMFs89bmjZLK33EMeuy0KZQmyLbdvuCwzCZQ,1148
|
57
|
-
clapp-packages-repo/packages/hello-python/main.py,sha256=
|
58
|
-
clapp-packages-repo/packages/hello-python/manifest.json,sha256=
|
57
|
+
clapp-packages-repo/packages/hello-python/main.py,sha256=Dy-Ov-Vumj8oQYI6qKWU6fIKD0gCB8b7KzAJVrGyLMg,1429
|
58
|
+
clapp-packages-repo/packages/hello-python/manifest.json,sha256=fJOVJk_2rwpRJ6IeWMPieklJD3gAR279jvuqRH69s90,179
|
59
59
|
clapp-packages-repo/packages/test-app/main.py,sha256=rN4Zo9u53bIVjcUlul059knx6v-2Cd1MFftPS57FIRU,33
|
60
60
|
clapp-packages-repo/packages/test-app/manifest.json,sha256=kJe4sjYdPRNZD5hEeca80jj3lxeEWBMJoZ59RW7tiKI,118
|
61
61
|
clapp-packages-repo/packages/test-app2/main.py,sha256=lHkbjTmehFY4VuYYF2dYiVBH7W0oqHHeY0I5W85iPTY,35
|
62
62
|
clapp-packages-repo/packages/test-app2/manifest.json,sha256=vshXJrtRxBc_ISM6E8KT5BSmveMbjWszenlgxgSN86w,121
|
63
|
-
clapp_pm-1.0.
|
64
|
-
clapp_pm-1.0.
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
clapp_pm-1.0.
|
75
|
-
clapp_pm-1.0.
|
63
|
+
clapp_pm-1.0.20.data/data/version.json,sha256=FtynQTbhdQzZL8px_bdoOmnDJ3uCbv6bwgSZdh9q4vg,239
|
64
|
+
clapp_pm-1.0.20.dist-info/licenses/LICENSE,sha256=_hryv9pKR6udRexceUYuoYCJGmYBz7e-vRuFWmm38UY,1075
|
65
|
+
docs/developer_guide.md,sha256=B-S141TSNy7e8T9KaV6Fr-ZAFhYqqgcwqWijjX0C2Xc,7336
|
66
|
+
templates/dart/manifest.json,sha256=ycVKZxrArzcSoRZ5LKKe8aOerwk5Z-7VX0td86aim0M,267
|
67
|
+
templates/lua/manifest.json,sha256=CRIy0dP6Pr3vH6IV4dObGs4KqqJ_sURsY0wAgK2av7E,262
|
68
|
+
templates/python/README.md,sha256=AqVgCZ-cwXBuDHFoJdYkAHAuB6SjSjqXQrjhLu0q7cc,964
|
69
|
+
templates/python/main.py,sha256=24IEuyHSuPWJp2-xYhInUNEWqeueGxAO3NBgHkEgLdQ,1562
|
70
|
+
templates/python/manifest.json,sha256=hjmKqsEkWEBTwxFgm35MkvuwWZ2CQWq9Zo8uHodqHrE,273
|
71
|
+
test-app/README.md,sha256=AqVgCZ-cwXBuDHFoJdYkAHAuB6SjSjqXQrjhLu0q7cc,964
|
72
|
+
test-app/main.py,sha256=24IEuyHSuPWJp2-xYhInUNEWqeueGxAO3NBgHkEgLdQ,1562
|
73
|
+
test-app/manifest.json,sha256=MM1nl5Bljrnsik3fwsrgFBchfgwIb2REoBwwzNpFHQU,284
|
74
|
+
clapp_pm-1.0.20.dist-info/METADATA,sha256=yMASz7ZaVYc8WTMVlHRigxdojDkHqqCXEJ7isHs4h8k,3980
|
75
|
+
clapp_pm-1.0.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
76
|
+
clapp_pm-1.0.20.dist-info/entry_points.txt,sha256=7j-3pQVpQfnaVzUV83g7zlCA30ePlnXkhHLAGGz9xrQ,36
|
77
|
+
clapp_pm-1.0.20.dist-info/top_level.txt,sha256=PDW9iD4QCnGlt2SkHs89m5CsQQOOCsWm_l99B6CIIio,448
|
78
|
+
clapp_pm-1.0.20.dist-info/RECORD,,
|
@@ -6,6 +6,7 @@ clapp_core
|
|
6
6
|
clean_command
|
7
7
|
cli_commands
|
8
8
|
dependency_resolver
|
9
|
+
docs
|
9
10
|
doctor_command
|
10
11
|
info_command
|
11
12
|
install_command
|
@@ -17,11 +18,12 @@ manifest_validator
|
|
17
18
|
package_registry
|
18
19
|
package_runner
|
19
20
|
package_signing
|
20
|
-
packages
|
21
21
|
post_install_hint
|
22
22
|
publish_command
|
23
23
|
remote_registry
|
24
24
|
smart_search
|
25
|
+
templates
|
26
|
+
test-app
|
25
27
|
uninstall_command
|
26
28
|
validate_command
|
27
29
|
version
|
cli_commands.py
CHANGED
@@ -5,6 +5,7 @@ from installer import install_package, uninstall_package, create_package_from_di
|
|
5
5
|
from package_registry import list_packages, get_manifest
|
6
6
|
from dependency_resolver import get_dependency_report, get_system_dependency_report
|
7
7
|
from manifest_validator import validate_manifest_file, get_validation_summary
|
8
|
+
from progress_utils import show_success_message, show_error_message, show_info_message, show_warning_message
|
8
9
|
|
9
10
|
# Yeni komut modüllerini import et
|
10
11
|
from publish_command import publish_app
|
@@ -51,30 +52,30 @@ def install_from_remote_legacy(app_name, force=False):
|
|
51
52
|
if not download_url:
|
52
53
|
return False, f"'{app_name}' için indirme URL'si bulunamadı"
|
53
54
|
|
54
|
-
|
55
|
-
|
56
|
-
|
55
|
+
show_info_message(f"📦 {app_name} v{package_info.get('version', '0.0.0')}")
|
56
|
+
show_info_message(f"📝 {package_info.get('description', 'Açıklama yok')}")
|
57
|
+
show_info_message(f"💻 Dil: {package_info.get('language', 'Bilinmiyor')}")
|
57
58
|
|
58
59
|
# Bağımlılıkları göster
|
59
60
|
dependencies = package_info.get('dependencies', [])
|
60
61
|
if dependencies:
|
61
|
-
|
62
|
+
show_info_message(f"🔗 Bağımlılıklar: {', '.join(dependencies)}")
|
62
63
|
|
63
|
-
|
64
|
+
show_info_message(f"⬇️ İndiriliyor: {download_url}")
|
64
65
|
|
65
66
|
# Paketi yükle
|
66
67
|
success, message = install_package(download_url, force)
|
67
68
|
|
68
69
|
if success:
|
69
|
-
|
70
|
+
show_success_message(message)
|
70
71
|
|
71
72
|
# Bağımlılık kontrolü
|
72
|
-
|
73
|
+
show_info_message("🔍 Bağımlılıklar kontrol ediliyor...")
|
73
74
|
dep_report = get_dependency_report(app_name)
|
74
75
|
print(dep_report)
|
75
76
|
|
76
77
|
else:
|
77
|
-
|
78
|
+
show_error_message(message)
|
78
79
|
|
79
80
|
return success, message
|
80
81
|
|
@@ -118,7 +119,11 @@ def list_installed_apps(format_type="table", language_filter=None, search_term=N
|
|
118
119
|
tuple: (success: bool, message: str)
|
119
120
|
"""
|
120
121
|
try:
|
121
|
-
output = list_apps(
|
122
|
+
output = list_apps(
|
123
|
+
format_type,
|
124
|
+
language_filter or "",
|
125
|
+
search_term or ""
|
126
|
+
)
|
122
127
|
print(output)
|
123
128
|
return True, "Liste gösterildi"
|
124
129
|
except Exception as e:
|
@@ -148,15 +153,15 @@ def upgrade_package(app_name):
|
|
148
153
|
|
149
154
|
remote_version = remote_package.get('version', '0.0.0')
|
150
155
|
|
151
|
-
|
152
|
-
|
153
|
-
|
156
|
+
show_info_message(f"📦 {app_name}")
|
157
|
+
show_info_message(f"📱 Yerel sürüm: {local_version}")
|
158
|
+
show_info_message(f"🌐 Uzak sürüm: {remote_version}")
|
154
159
|
|
155
160
|
# Sürüm karşılaştırması (basit string karşılaştırması)
|
156
161
|
if local_version == remote_version:
|
157
162
|
return True, f"'{app_name}' zaten güncel (v{local_version})"
|
158
163
|
|
159
|
-
|
164
|
+
show_info_message(f"🔄 Güncelleme mevcut: {local_version} → {remote_version}")
|
160
165
|
|
161
166
|
# Güncelleme için yeniden yükle
|
162
167
|
return install_from_remote(app_name, force=True)
|
@@ -177,13 +182,13 @@ def publish_package(app_path):
|
|
177
182
|
if not os.path.isdir(app_path):
|
178
183
|
return False, f"'{app_path}' bir dizin değil"
|
179
184
|
|
180
|
-
|
185
|
+
show_info_message(f"📁 Paket hazırlanıyor: {app_path}")
|
181
186
|
|
182
187
|
# Manifest doğrulama
|
183
188
|
manifest_path = os.path.join(app_path, "manifest.json")
|
184
189
|
is_valid, errors = validate_manifest_file(manifest_path)
|
185
190
|
|
186
|
-
|
191
|
+
show_info_message("🔍 Manifest doğrulanıyor...")
|
187
192
|
print(get_validation_summary(errors))
|
188
193
|
|
189
194
|
if not is_valid:
|
@@ -193,15 +198,15 @@ def publish_package(app_path):
|
|
193
198
|
success, message, output_file = create_package_from_directory(app_path)
|
194
199
|
|
195
200
|
if success:
|
196
|
-
|
197
|
-
|
201
|
+
show_success_message(message)
|
202
|
+
show_info_message("\n📋 Yayınlama talimatları:")
|
198
203
|
print("1. Oluşturulan .clapp.zip dosyasını GitHub'a yükleyin")
|
199
204
|
print("2. packages.json dosyasını güncelleyin")
|
200
205
|
print("3. Pull request oluşturun")
|
201
206
|
print(f"\n📁 Paket dosyası: {output_file}")
|
202
207
|
|
203
208
|
else:
|
204
|
-
|
209
|
+
show_error_message(message)
|
205
210
|
|
206
211
|
return success, message
|
207
212
|
|
@@ -215,14 +220,14 @@ def search_remote_packages(query):
|
|
215
220
|
Returns:
|
216
221
|
tuple: (success: bool, message: str)
|
217
222
|
"""
|
218
|
-
|
223
|
+
show_info_message(f"🔍 Arama yapılıyor: '{query}'")
|
219
224
|
|
220
225
|
results = search_packages(query)
|
221
226
|
|
222
227
|
if not results:
|
223
228
|
return False, f"'{query}' için sonuç bulunamadı"
|
224
229
|
|
225
|
-
|
230
|
+
show_success_message(f"{len(results)} sonuç bulundu:\n")
|
226
231
|
|
227
232
|
for package in results:
|
228
233
|
name = package.get('name', 'Bilinmiyor')
|
@@ -319,25 +324,25 @@ def check_system_health():
|
|
319
324
|
Returns:
|
320
325
|
tuple: (success: bool, message: str)
|
321
326
|
"""
|
322
|
-
|
327
|
+
show_info_message("🏥 Sistem Sağlık Kontrolü")
|
323
328
|
print("=" * 40)
|
324
329
|
|
325
330
|
# Bağımlılık kontrolü
|
326
|
-
|
331
|
+
show_info_message("🔍 Bağımlılıklar kontrol ediliyor...")
|
327
332
|
dep_report = get_system_dependency_report()
|
328
333
|
print(dep_report)
|
329
334
|
|
330
335
|
# Uzak bağlantı kontrolü
|
331
|
-
|
336
|
+
show_info_message("🌐 Uzak bağlantı kontrol ediliyor...")
|
332
337
|
from remote_registry import check_remote_connectivity
|
333
338
|
|
334
339
|
if check_remote_connectivity():
|
335
|
-
|
340
|
+
show_success_message("Uzak paket deposuna bağlantı başarılı")
|
336
341
|
else:
|
337
|
-
|
342
|
+
show_error_message("Uzak paket deposuna bağlantı kurulamadı")
|
338
343
|
|
339
344
|
# Manifest doğrulama
|
340
|
-
|
345
|
+
show_info_message("\n🔍 Tüm manifest'ler doğrulanıyor...")
|
341
346
|
local_packages = list_packages()
|
342
347
|
invalid_count = 0
|
343
348
|
|
@@ -348,13 +353,13 @@ def check_system_health():
|
|
348
353
|
|
349
354
|
is_valid, errors = validate_manifest_file(manifest_path)
|
350
355
|
if not is_valid:
|
351
|
-
|
356
|
+
show_error_message(f"{app_name}: Geçersiz manifest")
|
352
357
|
invalid_count += 1
|
353
358
|
|
354
359
|
if invalid_count == 0:
|
355
|
-
|
360
|
+
show_success_message("Tüm manifest'ler geçerli")
|
356
361
|
else:
|
357
|
-
|
362
|
+
show_error_message(f"{invalid_count} geçersiz manifest bulundu")
|
358
363
|
|
359
364
|
return True, "Sistem sağlık kontrolü tamamlandı"
|
360
365
|
|