This is a rich, pythonic interface to the Jottacloud backup/cloud storage service. The service itself exposes a nice and simple HTTP REST api, and this library wraps that interface in a python module, in the hope that it may be useful.
This is a community project, not an official Jottacloud product. It is developed according to the company founder's instructions, with write support reverse engineered explicitly blessed by company staff.
All code is GPLv3 licensed, and the documentation is online.
In addition to the general library, you'll also find different backup tools, some different plugins as well as a FUSE implementation in here.
Write support is reverse engineered and not based on official docs. Any issue where the behaviour of jottalib differs from the official clients, is considered a bug.
Please add anything you find to the bug tracker!
That being said, this library is in daily use by the community, and no data loss has ever been reported.
Note that we've separated the code into different variants:
- If you are a normal user, wanting to backup your stuff: get
jottalib[scanner] and jottalib[monitor]
- If you are a developer and want to add connectivity to JottaCloud.com
to your project, get
jottalib
The easiest way: pip install jottalib[scanner]
or pip install jottalib[monitor]
.
These are all the extra variants you would install if you need it:
pip install jottalib[FUSE]
for a Fuse client (read more about it)pip install jottalib[scanner]
for a tool to scan through a whole file folder on your system (read more about it)pip install jottalib[monitor]
for a tool to continuously monitor a folder on your system (read more about it)pip install jottalib[Qt]
for developers wanting to use the Qt models (help is on the way)
To help both end users and developers to get started, a lot of use cases are covered in the wiki.
The library was initiated by havard@gulldahl.no, but a project like this needs a lot of community love. Luckily patches, suggestions and comments are trickling in, take a look at AUTHORS.md for the full picture.
If you notice something wrong, need some new functionality or want to participate, let us know about it!
We need coders, quality assurance and power users alike, so if you want to lend a hand, don't hesitate to open a new issue. Your help will be much appreciated!
If you want to chat about a bug or ask a general question, you'll find the core contributors in the gitter.im room. Come and take a look!