All Projects → UserBlackBox → octoprint-cli

UserBlackBox / octoprint-cli

Licence: GPL-3.0 license
Command line tool for controlling your OctoPrint 3D printer server

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to octoprint-cli

octoscreen
A touchscreen client for Octoprint
Stars: ✭ 26 (+4%)
Mutual labels:  octoprint, 3d-printing
OctoPrint-MultiColors
Inject GCODE at specified layers to allow multi color printing via filament change
Stars: ✭ 20 (-20%)
Mutual labels:  octoprint, 3d-printing
octo4a
Use your old Android device as an OctoPrint server.
Stars: ✭ 1,000 (+3900%)
Mutual labels:  octoprint, 3d-printing
OctoPrint-AstroPrint
Connect your OctoPrint device to the AstroPrint 3D Printing Cloud
Stars: ✭ 26 (+4%)
Mutual labels:  octoprint, 3d-printing
OctoPrint-Smuff
OctoPrint Plugin for SMuFF
Stars: ✭ 17 (-32%)
Mutual labels:  octoprint, 3d-printing
OctoPrint-GitFiles
With this plugin, you can use a github/gitlab repository for keeping your OctoPrint Files collection up-to-date.
Stars: ✭ 28 (+12%)
Mutual labels:  octoprint, 3d-printing
OctoPrint-Webhooks
Make OctoPrint events call your custom webhooks!
Stars: ✭ 27 (+8%)
Mutual labels:  octoprint, 3d-printing
threedy
Home Assistant card for 3D printer status and management.
Stars: ✭ 159 (+536%)
Mutual labels:  octoprint, 3d-printing
mini-map-maker
A tool for automatically generating 3D printable STLs from freely available lidar scan data.
Stars: ✭ 51 (+104%)
Mutual labels:  3d-printing
TheMiniIndex
Crowd-sourced library of 3d models (minis, terrain, scatter, etc.) for D&D, Pathfinder, and other tabletop games.
Stars: ✭ 17 (-32%)
Mutual labels:  3d-printing
klipper-voron-V2
Generic Klipper configuration for a CoreXY printers like Voron v2.4, Trident, V0 and co
Stars: ✭ 126 (+404%)
Mutual labels:  3d-printing
Simplify3D-to-OctoPrint
Upload GCODE generated by Simplify3D to OctoPrint
Stars: ✭ 34 (+36%)
Mutual labels:  octoprint
LipSync
An open-source mouth operated sip and puff joystick that enables people with limited hand function emulate a mouse on their computer and/or smartphone.
Stars: ✭ 27 (+8%)
Mutual labels:  3d-printing
tronxy-xy100
Working with an inexpensive 3D printer, Other names: STARTT (from imakr.com) or Anet A8
Stars: ✭ 22 (-12%)
Mutual labels:  3d-printing
slicer
Fast 3D mesh slicer written in Go.
Stars: ✭ 55 (+120%)
Mutual labels:  3d-printing
Octoprint-Upgrade-To-Py3
A script to move an existing OctoPrint install from Python 2 to Python 3
Stars: ✭ 58 (+132%)
Mutual labels:  octoprint
openscad-rpi-library
OpenSCAD library of various objects to use in Raspberry Pi-based projects
Stars: ✭ 30 (+20%)
Mutual labels:  3d-printing
mainsail
Mainsail is the popular web interface for Klipper
Stars: ✭ 960 (+3740%)
Mutual labels:  3d-printing
OctoPrint-SimpleEmergencyStop
A simple plugin that add an emergency stop buton on NavBar of OctoPrint
Stars: ✭ 17 (-32%)
Mutual labels:  octoprint
Print3r
Command line interface (CLI) for 3d printing
Stars: ✭ 41 (+64%)
Mutual labels:  3d-printing

octoprint-cli

version license build size downloads

icon

Python 3 command line tool for controlling OctoPrint servers

This tool uses the OctoPrint API to control and view the status of 3D printers connected to OctoPrint servers

