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.
Files changed (36) hide show
  1. clapp-packages-repo/index.json +8 -19
  2. clapp-packages-repo/packages/cloud-finder/README.md +164 -0
  3. clapp-packages-repo/packages/cloud-finder/main.py +985 -0
  4. clapp-packages-repo/packages/cloud-finder/manifest.json +8 -0
  5. clapp-packages-repo/packages/cloud-finder/requirements.txt +2 -0
  6. clapp-packages-repo/packages/test-app-2/README.md +51 -0
  7. clapp-packages-repo/packages/test-app-2/main.py +55 -0
  8. clapp-packages-repo/packages/test-app-2/manifest.json +15 -0
  9. {clapp_pm-1.0.23.data → clapp_pm-1.0.28.data}/data/version.json +1 -1
  10. {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/METADATA +1 -1
  11. {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/RECORD +30 -19
  12. {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/top_level.txt +2 -0
  13. installer.py +2 -1
  14. main.py +1 -1
  15. package_runner.py +1 -1
  16. packages/cloud-finder/README.md +164 -0
  17. packages/cloud-finder/main.py +985 -0
  18. packages/cloud-finder/manifest.json +8 -0
  19. packages/cloud-finder/requirements.txt +2 -0
  20. packages/test-app-2/README.md +51 -0
  21. packages/test-app-2/main.py +55 -0
  22. packages/test-app-2/manifest.json +15 -0
  23. publish_command.py +62 -8
  24. test-app-2/README.md +51 -0
  25. test-app-2/main.py +55 -0
  26. test-app-2/manifest.json +15 -0
  27. version.py +1 -1
  28. clapp-packages-repo/packages/hello-python/main.py +0 -49
  29. clapp-packages-repo/packages/hello-python/manifest.json +0 -8
  30. clapp-packages-repo/packages/test-app/main.py +0 -1
  31. clapp-packages-repo/packages/test-app/manifest.json +0 -1
  32. clapp-packages-repo/packages/test-app2/main.py +0 -1
  33. clapp-packages-repo/packages/test-app2/manifest.json +0 -1
  34. {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/WHEEL +0 -0
  35. {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/entry_points.txt +0 -0
  36. {clapp_pm-1.0.23.dist-info → clapp_pm-1.0.28.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "cloud-finder",
3
+ "version": "1.0.0",
4
+ "language": "python",
5
+ "entry": "main.py",
6
+ "description": "MacOS Finder'a benzeyen modern dosya gezgini",
7
+ "dependencies": []
8
+ }
@@ -0,0 +1,2 @@
1
+ flet>=0.28.0
2
+ pathlib
@@ -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
- # Kopyala
78
- shutil.copytree(source_folder, target_path)
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
- # packages/ klasörünü clapp-packages reposuna kopyala
129
- source_packages = "./packages"
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
- if os.path.exists(target_packages):
133
- shutil.rmtree(target_packages)
184
+ # Eğer hedef uygulama klasörü varsa, sil
185
+ if os.path.exists(target_app):
186
+ shutil.rmtree(target_app)
134
187
 
135
- shutil.copytree(source_packages, target_packages)
136
- print(f"✅ packages/ klasörü clapp-packages reposuna kopyalandı")
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)
@@ -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
@@ -2,7 +2,7 @@
2
2
  Version information for clapp-pm package.
3
3
  """
4
4
 
5
- __version__ = "1.0.23"
5
+ __version__ = "1.0.28"
6
6
  __author__ = "Melih Burak Memiş"
7
7
  __email__ = "mburakmemiscy@gmail.com"
8
8
  __description__ = "Lightweight cross-language app manager for Python and Lua"
@@ -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,8 +0,0 @@
1
- {
2
- "name": "hello-python",
3
- "version": "1.0.0",
4
- "language": "python",
5
- "entry": "main.py",
6
- "description": "Basit Python merhaba dünya uygulaması",
7
- "dependencies": []
8
- }
@@ -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"}