{
"info": {
"author": "Nicholas Wiles",
"author_email": "nhwiles@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.7",
"Topic :: Software Development",
"Topic :: Software Development :: Build Tools",
"Topic :: Software Development :: Quality Assurance"
],
"description": "Getting Started\n===============\n|buildBadge| |coverageBadge|\n|ReleaseBadge| |FormatBadge|\n|LicenseBadge| |PythonVersionBadge|\n\n.. |coverageBadge| image:: https://coveralls.io/repos/github/stopthatcow/zazu/badge.svg?branch=develop\n :target: https://coveralls.io/github/stopthatcow/zazu?branch=develop\n\n.. |buildBadge| image:: https://travis-ci.org/stopthatcow/zazu.svg?branch=develop\n :target: https://travis-ci.org/stopthatcow/zazu\n\n.. |ReleaseBadge| image:: https://img.shields.io/pypi/v/zazu.svg\n :target: https://coveralls.io/github/stopthatcow/zazu\n\n.. |LicenseBadge| image:: https://img.shields.io/pypi/l/zazu.svg\n :target: https://coveralls.io/github/stopthatcow/zazu\n\n.. |PythonVersionBadge| image:: https://img.shields.io/pypi/pyversions/zazu.svg\n :target: https://coveralls.io/github/stopthatcow/zazu\n\n.. |FormatBadge| image:: https://img.shields.io/pypi/format/zazu.svg\n :target: https://coveralls.io/github/stopthatcow/zazu\n\nZazu is a CLI development workflow management tool that combines\nelements of git flow with CI and issue tracking.\n\n.. image:: https://g.gravizo.com/svg?digraph%20G%20{\n \"Zazu\" -> \"Continuous Integration\"\n \"Continuous Integration\" -> \"TeamCity\"\n \"Zazu\" -> \"Issue Tracker\"\n \"Issue Tracker\" -> \"JIRA\"\n \"Issue Tracker\" -> \"GitHub\"\n \"Zazu\" -> \"Code Review\"\n \"Code Review\" -> \"GitHub\"\n \"Zazu\" -> \"Code Style\"\n \"Code Style\" -> \"Artistic Style\"\n \"Code Style\" -> \"ClangFormat\"\n \"Code Style\" -> \"autopep8\"}\n :align: center\n\nZazu is implemented in Python and is a\n`Click `__ based CLI. If you're wondering why\nClick, this is a `well answered `__\nquestion.\n\nInstall\n-------\n\nPre-requsites (linux)\n~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n sudo apt-get install python-dev libssl-dev libffi-dev\n\nAll platforms\n~~~~~~~~~~~~~\n\n::\n\n sudo pip install --upgrade pip\n sudo pip install zazu\n\nIf you get an error about a package called \"six\" use the following\ncommand instead: ``sudo pip install --upgrade --ignore-installed zazu``\n\nCommand overview\n----------------\nThe following diagram shows the available subcommands of zazu.\n\n.. image:: https://g.gravizo.com/svg?digraph%20G%20{\n \"zazu\" -> \"build\"\n \"zazu\" -> \"tool\"\n \"tool\" -> \"install\"\n \"tool\" -> \"uninstall\"\n \"zazu\" -> \"style\"\n \"zazu\" -> \"repo\"\n \"repo\" -> \"setup\"\n \"setup\" -> \"hooks\"\n \"setup\" -> \"ci\"\n \"repo\" -> \"cleanup\"\n \"repo\" -> \"repo_init\"\n repo_init [label=init, style=dashed]\n \"repo\" -> \"clone\"\n \"zazu\" -> \"dev\"\n \"dev\" -> \"start\"\n \"dev\" -> \"status\"\n dev_builds [label=builds, style=dashed]\n \"dev\" -> \"dev_builds\"\n \"dev\" -> \"review\"\n \"dev\" -> \"ticket\"}\n\nNote: dashed lines are not yet implemented\n\nRepo management\n---------------\n\n- ``zazu repo clone `` clones repo and installs GIT\n hooks\n- ``zazu repo init `` initializes repo to default project\n structure (Unimplemented)\n- ``zazu repo setup hooks`` installs default GIT hooks to the repo\n- ``zazu repo setup ci`` sets up CI builds based on the zazu.yaml file\n in the repo\n\nCI build configuration management\n---------------------------------\n\nZazu can setup CI server builds (currently only TeamCity is supported)\nto build targets specified by a recipe file (the zazu.yaml file in the\nroot of a repo).\n\n- ``zazu repo setup ci``\n\nDevelopment workflow management\n-------------------------------\n\n- ``zazu dev start`` interactivly creates new ticket\n- ``zazu dev start `` e.g.\n ``zazu dev start LC-440_a_cool_feature``\n- ``zazu dev status`` displays ticket and pull request status\n- ``zazu dev ticket`` launches web browser to the ticket page\n- ``zazu dev builds`` launches web browser to the CI project page\n- ``zazu dev review`` launches web browser to create/view a pull\n request\n\nCode Style Enforcement\n----------------------\n\n- ``zazu style`` fixes code style using astyle and autopep8\n\nBuilding\n--------\n\nZazu uses the zazu.yaml file to build goals defined there\n\n- ``zazu build ``\n- The target architecture is assumed to be 'local' but may be\n overridden using the --arch flag. e.g\n ``zazu build --arch=arm32-linux-gnueabihf package`` would build\n targeting 32 bit arm linux.\n\nPassing variables to the build\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou may pass extra variables to the build using key=value pairs.\n``zazu build --arch=arm32-linux-gnueabihf package FOO=bar`` This sets\nthe environement variable *FOO* to the value *bar* during the build.\n\nBuild tool installation\n-----------------------\n\nZazu will automatically try to obtain required build tools needed for\neach target as specified in the zazu.yaml file. These may be\ninstalled/uninstalled manually as well:\n\n- ``zazu tool install ``\n- ``zazu tool uninstall ``\n\nThese tools will be installed to the ``~/.zazu/tools/`` folder.\n\nzazu.yaml file\n--------------\n\nThe zazu.yaml file lives at the base of the repo and describes the CI\ngoals and architectures to be run. In addition it describes the\nrequirements for each goal.\n\n::\n\n components:\n - name: networkInterface\n goals:\n - name: coverage\n description: \"Runs the \\\"check\\\" target and reports coverage via gcovr\"\n buildType: coverage\n buildVars:\n LOCAL_SERVER: ON\n builds:\n - arch: x86_64-linux-gcc\n - name: package\n buildType: minSizeRel\n builds:\n - arch: arm32-linux-gnueabihf\n requires:\n zazu:\n - gcc-linaro-arm-linux-gnueabihf==4.9\n - arch: x86_64-linux-gcc\n\n issueTracker:\n type: github\n owner: stopthatcow\n repo: zazu\n\n codeReviewer:\n type: github\n owner: stopthatcow\n repo: zazu\n\n style:\n exclude:\n - dependencies/ #list path prefixes here to exclude from style\n - build/\n astyle:\n options:\n - \"--options=astyle.conf\" # options passed to astyle\n include:\n - src/*.cpp # list of globs of files to style\n - include/*.h\n - test/*.cpp\n autopep8:\n options:\n - \"--max-line-length=150\" # options passed to autopep8\n\n zazu: 0.2.0 # optional required zazu version\n\nCompiler tuples\n~~~~~~~~~~~~~~~\n\nArchitectures are defined as tuple in the folowing form:\n``--``\n\n============\nExamples\n============\n\n- x86\\_64-linux-gcc\n- x86\\_32-linux-gcc\n- x86\\_64-win-msvc\\_2013\n- x86\\_64-win-msvc\\_2015\n- x86\\_32-win-msvc\\_2013\n- x86\\_32-win-msvc\\_2015\n- arm32-linux-gnueabihf\n- arm32-none-eabi\n\nCommand autocompletion\n----------------------\n\nNote that autocompletion currently only works for commands and\nsubcommands (not arguments).\n\nBASH users\n~~~~~~~~~~\n\nAdd the following to your\n``~/.bashrc`` file:\n\n::\n\n eval \"$(_ZAZU_COMPLETE=source zazu)\"\n\nZSH users\n~~~~~~~~~\n\nAdd the following to your ``~/.zshrc`` file\n\n::\n\n autoload bashcompinit\n bashcompinit\n eval \"$(_ZAZU_COMPLETE=source zazu)\"\n\nHandy aliases\n-------------\n\n::\n\n alias zz=\"zazu\"\n alias zd=\"zazu dev\"\n alias zds=\"zazu dev start\"\n alias zdr=\"zazu dev review\"\n alias zdt=\"zazu dev ticket\"\n alias zdb=\"zazu dev builds\"\n alias zs=\"zazu style\"\n alias zb=\"zazu build\"\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/stopthatcow/zazu",
"keywords": "teamcity",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "zazu",
"package_url": "https://pypi.org/project/zazu/",
"platform": "POSIX",
"project_url": "https://pypi.org/project/zazu/",
"project_urls": {
"Homepage": "https://github.com/stopthatcow/zazu"
},
"release_url": "https://pypi.org/project/zazu/0.10.0/",
"requires_dist": null,
"requires_python": "",
"summary": "A development workflow management CLI for GitHub, JIRA, and TeamCity",
"version": "0.10.0"
},
"last_serial": 2995593,
"releases": {
"0.10.0": [
{
"comment_text": "",
"digests": {
"md5": "084eec172256b2f1e4faab8d42356cf4",
"sha256": "7d627b436683e54c220f1b550caf7d743b2fd395546c9dec30b0fa4a96a400d6"
},
"downloads": -1,
"filename": "zazu-0.10.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "084eec172256b2f1e4faab8d42356cf4",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 48632,
"upload_time": "2017-07-03T01:35:43",
"url": "https://files.pythonhosted.org/packages/bc/89/204e74e85a5f86ac4fdb277454d51fc87633dc71a9da48b971bdfb4dbbbc/zazu-0.10.0-py2-none-any.whl"
}
],
"0.8.1": [
{
"comment_text": "",
"digests": {
"md5": "a50a47eb6125136973992f1fb8bfb930",
"sha256": "891f1422582b3a93b8dd2fcba0c96e0455d7760966d010a144fefb6826bbb481"
},
"downloads": -1,
"filename": "zazu-0.8.1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "a50a47eb6125136973992f1fb8bfb930",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 36669,
"upload_time": "2017-01-06T20:12:57",
"url": "https://files.pythonhosted.org/packages/e5/a1/a549cecc39bad7f65de3186158b9213b01f82e965521d2789e2744b2feea/zazu-0.8.1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6e01420d247e041913289883890847e7",
"sha256": "8a3c8df88daed59a42d51fb72a198e8718cce0a38e49f422c8e155fbcb9fef25"
},
"downloads": -1,
"filename": "zazu-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "6e01420d247e041913289883890847e7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27688,
"upload_time": "2017-01-06T20:12:59",
"url": "https://files.pythonhosted.org/packages/f6/38/49620feb6a0b9bb07e7502bc93cb5b8931414bbcc7817f09c713e044cb7a/zazu-0.8.1.tar.gz"
}
],
"0.9.2": [
{
"comment_text": "",
"digests": {
"md5": "5c7f05c914c70e628b596b175b01fca6",
"sha256": "9b4934223e55789c7563153718b7d61a1e833ad36bec12af954fd46a44c23fab"
},
"downloads": -1,
"filename": "zazu-0.9.2-py2-none-any.whl",
"has_sig": false,
"md5_digest": "5c7f05c914c70e628b596b175b01fca6",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 44279,
"upload_time": "2017-05-31T01:38:45",
"url": "https://files.pythonhosted.org/packages/fe/1d/b8b407b0534da67bc2612840dc0622eaf9bafec6d3587a2004ed8ac17209/zazu-0.9.2-py2-none-any.whl"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "084eec172256b2f1e4faab8d42356cf4",
"sha256": "7d627b436683e54c220f1b550caf7d743b2fd395546c9dec30b0fa4a96a400d6"
},
"downloads": -1,
"filename": "zazu-0.10.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "084eec172256b2f1e4faab8d42356cf4",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 48632,
"upload_time": "2017-07-03T01:35:43",
"url": "https://files.pythonhosted.org/packages/bc/89/204e74e85a5f86ac4fdb277454d51fc87633dc71a9da48b971bdfb4dbbbc/zazu-0.10.0-py2-none-any.whl"
}
]
}