clapp-pm 1.0.36__tar.gz → 1.0.38__tar.gz

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 (137) hide show
  1. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/PKG-INFO +1 -1
  2. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/publish_command.py +51 -26
  3. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/version.json +1 -1
  4. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/version.py +1 -1
  5. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/CHANGELOG.md +0 -0
  6. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/GITHUB_SETUP.md +0 -0
  7. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/LICENSE +0 -0
  8. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/MANIFEST.in +0 -0
  9. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/PYPI_UPLOAD.md +0 -0
  10. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/README.md +0 -0
  11. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/advanced_test.py +0 -0
  12. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/apps/test-app/README.md +0 -0
  13. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/apps/test-app/main.py +0 -0
  14. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/apps/test-app/manifest.json +0 -0
  15. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/build_index.py +0 -0
  16. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/check_env.py +0 -0
  17. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/clapp_core.py +0 -0
  18. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/clean_command.py +0 -0
  19. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/cli_commands.py +0 -0
  20. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/dependency_resolver.py +0 -0
  21. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/doctor_command.py +0 -0
  22. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/info_command.py +0 -0
  23. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/install_command.py +0 -0
  24. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/installer.py +0 -0
  25. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/list_command.py +0 -0
  26. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/main.py +0 -0
  27. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/manifest_schema.py +0 -0
  28. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/manifest_validator.py +0 -0
  29. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/package_registry.py +0 -0
  30. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/package_runner.py +0 -0
  31. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/post_install_hint.py +0 -0
  32. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/publish_command.py +0 -0
  33. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/remote_registry.py +0 -0
  34. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/setup.py +0 -0
  35. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/system_test.py +0 -0
  36. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/uninstall_command.py +0 -0
  37. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/validate_command.py +0 -0
  38. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/version.py +0 -0
  39. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/version_command.py +0 -0
  40. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/backup_current/where_command.py +0 -0
  41. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/build_index.py +0 -0
  42. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/cache_manager.py +0 -0
  43. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/check_env.py +0 -0
  44. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/README.md +0 -0
  45. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/index.json +0 -0
  46. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-finder/README.md +0 -0
  47. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-finder/main.py +0 -0
  48. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-finder/manifest.json +0 -0
  49. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-finder/requirements.txt +0 -0
  50. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-web-browser/README.md +0 -0
  51. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-web-browser/cloud_browser.py +0 -0
  52. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-web-browser/manifest.json +0 -0
  53. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/cloud-web-browser/requirements.txt +0 -0
  54. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/test-app-2/README.md +0 -0
  55. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/test-app-2/main.py +0 -0
  56. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages/test-app-2/manifest.json +0 -0
  57. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp-packages-repo/packages.json +0 -0
  58. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp_core.py +0 -0
  59. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp_pm.egg-info/SOURCES.txt +0 -0
  60. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp_pm.egg-info/dependency_links.txt +0 -0
  61. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp_pm.egg-info/entry_points.txt +0 -0
  62. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp_pm.egg-info/requires.txt +0 -0
  63. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clapp_pm.egg-info/top_level.txt +0 -0
  64. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/clean_command.py +0 -0
  65. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/cli_commands.py +0 -0
  66. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/dependency_resolver.py +0 -0
  67. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/deploy.py +0 -0
  68. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/docs/developer_guide.md +0 -0
  69. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/doctor_command.py +0 -0
  70. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/index.json +0 -0
  71. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/info_command.py +0 -0
  72. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/install_command.py +0 -0
  73. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/installer.py +0 -0
  74. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/list_command.py +0 -0
  75. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/main.py +0 -0
  76. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/manifest_schema.py +0 -0
  77. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/manifest_validator.py +0 -0
  78. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/new_command.py +0 -0
  79. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/package_registry.py +0 -0
  80. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/package_runner.py +0 -0
  81. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/package_signing.py +0 -0
  82. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-finder/README.md +0 -0
  83. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-finder/main.py +0 -0
  84. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-finder/manifest.json +0 -0
  85. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-finder/requirements.txt +0 -0
  86. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-web-browser/README.md +0 -0
  87. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-web-browser/cloud_browser.py +0 -0
  88. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-web-browser/manifest.json +0 -0
  89. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/cloud-web-browser/requirements.txt +0 -0
  90. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/test-app-2/README.md +0 -0
  91. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/test-app-2/main.py +0 -0
  92. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/packages/test-app-2/manifest.json +0 -0
  93. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/post_install_hint.py +0 -0
  94. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/progress_utils.py +0 -0
  95. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/pyproject.toml +0 -0
  96. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/remote_registry.py +0 -0
  97. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/requirements.txt +0 -0
  98. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/setup.cfg +0 -0
  99. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/setup.py +0 -0
  100. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/smart_search.py +0 -0
  101. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/system_test.py +0 -0
  102. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/templates/dart/manifest.json +0 -0
  103. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/templates/lua/manifest.json +0 -0
  104. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/templates/python/README.md +0 -0
  105. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/templates/python/main.py +0 -0
  106. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/templates/python/manifest.json +0 -0
  107. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/README.md +0 -0
  108. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/README.md +0 -0
  109. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/index.json +0 -0
  110. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-finder/README.md +0 -0
  111. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-finder/main.py +0 -0
  112. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-finder/manifest.json +0 -0
  113. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-finder/requirements.txt +0 -0
  114. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-web-browser/README.md +0 -0
  115. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-web-browser/cloud_browser.py +0 -0
  116. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-web-browser/manifest.json +0 -0
  117. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/cloud-web-browser/requirements.txt +0 -0
  118. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/test-app/README.md +0 -0
  119. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/test-app/main.py +0 -0
  120. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/test-app/manifest.json +0 -0
  121. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/test-app-2/README.md +0 -0
  122. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/test-app-2/main.py +0 -0
  123. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages/test-app-2/manifest.json +0 -0
  124. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/clapp-packages-repo/packages.json +0 -0
  125. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/main.py +0 -0
  126. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/manifest.json +0 -0
  127. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/packages/test-app/README.md +0 -0
  128. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/packages/test-app/main.py +0 -0
  129. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app/packages/test-app/manifest.json +0 -0
  130. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app-2/README.md +0 -0
  131. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app-2/main.py +0 -0
  132. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/test-app-2/manifest.json +0 -0
  133. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/uninstall_command.py +0 -0
  134. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/validate_command.py +0 -0
  135. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/version_command.py +0 -0
  136. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/version_manager.py +0 -0
  137. {clapp_pm-1.0.36 → clapp_pm-1.0.38}/where_command.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clapp-pm
