PySyncThru - a very basic python SyncThru bridge
A package that connects to a Samsung printer in the local network that makes use of the SyncThru web service and provides data that is provided via the JSON API of the device. If the API cannot be reached (because on some printers it is not supported), it tries to parse other pages in the webinterface and extract information.
It is able to read the system, toner and tray status and provides method wrappers to access them. Overall, the following data is usually provided by the printers:
- Device / System status
- Drum / Toner status
- Model name
- Tray status
- Print / copy counters (if exposed by the counters endpoint)
Sadly it seems like there is no official API, so fixes are welcome and likely needed!
Usage
import aiohttp
import asyncio
from pysyncthru import SyncThru
IP_PRINTER = "192.168.0.25"
async def main() -> None:
async with aiohttp.ClientSession() as session:
printer = SyncThru(IP_PRINTER, session)
await printer.update()
# Is printer online?
print("Printer online?:", printer.is_online())
# Show the printer status
print("Printer status:", printer.device_status())
if printer.is_online():
# Show details about the printer
print("Printer model:", printer.model())
# Get the details of a cartridge
print("Toner Cyan details:", printer.toner_status()["cyan"])
# Get the details about a tray
print("Tray 1 Capacity:", printer.input_tray_status()["tray_1"]["capa"])
# Counter endpoint data (if supported by the device)
print(f"Print : {printer.print_count()}, Copies: {printer.copy_count()}")
# Print all available details from the printer
print("All data:\n", printer.raw())
print("All counter data:\n", printer.raw_counter())
asyncio.run(main())
Metadata
Release files for PySyncThru 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysyncthru-0.10.1.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysyncthru-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.2 kB
Release files / pysyncthru-0.10.1.tar.gz
| Download URL | pysyncthru-0.10.1.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e68a6146e2e9b219c32e8a68471941ee01add1b88f299b8c61cc98896122bd1
|
|
BLAKE2b-256 checksum How to use checksums |
43704105c759dede5dce24156ad439a58ce2359b0e10c62de7bbb3736e47ec67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency logRelease files / pysyncthru-0.10.1-py3-none-any.whl
| Download URL | pysyncthru-0.10.1-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b15308b5bad5e9390735d651ce127b28f3485f5393b91c41fda47f8e3c07f43
|
|
BLAKE2b-256 checksum How to use checksums |
dc2a23cce3128a745edaee9469ad81caaac754a4163cab797f7d56495302d67c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency log