{ "info": { "author": "JGill", "author_email": "joty@mygnu.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Archiving", "Topic :: System :: Archiving :: Backup", "Topic :: Utilities" ], "description": "# dobackup\n
\nSimple Automated offline snapshots of digitalocean droplets utilising [python-digitalocean](https://github.com/koalalorenzo/python-digitalocean).\nThe script safely shutdowns a given droplet or all droplets with a give tag then performs snapshots of them, Then\nit turns them back on. Every step is logged as well as displayed in the console output.\nThe script is designed to be used as a cron job as well. If any error occurs the script logs it then exits with\nexit code of 1. Very useful feature to ensure that the backups are successfully completed. I use it to delete older\nbackups only if new one is successful and to use a 'healthchecks' service to get notified if a backup failed.\n(see cron examples)\n\n\n\n## Installation\nInstall as a user without sudo. This installs it in ~/.local/bin/ make sure this path is in your $PATH.\n``` bash\npython3 -m pip install --user -U dobackup\n```\nIf not found, add the following to your .bashrc or .zshrc\n``` bash\n# Add to PATH to Install and run programs with \"pip install --user\"\nexport PATH=$PATH:~/.local/bin\n```\n\n## Usage\n\n### Initialise\nStore the api access token in .token file by running '--init' and providing the token string.\n``` bash\ndobackup --init\n# Paste the digitalocean token string, press enter\n# If you have multiple accounts, paste each- press enter, so on\n# When done, just press enter to submit an empty string\n# The sequence of these tokens (0,1,2) will be later used to \"use\" the tokens\n```\nTo use one of the stored tokens, specify it's index after \"dobackup \",\n``` bash\ndobackup 0 # 0 is implicit\ndobackup 1 # will use token 1\ndobackup 2 # will use token 2\n```\n\n### Display Information\nDisplay Information about droplets and snapshots using --list commands.\nExamples\n``` bash\ndobackup --list-droplets\ndobackup --list-snaps\ndobackup --list-backups # snaps created using this tool\ndobakcup --list-older_than 7 # lists backup taken by dobackup that are older than 7 days\ndobackup --list-tags\ndobackup --list-tagged # list tagged servers with the tag 'dobackup'\n\n```\n\n### Use Tags (optional)\nUse tags to backup multiple servers at ones. Use existing tags or create new.\nDefault tag is 'dobackup' .\nTo tag a server with a 'dobakup' tag.\n``` bash\ndobackup --tag-server ubuntu-18-04 # '--tag-name dobackup' is implicit\n```\nTo tag a server with 'web-servers' tag.\n``` bash\ndobackup --tag-server ubuntu-18-04 --tag-name web-servers\n```\nNOTE: In 2.0, --'tag-name'-- is appended to the backup name, instead of hardcoded str '--dobackup--'.\nThe default value of tag_name is still 'dobackup'. Now we can use --tag-name along with --list-backups, --list-older-than,\n--delete-older-than. Now we can keep the backups of droplets with lets say 'tag1' for 5 days and 'tag2' for 10 days.\nexample command. \"--delete-older-than 5 --tag-name 'tag1'\" , \"--delete-older-than 10 --tag-name 'tag2'\"\n\n\n### Perform Backups\nTo backup a server using it's name or id.\n``` bash\ndobackup --backup ubuntu-18-04\ndobackup --backup 1929129\ndobackup --live-backup ubuntu-18-04 # live backup, backup without shutting down the vm\ndobackup --backup ubuntu-18-04 --keep # this won't be deleted with '--delete-older-than'\n```\n\nTo backup all servers that have a given tag.\n``` bash\ndobackup --backup-all # --tag-name dobackup is implicit\ndobackup --backup-all --tag-name web-servers\n```\nTo set a cron job, to backup all 'tagged' servers and auto delete old backups, if backups were successful\n``` bash\n0 1 * * * ~/.local/bin/dobackup --backup-all && ~/.local/bin/dobackup --delete-older-than 7\n```\n\nUsing amazing utility [healthchecks](https://github.com/healthchecks/healthchecks). to get notified if an error occurred during the process.\n``` bash\n0 1 * * * ~/.local/bin/dobackup --backup-all && ~/.local/bin/dobackup --delete-older-than 7 && wget -O/dev/null https://hc-ping.com/your-string\n```\n\n### Perform Restore\nTo restore a server using it's name or id and snapshot's name or id\n``` bash\ndobackup --restore-droplet ubuntu-18-04 --restore-to \"ubuntu-18-04--dobackup--2018-06-01 14:36:07\"\n```\n\n### Delete Old Backups\nTo delete a specific snapshot.\n``` bash\ndobackup --delete-snap \"ubuntu-1gb-sgp1-01--dobackup--2018-05-31 17:43:11\" # put snap name or id\ndobackup --delete-snap \"111111111,222222222,3333333333\" # comma seperated multiple ids or names\n```\n\nTo delete all old backups taken with dobackup.\n``` bash\n# delete snapshots older than 14 days with '--dobackup--' in their names\n# WILL NOT delete snapshots with '--dobackup-keep--' in their names\ndobackup --delete-older-than 14\n```\n\n## Options\n\n``` bash\nusage: dobackup [-h] [-v] [--init] [-l] [--list-backups] [-s] [--list-tagged]\n [--list-tags] [--list-older-than LIST_OLDER_THAN]\n [--backup BACKUP] [--backup-all] [--live-backup LIVE_BACKUP]\n [--live-backup-all] [--tag-droplet TAG_DROPLET]\n [--untag-droplet UNTAG_DROPLET] [--tag-name TAG_NAME]\n [--delete-older-than DELETE_OLDER_THAN]\n [--delete-snap DELETE_SNAP] [--shutdown SHUTDOWN]\n [--powerup POWERUP] [--restore-droplet RESTORE_DROP]\n [--restore-to RESTORE_TO] [--keep]\n [token_id]\n\nAutomated Offline Or Live Snapshots Of Digitalocean Droplets\n\npositional arguments:\n token_id Specify token number to be used, default=0, supply\n only if you have multiple Digitalocean accounts\n\noptional arguments:\n -h, --help show this help message and exit\n -v, -V, --version show programs version number and exit\n --init Save token to .token file\n --tag-name TAG_NAME To be used with \"--list-tags\", \"--tag-droplet\" and \"--\n backup-all\", default value is \"dobackup\"\n --keep To keep backups for long term. \"--delete-older-than\"\n wont delete these. To be used with \"--backup\",\"--\n backup-all\"\n\nInformational Args:\n Arguments That Display Information\n\n -l, --list-droplets List all droplets\n --list-backups List all snapshots with \"dobackup\" in their name\n -s, --list-snaps List all snapshots\n --list-tagged List droplets using \"--tag-name\"\n --list-tags List all used tags\n --list-older-than LIST_OLDER_THAN\n List snaps older than, in days\n\nBackup Args:\n Arguments That Backup Or Restore Droplets\n\n --backup BACKUP Shutdown, Backup (snapshot), Then Restart the droplet\n with given name or id\n --backup-all Shutdown, Backup (snapshot), Then Restart all droplets\n with the given \"--tag-name\"\n --live-backup LIVE_BACKUP\n Backup (snapshot), the droplet with given name or id,\n without shutting it down\n --live-backup-all Backup (snapshot), all droplets with the given \"--tag-\n name\", without shutting them down\n --restore-droplet RESTORE_DROP\n Restore, the droplet with given name or id\n --restore-to RESTORE_TO\n Snapshot id or name, to restore the droplet to\n\nAction Args:\n Arguments That Perform Actions\n\n --tag-droplet TAG_DROPLET\n Add tag to the provided droplet name or id\n --untag-droplet UNTAG_DROPLET\n Remove tag from the provided droplet name or id\n --delete-older-than DELETE_OLDER_THAN\n Delete backups older than, in days\n --delete-snap DELETE_SNAP\n Snapshot(s) by name or id. e.g --delete-snap 111111 or\n --delete-snap '111111,222222,333333'\n --shutdown SHUTDOWN Shutdown, the droplet with given name or id\n --powerup POWERUP Powerup, the droplet with given name or id\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://github.com/jotyGill/digitalocean-backup/", "keywords": "backup,automated-backup,digitalocean,digital-ocean,backups,automation,digitalocean-backup,snapshots", "license": "GNU General Public License v3 or later (GPLv3+)", "maintainer": "", "maintainer_email": "", "name": "dobackup", "package_url": "https://pypi.org/project/dobackup/", "platform": "GNU/Linux", "project_url": "https://pypi.org/project/dobackup/", "project_urls": { "Homepage": "https://github.com/jotyGill/digitalocean-backup/" }, "release_url": "https://pypi.org/project/dobackup/2.3.1/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Automated Offline Or Live Snapshots Of Digitalocean Droplets", "version": "2.3.1", "yanked": false, "yanked_reason": null }, "last_serial": 8197496, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "004a3812b3bf27e11c62fab6382a77e3", "sha256": "86706be0585a6a3fd0bedf7195227468bdc5ca5b899949af3a4492cc80b2f4a4" }, "downloads": -1, "filename": "dobackup-0.0.1.tar.gz", "has_sig": false, "md5_digest": "004a3812b3bf27e11c62fab6382a77e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4580, "upload_time": "2018-05-15T06:39:23", "upload_time_iso_8601": "2018-05-15T06:39:23.692041Z", "url": "https://files.pythonhosted.org/packages/39/b3/3503614d2edf819939118d984ecb4db8e502f8a6f320f6d99c01e581dc73/dobackup-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "edd86d83660f0a7192ed2e4f9600acab", "sha256": "c95829f53ac57211e0b895ed2edc6f15010beacd9db4a23b2d49534bd0b83da7" }, "downloads": -1, "filename": "dobackup-0.0.4.tar.gz", "has_sig": false, "md5_digest": "edd86d83660f0a7192ed2e4f9600acab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5989, "upload_time": "2018-05-27T15:47:01", "upload_time_iso_8601": "2018-05-27T15:47:01.371763Z", "url": "https://files.pythonhosted.org/packages/50/28/2f063800b56533c665fc336787e99fb5b527c8e71fdef9a7ca166ad3411e/dobackup-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "3c0eed583230588b1d31335c30afeedd", "sha256": "b9e7a7c6e3e5657ba902f003de0fdd7feaedde4d87ff5192dfa250be3fd900ab" }, "downloads": -1, "filename": "dobackup-0.0.5.tar.gz", "has_sig": false, "md5_digest": "3c0eed583230588b1d31335c30afeedd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6002, "upload_time": "2018-05-27T16:17:11", "upload_time_iso_8601": "2018-05-27T16:17:11.743113Z", "url": "https://files.pythonhosted.org/packages/6e/51/24b530833572b8d6981401f20f25661f2d9a1f0e398e83e08b54bb5fc5ff/dobackup-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "e3d08e8f578355975d4ae9a93ea828b0", "sha256": "08558f0f64653ef7ced5dfa195e4b2aa4630e0a112b0b584b455278f70a5c966" }, "downloads": -1, "filename": "dobackup-0.0.6.tar.gz", "has_sig": false, "md5_digest": "e3d08e8f578355975d4ae9a93ea828b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6199, "upload_time": "2018-05-29T05:35:07", "upload_time_iso_8601": "2018-05-29T05:35:07.475270Z", "url": "https://files.pythonhosted.org/packages/00/01/bb7e8ef0892b011ab36be735aa42936e1e069a2282dbdc108c0cc7038416/dobackup-0.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "6997618388228d67938a64f19c6cfc25", "sha256": "6a7ca6030ec85e25ba52b047889a92c336cc07d321fc12ae64d82208c9440ef4" }, "downloads": -1, "filename": "dobackup-0.0.7.tar.gz", "has_sig": false, "md5_digest": "6997618388228d67938a64f19c6cfc25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8179, "upload_time": "2018-06-01T09:03:59", "upload_time_iso_8601": "2018-06-01T09:03:59.980174Z", "url": "https://files.pythonhosted.org/packages/80/74/8b8df0677848c950edc50f51b164e1ab3abe1fa2f08af04efe0e3115f29d/dobackup-0.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "93a9ee9e9726cc019d2e8d3fb8b96a4c", "sha256": "27f49b1e80199200f76579ee2b2288e4ba80a7bc4adc7503094d1901000690bf" }, "downloads": -1, "filename": "dobackup-0.0.8.tar.gz", "has_sig": false, "md5_digest": "93a9ee9e9726cc019d2e8d3fb8b96a4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8369, "upload_time": "2018-07-02T06:36:00", "upload_time_iso_8601": "2018-07-02T06:36:00.135594Z", "url": "https://files.pythonhosted.org/packages/d9/b7/08386223debd0ea7d116d42668217d356a4b1a32e859d62699f9efd33b3c/dobackup-0.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "f9a867a0b9686187eeb658a681d894dc", "sha256": "5aa15b2a253820bbf999eaf9e8d378b8d5d638bc22f609be1ec518337e6796b4" }, "downloads": -1, "filename": "dobackup-0.0.9.tar.gz", "has_sig": false, "md5_digest": "f9a867a0b9686187eeb658a681d894dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8839, "upload_time": "2018-07-06T02:28:37", "upload_time_iso_8601": "2018-07-06T02:28:37.926209Z", "url": "https://files.pythonhosted.org/packages/bb/ce/984ea453030d86e9d1170bc516e5a2aebcae336d6edb1bf7157d029a7934/dobackup-0.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d1a9c464394a6a263192adf626d9fb10", "sha256": "eb152565e23fa1f9037d0129d345b2f629c1fcdb7ace3e1d9f439823ee3b4e5c" }, "downloads": -1, "filename": "dobackup-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d1a9c464394a6a263192adf626d9fb10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8869, "upload_time": "2018-07-06T06:37:09", "upload_time_iso_8601": "2018-07-06T06:37:09.932105Z", "url": "https://files.pythonhosted.org/packages/c8/db/fb98e3f13212df0197f6355a61e055251971fbdf342b268b47ba6ec0a894/dobackup-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "232f824418560cc9b014bb7c0b2994c7", "sha256": "75d21786ae1a5351ccfa2a90ee290529b5de539020c69ad136ed8d19310442ec" }, "downloads": -1, "filename": "dobackup-1.3.3.tar.gz", "has_sig": false, "md5_digest": "232f824418560cc9b014bb7c0b2994c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11178, "upload_time": "2018-08-14T04:06:25", "upload_time_iso_8601": "2018-08-14T04:06:25.834727Z", "url": "https://files.pythonhosted.org/packages/19/8a/ca001ae932a1207d0ade3256a6ec596ca0cfb5d6e0e5187ff1d9a0bb874b/dobackup-1.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "ef94e5ff4ad3bc9817df4ad6a3da39c2", "sha256": "185ee4d14c5310159086a647e7c16f4b6e846e5ec0c95714e8815175ffedf621" }, "downloads": -1, "filename": "dobackup-1.3.4.tar.gz", "has_sig": false, "md5_digest": "ef94e5ff4ad3bc9817df4ad6a3da39c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11198, "upload_time": "2018-08-20T02:31:12", "upload_time_iso_8601": "2018-08-20T02:31:12.221397Z", "url": "https://files.pythonhosted.org/packages/0d/e4/93318c7f8e476ef9c3107ac83e4e4d14a62399a97923f79ab801b8860755/dobackup-1.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "ecef8a7160be1bcf8d745f8ad632d7a2", "sha256": "92f7636ab77b72566136b916c765eec6539b7c5b5caf87288c3d2cac42a07863" }, "downloads": -1, "filename": "dobackup-1.3.5.tar.gz", "has_sig": false, "md5_digest": "ecef8a7160be1bcf8d745f8ad632d7a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11167, "upload_time": "2018-08-20T03:15:13", "upload_time_iso_8601": "2018-08-20T03:15:13.768257Z", "url": "https://files.pythonhosted.org/packages/6c/f7/3286d65ece8202f60ed8af16e6cbc297c881218f00d12909da1b7021986e/dobackup-1.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "90fb55c7fcb92938558542b175c81c3b", "sha256": "ac6fa5fde879d300df96430acccd86c1260bc8d59a2c3232fc76a75e0c1bcf1b" }, "downloads": -1, "filename": "dobackup-1.3.6.tar.gz", "has_sig": false, "md5_digest": "90fb55c7fcb92938558542b175c81c3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11189, "upload_time": "2018-08-31T06:06:43", "upload_time_iso_8601": "2018-08-31T06:06:43.001157Z", "url": "https://files.pythonhosted.org/packages/50/68/a895747f1552e6fe5cc494e2dad6d7cbc7d728a500a0043c5a6bce5967a0/dobackup-1.3.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "89f9e4edad72e9cbadabbb99ffcdc27c", "sha256": "ac2370b0b621f2432f61335e03b77d143b37f0731980ef97f4355f4bdf0c5bcc" }, "downloads": -1, "filename": "dobackup-1.3.7.tar.gz", "has_sig": false, "md5_digest": "89f9e4edad72e9cbadabbb99ffcdc27c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11886, "upload_time": "2018-09-11T08:39:57", "upload_time_iso_8601": "2018-09-11T08:39:57.475032Z", "url": "https://files.pythonhosted.org/packages/13/c4/b02add8e65f8593210ff5f44bb15bcc4ad83bb5a1c77ea3c61299eb1d011/dobackup-1.3.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "25c5db4b1080e01e19fb9fd6d134f2b8", "sha256": "2c4b75430b983d091cd6529851935fa2498d6be9d41e3bd1b6755fe8a93852ca" }, "downloads": -1, "filename": "dobackup-1.4.0.tar.gz", "has_sig": false, "md5_digest": "25c5db4b1080e01e19fb9fd6d134f2b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12393, "upload_time": "2018-10-24T08:00:32", "upload_time_iso_8601": "2018-10-24T08:00:32.469261Z", "url": "https://files.pythonhosted.org/packages/b7/df/f948cb1cb79706c162f1aba1b5e14253572b7297e0dc05734906ad580879/dobackup-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0.dev1": [ { "comment_text": "", "digests": { "md5": "b684440fe2291f8dc7f8bd9c425dc1f1", "sha256": "ff9c5a148369d6c873f8f0574da8b979ba5954cc361c5ac6cab52f079d9e8fe9" }, "downloads": -1, "filename": "dobackup-1.4.0.dev1.tar.gz", "has_sig": false, "md5_digest": "b684440fe2291f8dc7f8bd9c425dc1f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12433, "upload_time": "2018-10-17T05:18:13", "upload_time_iso_8601": "2018-10-17T05:18:13.458018Z", "url": "https://files.pythonhosted.org/packages/a0/86/b2012a368e3414bfb76df91a889c58094352e82d5e50adc5317d95e24691/dobackup-1.4.0.dev1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "fe0c99dc003b055561f9494d1868d936", "sha256": "3a4fbedb4eb7cdebd859b2255a19f6b2cb7f0363f218ac9624c6e7714ba7bd0e" }, "downloads": -1, "filename": "dobackup-1.4.1.tar.gz", "has_sig": false, "md5_digest": "fe0c99dc003b055561f9494d1868d936", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12571, "upload_time": "2018-10-30T07:11:01", "upload_time_iso_8601": "2018-10-30T07:11:01.299763Z", "url": "https://files.pythonhosted.org/packages/72/78/7ea916811b847e4c837026ef41b2668a4cf5b8e5a37e8ce61c782d2a35d4/dobackup-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1.dev1": [ { "comment_text": "", "digests": { "md5": "bbe3426a9b75c6a59db470934cc8bc89", "sha256": "5a89a069ba6e6fecddc44a7057170c759c2a614662b109ac437298292692cee7" }, "downloads": -1, "filename": "dobackup-1.4.1.dev1.tar.gz", "has_sig": false, "md5_digest": "bbe3426a9b75c6a59db470934cc8bc89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12578, "upload_time": "2018-10-29T06:02:25", "upload_time_iso_8601": "2018-10-29T06:02:25.584344Z", "url": "https://files.pythonhosted.org/packages/b8/fc/e56715cdb5054072dc8f1e3e05f4c151038ab082929c848da5a99766a9c4/dobackup-1.4.1.dev1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1.dev2": [ { "comment_text": "", "digests": { "md5": "93311bd5fd59738ca4189b660a4505ea", "sha256": "51da6d72d288edd182ca8faac25a427a5c860518172a6eec51a92ba922420d7a" }, "downloads": -1, "filename": "dobackup-1.4.1.dev2.tar.gz", "has_sig": false, "md5_digest": "93311bd5fd59738ca4189b660a4505ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12581, "upload_time": "2018-10-29T06:16:14", "upload_time_iso_8601": "2018-10-29T06:16:14.875632Z", "url": "https://files.pythonhosted.org/packages/74/13/d243f6bc4a50828837f91b70b478c7bc20e5c0eba650a83e0597703dc0c0/dobackup-1.4.1.dev2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2.dev1": [ { "comment_text": "", "digests": { "md5": "ee54d70eb1afdfbf6c98b71e4d3635ce", "sha256": "58243ec48eddf31a3b76fd737d517eee1ca95a9b7663ed4a6b9e4b04a3ca08a6" }, "downloads": -1, "filename": "dobackup-1.4.2.dev1.tar.gz", "has_sig": false, "md5_digest": "ee54d70eb1afdfbf6c98b71e4d3635ce", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12550, "upload_time": "2018-11-02T00:49:02", "upload_time_iso_8601": "2018-11-02T00:49:02.276380Z", "url": "https://files.pythonhosted.org/packages/74/c8/15333a7686f4687d369f78a9ff1b5a78ec1fb1a5d6026e32ddbd064cddd0/dobackup-1.4.2.dev1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.0.dev1": [ { "comment_text": "", "digests": { "md5": "9ad6f08170f524a5e1aab46608c0dbca", "sha256": "49d12a94c85d528634228a8bef0c781b107e74db0099f027cf7048a33e8f1113" }, "downloads": -1, "filename": "dobackup-1.5.0.dev1.tar.gz", "has_sig": false, "md5_digest": "9ad6f08170f524a5e1aab46608c0dbca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12623, "upload_time": "2018-11-06T01:38:13", "upload_time_iso_8601": "2018-11-06T01:38:13.799385Z", "url": "https://files.pythonhosted.org/packages/32/8f/0b706ad359143ce85c6a241c55c0dbc7555f1283d23fea2fa402eceb1eda/dobackup-1.5.0.dev1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "2e830e09cd1bbce9df07b2604a67254e", "sha256": "4b8231ef35c03eadf879e69e5f2e4cd944ab14b110668034757a445f16e9707f" }, "downloads": -1, "filename": "dobackup-2.0.0.tar.gz", "has_sig": false, "md5_digest": "2e830e09cd1bbce9df07b2604a67254e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12796, "upload_time": "2018-11-15T01:43:21", "upload_time_iso_8601": "2018-11-15T01:43:21.021346Z", "url": "https://files.pythonhosted.org/packages/f9/97/f08e6dfb0ba0d6380d2079c3672a15dcdcaa1d449a8ba4c60af8a09f06d6/dobackup-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "33ff7eaa0b46c2b7dea1d024bc33ee2c", "sha256": "0f850c6be311da360632f5641aae84d3ed209bed28a8df4920fdf84411485e07" }, "downloads": -1, "filename": "dobackup-2.1.0.tar.gz", "has_sig": false, "md5_digest": "33ff7eaa0b46c2b7dea1d024bc33ee2c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 15270, "upload_time": "2019-10-30T05:31:04", "upload_time_iso_8601": "2019-10-30T05:31:04.739925Z", "url": "https://files.pythonhosted.org/packages/71/0b/9bf9f4ef60f8cf97248431f2cd8636dbfe7ccb5499795e7a85b1306e5a8a/dobackup-2.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "0af06193866487b8574148d2f1e51b49", "sha256": "0523e2511b2c101e6e4221184dbc714d277f81884d16749875bebb992948e479" }, "downloads": -1, "filename": "dobackup-2.1.1.tar.gz", "has_sig": false, "md5_digest": "0af06193866487b8574148d2f1e51b49", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 15980, "upload_time": "2019-11-27T00:32:57", "upload_time_iso_8601": "2019-11-27T00:32:57.887753Z", "url": "https://files.pythonhosted.org/packages/16/89/227fd83364e64c8483c90cdf059db023a6b01de353f5080ac27cfb6f21b4/dobackup-2.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "04b6df0b81cb0d8b4f75dcd6b509f6c9", "sha256": "c56faa43bf83b4d473e7e84de60a009ea835d71e6bb9260676ae364b451afa40" }, "downloads": -1, "filename": "dobackup-2.1.2.tar.gz", "has_sig": false, "md5_digest": "04b6df0b81cb0d8b4f75dcd6b509f6c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 16049, "upload_time": "2020-01-30T04:27:42", "upload_time_iso_8601": "2020-01-30T04:27:42.254789Z", "url": "https://files.pythonhosted.org/packages/ae/a4/dcf30698b50675de8952d4b1e43a96dae7af752b5741fc0ea8ecca6e306e/dobackup-2.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "9e351aab5e924d62c9bf68660694ecab", "sha256": "c1bfe50664753184c8bd3b8ec52a0c8a1477f0873437983d3f081708571472cd" }, "downloads": -1, "filename": "dobackup-2.3.0.tar.gz", "has_sig": false, "md5_digest": "9e351aab5e924d62c9bf68660694ecab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 16341, "upload_time": "2020-09-14T03:33:49", "upload_time_iso_8601": "2020-09-14T03:33:49.220258Z", "url": "https://files.pythonhosted.org/packages/c2/82/f3314e3e05a6c302dc74492abba929642e337855267bbc55b0fcfe3a502a/dobackup-2.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "8654c597e358f27ef9508c9807c096cb", "sha256": "93e02d11c01571ed0c7233a6ea1ded3649a0b428cb8ba70505cd98a3fda74a7a" }, "downloads": -1, "filename": "dobackup-2.3.1.tar.gz", "has_sig": false, "md5_digest": "8654c597e358f27ef9508c9807c096cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 16198, "upload_time": "2020-09-16T06:08:03", "upload_time_iso_8601": "2020-09-16T06:08:03.296695Z", "url": "https://files.pythonhosted.org/packages/71/b1/996d4f336e4655f9eb6d4054c57a13e94e95a3de0cb2ce0c97bca5378e8b/dobackup-2.3.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8654c597e358f27ef9508c9807c096cb", "sha256": "93e02d11c01571ed0c7233a6ea1ded3649a0b428cb8ba70505cd98a3fda74a7a" }, "downloads": -1, "filename": "dobackup-2.3.1.tar.gz", "has_sig": false, "md5_digest": "8654c597e358f27ef9508c9807c096cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 16198, "upload_time": "2020-09-16T06:08:03", "upload_time_iso_8601": "2020-09-16T06:08:03.296695Z", "url": "https://files.pythonhosted.org/packages/71/b1/996d4f336e4655f9eb6d4054c57a13e94e95a3de0cb2ce0c97bca5378e8b/dobackup-2.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }