clapp-pm 1.0.0__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.
- check_env.py +133 -0
- clapp-packages-repo/README.md +46 -0
- clapp-packages-repo/index.json +35 -0
- clapp-packages-repo/packages/hello-python/main.py +49 -0
- clapp-packages-repo/packages/hello-python/manifest.json +8 -0
- clapp-packages-repo/packages/test-app/main.py +1 -0
- clapp-packages-repo/packages/test-app/manifest.json +1 -0
- clapp-packages-repo/packages/test-app2/main.py +1 -0
- clapp-packages-repo/packages/test-app2/manifest.json +1 -0
- clapp-packages-repo/packages.json +40 -0
- clapp_core.py +61 -0
- clapp_pm-1.0.0.data/data/version.json +9 -0
- clapp_pm-1.0.0.dist-info/METADATA +117 -0
- clapp_pm-1.0.0.dist-info/RECORD +40 -0
- clapp_pm-1.0.0.dist-info/WHEEL +5 -0
- clapp_pm-1.0.0.dist-info/entry_points.txt +2 -0
- clapp_pm-1.0.0.dist-info/licenses/LICENSE +21 -0
- clapp_pm-1.0.0.dist-info/top_level.txt +20 -0
- clean_command.py +214 -0
- cli_commands.py +404 -0
- dependency_resolver.py +272 -0
- doctor_command.py +279 -0
- info_command.py +194 -0
- installer.py +320 -0
- main.py +294 -0
- manifest_schema.py +84 -0
- manifest_validator.py +245 -0
- package_registry.py +127 -0
- package_runner.py +85 -0
- packages/hello-python/main.py +49 -0
- packages/hello-python/manifest.json +8 -0
- packages/test-app/main.py +1 -0
- packages/test-app/manifest.json +1 -0
- packages/test-app2/main.py +1 -0
- packages/test-app2/manifest.json +1 -0
- post_install_hint.py +144 -0
- remote_registry.py +285 -0
- validate_command.py +225 -0
- version_command.py +145 -0
- where_command.py +207 -0
check_env.py
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
check_env.py - Sistem ortam kontrolü modülü
|
4
|
+
|
5
|
+
Bu modül `clapp check-env` komutunu destekler ve kullanıcının
|
6
|
+
sisteminin clapp çalıştırmak için uygun olup olmadığını kontrol eder.
|
7
|
+
"""
|
8
|
+
|
9
|
+
import os
|
10
|
+
import sys
|
11
|
+
import shutil
|
12
|
+
import platform
|
13
|
+
import subprocess
|
14
|
+
from pathlib import Path
|
15
|
+
|
16
|
+
def check_python_version():
|
17
|
+
"""Python sürümünü kontrol eder (>= 3.8 gerekli)"""
|
18
|
+
version = sys.version_info
|
19
|
+
required_major, required_minor = 3, 8
|
20
|
+
|
21
|
+
if version.major >= required_major and version.minor >= required_minor:
|
22
|
+
return True, f"Python {version.major}.{version.minor}.{version.micro}"
|
23
|
+
else:
|
24
|
+
return False, f"Python {version.major}.{version.minor}.{version.micro} (>= {required_major}.{required_minor} gerekli)"
|
25
|
+
|
26
|
+
def check_clapp_in_path():
|
27
|
+
"""clapp komutunun PATH'te olup olmadığını kontrol eder"""
|
28
|
+
clapp_path = shutil.which("clapp")
|
29
|
+
if clapp_path:
|
30
|
+
return True, f"clapp komutu bulundu: {clapp_path}"
|
31
|
+
else:
|
32
|
+
return False, "clapp komutu PATH'te bulunamadı"
|
33
|
+
|
34
|
+
def check_platform_info():
|
35
|
+
"""Platform bilgilerini toplar"""
|
36
|
+
system = platform.system()
|
37
|
+
release = platform.release()
|
38
|
+
machine = platform.machine()
|
39
|
+
|
40
|
+
return True, f"{system} {release} ({machine})"
|
41
|
+
|
42
|
+
def check_python_executable():
|
43
|
+
"""Python çalıştırılabilir dosyasının konumunu kontrol eder"""
|
44
|
+
python_path = sys.executable
|
45
|
+
return True, f"Python çalıştırılabilir: {python_path}"
|
46
|
+
|
47
|
+
def check_working_directory():
|
48
|
+
"""Mevcut çalışma dizinini kontrol eder"""
|
49
|
+
cwd = os.getcwd()
|
50
|
+
return True, f"Çalışma dizini: {cwd}"
|
51
|
+
|
52
|
+
def check_apps_directory():
|
53
|
+
"""apps/ dizininin var olup olmadığını kontrol eder"""
|
54
|
+
apps_dir = Path("apps")
|
55
|
+
if apps_dir.exists() and apps_dir.is_dir():
|
56
|
+
app_count = len([d for d in apps_dir.iterdir() if d.is_dir()])
|
57
|
+
return True, f"apps/ dizini mevcut ({app_count} uygulama)"
|
58
|
+
else:
|
59
|
+
return False, "apps/ dizini bulunamadı"
|
60
|
+
|
61
|
+
def check_permissions():
|
62
|
+
"""Yazma izinlerini kontrol eder"""
|
63
|
+
try:
|
64
|
+
# Mevcut dizinde yazma izni kontrolü
|
65
|
+
test_file = Path("test_write_permission.tmp")
|
66
|
+
test_file.write_text("test")
|
67
|
+
test_file.unlink()
|
68
|
+
|
69
|
+
return True, "Yazma izinleri: OK"
|
70
|
+
except PermissionError:
|
71
|
+
return False, "Yazma izinleri: Yetersiz izin"
|
72
|
+
except Exception as e:
|
73
|
+
return False, f"Yazma izinleri: Hata - {str(e)}"
|
74
|
+
|
75
|
+
def check_flet_installation():
|
76
|
+
"""Flet kurulumunu kontrol eder"""
|
77
|
+
try:
|
78
|
+
import flet
|
79
|
+
return True, f"Flet kurulu: v{flet.__version__}"
|
80
|
+
except ImportError:
|
81
|
+
return False, "Flet kurulu değil (pip install flet)"
|
82
|
+
|
83
|
+
def run_environment_check():
|
84
|
+
"""Tüm ortam kontrollerini çalıştırır ve sonuçları yazdırır"""
|
85
|
+
print("🔍 clapp Ortam Kontrolü")
|
86
|
+
print("=" * 50)
|
87
|
+
|
88
|
+
checks = [
|
89
|
+
("Python Sürümü", check_python_version),
|
90
|
+
("Platform Bilgisi", check_platform_info),
|
91
|
+
("Python Çalıştırılabilir", check_python_executable),
|
92
|
+
("Çalışma Dizini", check_working_directory),
|
93
|
+
("clapp PATH Kontrolü", check_clapp_in_path),
|
94
|
+
("apps/ Dizini", check_apps_directory),
|
95
|
+
("Yazma İzinleri", check_permissions),
|
96
|
+
("Flet Kurulumu", check_flet_installation),
|
97
|
+
]
|
98
|
+
|
99
|
+
passed = 0
|
100
|
+
failed = 0
|
101
|
+
warnings = 0
|
102
|
+
|
103
|
+
for check_name, check_func in checks:
|
104
|
+
try:
|
105
|
+
success, message = check_func()
|
106
|
+
if success:
|
107
|
+
print(f"✅ {check_name}: {message}")
|
108
|
+
passed += 1
|
109
|
+
else:
|
110
|
+
print(f"❌ {check_name}: {message}")
|
111
|
+
failed += 1
|
112
|
+
except Exception as e:
|
113
|
+
print(f"⚠️ {check_name}: Hata - {str(e)}")
|
114
|
+
warnings += 1
|
115
|
+
|
116
|
+
print("\n" + "=" * 50)
|
117
|
+
print(f"📊 Özet: {passed} başarılı, {failed} başarısız, {warnings} uyarı")
|
118
|
+
|
119
|
+
if failed > 0:
|
120
|
+
print("\n🔧 Öneriler:")
|
121
|
+
if not shutil.which("clapp"):
|
122
|
+
print("• clapp'i PATH'e ekleyin veya pip install ile kurun")
|
123
|
+
if not Path("apps").exists():
|
124
|
+
print("• apps/ dizini oluşturun: mkdir apps")
|
125
|
+
|
126
|
+
print("• Daha fazla yardım için: clapp doctor")
|
127
|
+
|
128
|
+
print("\n✨ Sorun yaşıyorsanız 'clapp doctor' komutunu çalıştırın!")
|
129
|
+
|
130
|
+
return failed == 0
|
131
|
+
|
132
|
+
if __name__ == "__main__":
|
133
|
+
run_environment_check()
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# clapp-packages - Resmi clapp Paket Deposu
|
2
|
+
|
3
|
+
Bu repo, [clapp](https://github.com/mburakmmm/clapp) paket yöneticisinin resmi ve merkezi paket deposudur.
|
4
|
+
|
5
|
+
## Yapı ve Kullanım
|
6
|
+
|
7
|
+
- Her paket kendi klasöründe bulunur (ör: `hello-world/`)
|
8
|
+
- Her pakette en az bir `manifest.json` ve giriş dosyası (`main.py` veya benzeri) bulunur
|
9
|
+
- Tüm paketler ve sürümler `index.json` dosyasında listelenir
|
10
|
+
- Paketler doğrudan elle eklenmez, sadece `clapp publish` komutu ile eklenir/güncellenir
|
11
|
+
|
12
|
+
## Paket Yükleme
|
13
|
+
|
14
|
+
Kullanıcılar paketleri doğrudan CLI ile yükler:
|
15
|
+
```bash
|
16
|
+
clapp install hello-world
|
17
|
+
```
|
18
|
+
clapp, bu repodaki `index.json` üzerinden paketleri bulur ve indirir.
|
19
|
+
|
20
|
+
## Paket Yayınlama
|
21
|
+
|
22
|
+
Kendi uygulamanızı eklemek için:
|
23
|
+
1. Uygulamanızın klasöründe geçerli bir `manifest.json` ve giriş dosyası olmalı
|
24
|
+
2. `clapp publish ./my-app --push` komutunu kullanın
|
25
|
+
- Bu komut, paketi zipler, bu repoya ekler ve `index.json`'u günceller
|
26
|
+
- Tüm işlemler otomatik yapılır, manuel ekleme yapılmaz
|
27
|
+
|
28
|
+
## index.json
|
29
|
+
|
30
|
+
- Tüm paketlerin adı, sürümü, açıklaması ve indirme bağlantısı burada tutulur
|
31
|
+
- clapp CLI, paket arama ve yükleme işlemlerinde bu dosyayı kullanır
|
32
|
+
|
33
|
+
## Katkı ve Güvenlik
|
34
|
+
|
35
|
+
- Paketler sadece `clapp publish` ile eklenir/güncellenir
|
36
|
+
- Her paket için geçerli manifest ve çalışır giriş dosyası zorunludur
|
37
|
+
- Zararlı veya uygunsuz içerik tespit edilirse paket kaldırılır
|
38
|
+
|
39
|
+
## Lisans
|
40
|
+
|
41
|
+
Bu repodaki paketler kendi lisanslarına sahiptir. Genel repo MIT lisansı altındadır.
|
42
|
+
|
43
|
+
## Destek
|
44
|
+
|
45
|
+
- 🐛 Hata bildirimi ve öneriler: [Issues](https://github.com/mburakmmm/clapp-packages/issues)
|
46
|
+
- 📖 Ana proje: [clapp](https://github.com/mburakmmm/clapp)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"name": "hello-python",
|
4
|
+
"version": "1.0.0",
|
5
|
+
"language": "python",
|
6
|
+
"description": "Basit Python merhaba dünya uygulaması",
|
7
|
+
"entry": "main.py",
|
8
|
+
"dependencies": [],
|
9
|
+
"folder": "hello-python",
|
10
|
+
"repo_url": "https://github.com/mburakmmm/clapp-packages",
|
11
|
+
"subdir": "hello-python"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"name": "test-app",
|
15
|
+
"version": "1.0.0",
|
16
|
+
"language": "python",
|
17
|
+
"description": "Test uygulaması",
|
18
|
+
"entry": "main.py",
|
19
|
+
"dependencies": [],
|
20
|
+
"folder": "test-app",
|
21
|
+
"repo_url": "https://github.com/mburakmmm/clapp-packages",
|
22
|
+
"subdir": "test-app"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"name": "test-app2",
|
26
|
+
"version": "1.0.0",
|
27
|
+
"language": "python",
|
28
|
+
"description": "Test uygulaması 2",
|
29
|
+
"entry": "main.py",
|
30
|
+
"dependencies": [],
|
31
|
+
"folder": "test-app2",
|
32
|
+
"repo_url": "https://github.com/mburakmmm/clapp-packages",
|
33
|
+
"subdir": "test-app2"
|
34
|
+
}
|
35
|
+
]
|
@@ -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()
|
@@ -0,0 +1 @@
|
|
1
|
+
print("Test app çalışıyor!")
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name": "test-app", "version": "1.0.0", "language": "python", "description": "Test uygulaması", "entry": "main.py"}
|
@@ -0,0 +1 @@
|
|
1
|
+
print("Test app 2 çalışıyor!")
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name": "test-app2", "version": "1.0.0", "language": "python", "description": "Test uygulaması 2", "entry": "main.py"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{
|
2
|
+
"repository": "mburakmmm/clapp-packages",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"last_updated": "2024-01-15T10:00:00Z",
|
5
|
+
"packages": [
|
6
|
+
{
|
7
|
+
"name": "hello-world",
|
8
|
+
"version": "1.0.0",
|
9
|
+
"language": "python",
|
10
|
+
"description": "Basit merhaba dünya uygulaması - clapp ile ilk adımınız",
|
11
|
+
"author": "clapp-team",
|
12
|
+
"dependencies": [],
|
13
|
+
"download_url": "https://github.com/mburakmmm/clapp-packages/releases/download/v1.0.0/hello-world.clapp.zip",
|
14
|
+
"category": "demo",
|
15
|
+
"tags": ["demo", "tutorial", "beginner"],
|
16
|
+
"size": "1.2 KB",
|
17
|
+
"downloads": 150
|
18
|
+
},
|
19
|
+
|
20
|
+
|
21
|
+
}
|
22
|
+
],
|
23
|
+
"categories": {
|
24
|
+
"demo": "Demo ve Öğretici",
|
25
|
+
"productivity": "Verimlilik",
|
26
|
+
"utility": "Araçlar",
|
27
|
+
"system": "Sistem",
|
28
|
+
"games": "Oyunlar",
|
29
|
+
"security": "Güvenlik",
|
30
|
+
"development": "Geliştirme"
|
31
|
+
},
|
32
|
+
"statistics": {
|
33
|
+
"total_packages": 10,
|
34
|
+
"total_downloads": 1722,
|
35
|
+
"languages": {
|
36
|
+
"python": 10,
|
37
|
+
"lua": 0
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
clapp_core.py
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
import os
|
2
|
+
import json
|
3
|
+
import argparse
|
4
|
+
from package_registry import list_packages
|
5
|
+
from package_runner import run_app
|
6
|
+
|
7
|
+
def main():
|
8
|
+
"""
|
9
|
+
clapp CLI'sinin ana giriş noktası. Komut satırı argümanlarını işler ve uygun fonksiyonları çağırır.
|
10
|
+
"""
|
11
|
+
parser = argparse.ArgumentParser(
|
12
|
+
description='clapp - Basit paket yöneticisi',
|
13
|
+
prog='clapp'
|
14
|
+
)
|
15
|
+
|
16
|
+
subparsers = parser.add_subparsers(dest='command', help='Mevcut komutlar')
|
17
|
+
|
18
|
+
# run komutu
|
19
|
+
run_parser = subparsers.add_parser('run', help='Yüklü bir uygulamayı çalıştır')
|
20
|
+
run_parser.add_argument('app_name', help='Çalıştırılacak uygulamanın adı')
|
21
|
+
|
22
|
+
# list komutu
|
23
|
+
list_parser = subparsers.add_parser('list', help='Yüklü uygulamaları listele')
|
24
|
+
|
25
|
+
args = parser.parse_args()
|
26
|
+
|
27
|
+
if args.command == 'run':
|
28
|
+
success = run_app(args.app_name)
|
29
|
+
if not success:
|
30
|
+
exit(1)
|
31
|
+
|
32
|
+
elif args.command == 'list':
|
33
|
+
list_apps()
|
34
|
+
|
35
|
+
else:
|
36
|
+
parser.print_help()
|
37
|
+
|
38
|
+
def list_apps():
|
39
|
+
"""
|
40
|
+
Yüklü uygulamaları listeler ve konsola yazdırır.
|
41
|
+
"""
|
42
|
+
packages = list_packages()
|
43
|
+
|
44
|
+
if not packages:
|
45
|
+
print("Yüklü uygulama bulunamadı.")
|
46
|
+
print("Uygulamaları 'apps/' dizinine yerleştirin.")
|
47
|
+
return
|
48
|
+
|
49
|
+
print(f"Yüklü Uygulamalar ({len(packages)} adet):")
|
50
|
+
print("-" * 50)
|
51
|
+
|
52
|
+
for package in packages:
|
53
|
+
print(f"📦 {package['name']} (v{package['version']})")
|
54
|
+
print(f" Dil: {package['language']}")
|
55
|
+
print(f" Açıklama: {package['description']}")
|
56
|
+
if package['dependencies']:
|
57
|
+
print(f" Bağımlılıklar: {', '.join(package['dependencies'])}")
|
58
|
+
print()
|
59
|
+
|
60
|
+
if __name__ == '__main__':
|
61
|
+
main()
|
@@ -0,0 +1,117 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: clapp-pm
|
3
|
+
Version: 1.0.0
|
4
|
+
Summary: Lightweight cross-language app manager for Python and Lua
|
5
|
+
Home-page: https://github.com/mburakmmm/clapp
|
6
|
+
Author: Melih Burak Memiş
|
7
|
+
Author-email: Melih Burak Memiş <mburakmemiscy@gmail.com>
|
8
|
+
Maintainer-email: Melih Burak Memiş <mburakmemiscy@gmail.com>
|
9
|
+
License: MIT
|
10
|
+
Project-URL: Homepage, https://github.com/mburakmmm/clapp
|
11
|
+
Project-URL: Repository, https://github.com/mburakmmm/clapp
|
12
|
+
Project-URL: Documentation, https://github.com/mburakmmm/clapp/blob/main/README.md
|
13
|
+
Project-URL: Bug Tracker, https://github.com/mburakmmm/clapp/issues
|
14
|
+
Project-URL: Package Repository, https://github.com/mburakmmm/clapp-packages
|
15
|
+
Project-URL: Changelog, https://github.com/mburakmmm/clapp/blob/main/CHANGELOG.md
|
16
|
+
Keywords: package-manager,app-manager,python,lua,cross-language,cli,lightweight,desktop,applications
|
17
|
+
Classifier: Development Status :: 4 - Beta
|
18
|
+
Classifier: Intended Audience :: Developers
|
19
|
+
Classifier: Intended Audience :: End Users/Desktop
|
20
|
+
Classifier: License :: OSI Approved :: MIT License
|
21
|
+
Classifier: Operating System :: OS Independent
|
22
|
+
Classifier: Programming Language :: Python :: 3
|
23
|
+
Classifier: Programming Language :: Python :: 3.8
|
24
|
+
Classifier: Programming Language :: Python :: 3.9
|
25
|
+
Classifier: Programming Language :: Python :: 3.10
|
26
|
+
Classifier: Programming Language :: Python :: 3.11
|
27
|
+
Classifier: Programming Language :: Python :: 3.12
|
28
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
29
|
+
Classifier: Topic :: System :: Software Distribution
|
30
|
+
Classifier: Topic :: Utilities
|
31
|
+
Classifier: Environment :: Console
|
32
|
+
Classifier: Natural Language :: Turkish
|
33
|
+
Classifier: Natural Language :: English
|
34
|
+
Requires-Python: >=3.8
|
35
|
+
Description-Content-Type: text/markdown
|
36
|
+
License-File: LICENSE
|
37
|
+
Requires-Dist: requests>=2.31.0
|
38
|
+
Requires-Dist: typing-extensions>=4.0.0; python_version < "3.10"
|
39
|
+
Provides-Extra: dev
|
40
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
41
|
+
Requires-Dist: black>=22.0.0; extra == "dev"
|
42
|
+
Requires-Dist: flake8>=4.0.0; extra == "dev"
|
43
|
+
Requires-Dist: mypy>=0.950; extra == "dev"
|
44
|
+
Requires-Dist: pre-commit>=2.20.0; extra == "dev"
|
45
|
+
Provides-Extra: test
|
46
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
47
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
48
|
+
Requires-Dist: coverage>=6.0.0; extra == "test"
|
49
|
+
Dynamic: author
|
50
|
+
Dynamic: home-page
|
51
|
+
Dynamic: license-file
|
52
|
+
Dynamic: requires-python
|
53
|
+
|
54
|
+
# clapp - Hafif Komut Satırı Uygulama Paket Yöneticisi
|
55
|
+
|
56
|
+
clapp, Python ve Lua uygulamalarını kolayca yükleyip çalıştırmanızı sağlayan, sade ve hızlı bir CLI paket yöneticisidir.
|
57
|
+
|
58
|
+
## Özellikler
|
59
|
+
|
60
|
+
- 🚀 **Tek Komutla Kurulum ve Çalıştırma**
|
61
|
+
- 📦 **Çoklu Dil Desteği**: Python ve Lua uygulamaları
|
62
|
+
- 🔒 **Güvenli ve Şeffaf Paket Sistemi**
|
63
|
+
- 🛠️ **Geliştirici Araçları**: Doğrulama, yayınlama, kaldırma, güncelleme
|
64
|
+
- 🌐 **Ayrı Paket Deposu**: [clapp-packages](https://github.com/mburakmmm/clapp-packages) ile iki repo sistemi
|
65
|
+
|
66
|
+
## Kurulum
|
67
|
+
|
68
|
+
```bash
|
69
|
+
pip install clapp
|
70
|
+
```
|
71
|
+
|
72
|
+
## Temel Kullanım
|
73
|
+
|
74
|
+
```bash
|
75
|
+
# Paket yükle (uzak depodan)
|
76
|
+
clapp install hello-world
|
77
|
+
|
78
|
+
# Yüklü paketleri listele
|
79
|
+
clapp list
|
80
|
+
|
81
|
+
# Paket çalıştır
|
82
|
+
clapp run hello-world
|
83
|
+
|
84
|
+
# Paket kaldır
|
85
|
+
clapp uninstall hello-world
|
86
|
+
|
87
|
+
# Kendi uygulamanı yayınla (clapp-packages'a otomatik push)
|
88
|
+
clapp publish ./my-app --push
|
89
|
+
```
|
90
|
+
|
91
|
+
## İki Repo Sistemi
|
92
|
+
|
93
|
+
- **clapp:** CLI ve yönetim araçlarını içerir. (Bu repo)
|
94
|
+
- **clapp-packages:** Sadece paketler ve index.json içerir. Tüm paket işlemleri publish komutu ile otomatik yapılır.
|
95
|
+
|
96
|
+
## Manifest Formatı
|
97
|
+
|
98
|
+
```json
|
99
|
+
{
|
100
|
+
"name": "my-app",
|
101
|
+
"version": "1.0.0",
|
102
|
+
"language": "python",
|
103
|
+
"entry": "main.py",
|
104
|
+
"description": "Açıklama",
|
105
|
+
"dependencies": []
|
106
|
+
}
|
107
|
+
```
|
108
|
+
|
109
|
+
## Katkı ve Destek
|
110
|
+
|
111
|
+
- 🐛 Hata bildirimi ve öneriler için: [Issues](https://github.com/mburakmmm/clapp/issues)
|
112
|
+
- 📦 Paket eklemek için: [clapp-packages](https://github.com/mburakmmm/clapp-packages)
|
113
|
+
- 📖 Detaylı bilgi ve dokümantasyon: [Wiki](https://github.com/mburakmmm/clapp/wiki)
|
114
|
+
|
115
|
+
## Lisans
|
116
|
+
|
117
|
+
MIT License
|
@@ -0,0 +1,40 @@
|
|
1
|
+
check_env.py,sha256=5DJwdALpRe1TLbzF_Zta-zD312J065-pPmsJZ17xRDg,4425
|
2
|
+
clapp_core.py,sha256=5tkzt7J4GKSv7Chv5Zoe9N0dv_sWlYGqYxmIn3dhEPY,1764
|
3
|
+
clean_command.py,sha256=nmzitkdNo0Ovgi-tGPUxa9mkAIFzwEzGNaTm82MUdvw,6806
|
4
|
+
cli_commands.py,sha256=ffJeRJTeipzHkSXhIUKrGzmymqtuv9bKCCQ2WGMQUD4,12482
|
5
|
+
dependency_resolver.py,sha256=slskJhZJ5rRIv0Gcefd-cakHxdYl45bPwE4s_0APpsA,8562
|
6
|
+
doctor_command.py,sha256=VpYx5isO-EI9EmCqlyAvGIJWasMaDDLmU7MDYBOz3kc,9446
|
7
|
+
info_command.py,sha256=b74Pl1-x_PSezALx-lS3FkEcVNTF7a9McTKk5XTDhjM,5629
|
8
|
+
installer.py,sha256=4ojp3FCTw9-VxJhBzadO9oNBFWDHw5IQsMqXlwvKH_g,10039
|
9
|
+
main.py,sha256=aLwnLGv5AOjRsEBCyJKANKFKccpGEEo8PNe2_Mgm7w4,11806
|
10
|
+
manifest_schema.py,sha256=IxfKuYgcIhILJrDMOm5vjSJn2jp7hPpUoxtjPMCPvbE,2201
|
11
|
+
manifest_validator.py,sha256=MTI6c_sYfVakQ6aQUu5_qkukTh4H1FcSrT4uRdE6xIg,7990
|
12
|
+
package_registry.py,sha256=LVu_IHHFxEvAsx7WxX04MD-jGXhRtwJzGTqDIieN9ao,4043
|
13
|
+
package_runner.py,sha256=1aKQXTdHqfKFC0jZZ4qv_Io2-JS_WM6fWMwT7iunM2c,2668
|
14
|
+
post_install_hint.py,sha256=wjMPCgRurZiGu6hv_se-XA36KqBCdeYdRCD1q7FrJzQ,4918
|
15
|
+
remote_registry.py,sha256=rPBIM_ESXUt0br5cARQ4YbzUoTda0G4e1KGzfyYMbpQ,8235
|
16
|
+
validate_command.py,sha256=idaujErzrwuZNT6DYCVTVwZqBDEEi1GTxIXAGBgKMKM,7623
|
17
|
+
version_command.py,sha256=Zk0EIUc2TAj1bN7EHpTqWmI3m-mH9sUpRz3T828ovvY,4370
|
18
|
+
where_command.py,sha256=TcLoXLGmrPSHQuvlceVuuKBsfeadIwz-E0G_5okH14g,6420
|
19
|
+
clapp-packages-repo/README.md,sha256=stsqg4c5qWcUZxRabvbD0DEwzjJEGDGvxpA4bGbzJqg,1688
|
20
|
+
clapp-packages-repo/index.json,sha256=Z1tF-OZrWxMjue7q-nUMVJy1UhWop9zwh05gDqy5fCM,894
|
21
|
+
clapp-packages-repo/packages.json,sha256=kjcUn29aMFs89bmjZLK33EMeuy0KZQmyLbdvuCwzCZQ,1148
|
22
|
+
clapp-packages-repo/packages/hello-python/main.py,sha256=Dy-Ov-Vumj8oQYI6qKWU6fIKD0gCB8b7KzAJVrGyLMg,1429
|
23
|
+
clapp-packages-repo/packages/hello-python/manifest.json,sha256=fJOVJk_2rwpRJ6IeWMPieklJD3gAR279jvuqRH69s90,179
|
24
|
+
clapp-packages-repo/packages/test-app/main.py,sha256=rN4Zo9u53bIVjcUlul059knx6v-2Cd1MFftPS57FIRU,33
|
25
|
+
clapp-packages-repo/packages/test-app/manifest.json,sha256=kJe4sjYdPRNZD5hEeca80jj3lxeEWBMJoZ59RW7tiKI,118
|
26
|
+
clapp-packages-repo/packages/test-app2/main.py,sha256=lHkbjTmehFY4VuYYF2dYiVBH7W0oqHHeY0I5W85iPTY,35
|
27
|
+
clapp-packages-repo/packages/test-app2/manifest.json,sha256=vshXJrtRxBc_ISM6E8KT5BSmveMbjWszenlgxgSN86w,121
|
28
|
+
clapp_pm-1.0.0.data/data/version.json,sha256=t-6ck4W0TVkQGg81ilCfG04OMivEbfsliJzbZudK3LY,238
|
29
|
+
clapp_pm-1.0.0.dist-info/licenses/LICENSE,sha256=_hryv9pKR6udRexceUYuoYCJGmYBz7e-vRuFWmm38UY,1075
|
30
|
+
packages/hello-python/main.py,sha256=Dy-Ov-Vumj8oQYI6qKWU6fIKD0gCB8b7KzAJVrGyLMg,1429
|
31
|
+
packages/hello-python/manifest.json,sha256=fJOVJk_2rwpRJ6IeWMPieklJD3gAR279jvuqRH69s90,179
|
32
|
+
packages/test-app/main.py,sha256=rN4Zo9u53bIVjcUlul059knx6v-2Cd1MFftPS57FIRU,33
|
33
|
+
packages/test-app/manifest.json,sha256=kJe4sjYdPRNZD5hEeca80jj3lxeEWBMJoZ59RW7tiKI,118
|
34
|
+
packages/test-app2/main.py,sha256=lHkbjTmehFY4VuYYF2dYiVBH7W0oqHHeY0I5W85iPTY,35
|
35
|
+
packages/test-app2/manifest.json,sha256=vshXJrtRxBc_ISM6E8KT5BSmveMbjWszenlgxgSN86w,121
|
36
|
+
clapp_pm-1.0.0.dist-info/METADATA,sha256=1sbjynftkku1Zi4GyLV4j8LvImw5g5KvTNrkb8JXIjI,3979
|
37
|
+
clapp_pm-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
38
|
+
clapp_pm-1.0.0.dist-info/entry_points.txt,sha256=7j-3pQVpQfnaVzUV83g7zlCA30ePlnXkhHLAGGz9xrQ,36
|
39
|
+
clapp_pm-1.0.0.dist-info/top_level.txt,sha256=dQhc-if0FtK86ImmFAUfXHm8hb6Y_ppQ6oMvD8tZ7ew,288
|
40
|
+
clapp_pm-1.0.0.dist-info/RECORD,,
|
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2024 Melih Burak Memiş
|
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,20 @@
|
|
1
|
+
check_env
|
2
|
+
clapp-packages-repo
|
3
|
+
clapp_core
|
4
|
+
clean_command
|
5
|
+
cli_commands
|
6
|
+
dependency_resolver
|
7
|
+
doctor_command
|
8
|
+
info_command
|
9
|
+
installer
|
10
|
+
main
|
11
|
+
manifest_schema
|
12
|
+
manifest_validator
|
13
|
+
package_registry
|
14
|
+
package_runner
|
15
|
+
packages
|
16
|
+
post_install_hint
|
17
|
+
remote_registry
|
18
|
+
validate_command
|
19
|
+
version_command
|
20
|
+
where_command
|