Metadata-Version: 2.4
Name: OctoPrint
Version: 2.0.0rc2
Summary: The snappy web interface for your 3D printer
Author-email: Gina Häußge <gina@octoprint.org>
Maintainer-email: Gina Häußge <gina@octoprint.org>
License: AGPL-3.0-or-later
Project-URL: homepage, https://octoprint.org
Project-URL: issues, https://github.com/OctoPrint/OctoPrint/issues
Project-URL: source, https://github.com/OctoPrint/OctoPrint
Project-URL: funding, https://support.octoprint.org
Project-URL: documentation, https://docs.octoprint.org
Project-URL: community, https://help.octoprint.org
Keywords: 3dprinting,3dprinter,3d-printing,3d-printer,octoprint
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Manufacturing
Classifier: Intended Audience :: Other Audience
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Natural Language :: German
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: JavaScript
Classifier: Topic :: Printing
Requires-Python: <3.15,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: AUTHORS.md
Requires-Dist: OctoPrint-FileCheck>=2025.7.23
Requires-Dist: OctoPrint-FirmwareCheck>=2025.7.23
Requires-Dist: OctoPrint-PiSupport>=2025.7.23
Requires-Dist: argon2-cffi>=25.1.0
Requires-Dist: Babel<2.19,>=2.18
Requires-Dist: cachelib<0.14,>=0.13.0
Requires-Dist: Click<9,>=8.3.2; python_version >= "3.10"
Requires-Dist: Click==8.1.8; python_version < "3.10"
Requires-Dist: colorlog<7,>=6.10.1
Requires-Dist: emoji<3,>=2.15.0
Requires-Dist: feedparser<7,>=6.0.12
Requires-Dist: filetype<2,>=1.2.0
Requires-Dist: Flask-Assets<3,>=2.1.0
Requires-Dist: Flask-Babel<5,>=4.0.0
Requires-Dist: Flask-Login<0.7,>=0.6.3
Requires-Dist: Flask-Limiter<4.2,>=4.1.1; python_version >= "3.10"
Requires-Dist: Flask-Limiter==3.11.0; python_version < "3.10"
Requires-Dist: flask<3.2,>=3.1.3
Requires-Dist: frozendict<3,>=2.4.7
Requires-Dist: gcode-thumbnail-tool>=0.1.2
Requires-Dist: html-sanitizer>=2.6.0
Requires-Dist: ifaddr<0.3,>=0.2.0
Requires-Dist: markdown<3.11,>=3.10.2; python_version >= "3.10"
Requires-Dist: markdown==3.9; python_version < "3.10"
Requires-Dist: markupsafe<=3.0.2; python_version < "3.10" and platform_machine == "armv7l"
Requires-Dist: netaddr<1.4,>=1.3.0
Requires-Dist: packaging>=26.0; python_version >= "3.10"
Requires-Dist: packaging==24.2; python_version < "3.10"
Requires-Dist: libpass<2,>=1.9.3
Requires-Dist: limits==4.2; python_version < "3.10"
Requires-Dist: octoprint-plugin-tool
Requires-Dist: pathvalidate<4,>=3.3.1
Requires-Dist: psutil<8,>=7.2.2
Requires-Dist: pydantic<3,>=2.13.0
Requires-Dist: pylru<2,>=1.3.1
Requires-Dist: pyserial<4,>=3.5
Requires-Dist: pytz
Requires-Dist: PyYAML<7,>=6.0.3
Requires-Dist: requests<3,>=2.33.1; python_version >= "3.10"
Requires-Dist: requests==2.32.5; python_version < "3.10"
Requires-Dist: sarge==0.1.8
Requires-Dist: semantic_version<3,>=2.10.0
Requires-Dist: sentry-sdk<3,>=2.58.0
Requires-Dist: setuptools
Requires-Dist: tornado<6.6,>=6.5.5
Requires-Dist: watchdog<7,>=6
Requires-Dist: websocket-client<1.10,>=1.9.0
Requires-Dist: werkzeug<3.2,>=3.1.8
Requires-Dist: wrapt<2.2,>=2.1.2
Requires-Dist: zeroconf==0.148
Requires-Dist: zipstream-ng<2.0.0,>=1.9.0
Requires-Dist: blinker<1.10.0,>=1.9.0
Requires-Dist: regex
Requires-Dist: unidecode
Requires-Dist: future
Requires-Dist: wheel
Requires-Dist: appdirs; sys_platform == "darwin"
Provides-Extra: develop
Requires-Dist: ddt; extra == "develop"
Requires-Dist: pytest-doctest-custom<2,>=1.0.0; extra == "develop"
Requires-Dist: pytest<10,>=9.0.3; python_version >= "3.10" and extra == "develop"
Requires-Dist: pytest==8.4.2; python_version < "3.10" and extra == "develop"
Requires-Dist: time-machine; extra == "develop"
Requires-Dist: ruff; extra == "develop"
Requires-Dist: pre-commit; extra == "develop"
Requires-Dist: pyinstrument; extra == "develop"
Requires-Dist: go-task-bin; extra == "develop"
Requires-Dist: pip-check; extra == "develop"
Requires-Dist: tomli>=1.1.0; python_version < "3.11" and extra == "develop"
Requires-Dist: tomli-w; extra == "develop"
Requires-Dist: tqdm; extra == "develop"
Provides-Extra: plugins
Requires-Dist: cookiecutter<3,>=2.7.1; python_version >= "3.10" and extra == "plugins"
Requires-Dist: cookiecutter==2.6.0; python_version < "3.10" and extra == "plugins"
Provides-Extra: docs
Requires-Dist: sphinx<9,>=8.2.3; extra == "docs"
Requires-Dist: sphinx-autobuild>=2024.10.3; extra == "docs"
Requires-Dist: sphinxcontrib-httpdomain<2,>=1.8.1; extra == "docs"
Requires-Dist: sphinx-immaterial<1,>=0.13.5; extra == "docs"
Requires-Dist: myst-parser<5,>=4.0.1; extra == "docs"
Requires-Dist: autodoc_pydantic; extra == "docs"
Requires-Dist: sphinx-reredirects; extra == "docs"
Dynamic: license
Dynamic: license-file