This project is a work in progress. Some features may not work as intended or be missing. If you have suggestions or find bugs, please report them in issues. Feel free to fork this repo to fix issues or to implement new features.

Features

These are the features that have been implemented so far, more functions will be implemented in the future. Current progress on features can be found on the project board.

  • Printer connection status
  • Print job status
  • File selection
  • Pause, resume, cancel prints
  • Start print
  • System commands (shutdown, reboot, restart)
  • Listing files/folders
  • Retrieving file/folder information
  • Setting extruder and bed temperature
  • Connect and disconnect from printer
  • Continuous status output with temperature status and progress bar
  • GCODE and STL file uploads to server storage
  • Run G-code on printer from terminal
  • Layer information from OctoPrint-DisplayLayerProgress plugin if installed on server

Limitations

Currently, octoprint-cli is limited to only printers with a single extruder and heated bed. Support for additional extruders and heated chambers may be implemented in the future. This program has been tested on OctoPi 0.17.0 on the Raspberry Pi 4 running OctoPrint 1.4.1 with a Monoprice Select Mini V2.

Colored and formatted text is not available on Windows systems due to the lack of support on cmd and powershell terminals

The program requires the API key to have all permissions to run

Installation

octoprint-cli can be installed from PyPI using pip. PyPI package can be found at https://pypi.org/project/octoprint-cli/

pip install octoprint-cli

octoprint-cli can also be installed manually using git and setup.py

git clone https://github.com/UserBlackBox/octoprint-cli.git
cd octoprint-cli
python3 setup.py install --user

Dependencies

Can be found in requirements.txt and installed with pip

  • termcolor
  • requests

Configuration

The tool reads its configuration from either config.ini in the application directory or from ~/.config/octoprint-cli.ini on Linux systems

A sample config file has been included in sample-config.ini

[server]
;Set OctoPrint server address and x-api-key
ServerAddress = SERVER_ADDRESS_HERE
ApiKey = API_KEY_HERE

[preferences]
;Set if the program uses colored or formatted text, this setting is turned off on windows due to cmd and powershell limitations
FormattedText = true
;Set if the program should check for updates
UpdateCheck = true

[printer]
;Set maximum temperature that printer can be set to
MaxExtruderTemp = 250
MaxBedTemp = 85

Usage

General Commands

octoprint-cli version - get OctoPrint server version information

octoprint-cli continuous - get continuous refreshing temperature, layer, and print status

Print Commands

octoprint-cli print status - get current print job status

octoprint-cli print select [path] - load file on server

octoprint-cli print start - start print job on loaded file

octoprint-cli print cancel - cancel current print job

octoprint-cli print pause - pauses the current print job

octoprint-cli print resume - resumes the current print job

octoprint-cli gcode [command] - run GCODE command on printer

octoprint-cli layers - get layer information during prints from the DisplayLayerProgress plugin

Connection Commands

octoprint-cli connection status - get OctoPrint print connection information

octoprint-cli connection connect - connect to printer, serial port and baudrate are decided automatically unless specified with the -b [BAUDRATE] and -p [PORT] flags

octoprint-cli connection disconnect - disconnect from printer

Temperature Commands

octoprint-cli temp status - get current and target temperatures of extruder and bed

octoprint-cli temp extruder [temp] - set target temperature of extruder

octoprint-cli temp bed [temp] - set target temperature of print bed

System Commands

octoprint-cli system restart - restart OctoPrint server

octoprint-cli system restart-safe - restart OctoPrint server to safe mode

octoprint-cli reboot - reboot OctoPrint server

octoprint-cli shutdown - shutdown OctoPrint server

File Commands

octoprint-cli files list - list files on OctoPrint server, listing in folders can be done with -p [PATH] flag, files/folders can be filtered using the --files and --folders flags

octoprint-cli files info [file] - get information on file on server

octoprint-cli files upload [file] - upload local file to server

The -h or --help flag can bring up a help message for all commands

The -v or --verbose flag can be used to view execution information like requests, useful for debugging configuration

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].