Skip to main content

DuetWebAPI

Python interface to Duet RepRap V3 firmware via Http REST API.

  • Works over IP network.
  • Does not support passwords on the printer.
  • Supported boards:
    • Duet 3 + SBC
    • Duet 3 standalone
    • Duet 2 standalone

Install

pip install duetwebapi

Alternatively:

pip install -e "git+https://github.com/AndyEveritt/DuetWebAPI.git@master#egg=duetwebapi"

Usage

  • See 'examples.py' for examples.
from duetwebapi import DuetWebAPI

printer = DuetWebAPI(f'http://{printer_hostname}')

REST API

The REST API allows for the following operations:

Method Description
get_model(key: str = None) -> Dict Get Duet object model. RRF3 only
send_code(code: str) -> Dict Send G/M/T-code to Duet
get_file(filename: str, directory: str = 'gcodes', binary: bool = False) -> str Download file from Duet
upload_file(file: str | bytes | StringIO | TextIOWrapper | BytesIO, filename: str, directory: str = 'gcodes') -> Dict Upload file to Duet
get_fileinfo(filename: str = None, directory: str = 'gcodes') -> Dict Get file info
delete_file(filename: str, directory: str = 'gcodes') -> Dict Delete file on Duet
move_file(from_path: str, to_path: str, force: bool = False) -> Dict Move file on Duet, can be used to rename files
get_directory(directory: str) -> List[Dict] Get a list of all the files & directories in a directory
create_directory(directory: str) -> Dict Create a new directory

Wrapper

An additional wrapper is provided to make repetative tasks easier

Method Description
emergency_stop() -> None Send M112 > M999
start_print(filename: str) -> Dict start a print on duet
pause_print() -> Dict pause current print
stop_print(leave_heaters: bool) -> Dict stop current print, will pause first if not paused
get_coords() -> Dict return the current position of all the movement axes
get_layer() -> int return the current layer number of the print
get_num_extruders() -> int return the number of extruders currently configured
get_num_tools() -> int return the number of tools currently configured
get_status() -> str return the current Duet status
get_temperature() -> List[Dict] return a list of all the analog sensors and their value
get_current_tool() -> int return the current tool number
get_messagebox() -> Dict return the details of a message displayed via M291 if one exists
acknowledge_message(response: int) -> Dict send an acknowledgement to a message if one exists. Response options are 0 (continue), and 1 (cancel)

Metadata

Release files for duetwebapi 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for duetwebapi 1.2.2
File Size Uploaded
duetwebapi-1.2.2.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for duetwebapi 1.2.2
File Interpreter ABI Platform
duetwebapi-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 14.9 kB

Release files / duetwebapi-1.2.2.tar.gz

Download URL duetwebapi-1.2.2.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5a1bcf481f955774987dfc85bceb48736ca9c5ca2126864654c230e435280b8e
BLAKE2b-256 checksum
How to use checksums
4af73db880ef3a6b918252cbabf2709e59bbf6c3e663977819fccc44d089e9e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

Release files / duetwebapi-1.2.2-py3-none-any.whl

Download URL duetwebapi-1.2.2-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbee2c4171246250eec2cd9b26ae2f4c895f8882f48d226b6b6fc2eb9e319527
BLAKE2b-256 checksum
How to use checksums
e59e3664b220cc5d5217c81e1632d3038210ee1059e2b5600de37e1a66466557
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page