Installation¶
This guide covers all installation methods for Cello Framework.
Requirements¶
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.12+ | Required |
| pip | Latest | Package manager |
| OS | Linux, macOS, Windows | All platforms supported |
Installation Methods¶
Via pip (Recommended)¶
The easiest way to install Cello is via pip:
Virtual Environment
We recommend using a virtual environment:
From Source¶
For the latest development version or to contribute:
# Clone the repository
git clone https://github.com/jagadeesh32/cello.git
cd cello
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install build tools
pip install maturin
# Build and install
maturin develop
For release builds with optimizations:
From GitHub¶
Install directly from GitHub:
Verify Installation¶
After installation, verify everything works:
Or create a test application:
test_install.py
from cello import App
app = App()
@app.get("/")
def hello(request):
return {"status": "Cello is working!"}
if __name__ == "__main__":
app.run(port=8080)
Optional Dependencies¶
For additional features, install optional dependencies:
Platform-Specific Notes¶
Linux¶
No additional requirements. Works out of the box.
macOS¶
No additional requirements. Works on both Intel and Apple Silicon.
Windows¶
Works on Windows 10/11. Ensure you have:
- Python 3.12+ from python.org
- Visual C++ Build Tools (for source builds only)
Docker¶
Run Cello in a Docker container:
Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "app.py", "--host", "0.0.0.0"]
docker-compose.yml
version: '3.8'
services:
web:
build: .
ports:
- "8000:8000"
environment:
- ENV=production
Troubleshooting¶
Import Error¶
If you get an import error:
# Ensure you're in the correct virtual environment
which python
# Reinstall
pip uninstall cello-framework
pip install cello-framework
Build Errors (from source)¶
For source builds, ensure Rust is installed:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Verify
rustc --version
cargo --version
Permission Errors¶
Use --user flag or a virtual environment:
Next Steps¶
- Quick Start - Build your first app
- Configuration - Configure your app
- Features - Explore features