{ "info": { "author": "Chris L. Barnes", "author_email": "barnesc@janelia.hhmi.org", "bugtrack_url": null, "classifiers": [], "description": "# toolup\n\nConvenience package for installing python-based development tools\n\nSupports python >=3.6.1\n\n## Motivation\n\nPython is a powerful and accessible language to read and write.\nAs such, many tools useful to developers across many languages are written in python.\nHowever, isolation of development environments is vital, filling up your requirements\nfiles with tools which *you* use, and your code doesn't, can be counterproductive.\n\nHowever, installing things in the system python can be dangerous \nor require privileges you don't have.\n\nIf you're using python tools for python development, \nthe tools and your project may have different version constraints.\nFor example, the opinionated code formatter `black` works on all python code, \nbut can only run in version >=3.6.1.\n\nIf you're using python tools for development in other languages, \nit may not be worth the overhead of maintaining and porting separate virtual environments\njust for these tools.\n\n`toolup` helps you maintain a suite of development tools based on a simple TOML file,\nwhich are encapsulated in a virtual environment but accessible from anywhere.\n\n## Installation\n\n```bash\npip install toolup\n```\n\n## Usage\n\n### Config file\n\nSee `toolup.toml.example` for an example. \nIf you keep this file in your home directory as `.toolup.toml`, \nit will be picked up automatically if `toolup` is run with no arguments.\n\n`target` should be a directory on your path. \nIf not present, and a target is not supplied at the command line, \nexecutables will not be linked.\n\nEach section should be named for a tool. \nI recommend using the name as it appears on PyPI: \nthis way, if `install_args` are not supplied, it can be used to find the package.\n\nIn each section, you may include `install_args` \n(a string or list of strings which will be passed directory to pip). \nThis is useful for installing packages from github, or in editable mode etc..\nIf not given, the section name will be used.\nYou can also include `entry_points`; \na list of names of entry points which this package installs. \nIf not given, the section name will be used.\n\n### Command line\n\n```\nusage: toolup [-h] [-c CONFIG] [-n NAME] [-i INSTALL_ARGS] [-e ENTRY_POINTS]\n [-t TARGET] [-f]\n\noptional arguments:\n -h, --help show this help message and exit\n -c CONFIG, --config CONFIG\n Path to config TOML file\n -n NAME, --name NAME Name to install\n -i INSTALL_ARGS, --install_args INSTALL_ARGS\n Arguments to pass to pip\n -e ENTRY_POINTS, --entry_points ENTRY_POINTS\n Entry points to copy\n -t TARGET, --target TARGET\n Where to link executables\n -f, --force Whether to delete existing executables\n```\n\nSeveral entries can be added at once like so:\n\n```bash\ntoolup -n black -n pgcli\n```\n\nThe resulting lists of names, install_args, and entry_points are `zip_longest`'d together.\n`toolup` will try to infer the install_args and entry_points from the name, \nand the name from the install_args.\n\n### Example workflow\n\nYou've just started up a new machine.\nYou have a list of your favourite development tools, \nwhich will be useful across a few projects, \nwhile not actually being used by any of the code in those projects.\n\nYou copy across your `.toolup.toml` (maybe using something like GNU stow),\ncreate a virtualenv for it, `pip install toolup && toolup`, \nand all your tools are right where you want them again.\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/clbarnes/toolup", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "toolup", "package_url": "https://pypi.org/project/toolup/", "platform": "", "project_url": "https://pypi.org/project/toolup/", "project_urls": { "Homepage": "https://github.com/clbarnes/toolup" }, "release_url": "https://pypi.org/project/toolup/0.2.0/", "requires_dist": [ "toml" ], "requires_python": ">=3.6.1", "summary": "Convenience package for installing python-based development tools", "version": "0.2.0" }, "last_serial": 3815452, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "54d20e75f4bb96093146472a2c1ede64", "sha256": "0a758de6278d42d98497b7a07d248e0da075462c738d1689b890e18acac62217" }, "downloads": -1, "filename": "toolup-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "54d20e75f4bb96093146472a2c1ede64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.1", "size": 4969, "upload_time": "2018-04-27T21:55:23", "url": "https://files.pythonhosted.org/packages/f4/f5/2e85f929134c7aa8104c8ae650f73675bf096b7c9e00ec8c6cfd5c2f2549/toolup-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16eaa6c5d3b89ae5f643817fffd26a1d", "sha256": "a24086999bd3a7f9ff6e83f086d38d309e361d8a032457af9104c7482b724bfc" }, "downloads": -1, "filename": "toolup-0.2.0.tar.gz", "has_sig": false, "md5_digest": "16eaa6c5d3b89ae5f643817fffd26a1d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 5115, "upload_time": "2018-04-27T21:55:23", "url": "https://files.pythonhosted.org/packages/60/bd/9280d3896bd5e10d788faf14ecd023fd99da6c3af0b9346a1d8335996ef9/toolup-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "54d20e75f4bb96093146472a2c1ede64", "sha256": "0a758de6278d42d98497b7a07d248e0da075462c738d1689b890e18acac62217" }, "downloads": -1, "filename": "toolup-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "54d20e75f4bb96093146472a2c1ede64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.1", "size": 4969, "upload_time": "2018-04-27T21:55:23", "url": "https://files.pythonhosted.org/packages/f4/f5/2e85f929134c7aa8104c8ae650f73675bf096b7c9e00ec8c6cfd5c2f2549/toolup-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16eaa6c5d3b89ae5f643817fffd26a1d", "sha256": "a24086999bd3a7f9ff6e83f086d38d309e361d8a032457af9104c7482b724bfc" }, "downloads": -1, "filename": "toolup-0.2.0.tar.gz", "has_sig": false, "md5_digest": "16eaa6c5d3b89ae5f643817fffd26a1d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.1", "size": 5115, "upload_time": "2018-04-27T21:55:23", "url": "https://files.pythonhosted.org/packages/60/bd/9280d3896bd5e10d788faf14ecd023fd99da6c3af0b9346a1d8335996ef9/toolup-0.2.0.tar.gz" } ] }