Back to Templates
Python Sanic - Cloud Functions on EdgeOne Pages
An async Sanic starter with native async support, streaming, and WebSocket capabilities.
| Framework | Python |
| Use Case | Starter,Cloud Functions |
Python Cloud Functions - Sanic | EdgeOne Pages
A demonstration website showcasing how to deploy high-performance async Sanic applications as serverless functions on EdgeOne Pages.
๐ Features
- Sanic Framework: One of the fastest Python async web frameworks
- Native Async/Await: Built from the ground up for asynchronous programming
- Streaming Support: Built-in response streaming capabilities
- WebSocket Support: Native WebSocket handling
- Type-validated Routes: Path parameter type validation
๐ ๏ธ Tech Stack
Frontend
- Next.js 15 - React full-stack framework
- React 19 - User interface library
- TypeScript - Type-safe JavaScript
- Tailwind CSS 4 - Utility-first CSS framework
Backend
- Sanic - Async Python web framework
- Cloud Functions - EdgeOne Pages serverless functions
๐ Project Structure
python-sanic-template/
โโโ src/ # Next.js frontend
โโโ cloud-functions/ # Python cloud functions
โ โโโ api/
โ โ โโโ [[default]].py # Sanic application
โ โโโ requirements.txt # Python dependencies
โโโ public/ # Static assets
โโโ package.json # Project configuration
๐ Quick Start
Requirements
- Node.js 18+
- Python 3.9+
- EdgeOne CLI
Install Dependencies
npm install
Development Mode
edgeone pages dev
Visit http://localhost:8088 to view the application.
๐ฏ API Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/ | Root endpoint |
| GET | /api/health | Health check |
| GET | /api/info | Function information |
| GET | /api/time | Current server time |
| GET/POST | /api/echo | Echo request info |
| POST | /api/json | Handle JSON body |
| GET | /api/users/{user_id} | Get user by ID |
| POST | /api/users | Create new user |
| GET | /api/search | Search with query params |
๐ Documentation
- Sanic Documentation: https://sanic.dev
- EdgeOne Pages Docs: https://pages.edgeone.ai/document/python
๐ License
This project is licensed under the MIT License.