A FastAPI-based management system for Bambu Lab 3D printer farms, providing real-time monitoring and management through a modern web interface.
- Modern, responsive dark-themed dashboard
- Real-time printer monitoring via WebSocket
- Detailed AMS status visualization
- Filament color display
- Real-time remaining percentage
- Visual progress indicators
- Print job tracking with progress bars
- Printer status indicators
- Multi-printer control interface
- Context-aware printer controls (Start/Pause, Stop)
- RESTful API with OpenAPI documentation
- Library feature:
- Upload and manage .3MF files
- Drag-and-drop file upload
- Print time and material estimates
- Send files directly to printers
- Categorize and search files
- File preview and details
- Clone the repository:
git clone https://github.com/yourusername/pandaherd.git
cd pandaherd
- Build and start with Docker Compose:
docker-compose -f docker/docker-compose.yml up --build
- Access the web interface at http://localhost:4373
- Dashboard: http://localhost:4373
- API Documentation: http://localhost:4373/docs
Note: Port 4373 was chosen as it spells "HERD" on a phone keypad (4373), making it easy to remember!
- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run the development server:
uvicorn main:app --reload --host 0.0.0.0 --port 4373
The API documentation is automatically generated and available at /docs
. It provides:
- Interactive API testing interface
- Request/response schemas
- Authentication methods (coming soon)
- Example requests and responses
Note: The current version uses mock data for development. Future versions will integrate with real Bambu Lab printers via MQTT.
- Backend: FastAPI
- Real-time Updates: WebSocket
- Frontend:
- Tailwind CSS for styling
- Vanilla JavaScript for interactivity
- Real-time WebSocket client
- Development:
- Standard Python virtual environments
- Docker for containerization
- OpenAPI (Swagger) documentation
PandaHerd/
├── core/ # Core functionality and configuration
├── routers/ # API route handlers
├── services/ # Business logic and services
├── static/ # Static assets
├── templates/ # HTML templates for the dashboard
├── main.py # FastAPI application and WebSocket endpoints
├── schemas.py # Pydantic models for API
├── version.py # Version information
├── docker/ # Docker configuration files
├── requirements.txt # Python dependencies
└── README.md # This file
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details