clapp-pm 1.0.43__py3-none-any.whl → 1.0.45__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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "app_name": "clapp",
3
- "version": "1.0.43",
3
+ "version": "1.0.45",
4
4
  "author": "Melih Burak Memiş",
5
5
  "description": "Basit ve güçlü paket yöneticisi",
6
6
  "source": "https://github.com/melihburak/clapp",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clapp-pm
3
- Version: 1.0.43
3
+ Version: 1.0.45
4
4
  Summary: Lightweight cross-language app manager for Python and Lua
5
5
  Home-page: https://github.com/mburakmmm/clapp
6
6
  Author: Melih Burak Memiş
@@ -14,16 +14,16 @@ manifest_schema.py,sha256=qR6dIpYL1zwAJmrij05gkgE_urN3qVamoUi2BgR7Lv4,2801
14
14
  manifest_validator.py,sha256=JW0mETHDQCSMhodZ5sntr5KPU8T5LYv4IiVoAp4zOIY,8092
15
15
  new_command.py,sha256=gz1w8zMf-gFITtRQAc9G2WES2akuCwdH7dtuDu9TacU,5926
16
16
  package_registry.py,sha256=Rco15cvz-6lpCEDdCzwGZNCKtvVhlFIsEPy-WFAESMM,4233
17
- package_runner.py,sha256=yTWIlIXRBQq-FiuoS2qifnJHLajgDOnMv2wPPFL1HtI,5787
17
+ package_runner.py,sha256=loA7sq5mS2Zp3ablxuwPC_yO7Nl5XJXvKkqmvesfdEU,5872
18
18
  package_signing.py,sha256=ModMAzLk08rkI6zd8QKhyCH5BFbB-7dy8pwqKYatFQo,4579
19
19
  post_install_hint.py,sha256=wjMPCgRurZiGu6hv_se-XA36KqBCdeYdRCD1q7FrJzQ,4918
20
20
  progress_utils.py,sha256=ZH73QNLd5mI4h-JU0hSFR2OU8lesr2XteSZdmFD0bFA,5995
21
- publish_command.py,sha256=JujXKUxL2pI9tNGzDIx6dfBT4JQHm3iwynwERkMxPqs,15030
21
+ publish_command.py,sha256=_gzB-c7MyHBC-UpZAzJMzi04q4MZQbrADiqeGukyqZI,15117
22
22
  remote_registry.py,sha256=rPBIM_ESXUt0br5cARQ4YbzUoTda0G4e1KGzfyYMbpQ,8235
23
23
  smart_search.py,sha256=R5O5CDXqlQc-N-6R6D5k36_-arCB-wnKfmWr5zMYWUI,15741
24
24
  uninstall_command.py,sha256=rQYbZ-XMw8Xxw1fmgGdDaBQmgBGqyJ_rTBZkvEV5HV0,7066
25
25
  validate_command.py,sha256=idaujErzrwuZNT6DYCVTVwZqBDEEi1GTxIXAGBgKMKM,7623
26
- version.py,sha256=HMpCoGiz70L5cLdMxKi0P9aznyNNwM1EkIKiUNB6uqI,224
26
+ version.py,sha256=46ZTdc0E3ItKp5as6yzqxYuHORYq9Avf2p0YyJWZSP8,224
27
27
  version_command.py,sha256=DZuYWtohSeM5PJNYCflBy36_k0vex3tYV2C8ixEA9ho,4259
28
28
  version_manager.py,sha256=fpC7jxhIW1wZhJ9IkVwyqkgJN4mhBjUUbaLefXLDMiM,11423
29
29
  where_command.py,sha256=TcLoXLGmrPSHQuvlceVuuKBsfeadIwz-E0G_5okH14g,6420
@@ -67,8 +67,8 @@ clapp-packages-repo/packages/cloud-web-browser/requirements.txt,sha256=fJMjUewTq
67
67
  clapp-packages-repo/packages/test-app-2/README.md,sha256=AqVgCZ-cwXBuDHFoJdYkAHAuB6SjSjqXQrjhLu0q7cc,964
68
68
  clapp-packages-repo/packages/test-app-2/main.py,sha256=24IEuyHSuPWJp2-xYhInUNEWqeueGxAO3NBgHkEgLdQ,1562
69
69
  clapp-packages-repo/packages/test-app-2/manifest.json,sha256=dzxPwC-GebvxX9DodLAtdRB0WsZBm204uGGsHbpGhyY,286
