{ "info": { "author": "vindarel", "author_email": "ehvince@mailz.org", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: Public Domain", "Topic :: Utilities" ], "description": "Sync your packages with your dotfiles (and vice versa)\n======================================================\n\nWhen we use a package manager (be it apt, pip, npm,\u2026), we want to sync\nthe list of installed packages in requirement files. We then declare a\nmapping that links a package manager to its requirements file:\n\n.. code:: python\n\n REQUIREMENTS_ROOT_DIR = \"~/dotfiles/\"\n REQUIREMENTS_FILES = {\n \"apt\": {\n \"file\": \"apt.txt\", # => ~/dotfiles/apt.txt\n \"pacman\": \"apt-get\",\n \"install\": \"install -y --force-yes\",\n \"uninstall\": \"remove\",\n },\n # and so on for pip, pip3, gem, npm, docker and guix.\n }\n\nand we call\n\n.. code:: example\n\n syp --pm apt foo bar\n\nto add the two packages \"foo\" and \"bar\" in ``~/dotfiles/apt.txt`` and at\nthe same time, to check if this list has been edited manually (with\npackages added or removed) and act accordingly (we make diffs against\nthe cache at ``~/.syp/apt.txt``).\n\nSee the Settings section below.\n\nTested on python 2.7 and 3.4.\n\nUsage\n-----\n\nThe basic usage is to check all of the package managers, and install and\nremove what's necessary:\n\nExample:\n\n.. code:: example\n\n syp\n\ncan output:\n\n.. raw:: html\n\n \n\nWe set the package manager with ``--pm`` and **give one or many packages\nto install**:\n\n.. code:: example\n\n syp --pm pip syp foo bar\n\nwill append \"syp\", \"foo\" and \"bar\" at the bottom of\n``~/dotfiles/pip.txt`` (if they are not there yet), check if pip.txt was\nmanually edited, and suggest a list of packages to install and remove.\n\nSo a suggested alias is\n\n.. code:: example\n\n alias sypip=\"syp --pm pip \"\n\nIf no package manager is specified, **we use apt by default** (see\nSettings below).\n\nTo **remove packages**, use ``--rm``:\n\n.. code:: example\n\n syp --pm pip foo --rm\n\nWe can **add a message** with ``-m``. It will be appended on the same\nline:\n\n.. code:: example\n\n syp --pm pip foo -m \"foo is a cool package\"\n\nWe can **edit the list** of packages for that package manager before the\noperations with ``-e`` (``--editor``):\n\n.. code:: example\n\n syp --pm pip foo --rm -e\n\nSettings\n========\n\nThe default settings come with a configuration for ``apt``, ``pip``,\n``pip3``, ``gem``, ``npm``, ``docker`` and ``guix``.\n\nThe user settings, stored at ``~/.syp/settings.py``, is a regular python\nfile that will be ``exec``'ed on startup. So, if you want to add or\noveride a package manager settings, edit the ``REQUIREMENTS_FILES``\ndictionnary accordingly. Only the key \"file\" is required:\n\n.. code:: python\n\n REQUIREMENTS_FILES['apt'] = {\n \"file\": \"requirements-apt.txt\", # required. appended to REQUIREMENTS_ROOT_DIR\n \"pacman\": \"aptitude\", # by default, same as the package manager name, here 'apt'\n \"install\": \"install -y\", # 'install' by default\n \"uninstall\": \"remove\", # 'uninstall' by default.\n }\n\nSee also\n\n.. code:: python\n\n #: The base directory where lies the configuration files.\n REQUIREMENTS_ROOT_DIR = \"~/dotfiles/\"\n\n #: System package manager, as a default.\n SYSTEM_PACMAN = \"apt-get\"\n\nDevelop\n=======\n\n.. code:: example\n\n pip install -e .\n\nTodos and ideas\n===============\n\n- auto commit\n- auto-recognize a virtualenv ?\n- allow for more than a requirement file for one package manager.\n- ask all and apply\n- more tests\n\n Bust most of all... use `Guix `__ !", "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/vindarel/syp", "keywords": "utility packages shell", "license": "GNU GPLv3", "maintainer": null, "maintainer_email": null, "name": "syp", "package_url": "https://pypi.org/project/syp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/syp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/vindarel/syp" }, "release_url": "https://pypi.org/project/syp/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "Sync your packages with your dotfiles (and vice versa).", "version": "0.1.7" }, "last_serial": 2596658, "releases": { "0.1": [], "0.1.1": [], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d116209a314916f875fc9480782e60a1", "sha256": "34f4f11f049bd36151108144c87aba833e89efe9271e20e18685434670d4a709" }, "downloads": -1, "filename": "syp-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "d116209a314916f875fc9480782e60a1", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23332, "upload_time": "2017-01-22T15:29:29", "url": "https://files.pythonhosted.org/packages/b7/14/81c72441f8142e91aeefcea4484e8f8fd92755a8672b81cac46d61a3b537/syp-0.1.2-py2.7.egg" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4d4d8c20b3bc139ebd5728403ba06673", "sha256": "b59a662ca7e991c78bf3d407ff21d7e9c65f120e4790c2f16f516b87ee8669e8" }, "downloads": -1, "filename": "syp-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4d4d8c20b3bc139ebd5728403ba06673", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17844, "upload_time": "2017-01-22T14:19:00", "url": "https://files.pythonhosted.org/packages/d3/96/c987ae45aa4a7e8df0a514e943d252b8b52ca803f2121dcde168c617f2c2/syp-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b8abf86cd3eac36913c2d48a67ed67a", "sha256": "c11b5388f8ebeadb7c371239856e1263e9a875e6b0beb88d884796d08c32efc4" }, "downloads": -1, "filename": "syp-0.1.3.tar.gz", "has_sig": false, "md5_digest": "3b8abf86cd3eac36913c2d48a67ed67a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8329, "upload_time": "2017-01-22T14:18:57", "url": "https://files.pythonhosted.org/packages/83/1b/7db2edcef27fa1aeb5fe2043fb61984372c1aca4c72926d8ce9e7e9d4da6/syp-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "32abb5c0f610ae30766ea9890b819c1c", "sha256": "2e3c72747959d8ff389e0ed8c584b07ad80ed07f261641bced83c43054826d04" }, "downloads": -1, "filename": "syp-0.1.4-py2.7.egg", "has_sig": false, "md5_digest": "32abb5c0f610ae30766ea9890b819c1c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23210, "upload_time": "2017-01-22T18:34:30", "url": "https://files.pythonhosted.org/packages/83/7f/f2048ba8b288f5ff709175e69a125a46f25ae4aeb24e845b105f89a7e476/syp-0.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "adacf360639c28d0bce61806133498aa", "sha256": "c63979bf2aecfe562a6195751586210a4fa5c3346061b4bb9324c8d1cf438b1d" }, "downloads": -1, "filename": "syp-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "adacf360639c28d0bce61806133498aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17779, "upload_time": "2017-01-22T18:34:13", "url": "https://files.pythonhosted.org/packages/78/1d/2e14230269496f2abc8ad941e15a070db9c521b945426d97695ff86e735f/syp-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2890b60bc9050db04a105d46b7e5af1", "sha256": "064a45d8c1b3a749615f89a119545366e2180e53199657b44ad436b99214776d" }, "downloads": -1, "filename": "syp-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b2890b60bc9050db04a105d46b7e5af1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8318, "upload_time": "2017-01-22T18:34:11", "url": "https://files.pythonhosted.org/packages/46/17/6ad2ef51a8733da41bb870cf5ff2e5f0ca44fd07b04e100f4ff3ab81c187/syp-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "c7415eb5f0f2c1c473d31fe5d2d17805", "sha256": "c87f32695b1b0a42b72702dc3e7dc82d142914d49a63cdf75a73d494ffd99c2f" }, "downloads": -1, "filename": "syp-0.1.5-py2.7.egg", "has_sig": false, "md5_digest": "c7415eb5f0f2c1c473d31fe5d2d17805", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23210, "upload_time": "2017-01-22T18:48:14", "url": "https://files.pythonhosted.org/packages/8f/62/8926da3cb72c6ccc8010d9d2227450231e60320dd403a2ad3a4af765ed2f/syp-0.1.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "6a3894ef20776d69045ffa62d7e7af34", "sha256": "17e76c9fb5e3b341326cbd17435cff9611527c09d5ef905080cd324ae979d5c3" }, "downloads": -1, "filename": "syp-0.1.5-py2-none-any.whl", "has_sig": false, "md5_digest": "6a3894ef20776d69045ffa62d7e7af34", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17781, "upload_time": "2017-01-22T18:48:42", "url": "https://files.pythonhosted.org/packages/06/e6/91b482f3c42c04fa9af28e3e1aaba1454e2c8c59e5d84529e9bd37bfaff6/syp-0.1.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04197e5f5cdfe01c0ba8dbae12b71526", "sha256": "948157858b2d709465a6f4530149f39251506b347612bfad9dbf6d0157cca0b1" }, "downloads": -1, "filename": "syp-0.1.5.tar.gz", "has_sig": false, "md5_digest": "04197e5f5cdfe01c0ba8dbae12b71526", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8316, "upload_time": "2017-01-22T18:48:40", "url": "https://files.pythonhosted.org/packages/38/a1/e989c1702a32045f86ddec21fe4a76d137026ee73f16411a42ac4dfa98be/syp-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "21330c2b3b867e0ce7973ee485e45b4b", "sha256": "719f8b734a1d39e765be709d1fd652bde0bc0e4b0aa07a4c9988cd9a717be37e" }, "downloads": -1, "filename": "syp-0.1.6-py2.7.egg", "has_sig": false, "md5_digest": "21330c2b3b867e0ce7973ee485e45b4b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23227, "upload_time": "2017-01-22T18:53:33", "url": "https://files.pythonhosted.org/packages/7c/05/3beae5051c4f197762fa57dcf57ac2aac48b4ae25e7d548b8cce0c841bb0/syp-0.1.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e5f76da48fa8ca78974aa82c97743dac", "sha256": "536a1b906e27c4a3de723f18e5a6a9f7c89feffec4df950341596b1915295e23" }, "downloads": -1, "filename": "syp-0.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "e5f76da48fa8ca78974aa82c97743dac", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17789, "upload_time": "2017-01-22T18:53:27", "url": "https://files.pythonhosted.org/packages/7e/b6/679b166ea380f5030556f07e2e33c9b259d6acc56f62bdbdd9647e32f19d/syp-0.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90a2aa9030d63f7bde94ff0ae2463dff", "sha256": "bd3b559f8acc2b359d9a1b0c04fd6eb6c6e347a9052149f42e056729bdf7ed9b" }, "downloads": -1, "filename": "syp-0.1.6.tar.gz", "has_sig": false, "md5_digest": "90a2aa9030d63f7bde94ff0ae2463dff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8321, "upload_time": "2017-01-22T18:53:24", "url": "https://files.pythonhosted.org/packages/ac/7f/7e568fb1aa7c95073c10425095ae29cd8158e50e815763a0e93e784ca8d2/syp-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "96d5522338c6f6642bf8adcd5e54d51c", "sha256": "394ad2c464c2b9b8e672caf705863ed8b05ddad9494630794c0de9cd0e79189f" }, "downloads": -1, "filename": "syp-0.1.7-py2.7.egg", "has_sig": false, "md5_digest": "96d5522338c6f6642bf8adcd5e54d51c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23493, "upload_time": "2017-01-25T03:13:18", "url": "https://files.pythonhosted.org/packages/a9/19/a2ce22f7b7bf177a0bec7c85942ce26dd3f2c91986d13e5e1f674c6e0111/syp-0.1.7-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e170e48b6f1eb48506ed015b730714d7", "sha256": "1a2cf274622c35922577fd0e47498578029b6a98f29449365b1f412e2a52ca7b" }, "downloads": -1, "filename": "syp-0.1.7-py2-none-any.whl", "has_sig": false, "md5_digest": "e170e48b6f1eb48506ed015b730714d7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17929, "upload_time": "2017-01-25T03:13:07", "url": "https://files.pythonhosted.org/packages/96/4e/02b7b9781394d55da8e598706faef4dd2c66ac6aab1996a2e27513f56c06/syp-0.1.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e522aab007aaf600cbe84f5678b793ab", "sha256": "169a63daa35e8ea44a0bdbf4a2930a3c20f845554ca1d92847d9c7d010074623" }, "downloads": -1, "filename": "syp-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e522aab007aaf600cbe84f5678b793ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8397, "upload_time": "2017-01-25T03:13:04", "url": "https://files.pythonhosted.org/packages/b3/52/16f9035e3313378493fb41bc38687248e4c4f33e51b15b7e2bb76140f202/syp-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "96d5522338c6f6642bf8adcd5e54d51c", "sha256": "394ad2c464c2b9b8e672caf705863ed8b05ddad9494630794c0de9cd0e79189f" }, "downloads": -1, "filename": "syp-0.1.7-py2.7.egg", "has_sig": false, "md5_digest": "96d5522338c6f6642bf8adcd5e54d51c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23493, "upload_time": "2017-01-25T03:13:18", "url": "https://files.pythonhosted.org/packages/a9/19/a2ce22f7b7bf177a0bec7c85942ce26dd3f2c91986d13e5e1f674c6e0111/syp-0.1.7-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e170e48b6f1eb48506ed015b730714d7", "sha256": "1a2cf274622c35922577fd0e47498578029b6a98f29449365b1f412e2a52ca7b" }, "downloads": -1, "filename": "syp-0.1.7-py2-none-any.whl", "has_sig": false, "md5_digest": "e170e48b6f1eb48506ed015b730714d7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17929, "upload_time": "2017-01-25T03:13:07", "url": "https://files.pythonhosted.org/packages/96/4e/02b7b9781394d55da8e598706faef4dd2c66ac6aab1996a2e27513f56c06/syp-0.1.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e522aab007aaf600cbe84f5678b793ab", "sha256": "169a63daa35e8ea44a0bdbf4a2930a3c20f845554ca1d92847d9c7d010074623" }, "downloads": -1, "filename": "syp-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e522aab007aaf600cbe84f5678b793ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8397, "upload_time": "2017-01-25T03:13:04", "url": "https://files.pythonhosted.org/packages/b3/52/16f9035e3313378493fb41bc38687248e4c4f33e51b15b7e2bb76140f202/syp-0.1.7.tar.gz" } ] }