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.1.0.tar.gz (2.1 MB 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.1.0-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for clapp_pm-2.1.0.tar.gz
Algorithm Hash digest
SHA256 cb300d66254d5c82f201cb84c9bf20fbf2476ef5d201397ec18b6658fc9f6384
MD5 b33ed2fb45d52eba44b2cd351f32c183
BLAKE2b-256 28eb341f3391294f8c511b5cafa290baeedf4d0bda1bb3103db4c8aeeda941e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clapp_pm-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b19dc994bf01848b33429d1011da8385fbd80e77816f9d307147360a7710b783
MD5 a8499420a89ad1e3709e875445cc7a62
BLAKE2b-256 fdb0aef62f798f6764c366205b3c8927ad06bdd7fcf9ffc4596a10b333fe86d8

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