Lightweight cross-language app manager for Python and Lua
Project description
🚀 clapp - Evrensel Çoklu Dil Uygulama Yöneticisi
clapp, herhangi bir programlama dilinde yazılmış uygulamaları tek komutla yükleyip çalıştırmanızı sağlayan, güçlü ve esnek bir CLI paket yöneticisidir.
✨ Özellikler
🌍 Evrensel Dil Desteği
- 30+ Programlama Dili: Python, JavaScript, Go, Rust, C/C++, Java, PHP, Ruby, Perl, Bash ve daha fazlası
- Otomatik Dil Tespiti: Dosya uzantısına göre otomatik tespit
- Shebang Desteği: Script dosyalarını otomatik tanıma
- Çoklu Dil Projeleri: Tek projede birden fazla dil desteği
🚀 Hızlı ve Kolay Kullanım
- Tek Komutla Kurulum:
clapp install app-name - Tek Komutla Çalıştırma:
clapp run app-name - Otomatik Bağımlılık Yönetimi: Gerekli araçları otomatik tespit
- Şablon Sistemi:
clapp newile hızlı proje oluşturma
🛠️ Geliştirici Araçları
- Manifest Doğrulama:
clapp validate - Paket Yayınlama:
clapp publish - Bağımlılık Kontrolü:
clapp dependency - Sistem Tanılaması:
clapp doctor - Akıllı Arama:
clapp search
🔒 Güvenlik ve Güvenilirlik
- Güvenli Çalıştırma: Sadece bilinen komutlar
- Manifest Doğrulama: JSON şema kontrolü
- Bağımlılık Çözümleme: Güvenli paket yönetimi
- Cache Yönetimi: Performans optimizasyonu
📦 Kurulum
PyPI'dan Kurulum
pip install clapp-pm
Geliştirici Kurulumu
git clone https://github.com/mburakmmm/clapp.git
cd clapp
pip install -e .
🎯 Hızlı Başlangıç
1. Uygulama Yükleme
# GitHub'dan uygulama yükle
clapp install hello-python
# Yerel dizinden yükle
clapp install ./my-app --local
2. Uygulama Çalıştırma
# Uygulamayı çalıştır
clapp run hello-python
# Evrensel dil desteği ile
clapp run my-c-app # C uygulaması otomatik derlenir ve çalıştırılır
3. Yeni Proje Oluşturma
# Mevcut şablonları listele
clapp new
# Python projesi oluştur
clapp new python my-app
# Evrensel proje oluştur
clapp new universal my-multi-app
4. Uygulama Yönetimi
# Yüklü uygulamaları listele
clapp list
# Uygulama bilgilerini göster
clapp info hello-python
# Uygulamayı güncelle
clapp update-apps hello-python
# Uygulamayı kaldır
clapp uninstall hello-python
🌍 Desteklenen Diller
Temel Diller
- Python (.py) - Python uygulamaları
- JavaScript (.js) - Node.js uygulamaları
- TypeScript (.ts) - TypeScript uygulamaları
- Lua (.lua) - Lua scriptleri
- Go (.go) - Go uygulamaları
- Rust (.rs) - Rust uygulamaları
Sistem Dilleri
- C (.c) - C uygulamaları
- C++ (.cpp) - C++ uygulamaları
- Java (.java) - Java uygulamaları
- C# (.cs) - .NET uygulamaları
- Swift (.swift) - Swift uygulamaları
- Kotlin (.kt) - Kotlin uygulamaları
Script Dilleri
- PHP (.php) - PHP uygulamaları
- Ruby (.rb) - Ruby uygulamaları
- Perl (.pl) - Perl scriptleri
- Bash (.sh) - Shell scriptleri
- PowerShell (.ps1) - PowerShell scriptleri
- R (.r) - R scriptleri
Özel Diller
- Dart (.dart) - Dart uygulamaları
- Scala (.scala) - Scala uygulamaları
- Clojure (.clj) - Clojure uygulamaları
- Haskell (.hs) - Haskell uygulamaları
- OCaml (.ml) - OCaml uygulamaları
- Fortran (.f90) - Fortran uygulamaları
- Pascal (.pas) - Pascal uygulamaları
Oyun ve Özel
- Love2D - Lua tabanlı oyunlar
- Executable (.exe) - Windows uygulamaları
- macOS App (.app) - macOS uygulamaları
- Java JAR (.jar) - Java paketleri
📋 Manifest Formatı
Temel Manifest
{
"name": "my-app",
"version": "1.0.0",
"language": "python",
"entry": "main.py",
"description": "Açıklama",
"dependencies": ["requests", "numpy"]
}
Evrensel Manifest
{
"name": "my-universal-app",
"version": "1.0.0",
"language": "universal",
"entry": "main.c",
"description": "Evrensel dil desteği ile uygulama"
}
Çoklu Dil Manifest
{
"name": "multi-app",
"version": "1.0.0",
"language": "multi",
"entry": "main.py",
"description": "Çoklu dil projesi",
"languages": {
"python": {
"entry": "backend/main.py",
"dependencies": ["flask"]
},
"javascript": {
"entry": "frontend/app.js",
"dependencies": ["express"]
}
},
"run_order": ["python", "javascript"]
}
🛠️ Komut Referansı
Temel Komutlar
clapp list # Yüklü uygulamaları listele
clapp run <app> # Uygulamayı çalıştır
clapp info <app> # Uygulama bilgilerini göster
clapp new # Yeni uygulama oluştur
Yönetim Komutları
clapp install <app> # Uygulama yükle
clapp uninstall <app> # Uygulamayı kaldır
clapp update-apps [app] # Uygulamaları güncelle
clapp validate <path> # Uygulama klasörünü doğrula
clapp publish <path> # Uygulama yayınla
Sistem Komutları
clapp doctor # Kapsamlı sistem tanılaması
clapp clean # Geçici dosyaları temizle
clapp where <app> # Uygulama konumunu göster
clapp version # Sürüm bilgilerini göster
Bağımlılık Komutları
clapp dependency check # Sistem geneli bağımlılık kontrolü
clapp dependency check <app> # Belirli uygulama bağımlılık kontrolü
clapp dependency install <app> # Uygulama bağımlılıklarını kur
clapp dependency tree <app> # Bağımlılık ağacı
Uzak Komutlar
clapp search <query> # Uzak depoda ara
clapp remote list # Uzak depo listesi
clapp health # Sistem sağlık kontrolü
🔧 Geliştirici Rehberi
Yeni Uygulama Oluşturma
# Şablonları listele
clapp new
# Belirli dilde proje oluştur
clapp new python my-app
clapp new go my-go-app
clapp new rust my-rust-app
# Evrensel proje oluştur
clapp new universal my-c-app
Uygulama Yayınlama
# Uygulamayı doğrula
clapp validate ./my-app
# Uygulamayı yayınla
clapp publish ./my-app
# GitHub'a otomatik push ile yayınla
clapp publish ./my-app --push
Bağımlılık Yönetimi
# Python bağımlılıkları
clapp dependency check my-python-app
# Lua bağımlılıkları
clapp dependency check my-lua-app
# Engine kontrolü
clapp dependency engine my-love2d-game
🏗️ Mimari
İki Repo Sistemi
- clapp (Bu repo): CLI ve yönetim araçları
- clapp-packages: Paket deposu ve index.json
Runner Sistemi
- LanguageRunner: Temel dil çalıştırıcısı
- UniversalRunner: Evrensel dil desteği
- MultiLanguageRunner: Çoklu dil projeleri
- Love2DRunner: Oyun motoru desteği
Güvenlik
- Manifest doğrulama
- Güvenli subprocess kullanımı
- Bağımlılık çözümleme
- Cache yönetimi
🤝 Katkıda Bulunma
Hata Bildirimi
- 🐛 Issues - Hata bildirimi ve öneriler
- 💡 Discussions - Tartışma ve öneriler
Paket Eklemek
- 📦 clapp-packages - Paket deposu
- 📖 Paket Rehberi - Detaylı rehber
Geliştirme
- Fork yapın
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit yapın (
git commit -m 'Add amazing feature') - Push yapın (
git push origin feature/amazing-feature) - Pull Request açın
📚 Dokümantasyon
- 📖 Wiki - Detaylı dokümantasyon
- 🎯 Hızlı Başlangıç - İlk adımlar
- 🛠️ Geliştirici Rehberi - Geliştirme
- 📦 Paket Rehberi - Paket oluşturma
📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
🙏 Teşekkürler
- Tüm katkıda bulunanlara
- Açık kaynak topluluğuna
- Test eden ve geri bildirim veren kullanıcılara
clapp ile herhangi bir dilde yazılmış uygulamaları kolayca yönetin! 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clapp_pm-2.0.2.tar.gz.
File metadata
- Download URL: clapp_pm-2.0.2.tar.gz
- Upload date:
- Size: 110.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90a28edd1099158e821519798eba2ff1227a7024a3d521b2c8b14a3abbb30061
|
|
| MD5 |
033ba34694b8dedab9d6cfd58e3b4ef3
|
|
| BLAKE2b-256 |
d3b1e71f9ac9ece6f4d2b3ceab1bfb469473fffac53536232b59abaf38d0b83b
|
File details
Details for the file clapp_pm-2.0.2-py3-none-any.whl.
File metadata
- Download URL: clapp_pm-2.0.2-py3-none-any.whl
- Upload date:
- Size: 128.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81acc7600c72908282e3e1e84f59810c05c59a17f9fa4793d186d64843bc4d64
|
|
| MD5 |
8486337d357b460fd51345007bfa379b
|
|
| BLAKE2b-256 |
13ba60ac4d1cacd5cc4eb0028a79306a02eb4be81265e91f5ac3ca1553f5e041
|