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.6.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.6-py3-none-any.whl (722.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clapp_pm-2.2.6.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.6.tar.gz
Algorithm Hash digest
SHA256 836171ff4df58321fb94375ce80c61075e56b8e5b1b355fafdc0749c6e0eee8d
MD5 b8908cf0623d35ca7f1538a452124cd9
BLAKE2b-256 20aaa489b71b2f2dc45f3ec0837920040face0c31cb0cb3b342a4f947c2c69c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clapp_pm-2.2.6-py3-none-any.whl
  • Upload date:
  • Size: 722.1 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 263cc15b50b8beabbe690a35c3c4990beedb83869642ee0980fea6ebe6a48340
MD5 8510fe80be458a424cd1fbc7dca0affd
BLAKE2b-256 af306dfb441defb44846a60d576ea079aea5317b20ebc816d917c294c2ce9baf

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