This documentation covers the Python surface for flashforge-python-api.
This repository and @ghosttypes/ff-api share the same protocol/domain baseline, but they do not promise strict 1:1 public API parity.
Read parity.md first if you are comparing both libraries or maintaining downstream integrations across both languages.
FlashForgeClientfor modern printer accessPrinterDiscoveryfor new discovery codeFlashForgePrinterDiscoveryonly when you need compatibility with older Python callers
import asyncio
from flashforge import FlashForgeClient, PrinterDiscovery
async def main():
discovery = PrinterDiscovery()
printers = await discovery.discover()
if not printers:
print("No printers found")
return
printer = printers[0]
async with FlashForgeClient(
printer.ip_address,
printer.serial_number or "SERIAL_NUMBER",
"CHECK_CODE",
) as client:
if not await client.initialize():
return
status = await client.get_printer_status()
print(status.machine_state)
asyncio.run(main())