Skip to main content

A comprehensive Python library for controlling FlashForge 3D printers

Project description

FlashForge Python API

Python library for controlling FlashForge 3D printers with async support for the modern HTTP API and the legacy TCP protocol.

Supported Printers

Printer Support
Adventurer 5M Full
Adventurer 5M Pro Full
AD5X Full
Creator 5 Full (HTTP-only)
Creator 5 Pro Full (HTTP-only)
Adventurer 3 / 4 Dedicated TCP clients

Installation

pip install flashforge-python-api

Quick Start

Modern LAN-mode HTTP printers require:

  • printer IP address
  • serial number
  • check code (per-printer credential, not returned by discovery)
import asyncio
import os
from flashforge import FlashForgeClient, FiveMClientConnectionOptions, PrinterDiscovery


async def main():
    check_code = os.getenv("FLASHFORGE_CHECK_CODE", "").strip()
    if not check_code:
        print("Set FLASHFORGE_CHECK_CODE before running this example")
        return

    discovery = PrinterDiscovery()
    printers = await discovery.discover()

    if not printers:
        print("No printers found")
        return

    printer = printers[0]
    if not printer.serial_number:
        print("Discovered printer did not report a serial number")
        return

    options = FiveMClientConnectionOptions(
        http_port=printer.event_port,
        tcp_port=printer.command_port,
    )

    async with FlashForgeClient(
        printer.ip_address,
        printer.serial_number,
        check_code,
        options=options,
    ) as client:
        status = await client.get_printer_status()
        if not status:
            return

        await client.init_control()

        status = await client.get_printer_status()
        print(f"Printer: {client.printer_name}")
        print(f"State: {status.machine_state if status else 'unknown'}")

        await client.control.home_axes()


asyncio.run(main())

Main Entry Points

  • FlashForgeClient: primary client for modern printers
  • PrinterDiscovery: recommended discovery API
  • FlashForgeA4Client: documented TCP client for Adventurer 4 Lite / Pro printers
  • FlashForgeA3Client: documented TCP client for Adventurer 3 printers
  • FlashForgeTcpClient and client.tcp_client: lower-level TCP access for direct commands and generic legacy workflows

Capabilities

  • printer discovery
  • printer status and machine information
  • job control
  • file listing, uploads, and thumbnails
  • temperature and motion control, including per-nozzle and chamber temperature control (Creator 5)
  • LED, camera, and filtration control where supported
  • AD5X and Creator 5 / Creator 5 Pro material-station, slot configuration, and material mapping

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flashforge_python_api-1.3.1.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flashforge_python_api-1.3.1-py3-none-any.whl (89.8 kB view details)

Uploaded Python 3

File details

Details for the file flashforge_python_api-1.3.1.tar.gz.

File metadata

  • Download URL: flashforge_python_api-1.3.1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for flashforge_python_api-1.3.1.tar.gz
Algorithm Hash digest
SHA256 c761c9d40705dfd99a27f30874e9ee176d3674afb385ffc39e07e168e1efa21f
MD5 d08a8cb127795d70b451bdd2ba4e47e7
BLAKE2b-256 d45b0ca84d43ecc3fbf175f91914af79226b8b49c853abcf1b23b4c4a8192372

See more details on using hashes here.

File details

Details for the file flashforge_python_api-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for flashforge_python_api-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c6753358f1df58d251a82740fa2a39c116e8275ea0dc7ef22771cd9cb8ab9dc
MD5 d5b3da8ba6d69122e9c24d485d39b542
BLAKE2b-256 a8a76c29dcc8ed0ddc6960a824479c4dc128d367b0d73433156aee2a1431d1b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page