Print daemon for botcall/printgif - receive print jobs from the cloud
Project description
botcall-print
Local print daemon for botcall. Receives print jobs from the cloud and sends them to your USB thermal printer.
Installation
pip install botcall-print
Or install from source:
cd clients/print-daemon
pip install -e .
Setup
- Get your botcall API key from https://botcall.io
- Configure the daemon:
botcall-print setup
# Enter your API key when prompted
- Test your printer:
botcall-print test "Hello from botcall!"
- Start the daemon:
botcall-print daemon
Running as a Service
macOS (launchd)
# Create launch agent
cat > ~/Library/LaunchAgents/io.botcall.print.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.botcall.print</string>
<key>ProgramArguments</key>
<array>
<string>$(which botcall-print)</string>
<string>daemon</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
EOF
# Load it
launchctl load ~/Library/LaunchAgents/io.botcall.print.plist
Linux (systemd)
# Create service file
sudo cat > /etc/systemd/system/botcall-print.service << EOF
[Unit]
Description=botcall print daemon
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which botcall-print) daemon
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
# Enable and start
sudo systemctl enable botcall-print
sudo systemctl start botcall-print
Commands
| Command | Description |
|---|---|
botcall-print setup |
Configure API key |
botcall-print daemon |
Start listening for print jobs |
botcall-print test "text" |
Test print some text |
botcall-print status |
Show configuration and printer status |
Supported Printers
Any ESC/POS compatible USB thermal printer. Common models:
- Epson TM-T20/T88
- Star TSP100/TSP650
- Generic 58mm/80mm receipt printers (ZJ-58, XP-58, etc.)
Troubleshooting
Printer not found
Check USB connection:
# macOS
system_profiler SPUSBDataType | grep -A5 -i printer
# Linux
lsusb | grep -i printer
Permission denied (Linux)
Add udev rule:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0416", MODE="0666"' | sudo tee /etc/udev/rules.d/99-thermal-printer.rules
sudo udevadm control --reload-rules
Slow/corrupted prints on Mac
Known macOS USB driver issue. The daemon includes chunking to work around this, but very image-heavy prints may still have issues. Consider using a Raspberry Pi for best results.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file botcall_print-0.2.7.tar.gz.
File metadata
- Download URL: botcall_print-0.2.7.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad1295f79285bc1078ee7555898c7a5fe4cb63f1332f7db4a34753f1d24b51e0
|
|
| MD5 |
31bcfb578a5ef5a2748ffe54c4127614
|
|
| BLAKE2b-256 |
4c5d60cd6feb0972dfcf69c3afe9041ee3106081307e37a4be8c334ff45ad68b
|
File details
Details for the file botcall_print-0.2.7-py3-none-any.whl.
File metadata
- Download URL: botcall_print-0.2.7-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5182b1db43549e12483c37532b04227e5eee358f0b57c6d66bb61cd5d03090ba
|
|
| MD5 |
c1018e88d66fbf53767a1a30c7365e4e
|
|
| BLAKE2b-256 |
4b9883bda8dc4dc3ed2e78e7d278c12321e4d249ad9acf41541d86a577883996
|