Skip to content

Tryboy869/allpath-runner

Repository files navigation

🌌 Allpath Runner

Allpath Runner Logo

Call any language from any language. No compilation needed.

Version License: MIT Python 3.8+ CI Security Verified Packages

EnglishFrançaisDocumentationCatalogContributing


Allpath Runner Demo

🇬🇧 English

What is Allpath Runner?

Allpath Runner is a universal package protocol that lets you use code written in any programming language from any other language, without compilation, FFI bindings, or complex setup.

⚡ The Innovation

One JSON file to expose your code to the world:

{
  "name": "my-lib",
  "version": "1.0.0",
  "language": "python",
  "entry_point": "main.py",
  "functions": [{"name": "add"}]
}

Call it from anywhere:

# From Python
from allpath_client import AllpathClient
client = AllpathClient()
result = client.call('my-lib', 'add', [5, 3])
print(result)  # '8'
// From JavaScript
const AllpathClient = require('allpath-client');
const client = new AllpathClient();
const result = await client.call('my-lib', 'add', [5, 3]);
console.log(result);  // '8'
// From Go
import "github.com/allpath/client"
client := allpath.NewClient()
result := client.Call("my-lib", "add", []interface{}{5, 3})
fmt.Println(result)  // "8"

🎯 Key Features

Feature Description Benefit
🚫 Zero Compilation Edit code → Works immediately Instant iteration
🔥 Hot Reload Changes detected automatically No restart needed
📦 Simple Setup Just a JSON file 5 minutes to production
Smart Caching 70× faster on repeated calls Sub-millisecond latency
🌍 Any Language Python, JS, Go, Rust, Ruby, PHP Use best tool for each job
🛡️ Security First Automated validation Sleep well at night
Verified Packages Official catalog Trust but verify

🚀 Quick Start

Installation

# Clone repository
git clone https://github.com/Tryboy869/allpath-runner.git
cd allpath-runner

# Start daemon
python allpath_runner.py daemon &

# Verify it's running
python allpath_client.py version

Create Your First Package

# 1. Create package directory
mkdir -p providers/hello-world

# 2. Create main.py
cat > providers/hello-world/main.py << 'EOF'
import sys

def greet(name):
    print(f"Hello, {name}!")

if __name__ == '__main__':
    globals()[sys.argv[1]](*sys.argv[2:])
EOF

# 3. Create allpath.expose.json
cat > providers/hello-world/allpath.expose.json << 'EOF'
{
  "name": "hello-world",
  "version": "1.0.0",
  "language": "python",
  "entry_point": "main.py",
  "functions": [{"name": "greet"}],
  "license": "MIT"
}
EOF

# 4. Restart daemon to discover package
pkill -f allpath_runner
python allpath_runner.py daemon &
sleep 2

# 5. Test it!
python allpath_client.py hello-world greet "World"
# Output: Hello, World!

🛡️ Security Model

Security Flow

3-Layer Security Architecture:

  1. GitHub Actions Validation

    • ✅ Automatic JSON schema validation
    • ✅ Malicious code detection
    • ✅ Dependency security scan
    • ✅ Automated security scoring
  2. Official Catalog

    • ✅ Verified packages only
    • ✅ Security badges (A/B/C ratings)
    • ✅ Community reviews
    • ✅ Maintainer approval
  3. Local Sandbox

    • ✅ Argument sanitization
    • ✅ Path traversal protection
    • ✅ Timeout enforcement (5s)
    • ✅ Resource limits ready

⚠️ Important Security Notice

⚠️ ONLY USE VERIFIED PACKAGES FROM THE OFFICIAL CATALOG

Packages listed in CATALOG.md are automatically verified by GitHub Actions.

We are NOT responsible for:

  • ❌ Unverified third-party packages
  • ❌ Self-hosted packages without verification badge
  • ❌ Modified packages from unofficial sources

📊 Official Package Catalog

Browse our Official Catalog of verified packages:

  • ✅ Automated security scan
  • 🔒 Code review passed
  • 📈 Performance tested
  • 📚 Fully documented

Submit your package: See CONTRIBUTING.md

✅ When to Use Allpath Runner

