{"id":24541490,"url":"https://github.com/hexadecimalDinosaur/octoprint-cli","last_synced_at":"2025-10-03T17:31:00.437Z","repository":{"id":41141031,"uuid":"260280751","full_name":"hexadecimalDinosaur/octoprint-cli","owner":"hexadecimalDinosaur","description":"Command line client for controlling your OctoPrint 3D printer server","archived":true,"fork":false,"pushed_at":"2024-02-04T06:26:40.000Z","size":895,"stargazers_count":39,"open_issues_count":7,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-19T05:14:24.505Z","etag":null,"topics":["3d-printing","cli","command-line","octoprint","octoprint-api","octoprint-client","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hexadecimalDinosaur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-04-30T17:57:07.000Z","updated_at":"2024-11-10T11:06:57.000Z","dependencies_parsed_at":"2024-02-04T07:24:21.537Z","dependency_job_id":"fb89ba5f-f2a5-4c93-adf6-f98439847b1e","html_url":"https://github.com/hexadecimalDinosaur/octoprint-cli","commit_stats":null,"previous_names":["userblackbox/octoprint-cli"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexadecimalDinosaur%2Foctoprint-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexadecimalDinosaur%2Foctoprint-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexadecimalDinosaur%2Foctoprint-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexadecimalDinosaur%2Foctoprint-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexadecimalDinosaur","download_url":"https://codeload.github.com/hexadecimalDinosaur/octoprint-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235161542,"owners_count":18945540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-printing","cli","command-line","octoprint","octoprint-api","octoprint-client","python"],"created_at":"2025-01-22T18:17:45.955Z","updated_at":"2025-10-03T17:30:55.129Z","avatar_url":"https://github.com/hexadecimalDinosaur.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# octoprint-cli\n\n[![version](https://img.shields.io/badge/dynamic/json?color=blue\u0026label=version\u0026query=tag_name\u0026url=https%3A%2F%2Fapi.github.com%2Frepos%2Fuserblackbox%2Foctoprint-cli%2Freleases%2Flatest\u0026style=flat-square)](https://github.com/UserBlackBox/octoprint-cli/releases/latest) [![license](https://img.shields.io/badge/dynamic/json?color=brightgreen\u0026label=license\u0026query=license.key\u0026url=https%3A%2F%2Fapi.github.com%2Frepos%2FUserBlackBox%2Foctoprint-cli\u0026style=flat-square)](https://github.com/UserBlackBox/octoprint-cli/blob/master/LICENSE) ![build](https://img.shields.io/github/workflow/status/UserBlackBox/octoprint-cli/Python%20application?style=flat-square) ![size](https://img.shields.io/github/languages/code-size/UserBlackBox/octoprint-cli?style=flat-square) ![downloads](https://img.shields.io/pypi/dd/octoprint-cli?style=flat-square)\n\n![icon](https://raw.githubusercontent.com/UserBlackBox/octoprint-cli/master/icon/icon.png)\n\nPython 3 command line tool for controlling OctoPrint servers\n\nThis tool uses the OctoPrint API to control and view the status of 3D printers connected to OctoPrint servers\n\nThis 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](https://github.com/UserBlackBox/octoprint-cli/issues). Feel free to fork this repo to fix issues or to implement new features.\n\n## Features\n\nThese 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](https://github.com/UserBlackBox/octoprint-cli/projects/1).\n\n-   Printer connection status\n-   Print job status\n-   File selection\n-   Pause, resume, cancel prints\n-   Start print\n-   System commands (shutdown, reboot, restart)\n-   Listing files/folders\n-   Retrieving file/folder information\n-   Setting extruder and bed temperature\n-   Connect and disconnect from printer\n-   Continuous status output with temperature status and progress bar\n-   GCODE and STL file uploads to server storage\n-   Run G-code on printer from terminal\n-   Layer information from OctoPrint-DisplayLayerProgress plugin if installed on server\n\n## Limitations\n\nCurrently, 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.\n\nColored and formatted text is not available on Windows systems due to the lack of support on cmd and powershell terminals\n\nThe program requires the API key to have all permissions to run\n\n## Installation\n\noctoprint-cli can be installed from PyPI using `pip`. PyPI package can be found at https://pypi.org/project/octoprint-cli/\n\n```bash\npip install octoprint-cli\n```\n\noctoprint-cli can also be installed manually using `git` and `setup.py`\n\n```bash\ngit clone https://github.com/UserBlackBox/octoprint-cli.git\ncd octoprint-cli\npython3 setup.py install --user\n```\n\n## Dependencies\n\nCan be found in `requirements.txt` and installed with `pip`\n\n-   termcolor\n-   requests\n\n## Configuration\n\nThe tool reads its configuration from either `config.ini` in the application directory or from `~/.config/octoprint-cli.ini` on Linux systems\n\nA sample config file has been included in `sample-config.ini`\n\n```ini\n[server]\n;Set OctoPrint server address and x-api-key\nServerAddress = SERVER_ADDRESS_HERE\nApiKey = API_KEY_HERE\n\n[preferences]\n;Set if the program uses colored or formatted text, this setting is turned off on windows due to cmd and powershell limitations\nFormattedText = true\n;Set if the program should check for updates\nUpdateCheck = true\n\n[printer]\n;Set maximum temperature that printer can be set to\nMaxExtruderTemp = 250\nMaxBedTemp = 85\n```\n\n## Usage\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eGeneral Commands\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n`octoprint-cli version` - get OctoPrint server version information\n\n`octoprint-cli continuous` - get continuous refreshing temperature, layer, and print status\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003ePrint Commands\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n`octoprint-cli print status` - get current print job status\n\n`octoprint-cli print select [path]` - load file on server\n\n`octoprint-cli print start` - start print job on loaded file\n\n`octoprint-cli print cancel` - cancel current print job\n\n`octoprint-cli print pause` - pauses the current print job\n\n`octoprint-cli print resume` - resumes the current print job\n\n`octoprint-cli gcode [command]` - run GCODE command on printer\n\n`octoprint-cli layers` - get layer information during prints from the DisplayLayerProgress plugin\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eConnection Commands\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n`octoprint-cli connection status` - get OctoPrint print connection information\n\n`octoprint-cli connection connect` - connect to printer, serial port and baudrate are decided automatically unless specified with the `-b [BAUDRATE]` and `-p [PORT]` flags\n\n`octoprint-cli connection disconnect` - disconnect from printer\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eTemperature Commands\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n`octoprint-cli temp status` - get current and target temperatures of extruder and bed\n\n`octoprint-cli temp extruder [temp]` - set target temperature of extruder\n\n`octoprint-cli temp bed [temp]` - set target temperature of print bed\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eSystem Commands\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n`octoprint-cli system restart` - restart OctoPrint server\n\n`octoprint-cli system restart-safe` - restart OctoPrint server to safe mode\n\n`octoprint-cli reboot` - reboot OctoPrint server\n\n`octoprint-cli shutdown` - shutdown OctoPrint server\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eFile Commands\u003c/b\u003e\u003c/summary\u003e\u003cbr\u003e\n\n`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\n\n`octoprint-cli files info [file]` - get information on file on server\n\n`octoprint-cli files upload [file]` - upload local file to server\n\n\u003c/details\u003e\n\nThe `-h` or `--help` flag can bring up a help message for all commands\n\nThe `-v` or `--verbose` flag can be used to view execution information like requests, useful for debugging configuration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FhexadecimalDinosaur%2Foctoprint-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FhexadecimalDinosaur%2Foctoprint-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FhexadecimalDinosaur%2Foctoprint-cli/lists"}