Open-source Dropbox client for macOS and Linux.
Project description
Maestral
A light-weight and open-source Dropbox client for macOS and Linux.
About
Maestral is an open-source Dropbox client written in Python. The project's main goal is to provide a client for platforms and file systems that are no longer directly supported by Dropbox.
Currently, Maestral does not support Dropbox Paper, the management of Dropbox teams and the management of shared folder settings. If you need any of this functionality, please use the Dropbox website or the official client. As of v0.3, Maestral does however support the syncing of multiple Dropbox accounts.
The focus on "simple" file syncing does come with advantages: the Maestral App on macOS is 80% smaller than the official Dropbox app (50 MB vs 290 MB) and uses 70% less memory. The app size and memory footprint can be further reduced when installing and running Maestral without a GUI and using the Python installation provided by your OS. The Maestral code itself and its Python dependencies take up less than 3 MB, making an install without GUI ideal for systems with little resources.
Installation
A binary is provided for macOS High Sierra and higher and can be downloaded from the Releases tab. On other platforms, download and install the Python package from PyPI:
$ python3 -m pip install --upgrade maestral
You can also install the latest beta:
$ python3 -m pip install --upgrade --pre maestral
If you intend to use the graphical user interface, you also need to install PyQt5, either from PyPI or form your platforms package manager.
Usage
Run maestral gui
in the command line (or open the Maestral app on macOS) to start
Maestral with a graphical user interface. On its first run, Maestral will guide you
through linking and configuring your Dropbox and will then start syncing.
Command line usage
After installation, Maestral will be available as a command line script by typing
maestral
in the command prompt. Command line functionality resembles that of the
interactive client. Type maestral --help
to get a full list of available commands. The
most important are:
maestral gui
: Starts Maestral with a GUI.maestral daemon {start/stop}
: Starts or stops Maestral as a daemon.maestral daemon {pause/resume}
: Pauses or resumes syncing.maestral daemon status
: Gets the current sync status.maestral daemon errors
: Lists all sync errors.maestral set-dir
: Sets the location of your local Dropbox folder.maestral dir-exclude
: Excludes a Dropbox folder from syncing.maestral dir-inlcude
: Includes a Dropbox folder in syncing.maestral list
: Lists the contents of a directory on Dropbox.
Maestral currently supports the syncing of multiple Dropbox accounts by running multiple
instances. This configuration needs to be done from the command line. For example, before
running maestral gui
, one can set up a new configuration with maestral config new
.
The configuration name should then be given as command line option --config-name
before
running maestral. For example:
$ maestral config new "personal"
$ maestral config new "work"
$ maestral gui --config-name="personal"
$ maestral gui --config-name="work"
This will start two instances of Maestral, syncing the private and the work accounts, respectively. Multiple Maestral daemons are supported as well.
By default, the Dropbox folder names will contain the capitalised config-name in braces. In the above case, this will be "Dropbox (Personal)" and "Dropbox (Work)".
Contribute
The following tasks could need your help:
- Write tests for Maestral.
- Detect and warn in case of unsupported Dropbox folder locations (network drives, external hard drives, etc).
- Native Cocoa and GTK interfaces. Maestral currently uses PyQt5.
- Packaging: improve packing for macOS (reduce app size) and package for other platforms.
Warning:
- Maestral is still in beta status. Even through highly unlikely, using it may potentially result in loss of data.
- Network drives and some external hard drives are not supported as locations for the Dropbox folder.
Dependencies
- macOS (10.13 or higher for binary) or Linux
- Python 3.6 or higher
- For the GUI only:
- PyQt 5.9 or higher
- gnome-shell-extension-appindicator on Gnome 3.26 and higher
Acknowledgements
- The config module uses code from the Spyder IDE.
- The MaestralApiClient is based on the work from Orphilia.
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
File details
Details for the file maestral-0.3.1.tar.gz
.
File metadata
- Download URL: maestral-0.3.1.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a728e8d7ec451cdbc4111491156d5b83178319bfdb28b18b4cb95b043e74ed97 |
|
MD5 | d7ed2df79a2c5028abbbb93688dd54ef |
|
BLAKE2b-256 | 4a80fca5574b4f86d7de842b75cf1303ffa53e153ae439fc0240bb6fd03f9c7c |