<p align="center"><img src="https://octoprint.org/assets/img/logo.png" alt="OctoPrint's logo" /></p>

<h1 align="center">OctoPrint</h1>

<p align="center">
  <img src="https://img.shields.io/github/v/release/OctoPrint/OctoPrint?logo=github&logoColor=white" alt="GitHub release"/>
  <img src="https://img.shields.io/pypi/v/OctoPrint?logo=python&logoColor=white" alt="PyPI"/>
  <img src="https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2FOctoPrint%2FOctoPrint%2Frefs%2Fheads%2Fdev%2Fpyproject.toml&query=%24.project.requires-python&prefix=Python%20&label=supports" alt="Supported Python versions">

  <img src="https://img.shields.io/github/actions/workflow/status/OctoPrint/OctoPrint/build.yml?branch=master" alt="Build status"/>
  <a href="https://community.octoprint.org"><img src="https://img.shields.io/discourse/users?label=forum&logo=discourse&logoColor=white&server=https%3A%2F%2Fcommunity.octoprint.org" alt="Community Forum"/></a>
  <a href="https://discord.octoprint.org"><img src="https://img.shields.io/discord/704958479194128507?label=discord&logo=discord&logoColor=white" alt="Discord"/></a>
  <a href="https://octoprint.org/conduct/"><img src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg" alt="Contributor Covenant"/></a>
  <a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/badge/code%20style-ruff-261230" alt="Linting & formatting python: ruff"/></a>
  <a href="https://github.com/djlint/djlint"><img src="https://img.shields.io/badge/html%20style-djLint-blue.svg" alt="Linting & formatting html/jinja: djLint"/></a>
  <a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg" alt="Formatting js/css/less/yaml: prettier"/></a>
  <a href="https://github.com/pre-commit/pre-commit"><img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white" alt="pre-commit"/></a>
  <img src="https://img.shields.io/badge/made_by-humans-blue?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjZTNlM2UzIj48cGF0aCBkPSJNNDExLTQ4MHEtMjggMC00Ni0yMXQtMTMtNDlsMTItNzJxOC00MyA0MC41LTcwLjVUNDgwLTcyMHE0NCAwIDc2LjUgMjcuNVQ1OTctNjIybDEyIDcycTUgMjgtMTMgNDl0LTQ2IDIxSDQxMVptMjQtODBoOTFsLTgtNDlxLTItMTQtMTMtMjIuNXQtMjUtOC41cS0xNCAwLTI0LjUgOC41VDQ0My02MDlsLTggNDlaTTEyNC00NDFxLTIzIDEtMzkuNS05VDYzLTQ4MXEtMi05LTEtMTh0NS0xN3EwIDEtMS00LTItMi0xMC0yNC0yLTEyIDMtMjN0MTMtMTlsMi0ycTItMTkgMTUuNS0zMnQzMy41LTEzcTMgMCAxOSA0bDMtMXE1LTUgMTMtNy41dDE3LTIuNXExMSAwIDE5LjUgMy41VDIwOC02MjZxMSAwIDEuNS41dDEuNS41cTE0IDEgMjQuNSA4LjVUMjUxLTU5NnEyIDcgMS41IDEzLjVUMjUwLTU3MHEwIDEgMSA0IDcgNyAxMSAxNS41dDQgMTcuNXEwIDQtNiAyMS0xIDIgMCA0bDIgMTZxMCAyMS0xNy41IDM2VDIwMi00NDFoLTc4Wm02NzYgMXEtMzMgMC01Ni41LTIzLjVUNzIwLTUyMHEwLTEyIDMuNS0yMi41VDczMy01NjNsLTI4LTI1cS0xMC04LTMuNS0yMHQxOC41LTEyaDgwcTMzIDAgNTYuNSAyMy41VDg4MC01NDB2MjBxMCAzMy0yMy41IDU2LjVUODAwLTQ0MFpNMC0yNDB2LTYzcTAtNDQgNDQuNS03MC41VDE2MC00MDBxMTMgMCAyNSAuNXQyMyAyLjVxLTE0IDIwLTIxIDQzdC03IDQ5djY1SDBabTI0MCAwdi02NXEwLTY1IDY2LjUtMTA1VDQ4MC00NTBxMTA4IDAgMTc0IDQwdDY2IDEwNXY2NUgyNDBabTU2MC0xNjBxNzIgMCAxMTYgMjYuNXQ0NCA3MC41djYzSDc4MHYtNjVxMC0yNi02LjUtNDlUNzU0LTM5N3ExMS0yIDIyLjUtMi41dDIzLjUtLjVabS0zMjAgMzBxLTU3IDAtMTAyIDE1dC01MyAzNWgzMTFxLTktMjAtNTMuNS0zNVQ0ODAtMzcwWm0wIDUwWm0xLTI4MFoiLz48L3N2Zz4=" alt="Made by humans"/>
</p>

OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software
and released under the [GNU Affero General Public License V3](https://www.gnu.org/licenses/agpl-3.0.html)[^1].

Its website can be found at [octoprint.org](https://octoprint.org/?utm_source=github&utm_medium=readme).

The community forum is available at [community.octoprint.org](https://community.octoprint.org/?utm_source=github&utm_medium=readme). It also serves as a central knowledge base.

An invite to the Discord server can be found at [discord.octoprint.org](https://discord.octoprint.org).

The FAQ can be accessed by following [faq.octoprint.org](https://faq.octoprint.org/?utm_source=github&utm_medium=readme).

The documentation is located at [docs.octoprint.org](https://docs.octoprint.org).

The official plugin repository can be reached at [plugins.octoprint.org](https://plugins.octoprint.org/?utm_source=github&utm_medium=readme).

**OctoPrint's development wouldn't be possible without the [financial support by its community](https://octoprint.org/support-octoprint/?utm_source=github&utm_medium=readme).
If you enjoy OctoPrint, please consider becoming a regular supporter!**

![Screenshot](https://octoprint.org/assets/img/screenshot-readme.png)

You are currently looking at the source code repository of OctoPrint. If you already installed it
(e.g. by using the Raspberry Pi targeted distribution [OctoPi](https://github.com/guysoft/OctoPi)) and only
want 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
[the community forum at community.octoprint.org](https://community.octoprint.org) where there are other active users who might be
able to help you with any questions you might have.

[^1]: Where another license applies to a specific file or folder, that is noted inside the file itself or a folder README. For licenses of both linked and
      vendored third party dependencies, see also THIRDPARTYLICENSES.md.

## Contributing

Contributions of all kinds are welcome, not only in the form of code but also with regards to the
[official documentation](https://docs.octoprint.org/), debugging help
in the [bug tracker](https://github.com/OctoPrint/OctoPrint/issues), support of other users on
[the community forum at community.octoprint.org](https://community.octoprint.org) or
[the official discord at discord.octoprint.org](https://discord.octoprint.org)
and also [financially](https://octoprint.org/support-octoprint/?utm_source=github&utm_medium=readme).

If you think something is bad about OctoPrint or its documentation the way it is, please help
in any way to make it better instead of just complaining about it -- this is an Open Source Project
after all :)

For information about how to go about submitting bug reports or pull requests, please see the project's
[Contribution Guidelines](https://github.com/OctoPrint/OctoPrint/blob/master/CONTRIBUTING.md).

## Special Thanks

Cross-browser testing services are kindly provided by [BrowserStack](https://www.browserstack.com/).

Profiling is done with the help of [PyVmMonitor](https://www.pyvmmonitor.com).

Error tracking is powered and sponsored by [Sentry](https://sentry.io).
