{"repo":"dw-0/kiauh","free":true,"listed":false,"github":"https://github.com/dw-0/kiauh","clone":"git clone https://github.com/dw-0/kiauh.git","description":"Klipper Installation And Update Helper","language":"Python","stars":4488,"topics":["3d-printing","fluidd","klipper","klipperscreen","mainsail","moonraker","obico","raspberry-pi","telegram"],"license":"GPL-3.0","category":"dev_tool","readme_excerpt":"<p align=\"center\">\n    <img src=\"docs/assets/logo-large.png\" alt=\"KIAUH Logo\" height=\"181\">\n    <h1 align=\"center\">Klipper Installation And Update Helper</h1>\n</p>\n\n<p align=\"center\">\n  A handy installation script that makes installing Klipper (and more) a breeze!\n</p>\n\n<p align=\"center\">\n  <a><img src=\"https://img.shields.io/github/license/dw-0/kiauh\"></a>\n  <a><img src=\"https://img.shields.io/github/stars/dw-0/kiauh\"></a>\n  <a><img src=\"https://img.shields.io/github/forks/dw-0/kiauh\"></a>\n  <a><img src=\"https://img.shields.io/github/languages/top/dw-0/kiauh?logo=gnubash&logoColor=white\"></a>\n  <a><img src=\"https://img.shields.io/github/v/tag/dw-0/kiauh\"></a>\n  <br />\n  <a><img src=\"https://img.shields.io/github/last-commit/dw-0/kiauh\"></a>\n  <a><img src=\"https://img.shields.io/github/contributors/dw-0/kiauh\"></a>\n</p>\n\n<hr>\n\n<h2 align=\"center\">\n  📄️ Instructions 📄\n</h2>\n\n### 📋 Prerequisites\n\nKIAUH is a script that assists you in installing Klipper on a Linux operating\nsystem that has\nalready been flashed to your Raspberry Pi's (or other SBC's) SD card. As a\nresult, you must ensure\nthat you have a functional Linux system on hand.\n`Raspberry Pi OS Lite (either 32bit or 64bit)` is a recommended Linux image\nif you are using a Raspberry Pi.\nThe [official Raspberry Pi Imager](https://www.raspberrypi.com/software/)\nis the simplest way to flash an image like this to an SD card.\n\n* Once you have downloaded, installed and launched the Raspberry Pi Imager,\n  select `Choose OS -> Raspberry Pi OS (other)`: \\\n\n<p align=\"center\">\n  <img src=\"docs/assets/rpi_imager1.png\" alt=\"KIAUH logo\" height=\"350\">\n</p>\n\n* Then select `Raspberry Pi OS Lite (32bit)` (or 64bit if you want to use that\n  instead):\n\n<p align=\"center\">\n  <img src=\"docs/assets/rpi_imager2.png\" alt=\"KIAUH logo\" height=\"350\">\n</p>\n\n* Back in the Raspberry Pi Imager's main menu, select the corresponding SD card\n  to which\n  you want to flash the image.\n\n* Make sure to go into the Advanced Option (the cog icon in the lower left\n  corner of the main menu)\n  and enable SSH and configure Wi-Fi.\n\n* If you need more help for using the Raspberry Pi Imager, please visit\n  the [official documentation](https://www.raspberrypi.com/documentation/computers/getting-started.html).\n\nThese steps **only** apply if you are actually using a Raspberry Pi. In case you\nwant\nto use a different SBC (like an Orange Pi or any other Pi derivates), please\nlook up on how to get an appropriate Linux image flashed\nto the SD card before proceeding further (usually done with Balena Etcher in\nthose cases). Also make sure that KIAUH will be able to run\nand operate on the Linux Distribution you are going to flash. You likely will\nhave the most success with\ndistributions based on Debian 11 Bullseye. Read the notes further down below in\nthis document.\n\n### 💾 Download and use KIAUH\n\n**📢 Disclaimer: Usage of this script happens at your own risk!**\n\n* **Step 1:** \\\n  To download this script, it is necessary to have git installed. If you don't\n  have git already installed, or if you are unsure, run the following command:\n\n```shell\nsudo apt-get update && sudo apt-get install git -y\n```\n\n* **Step 2:** \\\n  Once git is installed, use the following command to download KIAUH into your\n  home-directory:\n\n```shell\ncd ~ && git clone https://github.com/dw-0/kiauh.git\n```\n\n* **Step 3:** \\\n  Finally, start KIAUH by running the next command:\n\n```shell\n./kiauh/kiauh.sh\n```\n\n* **Step 4:** \\\n  You should now find yourself in the main menu of KIAUH. You will see several\n  actions to choose from depending\n  on what you want to do. To choose an action, simply type the corresponding\n  number into the \"Perform action\"\n  prompt and confirm by hitting ENTER.\n\n<hr>\n\n<h2 align=\"center\">❗ Notes ❗</h2>\n\n### **📋 Please see the [Changelog](docs/changelog.md) for possible important\n\nchanges!**\n\n- Mainly tested on Raspberry Pi OS Lite (Debian 10 Buster / Debian 11 Bullseye)\n    - Other Debian based distributions (like Ubuntu 20 to 22) likely work too\n    - Reported to work on Armbian as well but not tested in detail\n- During the use of this script you will be asked for your sudo password. There\n  are several functions involved which need sudo privileges.\n\n<hr>\n\n<h2 align=\"center\">⚙️ Core Components ⚙️</h2>\n\n<table align=\"center\" style=\"text-align: center;\">\n<tr>\n    <th><h3><a href=\"https://github.com/Klipper3d/klipper\">Klipper</a></h3></th>\n    <th><h3><a href=\"https://github.com/Arksine/moonraker\">Moonraker</a></h3></th>\n    <th><h3><a href=\"https://github.com/mainsail-crew/mainsail\">Mainsail</a></h3></th>\n</tr>\n<tr>\n    <th><img src=\"https://raw.githubusercontent.com/Klipper3d/klipper/master/docs/img/klipper-logo.png\" alt=\"Klipper Logo\" height=\"64\"></th>\n    <th><img src=\"https://avatars.githubusercontent.com/u/9563098?v=4\" alt=\"Arksine avatar\" height=\"64\"></th>\n    <th><img src=\"https://raw.githubusercontent.com/mainsail-crew/docs/master/assets/img/logo.png\" alt=\"Mainsail Logo\" height=\"64\"></th>\n</tr>\n<tr>\n    <th>by <a href=\"https://github.com/KevinOConnor\">KevinOConnor</a></th>\n    <th>by <a href=\"https://github.com/Arksine\">Arksine</a></th>\n    <th>by <a href=\"https://github.com/mainsail-crew\">mainsail-crew</a></th>\n</tr>\n<tr>\n    <th><h3><a href=\"https://github.com/fluidd-core/fluidd\">Fluidd</a></h3></th>\n    <th><h3><a href=\"https://github.com/KlipperScreen/KlipperScreen\">KlipperScreen</a></h3></th>\n    <th></th>\n</tr>\n<tr>\n    <th><img src=\"https://raw.githubusercontent.com/fluidd-core/fluidd/master/docs/docs/assets/images/logo.svg\" alt=\"Fluidd Logo\" height=\"64\"></th>\n    <th><img src=\"https://avatars.githubusercontent.com/KlipperScreen?v=4\" alt=\"KlipperScreen Logo\" height=\"64\"></th>\n    <th></th>\n</tr>\n<tr>\n    <th>by <a href=\"https://github.com/fluidd-core\">fluidd-core</a></th>\n    <th>by <a href=\"https://github.com/alfrix\">alfrix</a></th>\n    <th></th>\n</tr>\n</table>\n\n<hr>\n\n<h2 align=\"center\">🧩 Community Extensions 🧩</h2>\n\n<table align=\"center\" style=\"text-align: center;\">\n<tr>\n    <th><h3><a href=\"https://github.com/OctoPrint/OctoPrint\">OctoPrint</a></h3></th>\n    <th><h3><a href=\"https://github.com/nlef/moonraker-telegram-bot\">Moonraker-Telegram-Bot</a></h3></th>\n    <th><h3><a href=\"https://github.com/Kragrathea/pgcode\">PrettyGCode for Klipper</a></h3></th>\n</tr>\n<tr>\n    <th><a href=\"https://github.com/OctoPrint/OctoPrint\"><img src=\"https://raw.githubusercontent.com/OctoPrint/OctoPrint/master/docs/images/octoprint-logo.png\" alt=\"OctoPrint Logo\" height=\"64\"></a></th>\n    <th><a href=\"https://github.com/nlef/moonraker-telegram-bot\"><img src=\"https://avatars.githubusercontent.com/u/52351624?v=4\" alt=\"nlef avatar\" height=\"64\"></a></th>\n    <th><a href=\"https://github.com/Kragrathea/pgcode\"><img src=\"https://avatars.githubusercontent.com/u/5917231?v=4\" alt=\"Kragrathea avatar\" height=\"64\"></a></th>\n</tr>\n<tr>\n    <th>by <a href=\"https://github.com/OctoPrint\">OctoPrint</a></th>\n    <th>by <a href=\"https://github.com/nlef\">nlef</a></th>\n    <th>by <a href=\"https://github.com/Kragrathea\">Kragrathea</a></th>\n</tr>\n<tr>\n    <th><h3><a href=\"https://github.com/TheSpaghettiDetective/moonraker-obico\">Obico for Klipper</a></h3></th>\n    <th><h3><a href=\"https://github.com/Clon1998/mobileraker_companion\">Mobileraker's Companion</a></h3></th>\n    <th><h3><a href=\"https://octoeverywhere.com/?source=kiauh_readme\">OctoEverywhere For Klipper</a></h3></th>\n</tr>\n<tr>\n    <th><a href=\"https://github.com/TheSpaghettiDetective/moonraker-obico\"><img src=\"https://avatars.githubusercontent.com/u/46323662?s=200&v=4\" alt=\"Obico logo\" height=\"64\"></a></th>\n    <th><a href=\"https://github.com/Clon1998/mobileraker_companion\"><img src=\"https://raw.githubusercontent.com/Clon1998/mobileraker/master/assets/icon/mr_appicon.png\" alt=\"Mobileraker Logo\" height=\"64\"></a></th>\n    <th><a href=\"https://octoeverywhere.com/?source=kiauh_readme\"><img src=\"https://octoeverywhere.com/img/logo.svg\" alt=\"OctoEverywhere Logo\" height=\"64\"></a></th>\n</tr>\n<tr>\n    <th>by <a href=\"https://github.com/TheSpaghettiDetective\">Obico</a></th>\n    <th>by <a href=\"https://github.com/Clon1998\">Patrick Schmidt</a></th>\n    <th>by <a href=\"https://github.com/QuinnDamerell\">Quinn Damerell</a></th>\n</tr>\n<tr>\n    <th><h3><a href=\"https://github.com/crysxd/OctoApp-Plugin\">OctoApp For Klipper</a></h3></th>\n    <th><h3><a href=\"https://github.com/staubgeborener/klipper-backup\">Klipper-Backup</a></h3></th>\n    <th><h3><a href=\"https://simplyprint.io/\">SimplyPrint for Klipper</a></h3></th>\n</tr>\n<tr>\n    <th><a href=\"https://octoapp.eu/?source=kiauh_readme\"><img src=\"https://octoapp.eu/octoapp.webp\" alt=\"OctoApp Logo\" height=\"64\"></a></th>\n    <th><a href=\"https://github.com/staubgeborener/klipper-backup\"><img src=\"https://avatars.githubusercontent.com/u/28908603?v=4\" alt=\"Staubgeroner Avatar\" height=\"64\"></a></th>\n    <th><a href=\"https://github.com/SimplyPrint\"><img src=\"https://avatars.githubusercontent.com/u/64896552?s=200&v=4\" alt=\"SimplyPrint Logo\" height=\"64\"></a></th>\n</tr>\n<tr>\n    <th>by <a href=\"https://github.com/crysxd\">Christian Würthner</a></th>\n    <th>by <a href=\"https://github.com/Staubgeborener\">Staubgeborener</a></th>\n    <th>by <a href=\"https://github.com/SimplyPrint\">SimplyPrint</a></th>\n</tr>\n<tr>\n    <th><h3><a href=\"https://github.com/CodeMasterCody3D/DroidKlipp\">DroidKlipp</a></h3></th>\n    <th><h3><a href=\"https://github.com/PEEKYPAUL/Moongate\">Moongate</a></h3></th>\n    <th></th>\n</tr>\n<tr>\n    <th><a href=\"https://github.com/CodeMasterCody3D/DroidKlipp\"><img src=\"https://raw.githubusercontent.com/CodeMasterCody3D/DroidKlipp/main/logo.png\" alt=\"DroidKlipp Logo\" height=\"64\"></a></th>\n    <th><a href=\"https://github.com/PEEKYPAUL/Moongate\"><img src=\"https://raw.githubusercontent.com/PEEKYPAUL/Moongate/master/docs/moongate-icon.png\" alt=\"Moongate Logo\" height=\"64\"></a></th>\n    <th></th>\n</tr>\n<tr>\n    <th>by <a href=\"https://github.com/CodeMasterCody3D\">CodeMasterCody3D</a></th>\n    <th>by <a href=\"https://github.com/PEEKYPAUL\">PEEKYPAUL</a></th>\n    <th></th>\n</tr","default_branch":"master","files":294,"tree":[".editorconfig",".github/FUNDING.yml",".github/ISSUE_TEMPLATE/bug_report.yml",".github/ISSUE_TEMPLATE/config.yml",".github/ISSUE_TEMPLATE/feature_request.yml",".github/workflows/release-ff-and-tag.yml",".github/workflows/tests.yml",".gitignore","LICENSE","README.md","README_zh.md","default.kiauh.cfg","docs/assets/logo-large.png","docs/assets/logo.png","docs/assets/rpi_imager1.png","docs/assets/rpi_imager2.png","docs/changelog.md","docs/gcode_shell_command.md","kiauh.sh","kiauh/__init__.py","kiauh/components/__init__.py","kiauh/components/crowsnest/__init__.py","kiauh/components/crowsnest/crowsnest.py","kiauh/components/klipper/__init__.py","kiauh/components/klipper/assets/klipper.env","kiauh/components/klipper/assets/klipper.service","kiauh/components/klipper/assets/printer.cfg","kiauh/components/klipper/klipper.py","kiauh/components/klipper/klipper_dialogs.py","kiauh/components/klipper/klipper_utils.py","kiauh/components/klipper/menus/__init__.py","kiauh/components/klipper/menus/klipper_remove_menu.py","kiauh/components/klipper/services/__init__.py","kiauh/components/klipper/services/klipper_instance_service.py","kiauh/components/klipper/services/klipper_setup_service.py","kiauh/components/klipper/services/tests/__init__.py","kiauh/components/klipper/services/tests/test_klipper_setup_service.py","kiauh/components/klipper_firmware/__init__.py","kiauh/components/klipper_firmware/firmware_utils.py","kiauh/components/klipper_firmware/flash_options.py","kiauh/components/klipper_firmware/menus/klipper_build_menu.py","kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py","kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py","kiauh/components/klipper_firmware/menus/klipper_flash_menu.py","kiauh/components/klipperscreen/__init__.py","kiauh/components/klipperscreen/klipperscreen.py","kiauh/components/log_uploads/__init__.py","kiauh/components/log_uploads/log_upload_utils.py","kiauh/components/log_uploads/menus/log_upload_menu.py","kiauh/components/moonraker/__init__.py","kiauh/components/moonraker/assets/moonraker.conf","kiauh/components/moonraker/assets/moonraker.env","kiauh/components/moonraker/assets/moonraker.service","kiauh/components/moonraker/menus/__init__.py","kiauh/components/moonraker/menus/moonraker_remove_menu.py","kiauh/components/moonraker/moonraker.py","kiauh/components/moonraker/moonraker_dialogs.py","kiauh/components/moonraker/services/__init__.py","kiauh/components/moonraker/services/moonraker_instance_service.py","kiauh/components/moonraker/services/moonraker_setup_service.py","kiauh/components/moonraker/services/tests/__init__.py","kiauh/components/moonraker/services/tests/conftest.py","kiauh/components/moonraker/services/tests/test_moonraker_setup_service.py","kiauh/components/moonraker/utils/__init__.py","kiauh/components/moonraker/utils/sysdeps_parser.py","kiauh/components/moonraker/utils/tests/__init__.py","kiauh/components/moonraker/utils/tests/test_utils.py","kiauh/components/moonraker/utils/utils.py","kiauh/components/webui_client/__init__.py","kiauh/components/webui_client/assets/common_vars.conf","kiauh/components/webui_client/assets/nginx_cfg","kiauh/components/webui_client/assets/upstreams.conf","kiauh/components/webui_client/base_data.py","kiauh/components/webui_client/client_dialogs.py","kiauh/components/webui_client/client_utils.py","kiauh/components/webui_client/fluidd_data.py","kiauh/components/webui_client/mainsail_data.py","kiauh/components/webui_client/menus/__init__.py","kiauh/components/webui_client/menus/client_install_menu.py","kiauh/components/webui_client/menus/client_remove_menu.py","kiauh/components/webui_client/menus/tests/__init__.py","kiauh/components/webui_client/menus/tests/test_client_install_menu.py","kiauh/components/webui_client/services/__init__.py","kiauh/components/webui_client/services/tests/__init__.py","kiauh/components/webui_client/services/tests/conftest.py","kiauh/components/webui_client/services/tests/test_web_client_config_setup_service.py","kiauh/components/webui_client/services/tests/test_web_client_setup_service.py","kiauh/components/webui_client/services/web_client_config_setup_service.py","kiauh/components/webui_client/services/web_client_setup_service.py","kiauh/components/webui_client/tests/__init__.py","kiauh/components/webui_client/tests/conftest.py","kiauh/components/webui_client/tests/test_client_utils.py","kiauh/conftest.py","kiauh/core/__init__.py","kiauh/core/backends/__init__.py","kiauh/core/backends/tests/__init__.py","kiauh/core/backends/tests/test_backends.py","kiauh/core/cli/__init__.py","kiauh/core/cli/tests/__init__.py","kiauh/core/cli/tests/test_cli.py","kiauh/core/constants.py","kiauh/core/instance_manager/__init__.py","kiauh/core/instance_manager/base_instance.py","kiauh/core/instance_manager/instance_manager.py","kiauh/core/instance_manager/tests/__init__.py","kiauh/core/instance_manager/tests/test_instance_manager.py","kiauh/core/logger.py","kiauh/core/menus/__init__.py","kiauh/core/menus/advanced_menu.py","kiauh/core/menus/backup_menu.py","kiauh/core/menus/base_menu.py","kiauh/core/menus/install_menu.py","kiauh/core/menus/main_menu.py","kiauh/core/menus/remove_menu.py","kiauh/core/menus/repo_select_menu.py","kiauh/core/menus/settings_menu.py","kiauh/core/menus/tests/__init__.py","kiauh/core/menus/tests/test_base_menu.py","kiauh/core/menus/tests/test_install_menu.py","kiauh/core/menus/tests/test_menu_dispatch.py","kiauh/core/menus/tests/test_repo_select_menu.py","kiauh/core/menus/tests/test_settings_menu.py","kiauh/core/menus/tests/test_update_menu.py","kiauh/core/menus/update_menu.py","kiauh/core/services/__init__.py","kiauh/core/services/backup_service.py","kiauh/core/services/message_service.py","kiauh/core/services/tests/__init__.py","kiauh/core/services/tests/test_backup_service.py","kiauh/core/services/tests/test_message_service.py","kiauh/core/settings/__init__.py","kiauh/core/settings/kiauh_settings.py","kiauh/core/settings/tests/__init__.py","kiauh/core/settings/tests/test_settings.py","kiauh/core/simple_config_parser/README.md","kiauh/core/simple_config_parser/__init__.py","kiauh/core/simple_config_parser/simple_config_parser.py","kiauh/core/simple_config_parser/tests/__init__.py","kiauh/core/simple_config_parser/tests/assets/klipper_config.txt","kiauh/core/simple_config_parser/tests/assets/test_config_1.cfg","kiauh/core/simple_config_parser/tests/assets/test_config_2.cfg","kiauh/core/simple_config_parser/tests/assets/test_config_3.cfg","kiauh/core/simple_config_parser/tests/assets/test_config_4.cfg","kiauh/core/simple_config_parser/tests/assets/test_gcode.cfg","kiauh/core/simple_config_parser/tests/assets/write_tests/add_option/expected.cfg","kiauh/core/simple_config_parser/tests/assets/write_tests/add_option/input.cfg","kiauh/core/simple_config_parser/tests/assets/write_tests/remove_option/expected.cfg","kiauh/core/simple_config_parser/tests/assets/write_tests/remove_option/input.cfg","kiauh/core/simple_config_parser/tests/assets/write_tests/remove_section/expected.cfg","kiauh/core/simple_config_parser/tests/assets/write_tests/remove_section/input.cfg","kiauh/core/simple_config_parser/tests/line_matching/__init__.py","kiauh/core/simple_config_parser/tests/line_matching/match_empty_line/__init__.py","kiauh/core/simple_config_parser/tests/line_matching/match_empty_line/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_empty_line/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_empty_line/test_match_empty_line.py","kiauh/core/simple_config_parser/tests/line_matching/match_gcode_block_start/__init__.py","kiauh/core/simple_config_parser/tests/line_matching/match_gcode_block_start/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_gcode_block_start/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_gcode_block_start/test_match_gcode_block_start.py","kiauh/core/simple_config_parser/tests/line_matching/match_line_comment/__init__.py","kiauh/core/simple_config_parser/tests/line_matching/match_line_comment/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_line_comment/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_line_comment/test_match_line_comment.py","kiauh/core/simple_config_parser/tests/line_matching/match_option/__init__.py","kiauh/core/simple_config_parser/tests/line_matching/match_option/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_option/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_option/test_match_option.py","kiauh/core/simple_config_parser/tests/line_matching/match_option_block_start/__init__.py","kiauh/core/simple_config_parser/tests/line_matching/match_option_block_start/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_option_block_start/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_option_block_start/test_match_options_block_start.py","kiauh/core/simple_config_parser/tests/line_matching/match_save_config_content/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_save_config_content/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_save_config_content/test_match_save_config_content.py","kiauh/core/simple_config_parser/tests/line_matching/match_save_config_start/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_save_config_start/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_save_config_start/test_match_save_config_start.py","kiauh/core/simple_config_parser/tests/line_matching/match_section/__init__,py.py","kiauh/core/simple_config_parser/tests/line_matching/match_section/test_data/matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_section/test_data/non_matching_data.txt","kiauh/core/simple_config_parser/tests/line_matching/match_section/test_match_section.py","kiauh/core/simple_config_parser/tests/line_parsing/__init__.py","kiauh/core/simple_config_parser/tests/line_parsing/test_line_parsing.py","kiauh/core/simple_config_parser/tests/line_parsing/test_multiline_update_behavior.py","kiauh/core/simple_config_parser/tests/public_api/__init__.py","kiauh/core/simple_config_parser/tests/public_api/conftest.py","kiauh/core/simple_config_parser/tests/public_api/test_gcode_block.py","kiauh/core/simple_config_parser/tests/public_api/test_options_api.py","kiauh/core/simple_config_parser/tests/public_api/test_read_file.py","kiauh/core/simple_config_parser/tests/public_api/test_sections_api.py","kiauh/core/simple_config_parser/tests/public_api/test_write_file.py","kiauh/core/simple_config_parser/tests/utils.py","kiauh/core/simple_config_parser/tests/value_conversion/__init__.py","kiauh/core/simple_config_parser/tests/value_conversion/test_get_conv.py","kiauh/core/spinner.py","kiauh/core/tests/__init__.py","kiauh/core/tests/test_spinner.py","kiauh/core/types/__init__.py","kiauh/core/types/color.py","kiauh/core/types/component_status.py","kiauh/extensions/__init__.py","kiauh/extensions/base_extension.py","kiauh/extensions/droidklipp/__init__.py","kiauh/extensions/droidklipp/droidklipp_extension.py","kiauh/extensions/droidklipp/metadata.json","kiauh/extensions/extensions_menu.py","kiauh/extensions/gcode_shell_cmd/__init__.py","kiauh/extensions/gcode_shell_cmd/assets/gcode_shell_command.py","kiauh/extensions/gcode_shell_cmd/assets/shell_command.cfg","kiauh/extensions/gcode_shell_cmd/gcode_shell_cmd_extension.py","kiauh/extensions/gcode_shell_cmd/metadata.json","kiauh/extensions/klipper_adaptive_meshing_purging/__init__.py","kiauh/extensions/klipper_adaptive_meshing_purging/klipper_adaptive_meshing_purging_extension.py","kiauh/extensions/klipper_adaptive_meshing_purging/metadata.json","kiauh/extensions/klipper_backup/__init__.py","kiauh/extensions/klipper_backup/klipper_backup_extension.py","kiauh/extensions/klipper_backup/metadata.json","kiauh/extensions/mainsail_theme_installer/__init__.py","kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py","kiauh/extensions/mainsail_theme_installer/metadata.json","kiauh/extensions/mobileraker/__init__.py","kiauh/extensions/mobileraker/metadata.json","kiauh/extensions/mobileraker/mobileraker_extension.py","kiauh/extensions/moongate/__init__.py","kiauh/extensions/moongate/metadata.json","kiauh/extensions/moongate/moongate_extension.py","kiauh/extensions/obico/__init__.py","kiauh/extensions/obico/assets/moonraker-obico.env","kiauh/extensions/obico/assets/moonraker-obico.service","kiauh/extensions/obico/metadata.json","kiauh/extensions/obico/moonraker_obico.py","kiauh/extensions/obico/moonraker_obico_extension.py","kiauh/extensions/octoapp/__init__.py","kiauh/extensions/octoapp/metadata.json","kiauh/extensions/octoapp/octoapp.py","kiauh/extensions/octoapp/octoapp_extension.py","kiauh/extensions/octoeverywhere/__init__.py","kiauh/extensions/octoeverywhere/metadata.json","kiauh/extensions/octoeverywhere/octoeverywhere.py","kiauh/extensions/octoeverywhere/octoeverywhere_extension.py","kiauh/extensions/octoprint/__init__.py","kiauh/extensions/octoprint/metadata.json","kiauh/extensions/octoprint/octoprint.py","kiauh/extensions/octoprint/octoprint_extension.py","kiauh/extensions/pretty_gcode/__init__.py","kiauh/extensions/pretty_gcode/assets/pgcode.local.conf","kiauh/extensions/pretty_gcode/metadata.json","kiauh/extensions/pretty_gcode/pretty_gcode_extension.py","kiauh/extensions/simply_print/__init__.py","kiauh/extensions/simply_print/metadata.json","kiauh/extensions/simply_print/simply_print_extension.py","kiauh/extensions/spoolman/__init__.py","kiauh/extensions/spoolman/assets/docker-compose.yml","kiauh/extensions/spoolman/metadata.json","kiauh/extensions/spoolman/spoolman.py","kiauh/extensions/spoolman/spoolman_extension.py","kiauh/extensions/telegram_bot/__init__.py","kiauh/extensions/telegram_bot/assets/moonraker-telegram-bot.env","kiauh/extensions/telegram_bot/assets/moonraker-telegram-bot.service","kiauh/extensions/telegram_bot/metadata.json","kiauh/extensions/telegram_bot/moonraker_telegram_bot.py","kiauh/extensions/telegram_bot/moonraker_telegram_bot_extension.py","kiauh/extensions/tests/__init__.py","kiauh/extensions/tests/test_base_extension.py","kiauh/extensions/tmc_autotune/__init__.py","kiauh/extensions/tmc_autotune/metadata.json","kiauh/extensions/tmc_autotune/tmc_autotune_extension.py","kiauh/main.py","kiauh/procedures/__init__.py","kiauh/procedures/switch_repo.py","kiauh/procedures/system.py","kiauh/tests/__init__.py","kiauh/tests/helpers/__init__.py","kiauh/tests/helpers/fake_backends.py","kiauh/tests/test_main.py","kiauh/utils/__init__.py","kiauh/utils/common.py","kiauh/utils/config_utils.py","kiauh/utils/fs_utils.py","kiauh/utils/git_utils.py","kiauh/utils/input_utils.py","kiauh/utils/instance_type.py","kiauh/utils/instance_utils.py","kiauh/utils/sys_utils.py","kiauh/utils/tests/test_common.py","kiauh/utils/tests/test_config_utils.py","kiauh/utils/tests/test_fs_utils.py","kiauh/utils/tests/test_git_utils.py","kiauh/utils/tests/test_input_utils.py","kiauh/utils/tests/test_instance_type.py","kiauh/utils/tests/test_instance_utils.py","kiauh/utils/tests/test_sys_utils.py","pyproject.toml","requirements-dev.txt"],"storefront":"/r/dw-0","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dw-0/kiauh/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}