70
- clapp_pm-1.0.43.data/data/version.json,sha256=A_PSGZ3epbLuRTfKChPcs488nJzMccbWweXLTsRxoDs,239
71
- clapp_pm-1.0.43.dist-info/licenses/LICENSE,sha256=_hryv9pKR6udRexceUYuoYCJGmYBz7e-vRuFWmm38UY,1075
70
+ clapp_pm-1.0.45.data/data/version.json,sha256=lLt-JkNpFRZ1n5lztAT246731CcoCFlHJbIO7Bm_axk,239
71
+ clapp_pm-1.0.45.dist-info/licenses/LICENSE,sha256=_hryv9pKR6udRexceUYuoYCJGmYBz7e-vRuFWmm38UY,1075
72
72
  docs/developer_guide.md,sha256=B-S141TSNy7e8T9KaV6Fr-ZAFhYqqgcwqWijjX0C2Xc,7336
73
73
  packages/cloud-calc/README.md,sha256=PBxWn01QykaHeezWf2AsD8P8cj66KKVpyuqvGadeUJo,2162
74
74
  packages/cloud-calc/main.py,sha256=9m0igRXqIZHa3KTM37pqg02HxU_tY-2j-GMJWfUauvk,14764
@@ -85,23 +85,11 @@ packages/cloud-web-browser/README.md,sha256=BeCjl7SyiA_sZJ94IFDFsGdeFiq9oSn-Kxbn
85
85
  packages/cloud-web-browser/cloud_browser.py,sha256=glDwlT340OBmA85Y4EqlhRY2ygEr_e7aO8POXNPT9pM,41100
86
86
  packages/cloud-web-browser/manifest.json,sha256=vyZ9c7Mg5PSuONT73mXws4-ORs1w00ePlOcAB3IZMzY,466
87
87
  packages/cloud-web-browser/requirements.txt,sha256=fJMjUewTqhrVMoy734e3uwA1AhVxG1u8Pet_D3TSdBY,73
88
- packages/pycloudos/README.md,sha256=JDe00hC5I3uCRY9l_wj8jl2d1nwo9wbvqMQo9o_AW08,7100
89
- packages/pycloudos/main.py,sha256=VXnlkrvT_m22-EYCPAdm46z1pDIuMFMG9HLv8K2Q86I,5766
90
- packages/pycloudos/manifest.json,sha256=jjivrfRUlo2ipI_QFSLrgAM9VdlhwPB2mTJCEKIDP98,260
91
- packages/pycloudos/requirements-dev.txt,sha256=D9r0n97UiKI2WMGn3e1X3QbiuBtCl7liTqcqZIfPE-M,694
92
- packages/pycloudos/requirements.txt,sha256=iBip529tp83ajHyc8KqMu-_Slb1cm0axA-prNGv28Rc,920
93
- packages/pycloudos/setup_deps.py,sha256=PwUEtxhI5GraHyijk-MzprW8YuZ7WW2jPNJfToneQ_U,15704
88
+ packages/luaozgur-moba/README.md,sha256=2RNl9ktItig8oyJ-5zlGJKZ2VmXChm_3nQ-jaTrrQZ8,4748
89
+ packages/luaozgur-moba/manifest.json,sha256=BgWmBivindydMZ30sGZ9YWYKnpTCmjDuTSNVZMTf4zg,195
94
90
  packages/pycloudos/pycloud_fs/home/Desktop/test_desktop_file.txt,sha256=LvjhwaBxBTeku1o2WR0h7ZC279Kt8QAziSb38mugFn4,310
95
91
  packages/pycloudos/pycloud_fs/home/default/Desktop/test_dosya.txt,sha256=tf2u7NK3XncTupFd2s6lS36KL2L-bFiyCU-QmfEOFsc,26
96
92
  packages/pycloudos/pycloud_fs/home/default/Desktop/test_script.py,sha256=tWTm9LKQvOm-OFfaTYFmFqHmpC0T-febz_Tqxq2Ip08,273
97
- packages/pycloudos/rain/__init__.py,sha256=u35vfNWqD-kBA9Mt2oVj33JUTX32_AABchnz215WTPo,139
98
- packages/pycloudos/rain/dock.py,sha256=DVeVuiaD9iarIFbUMs1KmjCBCx9q5k-5Eud1WzUtvRI,28000
99
- packages/pycloudos/rain/flet_html_widgets.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- packages/pycloudos/rain/theme.py,sha256=hVJuVqr19UpDcjc6Pit_-3yhGmEHRdW6IlcugFe0hHQ,31782
101
- packages/pycloudos/rain/ui.py,sha256=EDE4QeQ3Xf589l4TpFI9FglVctXh0nx4dvCRrpnLnMw,14492
102
- packages/pycloudos/rain/wallpaper.py,sha256=mCXF40K0HaKXUOM7Bx3VP2SOe-WY_MsvHUJSDuoNtm8,31075
103
- packages/pycloudos/rain/widgets.py,sha256=UQamzv7vmmfRSeoKr7hFD4uNjRNz_2oeWlAPQeyImE4,23775
104
- packages/pycloudos/rain/windowmanager.py,sha256=vPPDCi8cywSOGXSVuV2LY5JrwEIuJzHpKMUl3YfEGbM,22206
105
93
  packages/test-app-2/README.md,sha256=AqVgCZ-cwXBuDHFoJdYkAHAuB6SjSjqXQrjhLu0q7cc,964
106
94
  packages/test-app-2/main.py,sha256=24IEuyHSuPWJp2-xYhInUNEWqeueGxAO3NBgHkEgLdQ,1562
107
95
  packages/test-app-2/manifest.json,sha256=dzxPwC-GebvxX9DodLAtdRB0WsZBm204uGGsHbpGhyY,286
@@ -136,8 +124,8 @@ test-app/packages/test-app/manifest.json,sha256=_oJaNcbc7RINIQZ8ivzp3I75hUU2pth1
136
124
  test-app-2/README.md,sha256=AqVgCZ-cwXBuDHFoJdYkAHAuB6SjSjqXQrjhLu0q7cc,964
137
125
  test-app-2/main.py,sha256=24IEuyHSuPWJp2-xYhInUNEWqeueGxAO3NBgHkEgLdQ,1562
138
126
  test-app-2/manifest.json,sha256=dzxPwC-GebvxX9DodLAtdRB0WsZBm204uGGsHbpGhyY,286
139
- clapp_pm-1.0.43.dist-info/METADATA,sha256=WDXYI7yajdZZtHdOcmpTPslTBgrr51VUflG8FSjLFOA,3983
140
- clapp_pm-1.0.43.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
141
- clapp_pm-1.0.43.dist-info/entry_points.txt,sha256=7j-3pQVpQfnaVzUV83g7zlCA30ePlnXkhHLAGGz9xrQ,36
142
- clapp_pm-1.0.43.dist-info/top_level.txt,sha256=-nbfxZD1zt1LMxzElOZyNhKpdwHhZD-d5ZWrwIArCtE,495
143
- clapp_pm-1.0.43.dist-info/RECORD,,
127
+ clapp_pm-1.0.45.dist-info/METADATA,sha256=DMzMD3fajsMthT4hJgasuYBRHW0ewSihhKKOKoUd4MQ,3983
128
+ clapp_pm-1.0.45.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
129
+ clapp_pm-1.0.45.dist-info/entry_points.txt,sha256=7j-3pQVpQfnaVzUV83g7zlCA30ePlnXkhHLAGGz9xrQ,36
130
+ clapp_pm-1.0.45.dist-info/top_level.txt,sha256=-nbfxZD1zt1LMxzElOZyNhKpdwHhZD-d5ZWrwIArCtE,495
131
+ clapp_pm-1.0.45.dist-info/RECORD,,
package_runner.py CHANGED
@@ -47,6 +47,7 @@ class LanguageRunner:
47
47
  LANGUAGE_RUNNERS: Dict[str, LanguageRunner] = {
48
48
  'python': LanguageRunner('Python', 'python', '.py'),
49
49
  'lua': LanguageRunner('Lua', 'lua', '.lua'),
50
+ 'love2d': LanguageRunner('Love2D', 'love', '.lua'), # Love2D için özel runner
50
51
  'dart': LanguageRunner('Dart', 'dart', '.dart'),
51
52
  'go': LanguageRunner('Go', 'go', '.go'),
52
53
  'rust': LanguageRunner('Rust', 'cargo', '.rs'),
@@ -0,0 +1,159 @@
1
+ # Lua Özgür MOBA
2
+
3
+ League of Legends benzeri bir MOBA oyunu, Lua dili ve LÖVE2D framework'ü ile geliştirilmiştir.
4
+
5
+ ## 🎮 Oyun Özellikleri
6
+
7
+ - **20 Farklı Karakter**: 5 kategoriye ayrılmış karakterler
8
+ - 🧙‍♂️ **Büyücüler**: Yüksek hasar, düşük can
9
+ - ⚔️ **Savaşçılar**: Dengeli hasar ve can
10
+ - 🏹 **Nişancılar**: Uzun mesafe, yüksek hasar
11
+ - 🛡️ **Destekler**: Düşük hasar, yardımcı yetenekler
12
+ - 🛡️ **Tanklar**: Düşük hasar, yüksek can ve savunma
13
+
14
+ - **3 Şeritli Harita**: Üst, Orta, Alt şeritler
15
+ - **Kule Sistemi**: Her şeritte 6 kule (3'er tane her takım için)
16
+ - **Minion Sistemi**: Otomatik spawn eden minionlar
17
+ - **Savaş Sistemi**: Otomatik saldırı ve hasar hesaplama
18
+ - **Görsel Efektler**: Hasar göstergeleri ve animasyonlar
19
+
20
+ ## 🚀 Kurulum
21
+
22
+ ### Gereksinimler
23
+ - [LÖVE2D](https://love2d.org/) (0.11.0 veya üzeri)
24
+
25
+ ### Kurulum Adımları
26
+
27
+ 1. **LÖVE2D'yi indirin ve kurun**
28
+ ```bash
29
+ # macOS için (Homebrew ile)
30
+ brew install love
31
+
32
+ # Windows için
33
+ # https://love2d.org/ adresinden indirin
34
+
35
+ # Linux için
36
+ sudo apt-get install love
37
+ ```
38
+
39
+ 2. **Projeyi çalıştırın**
40
+ ```bash
41
+ # Proje dizininde
42
+ love .
43
+
44
+ # Veya
45
+ love /path/to/luaozgur
46
+ ```
47
+
48
+ ## 🎯 Oynanış
49
+
50
+ ### Kontroller
51
+ - **Sol Tık**: Karakter seç / Hareket et
52
+ - **ESC**: Menüye dön
53
+ - **ENTER**: Oyunu başlat
54
+
55
+ ### Oyun Kuralları
56
+ 1. **Amaç**: Düşman kulelerini yıkarak üslerine ulaşmak
57
+ 2. **Şeritler**: 3 farklı şerit (Üst, Orta, Alt)
58
+ 3. **Minionlar**: Her 30 saniyede otomatik spawn olur
59
+ 4. **Savaş**: Karakterler otomatik olarak düşmanlara saldırır
60
+ 5. **Kazanma**: Tüm düşman kulelerini yıkan takım kazanır
61
+
62
+ ### Karakter Seçimi
63
+ - Ana menüden "Karakter Seç" butonuna tıklayın
64
+ - 20 farklı karakterden birini seçin
65
+ - Takımınızı belirleyin (Mavi/Kırmızı)
66
+ - "Oyunu Başlat" ile oyuna başlayın
67
+
68
+ ## 🏗️ Proje Yapısı
69
+
70
+ ```
71
+ luaozgur/
72
+ ├── main.lua # Ana oyun dosyası
73
+ ├── game.lua # Oyun mantığı
74
+ ├── menu.lua # Menü sistemi
75
+ ├── characters.lua # Karakter tanımları
76
+ ├── map.lua # Harita ve kule sistemi
77
+ └── README.md # Bu dosya
78
+ ```
79
+
80
+ ## 🎨 Karakter Kategorileri
81
+
82
+ ### Büyücüler (4 karakter)
83
+ - **Ateş Büyücüsü**: Yüksek hasar, ateş temalı yetenekler
84
+ - **Buz Büyücüsü**: Kontrol odaklı, donma efektleri
85
+ - **Şimşek Büyücüsü**: Hızlı saldırılar, elektrik hasarı
86
+ - **Karanlık Büyücü**: Gölge saldırıları, karanlık büyüler
87
+
88
+ ### Savaşçılar (4 karakter)
89
+ - **Kılıç Ustası**: Dengeli savaşçı, keskin vuruşlar
90
+ - **Çift Kılıçlı**: Hızlı saldırılar, çifte vuruş
91
+ - **Balta Savaşçısı**: Güçlü vuruşlar, ağır hasar
92
+ - **Mızrak Savaşçısı**: Uzun mesafe, savunma odaklı
93
+
94
+ ### Nişancılar (4 karakter)
95
+ - **Okçu**: Temel nişancı, hızlı ok atışları
96
+ - **Keskin Nişancı**: Uzun mesafe, kritik vuruşlar
97
+ - **Çapraz Yay**: Mobil nişancı, çapraz atışlar
98
+ - **Tüfekçi**: Hızlı ateş, mermi yağmuru
99
+
100
+ ### Destekler (4 karakter)
101
+ - **Şifa Büyücüsü**: İyileştirme, koruyucu kalkanlar
102
+ - **Koruyucu**: Savunma odaklı, güçlendirme
103
+ - **Kontrol Büyücüsü**: Yavaşlatma, köleleştirme
104
+ - **Taktik Uzmanı**: Grup koordinasyonu, strateji
105
+
106
+ ### Tanklar (4 karakter)
107
+ - **Demir Dev**: Yüksek savunma, demir yumruk
108
+ - **Kaya Savaşçısı**: Taş temalı, sertleşme
109
+ - **Zırh Savaşçısı**: Ağır zırh, savunma modu
110
+ - **Golem**: En yüksek can, yıkıcı saldırılar
111
+
112
+ ## 🔧 Geliştirme
113
+
114
+ ### Yeni Karakter Ekleme
115
+ `characters.lua` dosyasında `Characters.DATA` tablosuna yeni karakter ekleyin:
116
+
117
+ ```lua
118
+ {
119
+ name = "Yeni Karakter",
120
+ category = Characters.CATEGORIES.MAGE, -- veya diğer kategoriler
121
+ health = 500,
122
+ mana = 800,
123
+ attack = 60,
124
+ defense = 30,
125
+ speed = 1.2,
126
+ range = 150,
127
+ abilities = {"Yetenek 1", "Yetenek 2", "Yetenek 3"},
128
+ color = {1, 0.3, 0.3} -- RGB renk değerleri
129
+ }
130
+ ```
131
+
132
+ ### Yeni Harita Ekleme
133
+ `map.lua` dosyasında `GameMap:setupTowers()` fonksiyonunu düzenleyin.
134
+
135
+ ## 🐛 Bilinen Sorunlar
136
+
137
+ - Karakterler bazen birbirine takılabilir
138
+ - Minion AI basit seviyededir
139
+ - Görsel efektler sınırlıdır
140
+
141
+ ## 📝 Lisans
142
+
143
+ Bu proje eğitim amaçlı geliştirilmiştir. LÖVE2D framework'ü MIT lisansı altındadır.
144
+
145
+ ## 🤝 Katkıda Bulunma
146
+
147
+ 1. Fork yapın
148
+ 2. Feature branch oluşturun (`git checkout -b feature/yeni-ozellik`)
149
+ 3. Commit yapın (`git commit -am 'Yeni özellik eklendi'`)
150
+ 4. Push yapın (`git push origin feature/yeni-ozellik`)
151
+ 5. Pull Request oluşturun
152
+
153
+ ## 📞 İletişim
154
+
155
+ Sorularınız için issue açabilir veya iletişime geçebilirsiniz.
156
+
157
+ ---
158
+
159
+ **Lua Özgür MOBA** - League of Legends benzeri MOBA oyunu 🎮
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "luaozgur-moba",
3
+ "version": "1.0.0",
4
+ "language": "lua",
5
+ "entry": "main.lua",
6
+ "description": "League of Legends benzeri MOBA oyunu",
7
+ "dependencies": ["love2d"]
8
+ }
publish_command.py CHANGED
@@ -79,7 +79,10 @@ def copy_app_to_packages(source_folder: str, app_name: str) -> Tuple[bool, str]:
79
79
  shutil.rmtree(target_path)
80
80
  print(f"⚠️ Mevcut {app_name} klasörü silindi")
81
81
 
82
- # Hariç tutulacak dosya ve klasörler
82
+ # Önce tüm klasörü kopyala
83
+ shutil.copytree(source_folder, target_path)
84
+
85
+ # Gereksiz dosya ve klasörleri sil
83
86
  exclude_patterns = [
84
87
  '.venv', '__pycache__', '.git', '.gitignore', '.DS_Store',
85
88
  '*.pyc', '*.pyo', '*.pyd', '*.so', '*.dll', '*.dylib',
@@ -89,45 +92,44 @@ def copy_app_to_packages(source_folder: str, app_name: str) -> Tuple[bool, str]:
89
92
  'packages' # packages klasörünü de hariç tut
90
93
  ]
91
94
 
92
- def should_exclude(path):
93
- """Dosya/klasörün hariç tutulup tutulmayacağını kontrol eder"""
94
- basename = os.path.basename(path)
95
- rel_path = os.path.relpath(path, source_folder)
96
-
97
- for pattern in exclude_patterns:
98
- if pattern.startswith('*'):
99
- # *.ext formatındaki pattern'ler
100
- if basename.endswith(pattern[1:]):
101
- return True
102
- else:
103
- # Tam eşleşme
104
- if basename == pattern or rel_path == pattern:
105
- return True
106
- return False
107
-
108
- # Önce hedef klasörü oluştur
109
- os.makedirs(target_path, exist_ok=True)
110
-
111
- # Dosyaları tek tek kopyala (hariç tutma ile)
112
- for root, dirs, files in os.walk(source_folder):
113
- # Dizinleri filtrele
114
- dirs[:] = [d for d in dirs if not should_exclude(os.path.join(root, d))]
115
-
116
- # Hedef dizini oluştur
117
- rel_root = os.path.relpath(root, source_folder)
118
- target_root = os.path.join(target_path, rel_root)
119
- os.makedirs(target_root, exist_ok=True)
120
-
121
- # Dosyaları kopyala
122
- for file in files:
123
- source_file = os.path.join(root, file)
95
+ def remove_excluded_files(path):
96
+ """Gereksiz dosya ve klasörleri sil"""
97
+ for root, dirs, files in os.walk(path, topdown=False):
98
+ # Dosyaları sil
99
+ for file in files:
100
+ file_path = os.path.join(root, file)
101
+ basename = os.path.basename(file_path)
102
+
103
+ for pattern in exclude_patterns:
104
+ if pattern.startswith('*'):
105
+ if basename.endswith(pattern[1:]):
106
+ try:
107
+ os.remove(file_path)
108
+ break
109
+ except:
110
+ pass
111
+ else:
112
+ if basename == pattern:
113
+ try:
114
+ os.remove(file_path)
115
+ break
116
+ except:
117
+ pass
124
118
 
125
- # Dosyayı hariç tut
126
- if should_exclude(source_file):
127
- continue
128
-
129
- target_file = os.path.join(target_root, file)
130
- shutil.copy2(source_file, target_file)
119
+ # Dizinleri sil
120
+ for dir_name in dirs:
121
+ dir_path = os.path.join(root, dir_name)
122
+
123
+ for pattern in exclude_patterns:
124
+ if dir_name == pattern:
125
+ try:
126
+ shutil.rmtree(dir_path)
127
+ break
128
+ except:
129
+ pass
130
+
131
+ # Gereksiz dosyaları sil
132
+ remove_excluded_files(target_path)
131
133
 
132
134
  print(f"✅ {app_name} -> packages/{app_name} kopyalandı")
133
135
 
version.py CHANGED
@@ -2,7 +2,7 @@
2
2
  Version information for clapp-pm package.
3
3
  """
4
4
 
5
- __version__ = "1.0.43"
5
+ __version__ = "1.0.45"
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,279 +0,0 @@
1
- # 🌩️ PyCloud OS
2
-
3
- Modern, Python tabanlı, macOS benzeri işletim sistemi. Modüler mimarisi, güçlü GUI sistemi ve kapsamlı uygulama ekosistemine sahiptir.
4
-
5
- ## ✨ Özellikler
6
-
7
- ### 🖥️ Rain UI System
8
- - **Dock**: Uygulamalara hızlı erişim, live preview, sürükle-bırak desteği
9
- - **Topbar**: Sistem kontrolleri, bildirimler, kullanıcı menüsü
10
- - **Desktop**: Özelleştirilebilir masaüstü, wallpaper yönetimi
11
- - **Context Menu**: Dosya ve uygulama işlemleri için sağ tık menüleri
12
-
13
- ### 📱 Core Applications
14
- - **Cloud Files**: Dosya yöneticisi (Finder benzeri)
15
- - **Cloud Terminal**: Modern terminal uygulaması
16
- - **Cloud Browser**: WebEngine tabanlı web tarayıcısı
17
- - **Cloud PyIDE**: Python geliştirme ortamı
18
- - **Cloud Settings**: Sistem ayarları ve konfigürasyon
19
- - **Cloud Task Manager**: Sistem izleme ve görev yöneticisi
20
-
21
- ### 📦 Clapp Package System
22
- - **Clapp Store**: Uygulama mağazası ve paket yöneticisi
23
- - **App Explorer**: Kurulu uygulamaları keşfetme ve yönetme
24
- - **.app Format**: Standart uygulama paket formatı
25
-
26
- ### 🛠️ Developer Features
27
- - **Modüler Mimari**: Bağımsız core modüller
28
- - **Event System**: Modüller arası iletişim
29
- - **Plugin Support**: Genişletilebilir uygulama sistemi
30
- - **Theme System**: Özelleştirilebilir görünüm
31
-
32
- ## 🚀 Kurulum
33
-
34
- ### Gereksinimler
35
-
36
- - **Python 3.8+**
37
- - **PyQt6** (GUI için)
38
- - **psutil** (sistem izleme için)
39
-
40
- ### Otomatik Kurulum
41
-
42
- ```bash
43
- # Repository'yi klonlayın
44
- git clone https://github.com/your-username/pycloud-os.git
45
- cd pycloud-os
46
-
47
- # Bağımlılıkları otomatik kontrol et ve yükle
48
- python setup_deps.py
49
-
50
- # PyCloud OS'i başlat
51
- python main.py
52
- ```
53
-
54
- ### Manuel Kurulum
55
-
56
- ```bash
57
- # Temel bağımlılıkları yükle
58
- pip install -r requirements.txt
59
-
60
- # Geliştirme bağımlılıkları (opsiyonel)
61
- pip install -r requirements-dev.txt
62
- ```
63
-
64
- ### Bağımlılık Listesi
65
-
66
- #### Gerekli Paketler
67
- - `PyQt6>=6.4.0` - GUI framework
68
- - `PyQt6-WebEngine>=6.4.0` - Web browser desteği
69
- - `psutil>=5.9.0` - Sistem izleme
70
- - `requests>=2.28.0` - HTTP istekleri
71
- - `Pillow>=9.0.0` - Resim işleme
72
- - `pyserial>=3.5` - Seri port desteği
73
- - `Flask>=2.2.0` - PyIDE şablonları için
74
-
75
- #### Standart Python Kütüphaneleri
76
- - `json`, `os`, `sys`, `pathlib`, `typing`
77
- - `datetime`, `logging`, `threading`, `time`
78
- - `subprocess`, `shutil`, `zipfile`, `urllib`
79
- - `hashlib`, `uuid`, `enum`, `dataclasses`
80
-
81
- ## 🎯 Kullanım
82
-
83
- ### İlk Başlatma
84
-
85
- 1. **Sistem Başlatma**:
86
- ```bash
87
- python main.py
88
- ```
89
-
90
- 2. **Kullanıcı Girişi**: Demo kullanıcısı ile giriş yapın
91
-
92
- 3. **Uygulamaları Keşfetme**: Topbar'daki "Uygulamalar" menüsünden
93
-
94
- ### Uygulama Yönetimi
95
-
96
- #### Clapp Komut Satırı
97
- ```bash
98
- # Mevcut uygulamaları listele
99
- python -m clapp.core list
100
-
101
- # Yeni uygulama yükle
102
- python -m clapp.core install <app_package>
103
-
104
- # Uygulama kaldır
105
- python -m clapp.core remove <app_id>
106
-
107
- # Sistem durumu kontrol et
108
- python -m clapp.core doctor
109
- ```
110
-
111
- #### App Store UI
112
- - Topbar → "☁️ PyCloud" → "App Store"
113
- - Kategori bazlı uygulama gezinme
114
- - Tek tıkla kurulum ve kaldırma
115
-
116
- ### Geliştirme
117
-
118
- #### Yeni Uygulama Oluşturma
119
-
120
- 1. **Uygulama Klasörü Oluşturun**:
121
- ```
122
- apps/my_app/
123
- ├── app.json
124
- ├── main.py
125
- ├── icon.png
126
- └── README.md
127
- ```
128
-
129
- 2. **app.json Yapılandırması**:
130
- ```json
131
- {
132
- "id": "my_app",
133
- "name": "My Application",
134
- "version": "1.0.0",
135
- "description": "My awesome app for PyCloud OS",
136
- "entry": "main.py",
137
- "exec": "python3 main.py",
138
- "requires": ["python3", "pyqt6"],
139
- "category": "Utilities"
140
- }
141
- ```
142
-
143
- 3. **main.py Launcher**:
144
- ```python
145
- import sys
146
- from pathlib import Path
147
- sys.path.insert(0, str(Path(__file__).parent.parent.parent))
148
-
149
- from my_app_module import run_app
150
-
151
- if __name__ == "__main__":
152
- sys.exit(run_app())
153
- ```
154
-
155
- #### Core Modül Geliştirme
156
-
157
- ```python
158
- # core/my_module.py
159
- class MyModule:
160
- def __init__(self, kernel):
161
- self.kernel = kernel
162
- self.logger = logging.getLogger("MyModule")
163
-
164
- def initialize(self):
165
- # Modül başlatma
166
- pass
167
-
168
- def shutdown(self):
169
- # Temizlik işlemleri
170
- pass
171
-
172
- def init_my_module(kernel):
173
- return MyModule(kernel)
174
- ```
175
-
176
- ## 🗂️ Proje Yapısı
177
-
178
- ```
179
- pycloud-os/
180
- ├── core/ # Çekirdek modüller
181
- │ ├── kernel.py # Ana çekirdek
182
- │ ├── fs/ # Dosya sistemi
183
- │ ├── users.py # Kullanıcı yönetimi
184
- │ ├── process.py # Süreç yönetimi
185
- │ └── ...
186
- ├── rain/ # UI sistem bileşenleri
187
- │ ├── ui.py # Ana UI yöneticisi
188
- │ ├── desktop.py # Masaüstü
189
- │ ├── dock.py # Dock
190
- │ ├── topbar.py # Üst çubuk
191
- │ └── ...
192
- ├── cloud/ # Core uygulamalar
193
- │ ├── files.py # Dosya yöneticisi
194
- │ ├── terminal.py # Terminal
195
- │ ├── browser.py # Web tarayıcısı
196
- │ └── ...
197
- ├── clapp/ # Paket yönetim sistemi
198
- │ ├── core.py # Paket yöneticisi
199
- │ ├── repo.py # Repository yönetimi
200
- │ └── ui.py # App Store UI
201
- ├── apps/ # .app uygulamaları
202
- │ ├── cloud_files/
203
- │ ├── cloud_terminal/
204
- │ └── ...
205
- ├── system/ # Sistem dosyaları
206
- │ ├── config/ # Yapılandırma
207
- │ ├── wallpapers/ # Duvar kağıtları
208
- │ └── themes/ # Temalar
209
- ├── requirements.txt # Production bağımlılıkları
210
- ├── requirements-dev.txt # Development bağımlılıkları
211
- ├── setup_deps.py # Bağımlılık kurulum scripti
212
- └── main.py # Ana başlatıcı
213
- ```
214
-
215
- ## 🧪 Testing
216
-
217
- ```bash
218
- # Unit testleri çalıştır
219
- python -m pytest
220
-
221
- # Coverage raporu
222
- python -m pytest --cov=core --cov=rain --cov=cloud
223
-
224
- # Linting
225
- python -m flake8 core/ rain/ cloud/
226
- python -m black --check .
227
- ```
228
-
229
- ## 📚 Dokümantasyon
230
-
231
- ```bash
232
- # Sphinx dokümantasyonu oluştur
233
- cd docs/
234
- make html
235
-
236
- # Dokümantasyonu görüntüle
237
- open _build/html/index.html
238
- ```
239
-
240
- ## 🤝 Katkıda Bulunma
241
-
242
- 1. Repository'yi fork edin
243
- 2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
244
- 3. Değişikliklerinizi commit edin (`git commit -m 'Add amazing feature'`)
245
- 4. Branch'inizi push edin (`git push origin feature/amazing-feature`)
246
- 5. Pull Request oluşturun
247
-
248
- ### Development Setup
249
-
250
- ```bash
251
- # Development bağımlılıklarını yükle
252
- pip install -r requirements-dev.txt
253
-
254
- # Pre-commit hooks kur
255
- pre-commit install
256
-
257
- # Code formatting
258
- black .
259
- isort .
260
- ```
261
-
262
- ## 📄 Lisans
263
-
264
- Bu proje MIT lisansı altında lisanslanmıştır - detaylar için [LICENSE](LICENSE) dosyasına bakın.
265
-
266
- ## 🙏 Teşekkürler
267
-
268
- - **PyQt6**: Güçlü GUI framework
269
- - **Python Community**: Harika ecosystem
270
- - **macOS**: Design inspiration
271
-
272
- ## 📞 İletişim
273
-
274
- - **GitHub Issues**: Bug raporları ve feature istekleri
275
- - **Discussions**: Genel sorular ve tartışmalar
276
-
277
- ---
278
-
279
- **PyCloud OS** - Python ile modern işletim sistemi deneyimi 🌩️