bambu-lab-cloud-api


Namebambu-lab-cloud-api JSON
Version 1.0.5 PyPI version JSON
download
home_pageNone
SummaryPython library for Bambu Lab 3D printer Cloud API, MQTT, and local connections
upload_time2025-10-29 20:40:48
maintainerNone
docs_urlNone
authorBambu Lab API Contributors
requires_python>=3.9
licenseAGPL-3.0
keywords bambu bambulab 3dprinting api mqtt
VCS
bugtrack_url
requirements flask flask-cors flask-limiter requests paho-mqtt opencv-python
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Bambu Lab Cloud API Python Library Implementation

**Documentation and tools for the Bambu Lab Cloud API based on network traffic analysis**

[![Publish to PyPI](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/publish.yml/badge.svg)](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/publish.yml)
[![Tests](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/tests.yml/badge.svg)](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/tests.yml)
[![License](https://img.shields.io/badge/license-AGPL--v3-green)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)]()

Documentation and tooling for communicating with Bambu Lab 3D printers via their Cloud API, MQTT protocol, and local connections.

My goal with this project was to create a proxy for handling read only data from my printer farm, but decided to expand it into a more complete library. I won't be targetting all of the functionality for testing, as I will primarily focus on read operations. 

## Features

- **API Documentation** - Complete endpoint reference with examples
- **Python Library** - Unified client for Cloud API, MQTT, local FTP, and video streams
- **Authentication with 2FA** - Automatic login with email verification code support
- **MQTT Support** - Real-time printer monitoring and control
- **File Upload** - Cloud API and local FTP upload support
- **Video Streaming** - RTSP (X1 series) and JPEG frame streaming (A1/P1 series)
- **Compatibility Layer** - Restore legacy local API without developer mode
- **Proxy Servers** - Safe API gateways (strict read-only and full modes)
- **Testing Suite** - Comprehensive unit tests for all functionality
- **G-code Reference** - Command documentation for printer models

![P1S Video Stream](screenshots/P1SStream.png)
*Live JPEG frame streaming from P1S printer camera*

## Quick Start: Authentication

### Get Your Access Token

```bash
# Interactive login with 2FA support
python cli_tools/login.py

# Or non-interactive
python cli_tools/login.py --username user@email.com --password yourpass
```

The tool will:
1. Submit your credentials to Bambu Lab
2. Request email verification code
3. Prompt you to enter the code from your email
4. Save the token to `~/.bambu_token` for future use

## Quick Test (Automated)

Test all functionality with the comprehensive test suite:

```bash
cd tests
cp test_config.json.example test_config.json
# Edit test_config.json with your credentials
python3 test_comprehensive.py
```

**Test Coverage:**
- Cloud API (20 endpoints tested)
- MQTT real-time monitoring
- Video streaming credentials
- File upload to cloud
- AMS filament data
- Device management

**Recent Test Results:** 20/20 tests passing
- All Cloud API endpoints working
- MQTT live data streaming confirmed
- File upload to S3 verified
- TUTK video credentials obtained



## Documentation

### Modular API Documentation

Complete API documentation split into focused modules:

- **[API_INDEX.md](API_INDEX.md)** - Master index and quick start guide
- **[API_AUTHENTICATION.md](API_AUTHENTICATION.md)** - Authentication methods and security
- **[API_DEVICES.md](API_DEVICES.md)** - Device management and print jobs
- **[API_USERS.md](API_USERS.md)** - User profiles and accounts
- **[API_FILES_PRINTING.md](API_FILES_PRINTING.md)** - Cloud file upload and printing
- **[API_MQTT.md](API_MQTT.md)** - Real-time MQTT protocol
- **[API_AMS_FILAMENT.md](API_AMS_FILAMENT.md)** - AMS and filament data
- **[API_CAMERA.md](API_CAMERA.md)** - Camera and video streaming
- **[API_REFERENCE.md](API_REFERENCE.md)** - Error codes and conventions


## Python Library

The `bambulab/` package provides a unified Python interface for Bambu Lab Cloud API access.

### Installation

```bash
# Install from PyPI (includes all features)
pip install bambu-lab-cloud-api

# Or install latest from GitHub
pip install git+https://github.com/coelacant1/Bambu-Lab-Cloud-API.git
```

**v1.0.4+** includes everything by default:
- Cloud API client
- MQTT support
- Camera streaming
- Proxy servers with rate limiting
- CLI tools

See [INSTALL.md](INSTALL.md) for detailed installation instructions.

### Authentication

```python
from bambulab import BambuAuthenticator, BambuClient

# Authenticate with 2FA support
auth = BambuAuthenticator()
token = auth.login("your-email@example.com", "your-password")
# ^ Will prompt for email verification code

# Or use saved token (auto-refresh if needed)
token = auth.get_or_create_token(
    username="your-email@example.com",
    password="your-password"
)

# Use token with client
client = BambuClient(token=token)
```

### Cloud API

```python
from bambulab import BambuClient

client = BambuClient(token="your_token")
devices = client.get_devices()
for device in devices:
    print(f"{device['name']}: {device['print_status']}")

# Upload file to cloud
result = client.upload_file("model.3mf")
print(f"Uploaded: {result['file_url']}")
```

### MQTT Monitoring

```python
from bambulab import MQTTClient

def on_message(device_id, data):
    print(f"Progress: {data['print']['mc_percent']}%")

mqtt = MQTTClient("uid", "token", "device_serial", on_message=on_message)
mqtt.connect(blocking=True)
```

### Local File Upload (FTP)

```python
from bambulab import LocalFTPClient

client = LocalFTPClient("192.168.1.100", "access_code")
client.connect()
result = client.upload_file("model.3mf")
client.disconnect()
print(f"Uploaded to: {result['remote_path']}")
```

### Video Streaming

```python
from bambulab import JPEGFrameStream, RTSPStream

# For A1/P1 series (JPEG frames)
with JPEGFrameStream("192.168.1.100", "access_code") as stream:
    frame = stream.get_frame()
    with open('snapshot.jpg', 'wb') as f:
        f.write(frame)

# For X1 series (RTSP)
stream = RTSPStream("192.168.1.100", "access_code")
url = stream.get_stream_url()  # Use with VLC, ffmpeg
```

See [bambulab/README.md](bambulab/README.md) for complete library documentation.

## Servers

### Compatibility Layer (`servers/compatibility.py`)

Restores legacy local API functionality without developer mode. Bridges Home Assistant, Octoprint, and other tools to the Cloud API.

```bash
cd servers
cp compatibility_config.json.example compatibility_config.json
# Edit with your credentials
python3 compatibility.py
```

Features:
- Mimics legacy local API endpoints
- Works without developer mode
- Real-time MQTT bridge
- Multi-device support
- Port 8080 by default

> This requires additional testing, I only lightly tested this.

### Proxy Server (`servers/proxy.py`)

API gateway with two modes for different security requirements:

**Strict Mode (port 5001)** - Read-only, maximum safety:
```bash
python3 proxy.py strict
```

**Full Mode (port 5003)** - Complete 1:1 proxy:
```bash
python3 proxy.py full
```

Features:
- Custom token authentication
- Request filtering by mode
- Health monitoring endpoints

## CLI Tools

Command-line utilities for quick printer access:

| Tool | Purpose |
|------|---------|
| `bambu-query` | Query printer information and status |
| `bambu-monitor` | Real-time MQTT monitoring |
| `bambu-camera` | View live camera feed |

After installation, use directly:
```bash
bambu-query YOUR_TOKEN --devices
bambu-monitor YOUR_UID YOUR_TOKEN YOUR_DEVICE_ID
bambu-camera YOUR_TOKEN --ip 192.168.1.100
```

See [cli_tools/README.md](cli_tools/README.md) for detailed usage.

## Verified Features

Based on comprehensive testing (see test output):

### Cloud API (Fully Working)
- **Device Management** - List devices, get info, firmware versions
- **User Profile** - Account information, owned printer models
- **AMS/Filament** - Filament data from AMS units
- **Camera Credentials** - TTCode for P2P video streaming (TUTK protocol)
- **File Upload** - Cloud file upload via S3 signed URLs
- **File Management** - List and manage cloud files

### MQTT Real-Time (Fully Working)
- **Connection** - Stable MQTT connection to printers
- **Live Status** - Real-time temperature, progress, state updates
- **Full Data** - Complete printer state including:
  - Temperatures (nozzle, bed, chamber)
  - Print progress and layer info
  - Fan speeds and print speeds
  - AMS status and filament data
  - Error codes (HMS)
  - Network info (WiFi signal)

### Video Streaming (Working)
- **TUTK Protocol** - P2P video credentials for local streaming
- **TTCode Generation** - Authentication for camera access
- **Multi-Model Support** - P1/A1 (JPEG), X1 (RTSP)

### Partially Tested
- **Local FTP Upload** - Implemented, requires local network testing
- **Compatibility Layer** - Lightly tested, works with legacy tools

### Not Yet Implemented
- Print job submission via API
- Device control commands (pause, resume, stop)
- Some write operations (device settings)

## Examples

### Home Automation

Integrate with Home Assistant via the compatibility layer:

```bash
cd servers
python3 compatibility.py
```

Home Assistant configuration:
```yaml
rest:
  - resource: http://localhost:8080/api/v1/status?device_id=YOUR_DEVICE_ID
    scan_interval: 10
    sensor:
      - name: "Bambu Print Progress"
        value_template: "{{ value_json.print.mc_percent }}"
```

### Print Farm Management

```python
for device in api.get_devices():
    status = api.get_print_status(device['dev_id'])
    print(f"{device['name']}: {status['progress']}%")
```

### Real-Time Monitoring

```python
def on_status(device_id, data):
    if data['print']['mc_percent'] == 100:
        send_notification("Print complete!")

mqtt = MQTTClient(uid, token, device_id, on_message=on_status)
mqtt.connect(blocking=True)
```

## Screenshots

### Video Streaming

![P1S Video Stream](screenshots/P1SStream.png)
*Live JPEG frame streaming from P1S printer camera*

### Test Suite Output

The comprehensive test suite provides detailed information about all API endpoints and printer data:

![Test Output Example 1](screenshots/Screenshot1.png)
*Comprehensive test output showing Cloud API tests with device info, firmware versions, and all data fields*

![Test Output Example 2](screenshots/Screenshot2.png)
*MQTT monitoring with real-time printer data including temperatures, fan speeds, and print progress*

![Test Output Example 3](screenshots/Screenshot3.png)
*Complete MQTT data streams showing all available fields from printer status updates*

![Test Output Example 4](screenshots/Screenshot4.png)
*Camera credentials and video streaming configuration with TTCode authentication*

![Test Output Example 5](screenshots/Screenshot5.png)
*File upload testing and cloud storage integration results*

## Disclaimer

This project is **not affiliated with or endorsed by Bambu Lab**. It is an effort to document their API.

- Use at your own risk
- Respect Bambu Lab's Terms of Service
- Don't abuse API rate limits
- Be responsible with printer control

The API may change without notice. This documentation represents the API as of **October 2025** based on testing with firmware versions **01.08.02.00** and **01.09.00.00**.

**Tested Configurations:**
- Printer Models: P1P, P1S
- Firmware: 01.08.02.00, 01.09.00.00
- Python: 3.9-3.13
- Test Suite: 20/20 passing (Full testing with 3.13)


## Ethical & Legal Compliance

**Documents API endpoints to ensure backwards compatibility and interoperability; the necessary information was determined through network traffic analysis of the official client communicating with publicly accessible servers, which complies with fair use principles.**

This analysis:
- Documents publicly accessible API endpoints
- Enables community integrations and home automation
- Complies with fair use for interoperability
- Uses only your own credentials for testing

Does NOT:
- Bypass security measures
- Violate terms of service
- Redistribute proprietary code
- Enable unauthorized access

## Contributing

Contributions are welcome. Please:

1. Fork the repository
2. Create a feature branch
3. Test your changes
4. Submit a pull request

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.

## License

This project is licensed under the GNU Affero General Public License v3.0 - see [LICENSE](LICENSE) for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bambu-lab-cloud-api",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "bambu, bambulab, 3dprinting, api, mqtt",
    "author": "Bambu Lab API Contributors",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/1e/52/acd10c2226f21e2c1cf2b881d2f1ee2106de87219633682512d93d09d5b1/bambu_lab_cloud_api-1.0.5.tar.gz",
    "platform": null,
    "description": "# Bambu Lab Cloud API Python Library Implementation\n\n**Documentation and tools for the Bambu Lab Cloud API based on network traffic analysis**\n\n[![Publish to PyPI](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/publish.yml/badge.svg)](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/publish.yml)\n[![Tests](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/tests.yml/badge.svg)](https://github.com/coelacant1/Bambu-Lab-Cloud-API/actions/workflows/tests.yml)\n[![License](https://img.shields.io/badge/license-AGPL--v3-green)](LICENSE)\n[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)]()\n\nDocumentation and tooling for communicating with Bambu Lab 3D printers via their Cloud API, MQTT protocol, and local connections.\n\nMy goal with this project was to create a proxy for handling read only data from my printer farm, but decided to expand it into a more complete library. I won't be targetting all of the functionality for testing, as I will primarily focus on read operations. \n\n## Features\n\n- **API Documentation** - Complete endpoint reference with examples\n- **Python Library** - Unified client for Cloud API, MQTT, local FTP, and video streams\n- **Authentication with 2FA** - Automatic login with email verification code support\n- **MQTT Support** - Real-time printer monitoring and control\n- **File Upload** - Cloud API and local FTP upload support\n- **Video Streaming** - RTSP (X1 series) and JPEG frame streaming (A1/P1 series)\n- **Compatibility Layer** - Restore legacy local API without developer mode\n- **Proxy Servers** - Safe API gateways (strict read-only and full modes)\n- **Testing Suite** - Comprehensive unit tests for all functionality\n- **G-code Reference** - Command documentation for printer models\n\n![P1S Video Stream](screenshots/P1SStream.png)\n*Live JPEG frame streaming from P1S printer camera*\n\n## Quick Start: Authentication\n\n### Get Your Access Token\n\n```bash\n# Interactive login with 2FA support\npython cli_tools/login.py\n\n# Or non-interactive\npython cli_tools/login.py --username user@email.com --password yourpass\n```\n\nThe tool will:\n1. Submit your credentials to Bambu Lab\n2. Request email verification code\n3. Prompt you to enter the code from your email\n4. Save the token to `~/.bambu_token` for future use\n\n## Quick Test (Automated)\n\nTest all functionality with the comprehensive test suite:\n\n```bash\ncd tests\ncp test_config.json.example test_config.json\n# Edit test_config.json with your credentials\npython3 test_comprehensive.py\n```\n\n**Test Coverage:**\n- Cloud API (20 endpoints tested)\n- MQTT real-time monitoring\n- Video streaming credentials\n- File upload to cloud\n- AMS filament data\n- Device management\n\n**Recent Test Results:** 20/20 tests passing\n- All Cloud API endpoints working\n- MQTT live data streaming confirmed\n- File upload to S3 verified\n- TUTK video credentials obtained\n\n\n\n## Documentation\n\n### Modular API Documentation\n\nComplete API documentation split into focused modules:\n\n- **[API_INDEX.md](API_INDEX.md)** - Master index and quick start guide\n- **[API_AUTHENTICATION.md](API_AUTHENTICATION.md)** - Authentication methods and security\n- **[API_DEVICES.md](API_DEVICES.md)** - Device management and print jobs\n- **[API_USERS.md](API_USERS.md)** - User profiles and accounts\n- **[API_FILES_PRINTING.md](API_FILES_PRINTING.md)** - Cloud file upload and printing\n- **[API_MQTT.md](API_MQTT.md)** - Real-time MQTT protocol\n- **[API_AMS_FILAMENT.md](API_AMS_FILAMENT.md)** - AMS and filament data\n- **[API_CAMERA.md](API_CAMERA.md)** - Camera and video streaming\n- **[API_REFERENCE.md](API_REFERENCE.md)** - Error codes and conventions\n\n\n## Python Library\n\nThe `bambulab/` package provides a unified Python interface for Bambu Lab Cloud API access.\n\n### Installation\n\n```bash\n# Install from PyPI (includes all features)\npip install bambu-lab-cloud-api\n\n# Or install latest from GitHub\npip install git+https://github.com/coelacant1/Bambu-Lab-Cloud-API.git\n```\n\n**v1.0.4+** includes everything by default:\n- Cloud API client\n- MQTT support\n- Camera streaming\n- Proxy servers with rate limiting\n- CLI tools\n\nSee [INSTALL.md](INSTALL.md) for detailed installation instructions.\n\n### Authentication\n\n```python\nfrom bambulab import BambuAuthenticator, BambuClient\n\n# Authenticate with 2FA support\nauth = BambuAuthenticator()\ntoken = auth.login(\"your-email@example.com\", \"your-password\")\n# ^ Will prompt for email verification code\n\n# Or use saved token (auto-refresh if needed)\ntoken = auth.get_or_create_token(\n    username=\"your-email@example.com\",\n    password=\"your-password\"\n)\n\n# Use token with client\nclient = BambuClient(token=token)\n```\n\n### Cloud API\n\n```python\nfrom bambulab import BambuClient\n\nclient = BambuClient(token=\"your_token\")\ndevices = client.get_devices()\nfor device in devices:\n    print(f\"{device['name']}: {device['print_status']}\")\n\n# Upload file to cloud\nresult = client.upload_file(\"model.3mf\")\nprint(f\"Uploaded: {result['file_url']}\")\n```\n\n### MQTT Monitoring\n\n```python\nfrom bambulab import MQTTClient\n\ndef on_message(device_id, data):\n    print(f\"Progress: {data['print']['mc_percent']}%\")\n\nmqtt = MQTTClient(\"uid\", \"token\", \"device_serial\", on_message=on_message)\nmqtt.connect(blocking=True)\n```\n\n### Local File Upload (FTP)\n\n```python\nfrom bambulab import LocalFTPClient\n\nclient = LocalFTPClient(\"192.168.1.100\", \"access_code\")\nclient.connect()\nresult = client.upload_file(\"model.3mf\")\nclient.disconnect()\nprint(f\"Uploaded to: {result['remote_path']}\")\n```\n\n### Video Streaming\n\n```python\nfrom bambulab import JPEGFrameStream, RTSPStream\n\n# For A1/P1 series (JPEG frames)\nwith JPEGFrameStream(\"192.168.1.100\", \"access_code\") as stream:\n    frame = stream.get_frame()\n    with open('snapshot.jpg', 'wb') as f:\n        f.write(frame)\n\n# For X1 series (RTSP)\nstream = RTSPStream(\"192.168.1.100\", \"access_code\")\nurl = stream.get_stream_url()  # Use with VLC, ffmpeg\n```\n\nSee [bambulab/README.md](bambulab/README.md) for complete library documentation.\n\n## Servers\n\n### Compatibility Layer (`servers/compatibility.py`)\n\nRestores legacy local API functionality without developer mode. Bridges Home Assistant, Octoprint, and other tools to the Cloud API.\n\n```bash\ncd servers\ncp compatibility_config.json.example compatibility_config.json\n# Edit with your credentials\npython3 compatibility.py\n```\n\nFeatures:\n- Mimics legacy local API endpoints\n- Works without developer mode\n- Real-time MQTT bridge\n- Multi-device support\n- Port 8080 by default\n\n> This requires additional testing, I only lightly tested this.\n\n### Proxy Server (`servers/proxy.py`)\n\nAPI gateway with two modes for different security requirements:\n\n**Strict Mode (port 5001)** - Read-only, maximum safety:\n```bash\npython3 proxy.py strict\n```\n\n**Full Mode (port 5003)** - Complete 1:1 proxy:\n```bash\npython3 proxy.py full\n```\n\nFeatures:\n- Custom token authentication\n- Request filtering by mode\n- Health monitoring endpoints\n\n## CLI Tools\n\nCommand-line utilities for quick printer access:\n\n| Tool | Purpose |\n|------|---------|\n| `bambu-query` | Query printer information and status |\n| `bambu-monitor` | Real-time MQTT monitoring |\n| `bambu-camera` | View live camera feed |\n\nAfter installation, use directly:\n```bash\nbambu-query YOUR_TOKEN --devices\nbambu-monitor YOUR_UID YOUR_TOKEN YOUR_DEVICE_ID\nbambu-camera YOUR_TOKEN --ip 192.168.1.100\n```\n\nSee [cli_tools/README.md](cli_tools/README.md) for detailed usage.\n\n## Verified Features\n\nBased on comprehensive testing (see test output):\n\n### Cloud API (Fully Working)\n- **Device Management** - List devices, get info, firmware versions\n- **User Profile** - Account information, owned printer models\n- **AMS/Filament** - Filament data from AMS units\n- **Camera Credentials** - TTCode for P2P video streaming (TUTK protocol)\n- **File Upload** - Cloud file upload via S3 signed URLs\n- **File Management** - List and manage cloud files\n\n### MQTT Real-Time (Fully Working)\n- **Connection** - Stable MQTT connection to printers\n- **Live Status** - Real-time temperature, progress, state updates\n- **Full Data** - Complete printer state including:\n  - Temperatures (nozzle, bed, chamber)\n  - Print progress and layer info\n  - Fan speeds and print speeds\n  - AMS status and filament data\n  - Error codes (HMS)\n  - Network info (WiFi signal)\n\n### Video Streaming (Working)\n- **TUTK Protocol** - P2P video credentials for local streaming\n- **TTCode Generation** - Authentication for camera access\n- **Multi-Model Support** - P1/A1 (JPEG), X1 (RTSP)\n\n### Partially Tested\n- **Local FTP Upload** - Implemented, requires local network testing\n- **Compatibility Layer** - Lightly tested, works with legacy tools\n\n### Not Yet Implemented\n- Print job submission via API\n- Device control commands (pause, resume, stop)\n- Some write operations (device settings)\n\n## Examples\n\n### Home Automation\n\nIntegrate with Home Assistant via the compatibility layer:\n\n```bash\ncd servers\npython3 compatibility.py\n```\n\nHome Assistant configuration:\n```yaml\nrest:\n  - resource: http://localhost:8080/api/v1/status?device_id=YOUR_DEVICE_ID\n    scan_interval: 10\n    sensor:\n      - name: \"Bambu Print Progress\"\n        value_template: \"{{ value_json.print.mc_percent }}\"\n```\n\n### Print Farm Management\n\n```python\nfor device in api.get_devices():\n    status = api.get_print_status(device['dev_id'])\n    print(f\"{device['name']}: {status['progress']}%\")\n```\n\n### Real-Time Monitoring\n\n```python\ndef on_status(device_id, data):\n    if data['print']['mc_percent'] == 100:\n        send_notification(\"Print complete!\")\n\nmqtt = MQTTClient(uid, token, device_id, on_message=on_status)\nmqtt.connect(blocking=True)\n```\n\n## Screenshots\n\n### Video Streaming\n\n![P1S Video Stream](screenshots/P1SStream.png)\n*Live JPEG frame streaming from P1S printer camera*\n\n### Test Suite Output\n\nThe comprehensive test suite provides detailed information about all API endpoints and printer data:\n\n![Test Output Example 1](screenshots/Screenshot1.png)\n*Comprehensive test output showing Cloud API tests with device info, firmware versions, and all data fields*\n\n![Test Output Example 2](screenshots/Screenshot2.png)\n*MQTT monitoring with real-time printer data including temperatures, fan speeds, and print progress*\n\n![Test Output Example 3](screenshots/Screenshot3.png)\n*Complete MQTT data streams showing all available fields from printer status updates*\n\n![Test Output Example 4](screenshots/Screenshot4.png)\n*Camera credentials and video streaming configuration with TTCode authentication*\n\n![Test Output Example 5](screenshots/Screenshot5.png)\n*File upload testing and cloud storage integration results*\n\n## Disclaimer\n\nThis project is **not affiliated with or endorsed by Bambu Lab**. It is an effort to document their API.\n\n- Use at your own risk\n- Respect Bambu Lab's Terms of Service\n- Don't abuse API rate limits\n- Be responsible with printer control\n\nThe API may change without notice. This documentation represents the API as of **October 2025** based on testing with firmware versions **01.08.02.00** and **01.09.00.00**.\n\n**Tested Configurations:**\n- Printer Models: P1P, P1S\n- Firmware: 01.08.02.00, 01.09.00.00\n- Python: 3.9-3.13\n- Test Suite: 20/20 passing (Full testing with 3.13)\n\n\n## Ethical & Legal Compliance\n\n**Documents API endpoints to ensure backwards compatibility and interoperability; the necessary information was determined through network traffic analysis of the official client communicating with publicly accessible servers, which complies with fair use principles.**\n\nThis analysis:\n- Documents publicly accessible API endpoints\n- Enables community integrations and home automation\n- Complies with fair use for interoperability\n- Uses only your own credentials for testing\n\nDoes NOT:\n- Bypass security measures\n- Violate terms of service\n- Redistribute proprietary code\n- Enable unauthorized access\n\n## Contributing\n\nContributions are welcome. Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Test your changes\n4. Submit a pull request\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 - see [LICENSE](LICENSE) for details.\n",
    "bugtrack_url": null,
    "license": "AGPL-3.0",
    "summary": "Python library for Bambu Lab 3D printer Cloud API, MQTT, and local connections",
    "version": "1.0.5",
    "project_urls": {
        "Documentation": "https://github.com/coelacant1/Bambu-Lab-Cloud-API#readme",
        "Homepage": "https://github.com/coelacant1/Bambu-Lab-Cloud-API",
        "Issues": "https://github.com/coelacant1/Bambu-Lab-Cloud-API/issues",
        "Repository": "https://github.com/coelacant1/Bambu-Lab-Cloud-API"
    },
    "split_keywords": [
        "bambu",
        " bambulab",
        " 3dprinting",
        " api",
        " mqtt"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eeeedbb1669241488b6bb1d0ea7a2a2ed311d0f6a7e8b7ae171604f9d8e0807d",
                "md5": "95f295447e93075db53ec061e51d6804",
                "sha256": "4a4ab3c5bc2222fa14c8a95f15efc5998c0a7f9c9766f566ad7397a397afac4a"
            },
            "downloads": -1,
            "filename": "bambu_lab_cloud_api-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "95f295447e93075db53ec061e51d6804",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 62568,
            "upload_time": "2025-10-29T20:40:47",
            "upload_time_iso_8601": "2025-10-29T20:40:47.138580Z",
            "url": "https://files.pythonhosted.org/packages/ee/ee/dbb1669241488b6bb1d0ea7a2a2ed311d0f6a7e8b7ae171604f9d8e0807d/bambu_lab_cloud_api-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e52acd10c2226f21e2c1cf2b881d2f1ee2106de87219633682512d93d09d5b1",
                "md5": "4d200f5651f9cbdd26003a86b7cc977d",
                "sha256": "21083ce09706469dc126ca7e472dae7e69373ad03264416702d07065bda9920d"
            },
            "downloads": -1,
            "filename": "bambu_lab_cloud_api-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "4d200f5651f9cbdd26003a86b7cc977d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 83634,
            "upload_time": "2025-10-29T20:40:48",
            "upload_time_iso_8601": "2025-10-29T20:40:48.583592Z",
            "url": "https://files.pythonhosted.org/packages/1e/52/acd10c2226f21e2c1cf2b881d2f1ee2106de87219633682512d93d09d5b1/bambu_lab_cloud_api-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-29 20:40:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "coelacant1",
    "github_project": "Bambu-Lab-Cloud-API#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "flask",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "flask-cors",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "flask-limiter",
            "specs": [
                [
                    ">=",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.25.0"
                ]
            ]
        },
        {
            "name": "paho-mqtt",
            "specs": [
                [
                    ">=",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "opencv-python",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        }
    ],
    "lcname": "bambu-lab-cloud-api"
}
        
Elapsed time: 0.66510s