Python bindings to the Syncthing API
Project description
Pyncthing
This is a requests-based API client for Syncthing.
It's fully compatible with Syncthing v1.23.7.
Please see the full documentation on https://docs.syncthing.net/dev/rest.
Why ?
This project aims to write a simple and clean API client for desktop clients. It might be used as a backend for Syncthing-GTK in the near future.
There are 2 packages already existing: https://github.com/zhulik/aiosyncthing (a huge inspiration) and https://github.com/blakev/python-syncthing. But they are dead projects and not up to date (they don't support the PATCH API).
Installation
TODO:!
Usage
A "subdir" in the REST API is a property in pyncthing. For example,
GET /rest/cluster/pending/devices will be done via sync.cluster.pending.devices()
from pyncthing import Syncthing
sync = Syncthing("http://localhost:8384/rest")
# This endpoint does not need authentication
assert sync.noauth.health()
# This does NOT check for authentication errors.
sync.set_api_key("<YOUR API KEY RETRIEVED ON THE WEB UI>")
print(sync.system.status())
for name, path in sync.system.paths():
print(f"System path {name} is {path}")
for folder in sync.config.folders().get():
print(folder["id"], folder["label"])
# This call is blocking!
# Even next() might block if no event is coming.
# You can stop blocked calls with sync.events.stop().
# Carefull, it blocks *all* calls!
# This API will probably change in the future.
for event in sync.events():
print(event)
Thank you
- The Syncthing project for an amazing synchronization tool!
- aiosyncthing for a huge inspiration of the coding style of this project.
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 pyncthing-0.1.0.tar.gz.
File metadata
- Download URL: pyncthing-0.1.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.4.9-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fae803e3b2aed4fe7273e66abc17b7a5a8ea9472d3af2adfe34022c2e84c07c0
|
|
| MD5 |
6f5a629905f751dc154ea943289d05b8
|
|
| BLAKE2b-256 |
90ffecdd5f17416716eb54f9602ec5355b4219d774cb65d59ae2b2270cd2dc22
|
File details
Details for the file pyncthing-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyncthing-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.4.9-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44e2e08b0a1b417951331bb675015bcad970b4e780f9958712b9d6c5ce37103e
|
|
| MD5 |
bdc91a491c26d86bbb0d425c210230ff
|
|
| BLAKE2b-256 |
432cde2158772d83a3ca9023959f19c9deff779280726237740e2d149ec15e30
|