Printrun
Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software
Install / Use
/learn @kliment/PrintrunREADME
PRINTRUN
Printrun consists of a suite of hosts for 3D printers and other CNC machines (printcore, pronsole and pronterface) and a small collection of helpful scripts.
- printcore.py is a library that makes writing RepRap hosts easy
- pronsole.py is an interactive command-line host with tab-completion goodness
- pronterface.py is a graphical host with the same functionality as pronsole
The contents of this document are organized in the following sections:
GETTING PRINTRUN
Installation of Printrun can be done in several ways, either installing a pre-compiled binary, via distribution-specific packages from official repositories or from PyPI. If you want the newest, shiniest features, you can run Printrun from source.
Distributed Binaries and Packages
Windows and macOS pre-compiled binaries
Everything bundled into one single package for easy installation. Downloads available at: https://github.com/kliment/Printrun/releases/latest
Important: Allow the application to run on macOS
macOS will block Printrun from running because it is not from a verified developer. Please read this wiki article to learn how to allow the application to start. You only need to do this once for each new version.
Important: Allow the application to run on Windows
Windows will block Printrun from running because it is not from a verified developer. Please read this wiki FAQ article to learn how to allow the application to start. You only need to do this once for each new version.
Linux packages from official repositories
Ubuntu / Mint / Raspberry Pi OS / Debian
Install the full suite: sudo apt install printrun
Or only the apps you need: sudo apt install pronsole or pronterface or
plater
Chrome OS
You can use Printrun via crouton. Assuming you want Ubuntu Trusty, you used probably sudo sh -e ~/Downloads/crouton -r trusty -t xfce to install Ubuntu. Fetch and install printrun with the line given above for Ubuntu/Debian.
By default you have no access to the serial port under Chrome OS crouton, so you cannot connect to your 3D printer. Add yourself to the serial group within the linux environment to fix this
sudo usermod -G serial -a <username>
where <username> should be your username. Log out and in to make this group change active and allow communication with your printer.
Fedora
Install the full suite: sudo dnf install printrun
Or only the apps you need: sudo dnf install pronsole or pronterface or
plater
Adding
--enablerepo updates-testingoption todnfmight sometimes give you newer packages (but also not very tested).
Arch Linux
Packages are available in AUR. Just run
yaourt printrun
Printrun package from PyPI
If you have a working Python environment, regardless of your OS, you can install the latest release distributed through the PyPI repository using pip and, optionally (but highly recommended), a virtual environment.
Activate your virtual environment, and run (Linux / macOS):
python -m pip install Printrun
or (Windows):
py -m pip install Printrun
Running From Source
By running Printrun from source you get access to the latest features and in-development changes. Warning note: these might not be fully working or stable.
Linux / macOS
1. Install Python
Almost all Linux distributions come with Python already pre-installed. If not, install Python normally from your package manager. On macOS download and install the latest Python from python.org.
2. Download the latest Printrun source code
Obtain the latest source code by running the following in a terminal window:
$ git clone https://github.com/kliment/Printrun.git # clone the repository
$ cd Printrun # change to Printrun directory
3. Use a Python virtual environment
Easiest way to run Printrun from source is to create and use a Python virtual environment. This step is optional but highly recommended to avoid conflicts with other Python libraries already installed (or that will be installed in the future) in your system. Within the Printrun's root directory, create and activate a virtual environment by running:
$ python -m venv venv # create a virtual environment
$ source venv/bin/activate # activate the virtual environment
Note for Ubuntu/Debian: You might need to install
python3-venvfirst.
Note for Ubuntu/Debian: If you get
python: command not foundusepython3 -m venv venvinstead.
4. Install Printrun
Once activated your virtual environment, install Printrun' source code with:
(venv) $ python -m pip install .
Note for Linux users: wxPython4 doesn't have Linux wheels available from the Python Package Index yet. Before running the command above, find a proper wheel for your distro at extras.wxpython.org and substitute the link in the below example. You might skip this wheel installation, but that results in compiling wxPython4 from source, which can be time and resource consuming and might fail.
(venv) $ python -m pip install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/fedora-27/wxPython-4.0.1-cp36-cp36m-linux_x86_64.whl # replace the link with yours
5. Run Printrun
With your virtual environment still active, invoke the app you need like:
(venv) $ pronterface.py # or `pronsole.py` or `plater.py`
Windows
For running or compiling Pronterface from source we need first download and install GIT for Windows, Python 3.13 and a C-compiler environment. We use Visual Studio 2022 with workloads for Python and C++ installed.
Please consult release_windows.bat in case you want to use other Python versions. Currently supported are all versions from 3.8 to 3.13 except the free-threaded versions of 3.12 and 3.13. The default version is actual set to 3.13.
For the next steps we need a CMD window or a PowerShell window. You can use Windows Terminal for this as well. Create and navigate to a directory of your choice where you want to download the source files of this repository and follow the next steps:
CMD
> git clone https://github.com/kliment/Printrun.git
> cd Printrun
> release_windows.bat
PowerShell:
> git clone https://github.com/kliment/Printrun.git
> cd Printrun
> ./release_windows.bat
The script above will clone this repository. The script release_windows.bat will install a virtual environment named v3, download all needed python libraries and compile the binaries for Pronterface.exe and Pronsole.exe.
You will find the files in the new created directory dist. You will find further and more detailed information in the script release_windows.bat.
Run Pronterface or Pronsole from the binary files or from source calling pronterface.py for the GUI version and pronsole.py for the commandline version.
Running Pronsole works best by running it in WindowsTerminal. You can create a desktop shortcut link to the file pronsole.exe. Then edit the target for your shortcut as shown in belows example:
%LocalAppData%\Microsoft\WindowsApps\wt.exe --title Pronsole %USERPROFILE%\Downloads\pronterface-test\pronsole.exe
You need to adjust the path to your location of pronsole.exe.
Run 'release_windows.bat' when ever you make changes or updates. With each new run it will compile the binaries and update all involved libraries in the virtual environment if needed. Delete the virtual environment if you have problems with it.
Translating Pronterface
Pronterface supports the localization of the GUI in your language. We would be more than happy if users support us with updated translation files in all different languages. Actually we have translation files for AR, DE, FR, HY, IT and NL available, but only the translation DE is complete. Generate a new issue in our repository and ask us if you need an additional translation file that is n
Related Skills
node-connect
353.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
