{ "info": { "author": "joway", "author_email": "joway.w@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Version Control" ], "description": "# Flying\n\n![PyPI](https://img.shields.io/pypi/v/flying.svg)\n\n## Purpose\n\nMake release easy again .\n\n### Features\n1. git tag\n2. npm publish\n3. docker build && push\n4. pypi build && upload\n\n## Example\n\n[https://github.com/joway/flying-example](https://github.com/joway/flying-example)\n\n## Install\n\n```shell\npip install -U flying\n```\n\n## Usage\n\n### init\n\nCreate `flying.json` template\n\n```shell\nflying init .\n```\n\n### release\n\nRelease current version which set in flying.json .\n\n```shell\nflying release\n```\n\nAutomatically upgrade version (+0.0.1) \n\n```shell\nflying release --upgrade\n```\n\n## Configuration\n\n### Quick View\n\nTemplate : `flying.json` \n\n```json\n{\n \"name\": \"flying-example\",\n \"version\": \"0.0.8\",\n \"version_prefix\": \"v\",\n \"conditions\": [\n \"git status | grep \\\"nothing to commit, working tree clean\\\"\"\n ],\n \"pre_release\": [\n \"cat ./flying.json\"\n ],\n \"git\": {\n \"enable\": true,\n \"remote\": \"origin\",\n },\n \"docker\": {\n \"enable\": true,\n \"namespace\": \"joway/flying-example\",\n \"dkf_path\": \"./Dockerfile\"\n },\n \"npm\": {\n \"enable\": true,\n \"package_path\": \"./package.json\"\n },\n \"pypi\": {\n \"enable\": false,\n \"build_cmd\": \"python setup.py sdist\",\n \"upload_cmd\": \"twine upload dist/*\"\n }\n}\n```\n\n### version\n\n`version_prefix + version` will be set as a tag for git and docker\n\n### conditions\n\n`conditions` is a shell commonds list , flying will check if every commond has a non-empty out . If not , it will exit without any release .\n\nFor Example , when you set :\n\n```json\n \"conditions\": [\n \"git status | grep \\\"nothing to commit, working tree clean\\\"\"\n ],\n```\n\nIf your project has any un-commited file changes , it will be blocked .\n\n### pre_release\n\n`pre_release` is a shell commonds list , it will be exec before release jobs start .\n\nFor example , you can set this line if you are using webpack :\n\n```json\n\"pre_release\": [\"npm run build\"]\n```\n\n### git\n\nPush new version tag to git remote server .\n\n### docker\n\n- `namespace`: For example , set it to 'joway/flying-example' , it will push docker image as `joway/flying-example:vx.x.x` (if version_prefix = \"v\") . \n- `dkf_path` : Dockerfile's path relative to the project root dir .\n\n### npm\n\n- `package_path`: package.json's path relative to the project root dir .\n- `upgrade_version_enable`: if set `true` , it will automatically upgrade `package.json[version]` when exec `flying release --upgrade`\n\n### pypi\n\nCustom your own build && upload commond by set `build_cmd` and `upload_cmd`", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/joway/flying", "keywords": "release,cli,docker,git,npm,pypi", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "flying", "package_url": "https://pypi.org/project/flying/", "platform": "any", "project_url": "https://pypi.org/project/flying/", "project_urls": { "Homepage": "https://github.com/joway/flying" }, "release_url": "https://pypi.org/project/flying/0.0.6/", "requires_dist": null, "requires_python": "", "summary": "Cli tools for manage releases", "version": "0.0.6" }, "last_serial": 3859799, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "77fdbb42a9821f63a40b403944c977d7", "sha256": "4690d1b87c65625de31a51f2bfcfa4b05e786ca817e32bc4fd8e3796151495f3" }, "downloads": -1, "filename": "flying-0.0.1.tar.gz", "has_sig": false, "md5_digest": "77fdbb42a9821f63a40b403944c977d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2994, "upload_time": "2018-05-12T10:04:25", "url": "https://files.pythonhosted.org/packages/c7/41/9ef7ba24062b59d0eda8014da0d0826fa2ae209d66133de15b8c22ee5036/flying-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2877061f387fe901c8dbc69a9429d370", "sha256": "bdb3b9bb903e57821e1cfd78e26e54f1c15eb6e60a787dcd8c56a8f3b5789c98" }, "downloads": -1, "filename": "flying-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2877061f387fe901c8dbc69a9429d370", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3125, "upload_time": "2018-05-12T10:14:29", "url": "https://files.pythonhosted.org/packages/91/82/51e1decf27d19538b222b10286f9e6d8403a3605c04eaf9a2e8392cb7553/flying-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2c94056bb9b9b7eb0ddb73c7ee967535", "sha256": "4a068564728eaf0bf46d977a8655abc39204bc7588f3d750a6695ba132e9d967" }, "downloads": -1, "filename": "flying-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2c94056bb9b9b7eb0ddb73c7ee967535", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3239, "upload_time": "2018-05-12T10:33:58", "url": "https://files.pythonhosted.org/packages/06/70/b1c0c81af490b28814f30eb20edbcb6565519b8b378e1575ef3d334e0cb0/flying-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "deb11577442af9020b57a9708aa3d818", "sha256": "465c70dadee0c2fe2df674e877dddf9fb2db977f60fc7029f518907ae51c36b9" }, "downloads": -1, "filename": "flying-0.0.4.tar.gz", "has_sig": false, "md5_digest": "deb11577442af9020b57a9708aa3d818", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4378, "upload_time": "2018-05-12T11:12:47", "url": "https://files.pythonhosted.org/packages/95/52/fc2192b667bcb1a36d92e5bfa38b3bdb765ee85a6646977e9a21ef3d3832/flying-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "23387e322ed7dae027c068db86eeacc9", "sha256": "990268debc32d5a0afe489c18bfeaaccfe3a0978a2746199aec436cb24dbb069" }, "downloads": -1, "filename": "flying-0.0.5.tar.gz", "has_sig": false, "md5_digest": "23387e322ed7dae027c068db86eeacc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4488, "upload_time": "2018-05-12T11:30:54", "url": "https://files.pythonhosted.org/packages/78/be/c4f2adc76d0e975f2785d33be897a0aecf42095084576b6b30ebe552045e/flying-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "ff992b7e49afe027fe62e34a73054cc7", "sha256": "71fbe48a2150ae6b265f847e88dbad9144bf046593f04f2a361ab00f9070f46f" }, "downloads": -1, "filename": "flying-0.0.6.tar.gz", "has_sig": false, "md5_digest": "ff992b7e49afe027fe62e34a73054cc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4885, "upload_time": "2018-05-14T05:53:37", "url": "https://files.pythonhosted.org/packages/eb/f4/bf0d86c583d6e0968d37586feeb47f6c6e78c220c478dfcfb4841ef5506b/flying-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ff992b7e49afe027fe62e34a73054cc7", "sha256": "71fbe48a2150ae6b265f847e88dbad9144bf046593f04f2a361ab00f9070f46f" }, "downloads": -1, "filename": "flying-0.0.6.tar.gz", "has_sig": false, "md5_digest": "ff992b7e49afe027fe62e34a73054cc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4885, "upload_time": "2018-05-14T05:53:37", "url": "https://files.pythonhosted.org/packages/eb/f4/bf0d86c583d6e0968d37586feeb47f6c6e78c220c478dfcfb4841ef5506b/flying-0.0.6.tar.gz" } ] }