Use Case Why Allpath? Alternative
🔄 Microservices Lightweight, no Docker overhead Docker Compose
📊 Data Pipelines Mix Python/Go/Rust optimally Single language
🤖 ML Inference APIs Python models + JS/Go servers Separate services
🚀 Rapid Prototyping Zero setup, instant iteration Complex setup
👥 Polyglot Teams Each uses preferred language Standardize on one
🔧 Internal Tools Quick automation scripts Manual tasks

❌ When NOT to Use

  • Ultra-low latency (<10ms required) → Use FFI instead
  • High-frequency trading → Use native bindings
  • Windows native → Use WSL for now (native support planned)
  • Real-time embedded → Use compiled languages

📖 Documentation

Documentation Description
📘 Full Docs Complete documentation
🚀 Quick Start Get started in 5 minutes
📦 Package Guide Create your first package
🔐 Security Security policy & best practices
🎯 Use Cases Real-world examples
⚡ Performance Benchmarks & optimization
🤝 Contributing How to contribute

🤝 Contributing

We welcome contributions! Here's how:

  1. Submit a Package → Add to official catalog
  2. Report Bugs → Help us improve
  3. Suggest Features → Shape the future
  4. Improve Docs → Make it clearer
  5. Write Tests → Increase reliability

See CONTRIBUTING.md for detailed guidelines.

📊 Project Status

Build Security Validation Coverage

Current: v0.1.1 (Pre-Alpha - Enhanced Security)
Next: v0.2.0 (Security Hardening + Rate Limiting)
Target: v1.0.0 (Production Ready - Q3 2026)

🗓️ Roadmap

v0.1.1 ✅ Enhanced security, GitHub Actions, Package catalog
  ↓
v0.2.0 ⏳ Rate limiting, Enhanced logging (2 weeks)
  ↓
v0.3.0 ⏳ Process isolation, Audit logging (1 month)
  ↓
v0.5.0 ⏳ Docker sandboxing, Distributed mode (3 months)
  ↓
v1.0.0 🎯 Production ready, External audit (6-12 months)

🇫🇷 Français

Qu'est-ce qu'Allpath Runner ?

Allpath Runner est un protocole universel de packages qui permet d'utiliser du code écrit dans n'importe quel langage depuis n'importe quel autre langage, sans compilation, bindings FFI, ou configuration complexe.

⚡ L'Innovation

Un fichier JSON pour exposer votre code au monde:

{
  "name": "ma-lib",
  "version": "1.0.0",
  "language": "python",
  "entry_point": "main.py",
  "functions": [{"name": "add"}]
}

🎯 Fonctionnalités Clés

  • 🚫 Zéro Compilation : Éditez → Fonctionne
  • 🔥 Hot Reload : Changements auto-détectés
  • 📦 Setup Simple : Juste un JSON
  • Cache Intelligent : 70× plus rapide
  • 🌍 Tous Langages : Python, JS, Go, Rust, Ruby, PHP
  • 🛡️ Sécurité First : Validation automatique
  • Packages Vérifiés : Catalogue officiel

🚀 Démarrage Rapide

# Cloner
git clone https://github.com/Tryboy869/allpath-runner.git
cd allpath-runner

# Démarrer daemon
python allpath_runner.py daemon &

# Créer package
mkdir -p providers/mon-package
# ... (voir version anglaise pour détails)

# Tester
python allpath_client.py mon-package fonction args

📖 Documentation


📦 Repository Structure

allpath-runner/
├── allpath_runner.py          # Core daemon
├── allpath_client.py          # Python client library
├── scripts/                   # Shell scripts for CI/CD
├── templates/                 # Package templates
├── tests/                     # Test suite
├── docs/                      # Documentation (EN+FR)
├── assets/                    # SVG animations
├── .github/workflows/         # CI/CD pipelines
├── CATALOG.md                # Verified packages
├── SECURITY.md               # Security policy
├── CONTRIBUTING.md           # Contribution guide
└── CHANGELOG.md              # Version history

📄 License

MIT License - See LICENSE

Copyright (c) 2026 Daouda Abdoul Anzize


👤 Author

Daouda Abdoul Anzize


🌟 Star History

Star History

📞 Support


Made with 💜 in Cotonou, Bénin 🇧🇯

Footer

Allpath Runner - Breaking language barriers in software development

⭐ If you find this project useful, please consider giving it a star!

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors