{ "info": { "author": "alichtman", "author_email": "aaronlichtman@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: MacOS X", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Documentation", "Topic :: System :: Archiving :: Backup", "Topic :: System :: Installation/Setup", "Topic :: System :: Operating System", "Topic :: Utilities" ], "description": "# shallow-backup\n\n[![Downloads](http://pepy.tech/badge/shallow-backup)](http://pepy.tech/count/shallow-backup)\n[![Build Status](https://travis-ci.com/alichtman/shallow-backup.svg?branch=master)](https://travis-ci.com/alichtman/shallow-backup)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/1719da4d7df5455d8dbb4340c428f851)](https://www.codacy.com/app/alichtman/shallow-backup?utm_source=github.com&utm_medium=referral&utm_content=alichtman/shallow-backup&utm_campaign=Badge_Grade)\n\n\n`shallow-backup` lets you easily create lightweight backups of installed packages, applications, fonts and dotfiles, and automatically push them to a remote Git repository.\n\n![Shallow Backup GIF Demo](img/shallow-backup-demo.gif)\n\nContents\n========\n\n * [Installation](#installation)\n * [Usage](#usage)\n * [Git Integration](#git-integration)\n * [What can I back up?](#what-can-i-back-up)\n * [Backup Customization](#backup-customization)\n * [Output Structure](#output-structure)\n * [Inspiration](#inspiration)\n * [Want to contribute?](#want-to-contribute)\n\n### Installation\n---\n\n1. Install with [`pip3`](https://pypi.org/project/shallow-backup/)\n + `$ pip3 install shallow-backup`\n + `$ shallow-backup`\n\n2. Download the `shallow-backup` binary from Releases tab.\n\n### Usage\n---\n\nTo start the interactive program, simply run `$ shallow-backup`.\n\n`shallow-backup` was built with scripting in mind. Every feature that's supported in the interactive program is supported with command line args.\n\n```shell\nUsage: shallow-backup [OPTIONS]\n\n Easily back up installed packages, dotfiles, and more.\n You can edit which files are backed up in ~/.shallow-backup.\n\n Written by Aaron Lichtman (@alichtman).\n\nOptions:\n -all Full back up.\n -configs Back up app config files.\n -delete_config Delete config file.\n -destroy_backup Delete backup directory.\n -dotfiles Back up dotfiles.\n -fonts Back up installed fonts.\n --new_path TEXT Input a new back up directory path.\n -no_splash Don't display splash screen.\n -old_path Skip setting new back up directory path prompt.\n -packages Back up package libraries.\n -reinstall_all Full reinstallation.\n -reinstall_configs Reinstall configs.\n -reinstall_dots Reinstall dotfiles and dotfolders.\n -reinstall_fonts Reinstall fonts.\n -reinstall_packages Reinstall packages.\n --remote TEXT Set remote URL for the git repo.\n -separate_dotfiles_repo Use if you are trying to maintain a separate\n dotfiles repo and running into issue #229.\n -show Display config file.\n -v, --version Display version and author info.\n -help, -h, --help Show this message and exit.\n```\n\n### Git Integration\n---\n\n**A Word of Caution**\n\nThis backup tool is git-integrated, meaning that you can easily store your backups remotely (on GitHub, for example.) Dotfiles and configuration files may contain sensitive information like API keys and ssh keys, and you don't want to make those public. To make sure no sensitive files are uploaded accidentally, `shallow-backup` creates a `.gitignore` file if it can't find one in the directory. It excludes `.ssh/` and `.pypirc` by default. It's safe to remove these restrictions if you're pushing to a remote private repository, or you're only backing up locally. To do this, you should clear the `.gitignore` file without deleting it.\n\n_If you choose to back up to a public repository, look at every file you're backing up to make sure you want it to be public._\n\n**What if I'd like to maintain a separate repo for my dotfiles?**\n\n`shallow-backup` makes this easy! After making your first backup, `cd` into the `dotfiles/` directory and run `$ git init`. Create a `.gitignore` and a new repo on your favorite version control platform. This repo will be maintained independently (manually) of the base `shallow-backup` repo. Note that you may need to use the `-separate_dotfiles_repo` flag to get this to work, and it may [break some other functionality of the tool](https://github.com/alichtman/shallow-backup/issues/229). It's ok for my use case, though.\n\n### What can I back up?\n---\n\nBy default, `shallow-backup` backs these up.\n\n1. `dotfiles` and `dotfolders`.\n * `.bashrc`\n * `.bash_profile`\n * `.gitconfig`\n * `.pypirc`\n * `.shallow-backup`\n * `.ssh/`\n * `.vim/`\n * `.zshrc`\n\n2. App Config Files\n * Atom\n * VSCode\n * Sublime Text 2/3\n * Terminal.app\n\n3. Installed Packages\n * `apm`\n * `brew` and `cask`\n * `cargo`\n * `gem`\n * `pip`\n * `pip3`\n * `npm`\n * `macports`\n * `VSCode` Extensions\n * `Sublime Text 2/3` Packages\n * System Applications\n\n4. User installed `fonts`.\n\n### Backup Customization\n\nIf you'd like to modify which files are backed up, you have to edit the `~/.shallow-backup` file. There are two recommended ways of doing this.\n\n1. Select the appropriate option in the CLI and follow the prompts.\n2. Open the file in a text editor and make your changes.\n\n#### Output Structure\n---\n\n```shell\nbackup_dir/\n\u251c\u2500\u2500 configs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 plist\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 com.apple.Terminal.plist\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 sublime_2\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 ...\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 sublime_3\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ...\n\u251c\u2500\u2500 dotfiles\n\u2502 \u251c\u2500\u2500 .bash_profile\n\u2502 \u251c\u2500\u2500 .bashrc\n\u2502 \u251c\u2500\u2500 .gitconfig\n\u2502 \u251c\u2500\u2500 .pypirc\n\u2502 \u251c\u2500\u2500 ...\n\u2502 \u251c\u2500\u2500 .shallow-backup\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 .ssh/\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 known_hosts\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 .vim/\n\u2502 \u2514\u2500\u2500 .zshrc\n\u251c\u2500\u2500 fonts\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 AllerDisplay.ttf\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Aller_Bd.ttf\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Aller_BdIt.ttf\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Aller_It.ttf\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ...\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Ubuntu Mono derivative Powerline Bold Italic.ttf\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Ubuntu Mono derivative Powerline Bold.ttf\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Ubuntu Mono derivative Powerline Italic.ttf\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 Ubuntu Mono derivative Powerline.ttf\n\u2514\u2500\u2500 packages\n \u251c\u2500\u2500 apm_list.txt\n \u251c\u2500\u2500 brew-cask_list.txt\n \u251c\u2500\u2500 brew_list.txt\n \u251c\u2500\u2500 cargo_list.txt\n \u251c\u2500\u2500 gem_list.txt\n \u251c\u2500\u2500 installed_apps_list.txt\n \u251c\u2500\u2500 npm_list.txt\n \u251c\u2500\u2500 macports_list.txt\n \u251c\u2500\u2500 pip_list.txt\n \u2514\u2500\u2500 sublime3_list.txt\n```\n\n### Inspiration\n---\n\nI back up system images of my MacBook Pro to an external SSD multiple times every week, and it always takes way too long. I wanted to speed this up, so I took a look at what was actually being backed up. I saw that my `brew`, `npm`, and `pip` libraries took up a ton more space than I imagined.\n\n*And that's totally unnecessary.* When you back something up, you do it with the intention of being able to get back to that exact state at some point in the future. The minimum you need in order to recreate those package libraries later is just a list of the packages that are installed with each package manager. If you have these lists, restoring your system package installs is easy: `$ pip install -r pip_list.txt`, for example.\n\nI cut down my backup size by almost `10GB` by replacing my `pip`, `brew`, `brew cask` and `npm` libraries with simple text files. I also cut down the back up time significantly since many fewer files were being copied.\n\nOnce I'd built that functionality, I wanted to have a single backup utility for files and folders often used by developers, so I added the ability to backup `dotfiles` and `fonts`. (Note: Because just having a list of installed fonts or a list of dotfiles that exist isn't very useful, `shallow-backup` creates copies of all dotfiles and user installed fonts.)\n\n### Want to Contribute?\n---\n\nCheck out `CONTRIBUTING.md` and the `docs` directory.\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://github.com/alichtman/shallow-backup", "keywords": "backup documentation system dotfiles install list configuration", "license": "", "maintainer": "", "maintainer_email": "", "name": "shallow-backup", "package_url": "https://pypi.org/project/shallow-backup/", "platform": "", "project_url": "https://pypi.org/project/shallow-backup/", "project_urls": { "Bug Reports": "https://github.com/alichtman/shallow-backup/issues", "Donations": "https://www.patreon.com/alichtman", "Homepage": "https://github.com/alichtman/shallow-backup" }, "release_url": "https://pypi.org/project/shallow-backup/2.8/", "requires_dist": [ "inquirer (>=2.2.0)", "colorama (>=0.3.9)", "gitpython", "Click" ], "requires_python": "", "summary": "Easily create lightweight backups of installed packages, dotfiles, and more.", "version": "2.8" }, "last_serial": 5986914, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "fddbfbd229b4993ce0edad470fb5843e", "sha256": "a0de50db762a726989c53c803521fbd034cbc67b233a4f16792e86f17466f085" }, "downloads": -1, "filename": "shallow_backup-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fddbfbd229b4993ce0edad470fb5843e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3055, "upload_time": "2018-04-13T10:06:30", "url": "https://files.pythonhosted.org/packages/59/12/05ff001e8e54d83af93d19e66277103a25518d510677c76723c98acfe45e/shallow_backup-0.3-py2.py3-none-any.whl" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "e68edf6050c27179667ba7258dc40197", "sha256": "5a61abfa6e3d2863167ab71f98c8cbafcf237c97f5eb0d0176ac608a5c09e776" }, "downloads": -1, "filename": "shallow_backup-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e68edf6050c27179667ba7258dc40197", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6607, "upload_time": "2018-04-14T01:26:50", "url": "https://files.pythonhosted.org/packages/5d/8e/9ca241e4d39db2be46a6bb71d17d7a7259ced53d8902bd26d39133f765ec/shallow_backup-0.4-py2.py3-none-any.whl" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "782213f814142ed936c075afa4898477", "sha256": "2f88b3bd27152543e0acde8cf5ac3dbd69b425c2a4ca8bf1dc8d10cf8ad26486" }, "downloads": -1, "filename": "shallow_backup-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "782213f814142ed936c075afa4898477", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7364, "upload_time": "2018-04-19T12:38:05", "url": "https://files.pythonhosted.org/packages/26/10/8b8767d0640f29a200faaef4d3bd49ccf6acc6e1f84aede54097897b3467/shallow_backup-0.5-py2.py3-none-any.whl" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "201036f9265e713d8c374f0398a488ca", "sha256": "a9c877f70468b7c166ae00530c606b6e0c947c1213b6d9d0f1d173c1776156a8" }, "downloads": -1, "filename": "shallow_backup-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "201036f9265e713d8c374f0398a488ca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8701, "upload_time": "2018-05-14T12:05:35", "url": "https://files.pythonhosted.org/packages/d6/50/90bfd7b8962c4b27f003a5ebd3f3298e2127f2633260a949430312f97563/shallow_backup-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe19f6a64cf0608658d81404dfd0de7a", "sha256": "afc27224e1730a3456e825db500d424ca287bd265392b4306d1fb386c528d587" }, "downloads": -1, "filename": "shallow-backup-1.0.tar.gz", "has_sig": false, "md5_digest": "fe19f6a64cf0608658d81404dfd0de7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10155, "upload_time": "2018-05-29T05:20:05", "url": "https://files.pythonhosted.org/packages/56/c4/998a0b3fa362d7b53d532502c64802ee98fe3420a176fd93f55078dc3cfb/shallow-backup-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "83a9097009150b1504c103272537c0a0", "sha256": "ac64508d67ccc21886b90f679a3eacccf7f8ccbdf5c7bdbb65c8ac47ea99d08e" }, "downloads": -1, "filename": "shallow_backup-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83a9097009150b1504c103272537c0a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8709, "upload_time": "2018-05-29T05:20:03", "url": "https://files.pythonhosted.org/packages/c8/87/d5d1ee02d982c9f42ab9e30412ffda8a6ae92c4cee91ba357ab42614c951/shallow_backup-1.1-py2.py3-none-any.whl" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "c8b9dce417ba26ded9d043f385eb9fa5", "sha256": "f8f9093048aa3a7cbfc6ff1aae04ec404ce0373fea3ed7d7fc8c45ea014426ce" }, "downloads": -1, "filename": "shallow_backup-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8b9dce417ba26ded9d043f385eb9fa5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8977, "upload_time": "2018-05-30T00:41:52", "url": "https://files.pythonhosted.org/packages/1a/27/80106b52d5f12c7f5ee1fdeb6c3a9d0a1bbb0f86e324eb3e90564540308f/shallow_backup-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12eb840223ec8e0b868c3529200d8f5d", "sha256": "010033427d9eb74fb3df8131fa8d91ba80d91724635f0e3377cfe98e9bbe93ec" }, "downloads": -1, "filename": "shallow-backup-1.2.tar.gz", "has_sig": false, "md5_digest": "12eb840223ec8e0b868c3529200d8f5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10469, "upload_time": "2018-05-30T01:11:13", "url": "https://files.pythonhosted.org/packages/4f/66/4045873be3d38a68a078ebf2da1a5ca3537bf62fb517df8c6580ef5e41cc/shallow-backup-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "45d63c09ec67cdf854d68aef977817f9", "sha256": "8ddfaf27931fafb63cf2f5bbda7b643e7e243a9d5b528beb5f26c31d1312bdf4" }, "downloads": -1, "filename": "shallow_backup-1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45d63c09ec67cdf854d68aef977817f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9046, "upload_time": "2018-05-30T01:11:12", "url": "https://files.pythonhosted.org/packages/da/f2/676f83affd33f639ee669327ccf14a415516282667555a8863627e1f4c2c/shallow_backup-1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74426104e4faec04a248e07f35d6eb04", "sha256": "19bdcb2beaa925d44d27a7eb4927700c899035113c9f8013fe2fc670c9050dd1" }, "downloads": -1, "filename": "shallow-backup-1.3.tar.gz", "has_sig": false, "md5_digest": "74426104e4faec04a248e07f35d6eb04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10528, "upload_time": "2018-05-30T01:11:14", "url": "https://files.pythonhosted.org/packages/73/cb/5ea765dd1476d27e37879dd8396a8b0928fe29729958e0464d651cc434d7/shallow-backup-1.3.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "24715898b453018706f25c6f908f530d", "sha256": "f144e6a3a00b5b002a38c547a6231cb46758161a71f2d196e597365d466c936b" }, "downloads": -1, "filename": "shallow_backup-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "24715898b453018706f25c6f908f530d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19554, "upload_time": "2018-11-09T10:14:08", "url": "https://files.pythonhosted.org/packages/7d/dc/01984d6f1f8f7990d8782394b0a10d814c2461702d92c12470340ca8b309/shallow_backup-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b387fac38fb7a53efeafc4aeb84826e7", "sha256": "b280cfb7c6886e1cd499aace110b69f3f9a92b86c00db5bafebeec6a3056ec78" }, "downloads": -1, "filename": "shallow_backup-2.0-py3.6.egg", "has_sig": false, "md5_digest": "b387fac38fb7a53efeafc4aeb84826e7", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 18199, "upload_time": "2018-11-09T10:14:12", "url": "https://files.pythonhosted.org/packages/c2/5d/f68c983c699219fe28993fb91a134421fb64a46dc8b118d62c836f2f35ea/shallow_backup-2.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "3004d6df6cc9961cf44734217b3cea94", "sha256": "c9a67e710c4f6eb3ee1e86055e75e6c2be17f67928c8a983ddecb9867965e9af" }, "downloads": -1, "filename": "shallow-backup-2.0.tar.gz", "has_sig": false, "md5_digest": "3004d6df6cc9961cf44734217b3cea94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18646, "upload_time": "2018-11-09T10:14:11", "url": "https://files.pythonhosted.org/packages/fc/b2/7690855871291481b92dfe9c473d44bb024b32c6fbf26faed24991107648/shallow-backup-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "023a7114efe91a093b63f67740b85d45", "sha256": "a57a86d2e68ec01962ec811570e359f93cf27b1c341d768ce4e0221a621a971c" }, "downloads": -1, "filename": "shallow_backup-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "023a7114efe91a093b63f67740b85d45", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18868, "upload_time": "2018-11-14T14:49:57", "url": "https://files.pythonhosted.org/packages/d6/ca/10147f0e97268e81920dd4774cc157edbd7d61e53339ab1600a33d4d3669/shallow_backup-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31deb282a384107b632982593c93d710", "sha256": "4d2aa12bb551541883528f22266089271026c3c06917c86eb142f0ce333526b5" }, "downloads": -1, "filename": "shallow_backup-2.1-py3.6.egg", "has_sig": false, "md5_digest": "31deb282a384107b632982593c93d710", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 18079, "upload_time": "2018-12-14T14:48:06", "url": "https://files.pythonhosted.org/packages/e5/75/4c4c02109d8f552ca6cbf989cfe3336f84056fca8eaddb0b361a1b958188/shallow_backup-2.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "73231342d7dda883079803223e647705", "sha256": "9f8dcbcb413775b7812cb42aebaf442c268be76f9ac77e01567d934722e03a63" }, "downloads": -1, "filename": "shallow-backup-2.1.tar.gz", "has_sig": false, "md5_digest": "73231342d7dda883079803223e647705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18529, "upload_time": "2018-11-14T14:50:00", "url": "https://files.pythonhosted.org/packages/65/ec/da5303fbea346cec3e87f41197a32a8ec3814648598ee9b074bf9de00321/shallow-backup-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "6ef285b95b3d95e5c3fce5fb159a5f95", "sha256": "d0b414e11c0f86dbbc3afba4ddf29da12230463fba55b217059a906e13e23485" }, "downloads": -1, "filename": "shallow_backup-2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ef285b95b3d95e5c3fce5fb159a5f95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19441, "upload_time": "2018-12-14T14:48:00", "url": "https://files.pythonhosted.org/packages/c8/03/5564adcdf13ee05c91c066489607ee4abef69df996c0815eff5738bfb1a1/shallow_backup-2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0140cddd55c64e50495a42e2b2e87b2d", "sha256": "229a738c25a0323aa5e25d993a0f2b4eb47d2f8c547d3cba0f08225db7b1cd08" }, "downloads": -1, "filename": "shallow-backup-2.2.tar.gz", "has_sig": false, "md5_digest": "0140cddd55c64e50495a42e2b2e87b2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18620, "upload_time": "2019-01-07T22:19:11", "url": "https://files.pythonhosted.org/packages/5a/85/d031913a1ae3cc04a0e44be413c06cc169b610770cb6033792e63423b4ae/shallow-backup-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "5b8f3aec0681dc3400b15e8ffb4a32ea", "sha256": "cf6e0fb03c7657beecc36a1744a829c31968208be2b708197abf24b42d75b46c" }, "downloads": -1, "filename": "shallow_backup-2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b8f3aec0681dc3400b15e8ffb4a32ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20065, "upload_time": "2019-01-07T22:19:06", "url": "https://files.pythonhosted.org/packages/48/27/6ddcbfa960b346196dfc784e88057a846b98171f178cd74d7fa132c7f4fc/shallow_backup-2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d32f12f07798ea9ad9fd0e3bed9392c", "sha256": "96ff33119b81443053d8eca94a353160d3795baf4b91e3f2619c06cdc6913822" }, "downloads": -1, "filename": "shallow-backup-2.3.tar.gz", "has_sig": false, "md5_digest": "1d32f12f07798ea9ad9fd0e3bed9392c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19177, "upload_time": "2019-01-07T22:19:12", "url": "https://files.pythonhosted.org/packages/17/04/988e78fff3adb54311c234de67cc0ee230d993c02cc2ec360e44aa212059/shallow-backup-2.3.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "ffe60ad52ea233d08ebad0e2ea73d035", "sha256": "ec12c4ab679f62b6d31888324e222a566c96d197d3bcf7cc5745b69432729d64" }, "downloads": -1, "filename": "shallow_backup-2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ffe60ad52ea233d08ebad0e2ea73d035", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19608, "upload_time": "2019-05-12T03:55:04", "url": "https://files.pythonhosted.org/packages/eb/d3/cb089c255e57101e77898a2440a7124fc449ad7ad0af54f8b1a955cec78c/shallow_backup-2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09c837d1fa0a9558f4512494e9a723bf", "sha256": "2017ab623404ebeadd02020c8dc4723d01c69dbf41ebc229329ede5d145de134" }, "downloads": -1, "filename": "shallow-backup-2.4.tar.gz", "has_sig": false, "md5_digest": "09c837d1fa0a9558f4512494e9a723bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19685, "upload_time": "2019-05-12T03:55:14", "url": "https://files.pythonhosted.org/packages/b2/f1/432638bbdab5d0ea2be99b9273a59ed191465563a1b2bdd2d7f9e09ed131/shallow-backup-2.4.tar.gz" } ], "2.5a0": [ { "comment_text": "", "digests": { "md5": "ad9e7c14e0192f8473e1b3b77ce240ea", "sha256": "e143eb4993063afc0ce0c6fddf884db2928cbcbc28d466c22c82aa9ee5241e54" }, "downloads": -1, "filename": "shallow_backup-2.5a0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ad9e7c14e0192f8473e1b3b77ce240ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20464, "upload_time": "2019-06-12T08:43:03", "url": "https://files.pythonhosted.org/packages/05/bd/9c1587c2b7efc249b4ff6ae51f560a81fdf3a9c32c2edee4c4b159ccd99a/shallow_backup-2.5a0-py2.py3-none-any.whl" } ], "2.5b0": [ { "comment_text": "", "digests": { "md5": "39fe4ee47c8d756e5c18f51e133e20d8", "sha256": "32889b96808f821e64fe27f4956bc37df10dc82e0519a7b2d767b25e76f6c9df" }, "downloads": -1, "filename": "shallow_backup-2.5b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39fe4ee47c8d756e5c18f51e133e20d8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20495, "upload_time": "2019-09-18T16:47:49", "url": "https://files.pythonhosted.org/packages/8f/f5/f8a7d520fc647ddf204f5c10a3d734e46132ac770e03a4fbfa1ea0decf07/shallow_backup-2.5b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab77fbd66b217ae2c064a8dd8449a803", "sha256": "4f7202e0780e4d0a5b753cf8e9ca7c8f258d24991a9a1cc92308902ebc74a688" }, "downloads": -1, "filename": "shallow-backup-2.5b0.tar.gz", "has_sig": false, "md5_digest": "ab77fbd66b217ae2c064a8dd8449a803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19678, "upload_time": "2019-09-18T16:47:51", "url": "https://files.pythonhosted.org/packages/a5/34/5c25763706168da298271384985f5ce47ce26563fea74a734c65363b4ac1/shallow-backup-2.5b0.tar.gz" } ], "2.6": [ { "comment_text": "", "digests": { "md5": "cffe77c714bbebbd2ab218f8c80e6da0", "sha256": "21b110c8a5cb53621b1cece0beebdeededc7c92c0d82998f6980f8f40e74e855" }, "downloads": -1, "filename": "shallow_backup-2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cffe77c714bbebbd2ab218f8c80e6da0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21024, "upload_time": "2019-09-23T23:23:03", "url": "https://files.pythonhosted.org/packages/14/62/5f6a1bef61e5061701da6df15e1d4138e7bbb63d92b6227c934b97f56b06/shallow_backup-2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c0983334147e5e7c4190db20490f385", "sha256": "aba3e64c4a06d3983fd40ebc91ffff717d26229b08c0399539bc3d1867789296" }, "downloads": -1, "filename": "shallow_backup-2.6-py3.7.egg", "has_sig": false, "md5_digest": "7c0983334147e5e7c4190db20490f385", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 41666, "upload_time": "2019-09-23T23:23:13", "url": "https://files.pythonhosted.org/packages/64/5f/2538a82e459ab4160953a6a078589d08fd1b78b9dff5a4746d945737dab8/shallow_backup-2.6-py3.7.egg" } ], "2.7": [ { "comment_text": "", "digests": { "md5": "4804878a464a109e9522678e9d0478df", "sha256": "3ec26a57af036455b8167c42a1ff6112758b612fdda089836cd8887cafb837c4" }, "downloads": -1, "filename": "shallow_backup-2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4804878a464a109e9522678e9d0478df", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21116, "upload_time": "2019-10-08T00:06:19", "url": "https://files.pythonhosted.org/packages/60/79/159e6b615b3f3326929f19d9ded6d86b0624830010034c8c14e78c118b8e/shallow_backup-2.7-py2.py3-none-any.whl" } ], "2.8": [ { "comment_text": "", "digests": { "md5": "3f33ead224b6761deaf41ddb89401274", "sha256": "bdddf08521c407c8f49f1a0b7ba7c39c1286c2f5a020d41a81363d33e40470da" }, "downloads": -1, "filename": "shallow_backup-2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f33ead224b6761deaf41ddb89401274", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21128, "upload_time": "2019-10-16T23:56:59", "url": "https://files.pythonhosted.org/packages/e4/f8/59169415f71d247bad696289ccaca5ccc2c0756ed743635ec446fdb25c6e/shallow_backup-2.8-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f33ead224b6761deaf41ddb89401274", "sha256": "bdddf08521c407c8f49f1a0b7ba7c39c1286c2f5a020d41a81363d33e40470da" }, "downloads": -1, "filename": "shallow_backup-2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f33ead224b6761deaf41ddb89401274", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21128, "upload_time": "2019-10-16T23:56:59", "url": "https://files.pythonhosted.org/packages/e4/f8/59169415f71d247bad696289ccaca5ccc2c0756ed743635ec446fdb25c6e/shallow_backup-2.8-py2.py3-none-any.whl" } ] }