Skip to main content

The snappy web interface for your 3D printer

Project description

OctoPrint's logo

OctoPrint

GitHub release PyPI Build status Community Forum Discord Contributor Covenant Linting & formatting: ruff Code style: prettier pre-commit

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[^1].

Its website can be found at octoprint.org.

The community forum is available at community.octoprint.org. It also serves as a central knowledge base.

An invite to the Discord server can be found at discord.octoprint.org.

The FAQ can be accessed by following faq.octoprint.org.

The documentation is located at docs.octoprint.org.

The official plugin repository can be reached at plugins.octoprint.org.

OctoPrint's development wouldn't be possible without the financial support by its community. If you enjoy OctoPrint, please consider becoming a regular supporter!

Screenshot

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) and only want to find out how to use it, the documentation might be of more interest for you. You might also want to subscribe to join the community forum at 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, debugging help in the bug tracker, support of other users on the community forum at community.octoprint.org or the official discord at discord.octoprint.org and also financially.

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.

Installation

Installation instructions for installing from source for different operating systems can be found on the forum.

If you want to run OctoPrint on a Raspberry Pi, you really should take a look at OctoPi which is a custom SD card image that includes OctoPrint plus dependencies.

The generic steps that should basically be done regardless of operating system and runtime environment are the following (as regular user, please keep your hands off of the sudo command here!) - this assumes you already have Python 3.7+, pip and virtualenv and their dependencies set up on your system:

  1. Create a user-owned virtual environment therein: virtualenv venv. If you want to specify a specific python to use instead of whatever version your system defaults to, you can also explicitly require that via the --python parameter, e.g. virtualenv --python=python3 venv.
  2. Install OctoPrint into that virtual environment: ./venv/bin/pip install OctoPrint

You may then start the OctoPrint server via /path/to/OctoPrint/venv/bin/octoprint, see Usage for details.

After installation, please make sure you follow the first-run wizard and set up access control as necessary.

Dependencies

OctoPrint depends on a few python modules to do its job. Those are automatically installed when installing OctoPrint via pip.

OctoPrint currently supports Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13.

Support for Python 3.7 and 3.8 will be dropped with OctoPrint 1.12.0.

Usage

Running the pip install via

pip install OctoPrint

installs the octoprint script in your Python installation's scripts folder (which, depending on whether you installed OctoPrint globally or into a virtual env, will be in your PATH or not). The following usage examples assume that the octoprint script is on your PATH.

You can start the server via

octoprint serve

By default it binds to all interfaces on port 5000 (so pointing your browser to http://127.0.0.1:5000 will do the trick). If you want to change that, use the additional command line parameters host and port, which accept the host ip to bind to and the numeric port number respectively. If for example you want the server to only listen on the local interface on port 8080, the command line would be

octoprint serve --host=127.0.0.1 --port=8080

Alternatively, the host and port on which to bind can be defined via the config file.

If you want to run OctoPrint as a daemon (only supported on Linux), use

octoprint daemon {start|stop|restart} [--pid PIDFILE]

If you do not supply a custom pidfile location via --pid PIDFILE, it will be created at /tmp/octoprint.pid.

You can also specify the config file or the base directory (for basing off the uploads, timelapse and logs folders), e.g.:

octoprint serve --config /path/to/another/config.yaml --basedir /path/to/my/basedir

To start OctoPrint in safe mode - which disables all third party plugins that do not come bundled with OctoPrint - use the --safe flag:

octoprint serve --safe

See octoprint --help for more information on the available command line parameters.

OctoPrint also ships with a run script in its source directory. You can invoke it to start the server. It takes the same command line arguments as the octoprint script.

Configuration

If not specified via the command line, the config file config.yaml for OctoPrint is expected in the settings folder, which is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on MacOS.

A comprehensive overview of all available configuration settings can be found in the docs. Please note that the most commonly used configuration settings can also easily be edited from OctoPrint's settings dialog.

Special Thanks

Cross-browser testing services are kindly provided by BrowserStack.

Profiling is done with the help of PyVmMonitor.

Error tracking is powered and sponsored by Sentry.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octoprint-1.11.5.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octoprint-1.11.5-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file octoprint-1.11.5.tar.gz.

File metadata

  • Download URL: octoprint-1.11.5.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for octoprint-1.11.5.tar.gz
Algorithm Hash digest
SHA256 f985ea5fb6fd26d14201a695c36e4111363a7ddf9f203e91fb225a68b3f54c26
MD5 1d6abee42c8c46417c674ace6fcc9781
BLAKE2b-256 69ba1be450ab09ab019d524b8947c94a0e123e268e77176fe1a08bf4b3b0c72e

See more details on using hashes here.

Provenance

The following attestation bundles were made for octoprint-1.11.5.tar.gz:

Publisher: build.yml on OctoPrint/OctoPrint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file octoprint-1.11.5-py3-none-any.whl.

File metadata

  • Download URL: octoprint-1.11.5-py3-none-any.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for octoprint-1.11.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9ef2dc322246e2346c4324e8bd32d74d7e61dd41792d52aa17814f11e28dd4c1
MD5 9f3eb763c3f5954c0f3dc34b75f0dc14
BLAKE2b-256 1764cf467da7bfc72099611329957d700cf1b1b0a56469e81d82ffabf063c8a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for octoprint-1.11.5-py3-none-any.whl:

Publisher: build.yml on OctoPrint/OctoPrint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page