clapp-pm 1.0.23__py3-none-any.whl → 1.0.28__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/index.json +8 -19
- clapp-packages-repo/packages/cloud-finder/README.md +164 -0
- clapp-packages-repo/packages/cloud-finder/main.py +985 -0
- clapp-packages-repo/packages/cloud-finder/manifest.json +8 -0
- clapp-packages-repo/packages/cloud-finder/requirements.txt +2 -0
- clapp-packages-repo/packages/test-app-2/README.md +51 -0
- clapp-packages-repo/packages/test-app-2/main.py +55 -0
- clapp-packages-repo/packages/test-app-2/manifest.json +15 -0
- {clapp_pm-1.0.23.data → clapp_pm-1.0.28.data}/data/version.json +1 -1
- {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/METADATA +1 -1
- {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/RECORD +30 -19
- {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/top_level.txt +2 -0
- installer.py +2 -1
- main.py +1 -1
- package_runner.py +1 -1
- packages/cloud-finder/README.md +164 -0
- packages/cloud-finder/main.py +985 -0
- packages/cloud-finder/manifest.json +8 -0
- packages/cloud-finder/requirements.txt +2 -0
- packages/test-app-2/README.md +51 -0
- packages/test-app-2/main.py +55 -0
- packages/test-app-2/manifest.json +15 -0
- publish_command.py +62 -8
- test-app-2/README.md +51 -0
- test-app-2/main.py +55 -0
- test-app-2/manifest.json +15 -0
- version.py +1 -1
- clapp-packages-repo/packages/hello-python/main.py +0 -49
- clapp-packages-repo/packages/hello-python/manifest.json +0 -8
- clapp-packages-repo/packages/test-app/main.py +0 -1
- clapp-packages-repo/packages/test-app/manifest.json +0 -1
- clapp-packages-repo/packages/test-app2/main.py +0 -1
- clapp-packages-repo/packages/test-app2/manifest.json +0 -1
- {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/WHEEL +0 -0
- {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/entry_points.txt +0 -0
- {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
# Hello Python - clapp Örnek Uygulaması
|
2
|
+
|
3
|
+
Bu uygulama, clapp için Python uygulaması geliştirme örneğidir.
|
4
|
+
|
5
|
+
## 🚀 Özellikler
|
6
|
+
|
7
|
+
- Basit kullanıcı etkileşimi
|
8
|
+
- Hata yönetimi
|
9
|
+
- Sistem bilgileri gösterimi
|
10
|
+
- Matematik işlemleri
|
11
|
+
|
12
|
+
## 📦 Kurulum
|
13
|
+
|
14
|
+
```bash
|
15
|
+
# Uygulamayı yükle
|
16
|
+
clapp install ./hello-python
|
17
|
+
|
18
|
+
# Uygulamayı çalıştır
|
19
|
+
clapp run hello-python
|
20
|
+
```
|
21
|
+
|
22
|
+
## 🧪 Test
|
23
|
+
|
24
|
+
```bash
|
25
|
+
# Uygulamayı doğrula
|
26
|
+
clapp validate ./hello-python
|
27
|
+
|
28
|
+
# Bağımlılıkları kontrol et
|
29
|
+
clapp dependency check hello-python
|
30
|
+
```
|
31
|
+
|
32
|
+
## 📁 Dosya Yapısı
|
33
|
+
|
34
|
+
```
|
35
|
+
hello-python/
|
36
|
+
├── manifest.json # Uygulama manifesti
|
37
|
+
├── main.py # Ana uygulama dosyası
|
38
|
+
└── README.md # Bu dosya
|
39
|
+
```
|
40
|
+
|
41
|
+
## 🔧 Geliştirme
|
42
|
+
|
43
|
+
Bu şablonu kendi uygulamanız için kullanabilirsiniz:
|
44
|
+
|
45
|
+
1. `manifest.json` dosyasındaki `name` alanını değiştirin
|
46
|
+
2. `main.py` dosyasını kendi kodunuzla değiştirin
|
47
|
+
3. Gerekirse `requirements.txt` ekleyin
|
48
|
+
|
49
|
+
## 📝 Lisans
|
50
|
+
|
51
|
+
MIT License
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Hello Python - clapp Örnek Uygulaması
|
4
|
+
|
5
|
+
Bu uygulama clapp için Python uygulaması geliştirme örneğidir.
|
6
|
+
"""
|
7
|
+
|
8
|
+
import sys
|
9
|
+
import os
|
10
|
+
from datetime import datetime
|
11
|
+
|
12
|
+
def main():
|
13
|
+
"""Ana fonksiyon"""
|
14
|
+
print("=" * 50)
|
15
|
+
print("🚀 Hello Python - clapp Örnek Uygulaması")
|
16
|
+
print("=" * 50)
|
17
|
+
|
18
|
+
# Temel bilgiler
|
19
|
+
print(f"📅 Tarih: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
20
|
+
print(f"🐍 Python Sürümü: {sys.version}")
|
21
|
+
print(f"📁 Çalışma Dizini: {os.getcwd()}")
|
22
|
+
|
23
|
+
# Kullanıcı etkileşimi
|
24
|
+
name = input("\n👋 Adınızı girin: ")
|
25
|
+
if name.strip():
|
26
|
+
print(f"Merhaba {name}! clapp'e hoş geldiniz!")
|
27
|
+
else:
|
28
|
+
print("Merhaba! clapp'e hoş geldiniz!")
|
29
|
+
|
30
|
+
# Örnek işlemler
|
31
|
+
print("\n🔢 Basit Hesaplama Örneği:")
|
32
|
+
try:
|
33
|
+
a = float(input("Birinci sayıyı girin: "))
|
34
|
+
b = float(input("İkinci sayıyı girin: "))
|
35
|
+
|
36
|
+
print(f"Toplam: {a + b}")
|
37
|
+
print(f"Çarpım: {a * b}")
|
38
|
+
print(f"Bölüm: {a / b if b != 0 else 'Tanımsız'}")
|
39
|
+
|
40
|
+
except ValueError:
|
41
|
+
print("❌ Geçersiz sayı girişi!")
|
42
|
+
except ZeroDivisionError:
|
43
|
+
print("❌ Sıfıra bölme hatası!")
|
44
|
+
|
45
|
+
print("\n✅ Uygulama başarıyla tamamlandı!")
|
46
|
+
print("=" * 50)
|
47
|
+
|
48
|
+
if __name__ == "__main__":
|
49
|
+
try:
|
50
|
+
main()
|
51
|
+
except KeyboardInterrupt:
|
52
|
+
print("\n\n👋 Uygulama kullanıcı tarafından sonlandırıldı.")
|
53
|
+
except Exception as e:
|
54
|
+
print(f"\n❌ Beklenmeyen hata: {e}")
|
55
|
+
sys.exit(1)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"name": "test-app-2",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"language": "python",
|
5
|
+
"entry": "main.py",
|
6
|
+
"description": "Basit bir Python Hello World uygulaması",
|
7
|
+
"author": "clapp Developer",
|
8
|
+
"license": "MIT",
|
9
|
+
"tags": [
|
10
|
+
"example",
|
11
|
+
"hello",
|
12
|
+
"python"
|
13
|
+
],
|
14
|
+
"category": "demo"
|
15
|
+
}
|
publish_command.py
CHANGED
@@ -74,8 +74,56 @@ def copy_app_to_packages(source_folder: str, app_name: str) -> Tuple[bool, str]:
|
|
74
74
|
shutil.rmtree(target_path)
|
75
75
|
print(f"⚠️ Mevcut {app_name} klasörü silindi")
|
76
76
|
|
77
|
-
#
|
78
|
-
|
77
|
+
# Hariç tutulacak dosya ve klasörler
|
78
|
+
exclude_patterns = [
|
79
|
+
'.venv', '__pycache__', '.git', '.gitignore', '.DS_Store',
|
80
|
+
'*.pyc', '*.pyo', '*.pyd', '*.so', '*.dll', '*.dylib',
|
81
|
+
'node_modules', '.npm', '.yarn', 'yarn.lock', 'package-lock.json',
|
82
|
+
'*.log', '*.tmp', '*.temp', '.vscode', '.idea', '*.swp', '*.swo',
|
83
|
+
'Thumbs.db', 'desktop.ini', '.Trashes', '.Spotlight-V100',
|
84
|
+
'packages' # packages klasörünü de hariç tut
|
85
|
+
]
|
86
|
+
|
87
|
+
def should_exclude(path):
|
88
|
+
"""Dosya/klasörün hariç tutulup tutulmayacağını kontrol eder"""
|
89
|
+
basename = os.path.basename(path)
|
90
|
+
rel_path = os.path.relpath(path, source_folder)
|
91
|
+
|
92
|
+
for pattern in exclude_patterns:
|
93
|
+
if pattern.startswith('*'):
|
94
|
+
# *.ext formatındaki pattern'ler
|
95
|
+
if basename.endswith(pattern[1:]):
|
96
|
+
return True
|
97
|
+
else:
|
98
|
+
# Tam eşleşme
|
99
|
+
if basename == pattern or rel_path == pattern:
|
100
|
+
return True
|
101
|
+
return False
|
102
|
+
|
103
|
+
# Önce hedef klasörü oluştur
|
104
|
+
os.makedirs(target_path, exist_ok=True)
|
105
|
+
|
106
|
+
# Dosyaları tek tek kopyala (hariç tutma ile)
|
107
|
+
for root, dirs, files in os.walk(source_folder):
|
108
|
+
# Dizinleri filtrele
|
109
|
+
dirs[:] = [d for d in dirs if not should_exclude(os.path.join(root, d))]
|
110
|
+
|
111
|
+
# Hedef dizini oluştur
|
112
|
+
rel_root = os.path.relpath(root, source_folder)
|
113
|
+
target_root = os.path.join(target_path, rel_root)
|
114
|
+
os.makedirs(target_root, exist_ok=True)
|
115
|
+
|
116
|
+
# Dosyaları kopyala
|
117
|
+
for file in files:
|
118
|
+
source_file = os.path.join(root, file)
|
119
|
+
|
120
|
+
# Dosyayı hariç tut
|
121
|
+
if should_exclude(source_file):
|
122
|
+
continue
|
123
|
+
|
124
|
+
target_file = os.path.join(target_root, file)
|
125
|
+
shutil.copy2(source_file, target_file)
|
126
|
+
|
79
127
|
print(f"✅ {app_name} -> packages/{app_name} kopyalandı")
|
80
128
|
|
81
129
|
return True, f"Uygulama başarıyla kopyalandı: packages/{app_name}"
|
@@ -125,15 +173,21 @@ def push_to_clapp_packages_repo(app_name: str, app_version: str) -> Tuple[bool,
|
|
125
173
|
packages_repo_path
|
126
174
|
], check=True, cwd=".")
|
127
175
|
|
128
|
-
#
|
129
|
-
|
176
|
+
# Sadece yeni uygulamayı clapp-packages reposuna kopyala
|
177
|
+
source_app = os.path.join("./packages", app_name)
|
178
|
+
target_app = os.path.join(packages_repo_path, "packages", app_name)
|
179
|
+
|
180
|
+
# Hedef packages klasörünü oluştur (yoksa)
|
130
181
|
target_packages = os.path.join(packages_repo_path, "packages")
|
182
|
+
os.makedirs(target_packages, exist_ok=True)
|
131
183
|
|
132
|
-
|
133
|
-
|
184
|
+
# Eğer hedef uygulama klasörü varsa, sil
|
185
|
+
if os.path.exists(target_app):
|
186
|
+
shutil.rmtree(target_app)
|
134
187
|
|
135
|
-
|
136
|
-
|
188
|
+
# Sadece yeni uygulamayı kopyala
|
189
|
+
shutil.copytree(source_app, target_app)
|
190
|
+
print(f"✅ {app_name} uygulaması clapp-packages reposuna kopyalandı")
|
137
191
|
|
138
192
|
# index.json'u da kopyala
|
139
193
|
if os.path.exists("index.json"):
|
test-app-2/README.md
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# Hello Python - clapp Örnek Uygulaması
|
2
|
+
|
3
|
+
Bu uygulama, clapp için Python uygulaması geliştirme örneğidir.
|
4
|
+
|
5
|
+
## 🚀 Özellikler
|
6
|
+
|
7
|
+
- Basit kullanıcı etkileşimi
|
8
|
+
- Hata yönetimi
|
9
|
+
- Sistem bilgileri gösterimi
|
10
|
+
- Matematik işlemleri
|
11
|
+
|
12
|
+
## 📦 Kurulum
|
13
|
+
|
14
|
+
```bash
|
15
|
+
# Uygulamayı yükle
|
16
|
+
clapp install ./hello-python
|
17
|
+
|
18
|
+
# Uygulamayı çalıştır
|
19
|
+
clapp run hello-python
|
20
|
+
```
|
21
|
+
|
22
|
+
## 🧪 Test
|
23
|
+
|
24
|
+
```bash
|
25
|
+
# Uygulamayı doğrula
|
26
|
+
clapp validate ./hello-python
|
27
|
+
|
28
|
+
# Bağımlılıkları kontrol et
|
29
|
+
clapp dependency check hello-python
|
30
|
+
```
|
31
|
+
|
32
|
+
## 📁 Dosya Yapısı
|
33
|
+
|
34
|
+
```
|
35
|
+
hello-python/
|
36
|
+
├── manifest.json # Uygulama manifesti
|
37
|
+
├── main.py # Ana uygulama dosyası
|
38
|
+
└── README.md # Bu dosya
|
39
|
+
```
|
40
|
+
|
41
|
+
## 🔧 Geliştirme
|
42
|
+
|
43
|
+
Bu şablonu kendi uygulamanız için kullanabilirsiniz:
|
44
|
+
|
45
|
+
1. `manifest.json` dosyasındaki `name` alanını değiştirin
|
46
|
+
2. `main.py` dosyasını kendi kodunuzla değiştirin
|
47
|
+
3. Gerekirse `requirements.txt` ekleyin
|
48
|
+
|
49
|
+
## 📝 Lisans
|
50
|
+
|
51
|
+
MIT License
|
test-app-2/main.py
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Hello Python - clapp Örnek Uygulaması
|
4
|
+
|
5
|
+
Bu uygulama clapp için Python uygulaması geliştirme örneğidir.
|
6
|
+
"""
|
7
|
+
|
8
|
+
import sys
|
9
|
+
import os
|
10
|
+
from datetime import datetime
|
11
|
+
|
12
|
+
def main():
|
13
|
+
"""Ana fonksiyon"""
|
14
|
+
print("=" * 50)
|
15
|
+
print("🚀 Hello Python - clapp Örnek Uygulaması")
|
16
|
+
print("=" * 50)
|
17
|
+
|
18
|
+
# Temel bilgiler
|
19
|
+
print(f"📅 Tarih: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
20
|
+
print(f"🐍 Python Sürümü: {sys.version}")
|
21
|
+
print(f"📁 Çalışma Dizini: {os.getcwd()}")
|
22
|
+
|
23
|
+
# Kullanıcı etkileşimi
|
24
|
+
name = input("\n👋 Adınızı girin: ")
|
25
|
+
if name.strip():
|
26
|
+
print(f"Merhaba {name}! clapp'e hoş geldiniz!")
|
27
|
+
else:
|
28
|
+
print("Merhaba! clapp'e hoş geldiniz!")
|
29
|
+
|
30
|
+
# Örnek işlemler
|
31
|
+
print("\n🔢 Basit Hesaplama Örneği:")
|
32
|
+
try:
|
33
|
+
a = float(input("Birinci sayıyı girin: "))
|
34
|
+
b = float(input("İkinci sayıyı girin: "))
|
35
|
+
|
36
|
+
print(f"Toplam: {a + b}")
|
37
|
+
print(f"Çarpım: {a * b}")
|
38
|
+
print(f"Bölüm: {a / b if b != 0 else 'Tanımsız'}")
|
39
|
+
|
40
|
+
except ValueError:
|
41
|
+
print("❌ Geçersiz sayı girişi!")
|
42
|
+
except ZeroDivisionError:
|
43
|
+
print("❌ Sıfıra bölme hatası!")
|
44
|
+
|
45
|
+
print("\n✅ Uygulama başarıyla tamamlandı!")
|
46
|
+
print("=" * 50)
|
47
|
+
|
48
|
+
if __name__ == "__main__":
|
49
|
+
try:
|
50
|
+
main()
|
51
|
+
except KeyboardInterrupt:
|
52
|
+
print("\n\n👋 Uygulama kullanıcı tarafından sonlandırıldı.")
|
53
|
+
except Exception as e:
|
54
|
+
print(f"\n❌ Beklenmeyen hata: {e}")
|
55
|
+
sys.exit(1)
|
test-app-2/manifest.json
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"name": "test-app-2",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"language": "python",
|
5
|
+
"entry": "main.py",
|
6
|
+
"description": "Basit bir Python Hello World uygulaması",
|
7
|
+
"author": "clapp Developer",
|
8
|
+
"license": "MIT",
|
9
|
+
"tags": [
|
10
|
+
"example",
|
11
|
+
"hello",
|
12
|
+
"python"
|
13
|
+
],
|
14
|
+
"category": "demo"
|
15
|
+
}
|
version.py
CHANGED
@@ -1,49 +0,0 @@
|
|
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()
|
@@ -1 +0,0 @@
|
|
1
|
-
print("Test app çalışıyor!")
|
@@ -1 +0,0 @@
|
|
1
|
-
{"name": "test-app", "version": "1.0.0", "language": "python", "description": "Test uygulaması", "entry": "main.py"}
|
@@ -1 +0,0 @@
|
|
1
|
-
print("Test app 2 çalışıyor!")
|
@@ -1 +0,0 @@
|
|
1
|
-
{"name": "test-app2", "version": "1.0.0", "language": "python", "description": "Test uygulaması 2", "entry": "main.py"}
|
File without changes
|
File without changes
|
File without changes
|