3
- Version: 1.0.36
3
+ Version: 1.0.38
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ş
@@ -134,7 +134,10 @@ def copy_app_to_packages(source_folder: str, app_name: str) -> Tuple[bool, str]:
134
134
  def find_clapp_root_with_build_index():
135
135
  """
136
136
  Ana clapp dizinini ve build_index.py'yi bulur.
137
- clapp komutunun çalıştırıldığı path'den başlayarak arar.
137
+ 1. which clapp konumundan arama
138
+ 2. pyenv which clapp konumundan arama
139
+ 3. Kesin konum kontrolü
140
+ 4. Fallback olarak mevcut çalışma dizininden arama
138
141
  Returns: (clapp_root, build_index_path) veya (None, None)
139
142
  """
140
143
  import os
@@ -144,27 +147,12 @@ def find_clapp_root_with_build_index():
144
147
  print(f"🔍 Mevcut çalışma dizini: {os.getcwd()}")
145
148
  print(f"🔍 publish_command.py konumu: {os.path.dirname(os.path.abspath(__file__))}")
146
149
 
147
- # 1. clapp komutunun konumunu bul ve oradan arama yap
150
+ # 1. which clapp konumundan arama
148
151
  try:
149
- # clapp komutunun tam yolunu bul
150
- if os.name == 'nt': # Windows
151
- clapp_cmd = 'clapp.exe'
152
- else: # Unix/Linux/macOS
153
- clapp_cmd = 'clapp'
154
-
155
- # Önce which clapp dene
156
- result = subprocess.run(['which', clapp_cmd], capture_output=True, text=True)
152
+ result = subprocess.run(['which', 'clapp'], capture_output=True, text=True)
157
153
  if result.returncode == 0:
158
154
  clapp_path = result.stdout.strip()
159
- print(f"🔍 1. clapp komutu bulundu: {clapp_path}")
160
-
161
- # Eğer pyenv shim ise, gerçek yolu bul
162
- if 'pyenv/shims' in clapp_path:
163
- print("🔍 pyenv shim tespit edildi, gerçek yolu arıyor...")
164
- pyenv_result = subprocess.run(['pyenv', 'which', clapp_cmd], capture_output=True, text=True)
165
- if pyenv_result.returncode == 0:
166
- clapp_path = pyenv_result.stdout.strip()
167
- print(f"🔍 Gerçek clapp yolu: {clapp_path}")
155
+ print(f"🔍 1. which clapp sonucu: {clapp_path}")
168
156
 
169
157
  # clapp komutunun bulunduğu dizinden başlayarak yukarı çık
170
158
  clapp_dir = os.path.dirname(clapp_path)
@@ -175,17 +163,45 @@ def find_clapp_root_with_build_index():
175
163
  build_index_path = os.path.join(search_dir, "build_index.py")
