{ "info": { "author": "John Reese", "author_email": "john@noswap.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Topic :: Utilities" ], "description": "dotlink\n=======\n\ndotlink is a simple script to automate deploying an arbitrary set of \"dotfiles\"\nfrom a repository to either a local path or even a remote host using ssh/scp.\n\ndotlink does not manage the dotfiles themselves, but uses a simple text file\nmapping dotfile names in the repository to their ultimate location relative to\nthe target path. This allows you to have files without the dot prefix, for\ninstance, or avoid replicating deep directory structures to track a single file.\n\n[![Build Status](https://travis-ci.org/jreese/dotlink.png?branch=master)](https://travis-ci.org/jreese/dotlink)\n\n\nsetup\n-----\n\ndotlink requires Python, either version 2.7 or versions 3.2 and newer. No\nexternal libraries are required.\n\nTo install dotlink system-wide or in a virtualenv:\n\n # pip install dotlink\n\nOr if you want to hack on dotlink a bit, clone the repo and run:\n\n # python setup.py develop\n\n\nusage\n-----\n\nYou'll first need to create a mapping file in the root of your dotfile\nrepository named `.dotfiles` (or just `dotfiles`), following this format:\n\n- Each line contains the local repository filename, optionally followed by\n a colon and the target filename if different than the local filename.\n- External dotfile mappings can be included using `#include \"path/to/mapping\"`,\n and the requested map will be loaded as well. The requested path can either\n be an explicit filename, or a directory containing a mapping named `dotfiles`\n or `.dotfiles`.\n- Comments are denoted by lines beginning with the `#` symbol, and are ignored.\n\nAn example mapping might look like:\n\n # the dotfiles to care about\n aliases: .alias\n .bashrc\n .profile: .profile\n htop: .config/htop/htoprc\n vim: .vim\n vimrc: .vimrc\n\n # some external dotfile paths to include\n #include \"repo2/dotfiles\"\n #include \"/full/patt/to/repo3/\"\n\nOnce the mapping is in place, run dotlink, and tell it where your source\nrepository is, as well as where you want it to deploy to:\n\n $ dotlink [path/to/repository] [[[user@]host:]path/to/target]\n\nThe source path is optional; dotlink will assume it's your current directory if\nit finds a `.dotfiles` mapping file unless you specify otherwise. The target\npath is also optional, and assumed to be your local home directory.\n\nSources can include local paths or remote git repository URLs.\nTargets can also include local paths, or remote paths accessible via ssh by\nproviding a hostname as well as username if different than your current login.\n\n\nadvanced\n--------\n\n### embedding\n\nIf you'd like to embed dotlink within your dotfile repository,\n`dotlink/dotlink.py` is a self-contained script, specifically to allow for this\nuse case. Simply copy dotfile.py into your repository; it has no external\ndependencies.\n\n\n### remote sources\n\nSources can also point at remote locations, such as git repositories, and\ndotlink will clone the remote data into a temporary path and then copy the\ncontents into the appropriate paths. dotlink will guess this if your source\npath begins with \"git://\" or \"git@\", but you can also use `--git` to force this\nfor non-standard URLs. The following command will clone my public dotfile repo,\nand install it to your home directory:\n\n $ dotlink git://github.com/jreese/dotfiles\n\nThis is essentially equivalent to the following sequence of commands:\n\n $ git clone git://github.com/jreese/dotfiles\n $ dotlink dotfiles\n $ rm -rf dotfiles\n\nYou can even combine remote sources with remote targets, to clone the dotfile\nrepository locally, and then copy the dotfiles to the remote host via scp:\n\n $ dotlink git://github.com/jreese/dotfiles jreese@devserver:\n\n\ntodo\n----\n\nSome planned features and changes are:\n\n- Add support for remote sources, like ssh/scp, as well as git repos or tarballs\n- Generate mapping file from repository contents ?\n\n\nlegal\n-----\n\ndotlink is copyright 2013 John Reese.\n\ndotlink is licensed under the MIT license.\nSee the `LICENSE` file for more details.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jreese/dotlink", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "Dotlink", "package_url": "https://pypi.org/project/Dotlink/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Dotlink/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/jreese/dotlink" }, "release_url": "https://pypi.org/project/Dotlink/0.6.0/", "requires_dist": null, "requires_python": null, "summary": "Automate deployment of dotfiles to local paths or remote hosts", "version": "0.6.0" }, "last_serial": 935258, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4379296c3768a7cea7a780e43fb74f7f", "sha256": "e044ee92fc8fa3015529748ede091fcd25320b24bcfb2305ffbd18638f4e62e7" }, "downloads": -1, "filename": "Dotlink-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4379296c3768a7cea7a780e43fb74f7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3473, "upload_time": "2013-09-01T04:07:39", "url": "https://files.pythonhosted.org/packages/f0/af/756fc4130042ba09573c3d3a9003f109b2f42cc11dda756a4c704429e470/Dotlink-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "326572d7b137c405ef369280a1e57cb7", "sha256": "3844957c1a4ab66fa34752914b7c86a4fe9e5246e02c22a452618662c781cc3c" }, "downloads": -1, "filename": "Dotlink-0.1.1.tar.gz", "has_sig": false, "md5_digest": "326572d7b137c405ef369280a1e57cb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4369, "upload_time": "2013-09-01T04:50:22", "url": "https://files.pythonhosted.org/packages/8f/3c/7fcc45888698839e35086916cb31619da70c8a277257d2a963d43648d31a/Dotlink-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9511e6e68d6980d50eb05db9ba78bf4b", "sha256": "ab10f82404d7ef02cd861a3723e3645f11b0d42b077724eaac4eac10f4db7b80" }, "downloads": -1, "filename": "Dotlink-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9511e6e68d6980d50eb05db9ba78bf4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4819, "upload_time": "2013-09-02T20:46:29", "url": "https://files.pythonhosted.org/packages/af/37/2616fd1ca853b55cb36c9b55e437d001fa10e4439753116791987dc2a988/Dotlink-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f0f84db0e3ba38fa036f3bca6d782ad3", "sha256": "2273eb7f685406812ea59ae6e32ce1bd9eb56d2db2112b34bcb3687dbb18c6fc" }, "downloads": -1, "filename": "Dotlink-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f0f84db0e3ba38fa036f3bca6d782ad3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4964, "upload_time": "2013-09-04T01:32:43", "url": "https://files.pythonhosted.org/packages/a3/b4/34c98063431ba058e08a6a82520f0c2b6439f1d3276dbb043765113cdabf/Dotlink-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "bf6e0871970ef691b3d0eef209276116", "sha256": "29504b0dfca95707eb297c9e44e427c126549d657aae2a4b9ec17b88a32ba473" }, "downloads": -1, "filename": "Dotlink-0.3.1.tar.gz", "has_sig": false, "md5_digest": "bf6e0871970ef691b3d0eef209276116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4998, "upload_time": "2013-09-06T01:34:29", "url": "https://files.pythonhosted.org/packages/05/92/1640d945af29a7384fd577c17bef8576ea7fb387e4f4de7930b623a88694/Dotlink-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "6326ce9e5883b631bd88dbb13ee68598", "sha256": "883a9d64e545985d5acf91807877f311ce743c77fef6d9d6c5a36e6a5d93f1ad" }, "downloads": -1, "filename": "Dotlink-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6326ce9e5883b631bd88dbb13ee68598", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5483, "upload_time": "2013-09-10T01:11:46", "url": "https://files.pythonhosted.org/packages/b1/5c/9432c8b61010e9631c6240e05a9deca13c1fe9ebd740ee4bbd70333a80e8/Dotlink-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "9cc5db1d03b930dd62f89ccd46c7a508", "sha256": "a2f5ec898fbb48aaf08355a5d8a662322240e97eabb4c27b23a57caa18ea4c4e" }, "downloads": -1, "filename": "Dotlink-0.4.1.tar.gz", "has_sig": false, "md5_digest": "9cc5db1d03b930dd62f89ccd46c7a508", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5531, "upload_time": "2013-09-11T00:35:35", "url": "https://files.pythonhosted.org/packages/da/eb/caed3cca7c2b664a4f8357a2681014cd1e84f429517861436aadf9f4bf81/Dotlink-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "3e1ab65d5fbae5731e6d75a5933044ab", "sha256": "7cc01db1d8797cf383ab7eef15cc6357ae323c01fd36f9bf0484ebc562ea8e1d" }, "downloads": -1, "filename": "Dotlink-0.4.2.tar.gz", "has_sig": false, "md5_digest": "3e1ab65d5fbae5731e6d75a5933044ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6389, "upload_time": "2013-09-18T21:07:41", "url": "https://files.pythonhosted.org/packages/30/80/73dcca6e190e74c61a98bc384ef74abda464fab5c26fd30b2f328376de7c/Dotlink-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "305e1acc04c289e7a69e26e1519f45c7", "sha256": "f31eb07dc42e6dc3f9aec66536bcbcb487128b20cdea25ba6f838bce030432f8" }, "downloads": -1, "filename": "Dotlink-0.4.3.tar.gz", "has_sig": false, "md5_digest": "305e1acc04c289e7a69e26e1519f45c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6434, "upload_time": "2013-10-04T18:13:34", "url": "https://files.pythonhosted.org/packages/69/30/9d2e4d42951779834e9bcd0b867236f8a68290a4a662b9f04127a8d80b8d/Dotlink-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "b8e142ef7401fc9609e4b92e8f208d12", "sha256": "a224080f9ace3a721c832f0382cb286c7ab47fa941d01d2379f023368406f1f1" }, "downloads": -1, "filename": "Dotlink-0.5.0.tar.gz", "has_sig": false, "md5_digest": "b8e142ef7401fc9609e4b92e8f208d12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7118, "upload_time": "2013-10-25T01:02:52", "url": "https://files.pythonhosted.org/packages/a9/f3/50517b518fd04aa8437900b5a7d10312f1aba43c87c485d2ef8f1fd0c1d6/Dotlink-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "f3034e0113089178352511b2f3590ff0", "sha256": "2639c4243e79006506870c8c064a3f808fab51641cb2bbb3329f1b66a2033ad4" }, "downloads": -1, "filename": "Dotlink-0.6.0.tar.gz", "has_sig": false, "md5_digest": "f3034e0113089178352511b2f3590ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7259, "upload_time": "2013-12-04T00:57:16", "url": "https://files.pythonhosted.org/packages/1b/54/74b53e2554f345b9a0486f2d34afbb6a24ddb8f20c9512be51d4a7bcd92a/Dotlink-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f3034e0113089178352511b2f3590ff0", "sha256": "2639c4243e79006506870c8c064a3f808fab51641cb2bbb3329f1b66a2033ad4" }, "downloads": -1, "filename": "Dotlink-0.6.0.tar.gz", "has_sig": false, "md5_digest": "f3034e0113089178352511b2f3590ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7259, "upload_time": "2013-12-04T00:57:16", "url": "https://files.pythonhosted.org/packages/1b/54/74b53e2554f345b9a0486f2d34afbb6a24ddb8f20c9512be51d4a7bcd92a/Dotlink-0.6.0.tar.gz" } ] }