{"id":13482017,"url":"https://github.com/OctoPrint/OctoPrint","last_synced_at":"2025-03-27T12:32:01.402Z","repository":{"id":6157301,"uuid":"7386799","full_name":"OctoPrint/OctoPrint","owner":"OctoPrint","description":"OctoPrint is the snappy web interface for your 3D printer!","archived":false,"fork":false,"pushed_at":"2024-10-29T00:16:12.000Z","size":55041,"stargazers_count":8290,"open_issues_count":269,"forks_count":1668,"subscribers_count":335,"default_branch":"master","last_synced_at":"2024-10-29T10:49:01.415Z","etag":null,"topics":["3d-printer","octoprint","python","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://octoprint.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OctoPrint.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORTERS.md","governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["foosel"],"ko_fi":"OctoPrint","patreon":"foosel","liberapay":"foosel","custom":"https://octoprint.org/support-octoprint/"}},"created_at":"2012-12-31T12:20:57.000Z","updated_at":"2024-10-29T09:28:35.000Z","dependencies_parsed_at":"2023-02-14T16:16:51.696Z","dependency_job_id":"9e0426d2-3eaf-4ba3-9108-e0f040c9e964","html_url":"https://github.com/OctoPrint/OctoPrint","commit_stats":null,"previous_names":["foosel/octoprint"],"tags_count":148,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoPrint%2FOctoPrint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoPrint%2FOctoPrint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoPrint%2FOctoPrint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OctoPrint%2FOctoPrint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OctoPrint","download_url":"https://codeload.github.com/OctoPrint/OctoPrint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222252054,"owners_count":16955956,"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-printer","octoprint","python","raspberry-pi"],"created_at":"2024-07-31T17:00:58.264Z","updated_at":"2024-10-30T15:31:40.054Z","avatar_url":"https://github.com/OctoPrint.png","language":"Python","funding_links":["https://github.com/sponsors/foosel","https://ko-fi.com/OctoPrint","https://patreon.com/foosel","https://liberapay.com/foosel","https://octoprint.org/support-octoprint/"],"categories":["\u003ca id=\"tag-graphics\" href=\"#tag-graphics\"\u003eGraphics\u003c/a\u003e","Python","硬件_其他","raspberry-pi","Machine Control Interfaces \u0026 Hosts"],"sub_categories":["网络服务_其他","Laser Cutter Firmware"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://octoprint.org/assets/img/logo.png\" alt=\"OctoPrint's logo\" /\u003e\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eOctoPrint\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/OctoPrint/OctoPrint?logo=github\u0026logoColor=white\" alt=\"GitHub release\"/\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/v/OctoPrint?logo=python\u0026logoColor=white\" alt=\"PyPI\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/OctoPrint/OctoPrint/build.yml?branch=master\" alt=\"Build status\"/\u003e\n  \u003ca href=\"https://community.octoprint.org\"\u003e\u003cimg src=\"https://img.shields.io/discourse/users?label=forum\u0026logo=discourse\u0026logoColor=white\u0026server=https%3A%2F%2Fcommunity.octoprint.org\" alt=\"Community Forum\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.octoprint.org\"\u003e\u003cimg src=\"https://img.shields.io/discord/704958479194128507?label=discord\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://octoprint.org/conduct/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg\" alt=\"Contributor Covenant\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code style: black\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/prettier/prettier\"\u003e\u003cimg src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\" alt=\"Code style: prettier\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://pycqa.github.io/isort/\"\u003e\u003cimg src=\"https://img.shields.io/badge/%20imports-isort-%231674b1\" alt=\"Imports: isort\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/pre-commit/pre-commit\"\u003e\u003cimg src=\"https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\" alt=\"pre-commit\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nOctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software\nand released under the [GNU Affero General Public License V3](https://www.gnu.org/licenses/agpl-3.0.html).\n\nIts website can be found at [octoprint.org](https://octoprint.org/?utm_source=github\u0026utm_medium=readme).\n\nThe community forum is available at [community.octoprint.org](https://community.octoprint.org/?utm_source=github\u0026utm_medium=readme). It also serves as a central knowledge base.\n\nAn invite to the Discord server can be found at [discord.octoprint.org](https://discord.octoprint.org).\n\nThe FAQ can be accessed by following [faq.octoprint.org](https://faq.octoprint.org/?utm_source=github\u0026utm_medium=readme).\n\nThe documentation is located at [docs.octoprint.org](https://docs.octoprint.org).\n\nThe official plugin repository can be reached at [plugins.octoprint.org](https://plugins.octoprint.org/?utm_source=github\u0026utm_medium=readme).\n\n**OctoPrint's development wouldn't be possible without the [financial support by its community](https://octoprint.org/support-octoprint/?utm_source=github\u0026utm_medium=readme).\nIf you enjoy OctoPrint, please consider becoming a regular supporter!**\n\n![Screenshot](https://octoprint.org/assets/img/screenshot-readme.png)\n\nYou are currently looking at the source code repository of OctoPrint. If you already installed it\n(e.g. by using the Raspberry Pi targeted distribution [OctoPi](https://github.com/guysoft/OctoPi)) and only\nwant to find out how to use it, [the documentation](https://docs.octoprint.org/) might be of more interest for you. You might also want to subscribe to join\n[the community forum at community.octoprint.org](https://community.octoprint.org) where there are other active users who might be\nable to help you with any questions you might have.\n\n## Contributing\n\nContributions of all kinds are welcome, not only in the form of code but also with regards to the\n[official documentation](https://docs.octoprint.org/), debugging help\nin the [bug tracker](https://github.com/OctoPrint/OctoPrint/issues), support of other users on\n[the community forum at community.octoprint.org](https://community.octoprint.org) or\n[the official discord at discord.octoprint.org](https://discord.octoprint.org)\nand also [financially](https://octoprint.org/support-octoprint/?utm_source=github\u0026utm_medium=readme).\n\nIf you think something is bad about OctoPrint or its documentation the way it is, please help\nin any way to make it better instead of just complaining about it -- this is an Open Source Project\nafter all :)\n\nFor information about how to go about submitting bug reports or pull requests, please see the project's\n[Contribution Guidelines](https://github.com/OctoPrint/OctoPrint/blob/master/CONTRIBUTING.md).\n\n## Installation\n\nInstallation instructions for installing from source for different operating\nsystems can be found [on the forum](https://community.octoprint.org/tags/c/support/guides/15/setup).\n\nIf you want to run OctoPrint on a Raspberry Pi, you really should take a look at [OctoPi](https://github.com/guysoft/OctoPi)\nwhich is a custom SD card image that includes OctoPrint plus dependencies.\n\nThe generic steps that should basically be done regardless of operating system\nand runtime environment are the following (as *regular\nuser*, please keep your hands *off* of the `sudo` command here!) - this assumes\nyou already have Python 3.7+, pip and virtualenv and their dependencies set up on your system:\n\n1. Create a user-owned virtual environment therein: `virtualenv venv`. If you want to specify a specific python\n   to use instead of whatever version your system defaults to, you can also explicitly require that via the `--python`\n   parameter, e.g. `virtualenv --python=python3 venv`.\n2. Install OctoPrint *into that virtual environment*: `./venv/bin/pip install OctoPrint`\n\nYou may then start the OctoPrint server via `/path/to/OctoPrint/venv/bin/octoprint`, see [Usage](#usage)\nfor details.\n\nAfter installation, please make sure you follow the first-run wizard and set up\naccess control as necessary.\n\n## Dependencies\n\nOctoPrint depends on a few python modules to do its job. Those are automatically installed when installing\nOctoPrint via `pip`.\n\nOctoPrint currently supports Python 3.7, 3.8, 3.9, 3.10, 3.11 and 3.12.\n\n## Usage\n\nRunning the pip install via\n\n    pip install OctoPrint\n\ninstalls the `octoprint` script in your Python installation's scripts folder\n(which, depending on whether you installed OctoPrint globally or into a virtual env, will be in your `PATH` or not). The\nfollowing usage examples assume that the `octoprint` script is on your `PATH`.\n\nYou can start the server via\n\n    octoprint serve\n\nBy default it binds to all interfaces on port 5000 (so pointing your browser to `http://127.0.0.1:5000`\nwill do the trick). If you want to change that, use the additional command line parameters `host` and `port`,\nwhich accept the host ip to bind to and the numeric port number respectively. If for example you want the server\nto only listen on the local interface on port 8080, the command line would be\n\n    octoprint serve --host=127.0.0.1 --port=8080\n\nAlternatively, the host and port on which to bind can be defined via the config file.\n\nIf you want to run OctoPrint as a daemon (only supported on Linux), use\n\n    octoprint daemon {start|stop|restart} [--pid PIDFILE]\n\nIf you do not supply a custom pidfile location via `--pid PIDFILE`, it will be created at `/tmp/octoprint.pid`.\n\nYou can also specify the config file or the base directory (for basing off the `uploads`, `timelapse` and `logs` folders),\ne.g.:\n\n    octoprint serve --config /path/to/another/config.yaml --basedir /path/to/my/basedir\n\nTo start OctoPrint in safe mode - which disables all third party plugins that do not come bundled with OctoPrint - use\nthe ``--safe`` flag:\n\n    octoprint serve --safe\n\nSee `octoprint --help` for more information on the available command line parameters.\n\nOctoPrint also ships with a `run` script in its source directory. You can invoke it to start the server. It\ntakes the same command line arguments as the `octoprint` script.\n\n## Configuration\n\nIf not specified via the command line, the config file `config.yaml` for OctoPrint is expected in the settings folder,\nwhich is located at `~/.octoprint` on Linux, at `%APPDATA%/OctoPrint` on Windows and\nat `~/Library/Application Support/OctoPrint` on MacOS.\n\nA comprehensive overview of all available configuration settings can be found\n[in the docs](https://docs.octoprint.org/en/master/configuration/config_yaml.html).\nPlease note that the most commonly used configuration settings can also easily\nbe edited from OctoPrint's settings dialog.\n\n## Special Thanks\n\nCross-browser testing services are kindly provided by [BrowserStack](https://www.browserstack.com/).\n\nProfiling is done with the help of [PyVmMonitor](https://www.pyvmmonitor.com).\n\nError tracking is powered and sponsored by [Sentry](https://sentry.io).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOctoPrint%2FOctoPrint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOctoPrint%2FOctoPrint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOctoPrint%2FOctoPrint/lists"}