
Security News
The Nightmare Before Deployment
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.
openmux
Advanced tools
A free multi-source GenAI orchestration library for automatic model selection and routing
Free Multi-Source GenAI Orchestration Library
OpenMux is a Python library that automatically selects, routes, and combines outputs from free GenAI models and API providers. It creates a unified interface for discovering, connecting, and using open-access models across the AI ecosystem — including OpenRouter, HuggingFace, Together AI, Mistral, Ollama, LM Studio, and other publicly available sources.
from openmux import Orchestrator, TaskType
# Initialize
orchestrator = Orchestrator()
# Process a query
response = orchestrator.process("What is Python?")
print(response)
# Process with specific task type
code_response = orchestrator.process(
"Write a fibonacci function",
task_type=TaskType.CODE
)
# Multi-model processing
combined = orchestrator.process_multi(
query="Explain quantum computing",
num_models=2,
combination_method="summarize"
)
🔍 Automatic Provider Discovery
🎯 Task Auto-Classification
⚡ Smart Model Selection
🔀 Multi-Model Routing
💾 Offline & Local Fallback
openmux/
├── core/ # Core orchestration
│ ├── orchestrator.py # Main orchestrator
│ ├── selector.py # Model selection logic
│ ├── router.py # Query routing
│ ├── combiner.py # Response combination
│ └── fallback.py # Fallback handling
├── providers/ # Provider implementations
│ ├── base.py # Base provider interface
│ ├── openrouter.py # OpenRouter integration
│ ├── huggingface.py # HuggingFace integration
│ ├── ollama.py # Ollama integration
│ └── registry.py # Provider registry
├── classifier/ # Task classification
│ ├── classifier.py # Main classifier
│ └── task_types.py # Task type definitions
├── cli/ # Command-line interface
│ └── main.py # CLI implementation
└── utils/ # Utility functions
├── config.py # Configuration management
└── logging.py # Logging utilities
# Using pip
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ openmux
# Using uv (recommended)
UV_HTTP_TIMEOUT=300 uv pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ openmux
pip install openmux
# or using uv
uv pip install openmux
# Clone the repository
git clone https://github.com/mdnu838/OpenMux.git
cd OpenMux
# Create virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
uv pip install -e ".[dev]"
Copy the example environment file:
cp .env.example .env
Add your API keys to .env:
# OpenRouter (required for online models)
OPENROUTER_API_KEY=your_key_here
# HuggingFace (optional)
HF_TOKEN=your_token_here
# Ollama (for local models)
OLLAMA_URL=http://localhost:11434
Never commit your .env file! It's already in .gitignore.
# Run all tests
pytest tests/ -v
# Run unit tests only
pytest tests/unit/ -v
# Run with coverage
pytest tests/ --cov=openmux --cov-report=term-missing
# Run mock-based tests (no API keys needed)
pytest tests/unit/ tests/integration/test_orchestrator_mock.py -v
Test Status: 12/12 core tests passing (100% success rate)
We welcome contributions! All feature changes require a branch and Pull Request.
git checkout -b feature/your-featurepytest tests/ -vblack openmux/ tests/main branchSee CONTRIBUTING.md for detailed guidelines.
main - Production-ready code (protected)mvp-alpha - Alpha testing branch (protected)feature/* - New featuresbugfix/* - Bug fixesdocs/* - Documentation updatesAll PRs require:
.env file for sensitive data (already in .gitignore)See SECURITY.md for more details.
Current Version: 0.1.0
Status: Alpha - Published to TestPyPI
Test Coverage: 100% (core components)
See CHANGELOG.md for detailed version history.
# Clone the repository
git clone https://github.com/mdnu838/OpenMux.git
cd OpenMux
# Set up the development environment
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
# Run tests
pytest tests/ -v
main for reviewmain triggers PyPI publishSee CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with:
Star ⭐ this repo if you find it useful!
FAQs
A free multi-source GenAI orchestration library for automatic model selection and routing
We found that openmux demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.

Research
/Security News
Impostor NuGet package Tracer.Fody.NLog typosquats Tracer.Fody and its author, using homoglyph tricks, and exfiltrates Stratis wallet JSON/passwords to a Russian IP address.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.