176
164
  print(f" Kontrol ediliyor: {build_index_path}")
177
165
  if os.path.exists(build_index_path):
178
- print(f"✅ build_index.py clapp komutu yanında bulundu: {build_index_path}")
166
+ print(f"✅ build_index.py which clapp yanında bulundu: {build_index_path}")
179
167
  return search_dir, build_index_path
180
168
  search_dir = os.path.dirname(search_dir)
181
- else:
182
- print(f"⚠️ clapp komutu bulunamadı (which {clapp_cmd} başarısız)")
183
169
  except Exception as e:
184
- print(f"⚠️ clapp komutu aranırken hata: {e}")
170
+ print(f"⚠️ which clapp hatası: {e}")
185
171
 
186
- # 2. Fallback: Mevcut çalışma dizininden başlayarak yukarı çık
172
+ # 2. pyenv which clapp konumundan arama
173
+ try:
174
+ result = subprocess.run(['pyenv', 'which', 'clapp'], capture_output=True, text=True)
175
+ if result.returncode == 0:
176
+ clapp_path = result.stdout.strip()
177
+ print(f"🔍 2. pyenv which clapp sonucu: {clapp_path}")
178
+
179
+ # clapp komutunun bulunduğu dizinden başlayarak yukarı çık
180
+ clapp_dir = os.path.dirname(clapp_path)
181
+ search_dir = clapp_dir
182
+
183
+ print(f"🔍 2. Arama: {clapp_dir} dizininden başlıyor...")
184
+ while search_dir != os.path.dirname(search_dir): # Root'a ulaşana kadar
185
+ build_index_path = os.path.join(search_dir, "build_index.py")
186
+ print(f" Kontrol ediliyor: {build_index_path}")
187
+ if os.path.exists(build_index_path):
188
+ print(f"✅ build_index.py pyenv which clapp yanında bulundu: {build_index_path}")
189
+ return search_dir, build_index_path
190
+ search_dir = os.path.dirname(search_dir)
191
+ except Exception as e:
192
+ print(f"⚠️ pyenv which clapp hatası: {e}")
193
+
194
+ # 3. Kesin konum kontrolü
195
+ clapp_home = "/Users/melihburakmemis/Desktop/clapp"
196
+ build_index_path = os.path.join(clapp_home, "build_index.py")
197
+ print(f"🔍 3. Kesin konum kontrolü: {build_index_path}")
198
+ if os.path.exists(build_index_path):
199
+ print(f"✅ build_index.py kesin konumda bulundu: {build_index_path}")
200
+ return clapp_home, build_index_path
201
+
202
+ # 4. Fallback: Mevcut çalışma dizininden başlayarak yukarı çık
187
203
  search_dir = os.getcwd()
188
- print(f"🔍 2. Fallback arama: {search_dir} dizininden başlıyor...")
204
+ print(f"🔍 4. Fallback arama: {search_dir} dizininden başlıyor...")
189
205
  while search_dir != os.path.dirname(search_dir): # Root'a ulaşana kadar
190
206
  build_index_path = os.path.join(search_dir, "build_index.py")
191
207
  print(f" Kontrol ediliyor: {build_index_path}")
@@ -281,7 +297,16 @@ def push_to_clapp_packages_repo(app_name: str, app_version: str) -> Tuple[bool,
281
297
  subprocess.run(['git', 'commit', '-m', commit_message], check=True)
282
298
 
283
299
  # Push et
284
- subprocess.run(['git', 'push', 'origin', 'main'], check=True)
300
+ try:
301
+ # Önce pull yap
302
+ print("📥 Remote değişiklikleri çekiliyor...")
303
+ subprocess.run(['git', 'pull', 'origin', 'main'], check=True)
304
+ except subprocess.CalledProcessError:
305
+ print("⚠️ Pull başarısız, force push yapılıyor...")
306
+ subprocess.run(['git', 'push', 'origin', 'main', '--force'], check=True)
307
+ else:
308
+ # Normal push
309
+ subprocess.run(['git', 'push', 'origin', 'main'], check=True)
285
310
 
286
311
  # Ana dizine geri dön
287
312
  os.chdir("..")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "app_name": "clapp",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "author": "Melih Burak Memiş",
5
5
  "description": "Basit ve güçlü paket yöneticisi",
6
6
  "source": "https://github.com/melihburak/clapp",
@@ -2,7 +2,7 @@
2
2
  Version information for clapp-pm package.
3
3
  """
4
4
 
5
- __version__ = "1.0.36"
5
+ __version__ = "1.0.38"
6
6
  __author__ = "Melih Burak Memiş"
7
7
  __email__ = "mburakmemiscy@gmail.com"
8
8
  __description__ = "Lightweight cross-language app manager for Python and Lua"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes