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

🖥️ Cross-Platform Desteği

clapp Windows, Linux ve macOS'ta sorunsuz çalışır:

  • Windows: PowerShell, Command Prompt, Git Bash
  • Linux: Ubuntu, Debian, CentOS, Fedora, Arch Linux
  • macOS: Terminal, iTerm2

PyPI'dan Kurulum

pip install clapp-pm

Geliştirici Kurulumu

git clone https://github.com/mburakmmm/clapp.git
cd clapp
pip install -e .

🐧 Linux/macOS Özel Kurulum

# Homebrew ile (macOS)
brew install python
pip install clapp-pm

# APT ile (Ubuntu/Debian)
sudo apt update
sudo apt install python3-pip
pip3 install clapp-pm

# YUM ile (CentOS/RHEL)
sudo yum install python3-pip
pip3 install clapp-pm

🪟 Windows Özel Kurulum

# PowerShell veya Command Prompt
python -m pip install clapp-pm

# Git Bash ile
pip install clapp-pm

🎯 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.2.3.tar.gz (6.9 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.2.3-py3-none-any.whl (720.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clapp_pm-2.2.3.tar.gz
  • Upload date:
  • Size: 6.9 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.2.3.tar.gz
Algorithm Hash digest
SHA256 5ff14706399ac7dc36eae201a83d97991d94b07904f45630471a549fdf797a84
MD5 1c30c6a33fa3290452d90271cb4548a4
BLAKE2b-256 442f496ee2087260240c87e1ae03d53e413e5bc70b5da39e38304704781075a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clapp_pm-2.2.3-py3-none-any.whl
  • Upload date:
  • Size: 720.5 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.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3f21c8b165085e88ce652edf86c96b15bddd4f0f5e76f040bc9c9ad33d91a111
MD5 d89d97ce9fea6f17498f0c9df6b57603
BLAKE2b-256 80f6232c3865cd5458bc2677ad93edb2c6a02e8587e875799db177b85c7a6b01

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