Skip to main content

Lightweight cross-language app manager for Python and Lua

Project description

🚀 clapp - Evrensel Çoklu Dil Uygulama Yöneticisi

PyPI version License: MIT Python 3.8+

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 new ile 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

Geliştirme

  1. Fork yapın
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit yapın (git commit -m 'Add amazing feature')
  4. Push yapın (git push origin feature/amazing-feature)
  5. Pull Request açın

📚 Dokümantasyon

📄 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clapp_pm-2.0.0.tar.gz (227.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clapp_pm-2.0.0-py3-none-any.whl (277.9 kB view details)

Uploaded Python 3

File details

Details for the file clapp_pm-2.0.0.tar.gz.

File metadata

  • Download URL: clapp_pm-2.0.0.tar.gz
  • Upload date:
  • Size: 227.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for clapp_pm-2.0.0.tar.gz
Algorithm Hash digest
SHA256 957a1b2873758d03bd3b530e802f0624a5e38786d5553a11490afc7fed829dbf
MD5 8643682006efa901d827df97d8a023e6
BLAKE2b-256 c292943fcb32fda1e5c2d2bebb8860aea4d14a9327b2162b9db93e546ca18604

See more details on using hashes here.

File details

Details for the file clapp_pm-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: clapp_pm-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 277.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for clapp_pm-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5635ec1a3130f23a1e3c02f49a6d6b1f4d42cd69136ff954bef0342ced8ea8
MD5 d748c146ab6009b6a6392b2d220cb2e1
BLAKE2b-256 f66ebdee511c7ca3e8811d01b1b0291f5b2fffd2945b0b33827e4929f4279f03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page