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

Uploaded Python 3

File details

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

File metadata

  • Download URL: clapp_pm-2.2.0.tar.gz
  • Upload date:
  • Size: 8.4 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.0.tar.gz
Algorithm Hash digest
SHA256 21a5f5fc4f0c6fb21bba8862ac317b40d2859c6bedd953ca4dab62a03ab94bfe
MD5 7a5b05b6b5f83a2fcc4e0ecb6f69516b
BLAKE2b-256 63afef308818edbd5b7cd9d7c979d29dc4cc7bbf3bfa9b67b54f2064cbea4aa9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clapp_pm-2.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94940a519aa5b65d518a10ad41ed1c5a67c9eb289d586b8759bf9b98248689c2
MD5 0d5d0b5b93905f60b3103003455d35b1
BLAKE2b-256 97028f2b33df7ddd00429fe418ebd829a6040c026701c852b9819cee357c061b

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