{ "info": { "author": "mmontuori", "author_email": "michael.montuori@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Natural Language :: English" ], "description": "# Sprinkle (Volume Clustering)\n\nSprinkle is a volume clustering utility. It presents all the RClone available volumes as a single clustered volume. It supports 1-way sync mainly for\nbackup and recovery. Sprinkle uses the excellent [RClone](https://rclone.org) software for cloud volume access.\n\nFeatures:\n* Consolidate multiple cloud drives into a single virtual drive\n* Sprinkle your backup across multiple cloud drives\n* Minimize cost by stacking multiple free cloud drives into single one\n* Run as Unix daemon with custom schedules for seamless backups of important files\n* Developed in Python for extreme multi-platform flexibility\n\n## Getting Started\n\nThe easiest way to install Sprinkle and all prerequisites is via PyPI with:\n```\npip3 install sprinkle-py\n```\n\nOr by cloning the repository to your running machine, but make sure prerequisites are met:\n```\ngit clone https://gitlab.com/mmontuori/sprinkle.git\ncd sprinkle\n./sprinkle.py -c sprinkle.conf ls /\n```\n\n## Prerequisites\n\n* Python 3 installed\n* FileLock Python library [https://pypi.org/project/filelock](https://pypi.org/project/filelock)\n* Progress Python library [https://pypi.org/project/progress](https://pypi.org/project/progress)\n* RClone installed and available in the PATH or configured in sprinkle.conf file. RClone documentation\nis available [here](https://rclone.org) for reference\n* Few storage drives available from the supported RClone drives\n\n## Installing\n\nFollowing are the installation steps:\n\n* Install Sprinkle with a supported method\n* Download and install RCLone from [https://rclone.org](https://rclone.org)\n* Run **RClone** config to configure and authorize your cloud or local storage\n (you might want to run the program on a machione for which http://localhost can be reached\n ideally, from your local workstation)\n* Verify access to the storage by issuing the command \"rclone ls {alias name}:\"\n* Copy rclone.conf on the machine which will execute Sprinkle\n* Make sure all the prerequisites are satisfied\n* Add **RClone** executable to the system PATH variable, or configure location in sprinkle.conf file\n* From Sprinkle installation directory run **\"./sprinkle.py [-c path to sprinkle.conf] ls /\"**\n\nFrom this point, backups and restore can be executed on the clustered storage.\n\n```\n./sprinkle.py -c {path to sprinkle.conf} backup {directory to backup}\n```\n\nUse the builtin --help utility to get additional commands and information.\n\n```\n./sprinkle.py --help\n```\n\nand the command specific help.\n\n```\n./sprinkle.py help {command}\n```\n\n## Authors\n\n* **Michael Montuori** - *Head developer* - [mmontuori](https://gitlab.com/mmontuori)\n\n## License\n\nThis project is licensed under the GPLv3 License - see the\n[LICENSE](https://www.gnu.org/licenses/gpl-3.0.en.html) file for details\n\n## Acknowledgments\n\n* Warren Crigger for development support\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/mmontuori/sprinkle", "keywords": "sprinkle cloud backup restore", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "sprinkle-py", "package_url": "https://pypi.org/project/sprinkle-py/", "platform": "", "project_url": "https://pypi.org/project/sprinkle-py/", "project_urls": { "Homepage": "https://gitlab.com/mmontuori/sprinkle" }, "release_url": "https://pypi.org/project/sprinkle-py/1.0.0/", "requires_dist": [ "progress (>=1.4)", "filelock (>=3.0.10)", "daemons (>=1.3.0)" ], "requires_python": "", "summary": "Sprinkle is a volume clustering utility based on [RClone](https://rclone.org).", "version": "1.0.0" }, "last_serial": 4550241, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "8341385181fcc39d7c34e1e0061f574a", "sha256": "0773fb7f9b201db1cc193c99cb86d51306d05d64c9517ea5f148976a1142f730" }, "downloads": -1, "filename": "sprinkle_py-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8341385181fcc39d7c34e1e0061f574a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15887, "upload_time": "2018-10-17T19:44:05", "url": "https://files.pythonhosted.org/packages/0c/e2/6409fdcad2e1c924f49c54db4fd2c0e43ebc77d42523fbcc8fbf10ad5a7d/sprinkle_py-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a51b583a056db61468def497e6eeda2", "sha256": "14ec8631ea68fc72c36897af8322c59eb0aa373bbe53a90365e58677b34eaff5" }, "downloads": -1, "filename": "sprinkle-py-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4a51b583a056db61468def497e6eeda2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10378, "upload_time": "2018-10-17T19:44:06", "url": "https://files.pythonhosted.org/packages/a7/4e/4a7ca5e547c3b71e48d0d3af323d37dc96ba456fa145849429b102292606/sprinkle-py-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "3e6ef5e50e130d798d58d8da6c2b7136", "sha256": "f0e4a71981e2a1d91ba06bf9cad07fc37aa5c1269aca82c4e5e5cb080445d248" }, "downloads": -1, "filename": "sprinkle_py-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3e6ef5e50e130d798d58d8da6c2b7136", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19883, "upload_time": "2018-10-28T00:20:45", "url": "https://files.pythonhosted.org/packages/d6/ba/727779c14aaadb033f3b8393ba90faaa92b6bd8aa93d090924605e9787fd/sprinkle_py-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb50ea886365ca3f0534e73341949dbe", "sha256": "3cee6fb9f8d867f28196aa43c71d2c8c0ec4f8bbffc070ccad944e7189b5ca3b" }, "downloads": -1, "filename": "sprinkle-py-0.1.2.tar.gz", "has_sig": false, "md5_digest": "eb50ea886365ca3f0534e73341949dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13449, "upload_time": "2018-10-28T00:20:46", "url": "https://files.pythonhosted.org/packages/72/29/88e8e0eb58dc58c46f60426a0d3f64edec4350ea818acdfa045f435dd626/sprinkle-py-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f0c6a7a6f9918b6b2ff8ed388bbc5c3e", "sha256": "6bdec66b0d3e4f3c9402770770d072c17044370ed2b2baf19c95ca79f9bd26a9" }, "downloads": -1, "filename": "sprinkle_py-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f0c6a7a6f9918b6b2ff8ed388bbc5c3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25390, "upload_time": "2018-11-11T00:39:01", "url": "https://files.pythonhosted.org/packages/bf/e3/0c91ca07fc379edf088590a8467162f9f2831553cec62de2e72c76ce5804/sprinkle_py-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04f5d559f76f6338087a85472fdc414d", "sha256": "976085ede286d3cea4f3ebf004df72484522075b51298b93df73716bcfb910af" }, "downloads": -1, "filename": "sprinkle-py-0.2.0.tar.gz", "has_sig": false, "md5_digest": "04f5d559f76f6338087a85472fdc414d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19699, "upload_time": "2018-11-11T00:39:03", "url": "https://files.pythonhosted.org/packages/d0/81/13cb38628e02fb9c7d56528c443bb254a57bfe95572182bfd5b56d7bbea4/sprinkle-py-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0e6b0d594958071c1c28b200e9ecd762", "sha256": "454a69dfed9231080272c1719367297174e8fd762dc8b86470e9e658cb908f04" }, "downloads": -1, "filename": "sprinkle_py-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0e6b0d594958071c1c28b200e9ecd762", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25709, "upload_time": "2018-11-29T04:06:46", "url": "https://files.pythonhosted.org/packages/9e/3f/eb153b36520f57d1c17b5a5ad79846aea1e0e38dae26792283cd130bcabe/sprinkle_py-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "529932d9474859bdd0170a88ddf13ced", "sha256": "0cd0efe282ea5a84f21dd665b739845bc4f5e3fc0ffed8907db781c493a50139" }, "downloads": -1, "filename": "sprinkle-py-0.3.0.tar.gz", "has_sig": false, "md5_digest": "529932d9474859bdd0170a88ddf13ced", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20123, "upload_time": "2018-11-29T04:06:48", "url": "https://files.pythonhosted.org/packages/f9/22/a9a8c6ec02d508540fdf67c29a8dbf5fd0d1191fdb1ca0e99964e168d5d3/sprinkle-py-0.3.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "e3a874cf41e2cc008db518f97d7c0ce4", "sha256": "f90f3c466d7d44d0e83e43e428bcd273f7112082303aaa85426303270bc6e62f" }, "downloads": -1, "filename": "sprinkle_py-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e3a874cf41e2cc008db518f97d7c0ce4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25686, "upload_time": "2018-12-01T13:11:21", "url": "https://files.pythonhosted.org/packages/36/09/b3bcc1896a25087c7e1a00065008bba1bbf690a004163cf4ed6a7556bff6/sprinkle_py-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a6a6eebfb436eba3311528193111ec9", "sha256": "6f2db0dcc5d53d92bdfe1aface33703504c80863eca2e2a274d0a65298795e4b" }, "downloads": -1, "filename": "sprinkle-py-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8a6a6eebfb436eba3311528193111ec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20014, "upload_time": "2018-12-01T13:11:23", "url": "https://files.pythonhosted.org/packages/21/38/b3b245c9ba610478d620cc4a92651de4982c895669c39588c0356f97b174/sprinkle-py-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3a874cf41e2cc008db518f97d7c0ce4", "sha256": "f90f3c466d7d44d0e83e43e428bcd273f7112082303aaa85426303270bc6e62f" }, "downloads": -1, "filename": "sprinkle_py-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e3a874cf41e2cc008db518f97d7c0ce4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25686, "upload_time": "2018-12-01T13:11:21", "url": "https://files.pythonhosted.org/packages/36/09/b3bcc1896a25087c7e1a00065008bba1bbf690a004163cf4ed6a7556bff6/sprinkle_py-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a6a6eebfb436eba3311528193111ec9", "sha256": "6f2db0dcc5d53d92bdfe1aface33703504c80863eca2e2a274d0a65298795e4b" }, "downloads": -1, "filename": "sprinkle-py-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8a6a6eebfb436eba3311528193111ec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20014, "upload_time": "2018-12-01T13:11:23", "url": "https://files.pythonhosted.org/packages/21/38/b3b245c9ba610478d620cc4a92651de4982c895669c39588c0356f97b174/sprinkle-py-1.0.0.tar.gz" } ] }