{ "info": { "author": "Kabir Baidhya", "author_email": "kabirbaidhya@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Utilities" ], "description": "
\n \n \n \n
\n\n# boss\n\n[![Travis branch](https://img.shields.io/travis/kabirbaidhya/boss/master.svg?style=flat-square)](https://travis-ci.org/kabirbaidhya/boss)\n[![PyPI](https://img.shields.io/pypi/v/boss-cli.svg?style=flat-square)](https://pypi.python.org/pypi/boss-cli)\n![Code Climate](https://img.shields.io/codeclimate/github/kabirbaidhya/boss-cli.svg?style=flat-square)\n[![PyPI](https://img.shields.io/pypi/l/boss-cli.svg?style=flat-square)](https://github.com/kabirbaidhya/boss/blob/master/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](CONTRIBUTING.md)\n\nYet another pythonic deployment tool built on top of [paramiko](http://www.paramiko.org/) and [fabric](http://www.fabfile.org/).\n\nDeploy like a boss.\n\n
\n\n## Installation\n\n```bash\n$ pip install boss-cli==1.0.1\n```\n\n## Configuration\n\nCheck the [configuration](docs/configuration.md) page.\n\n### Custom Scripts\n\nCustom scripts are scripts/commands that could be defined directly in the config file without having to write any line of python in the `fabfile.py`. They're similar to the [npm scripts](https://docs.npmjs.com/misc/scripts), if you're familiar with them.\n\nYou can define the custom scripts under the `scripts` field in the `boss.yml`.\n\n**For instance:**\n\n```yaml\n# boss.yml\nstages:\n prod:\n host: your-server.com\n public_url: 'https://your-server.com'\n branch: master\n\nscripts:\n hello: 'echo \"Hello World!\"'\n build: npm run build\n logs: pm2 logs\n```\n\nBoss comes out of the box with a task `run` which you can use to run these scripts on the remote server like this:\n\n```bash\n$ fab prod run:hello\n$ fab prod run:build\n$ fab prod run:logs\n```\n\n## Deployment\n\n### 1. Remote Source Deployment\n\nThis is a generic deployment preset, where the remote host also contains the project source code and the git repository. The deploy task would synchronize the remote with the latest changes of the provided branch from the origin. It then builds the project and restarts the service if needed.\n\nThis is general and language agnostic so it can be used for deploying any kind of project. You just need to specify the relevant `build` script to build your project in the remote and if it requires service restart then you'll need to define a `reload` script as well.\n\nYou'll need to set the deployment preset as `remote-source` in your configuration.\n\n```yml\ndeployment:\n preset: remote-source\n```\n\n#### Configuration\n\nYour `boss.yml` file for remote source deployment would look similar to this:\n\n```yml\nproject_name: my-app\nproject_description: 'My App'\nrepository_url: 'https://github.com/username/repository'\nbranch_url: '{repository_url}/tree/{branch}'\nuser: deploy_user\n\ndeployment:\n preset: remote-source\n base_dir: /source/my-app\n\nstages:\n prod:\n host: your-server.com\n public_url: 'https://your-server.com'\n branch: master\n\nscripts:\n install: 'npm install'\n build: 'npm run build'\n start: 'pm2 start dist/myapp.js'\n stop: 'pm2 stop dist/myapp.js'\n reload: 'pm2 reload dist/myapp.js'\n\nnotifications:\n slack:\n enabled: true\n endpoint: ${BOSS_SLACK_ENDPOINT}\n```\n\nThe above configuration is specific to a [Node.js](https://nodejs.org/en/) project environment, but you can also deploy projects built with other languages like PHP, Python, Java etc. All you need to do is change the scripts `install`, `build`, `reload`.\n\n#### Available tasks\n\nYou can check the available tasks for `remote-source` preset with `fab --list`.\n\n```bash\n \u279c fab --list\n\nAvailable commands:\n\n build Build the application.\n check Check the current remote branch and the last commit.\n deploy Deploy to remote source.\n prod Configures the prod server environment.\n logs Tail the logs.\n restart Restart the service.\n run Run a custom script.\n status Check the status of the service.\n stop Stop the service.\n sync Sync the changes on the branch with the remote (origin).\n```\n\n#### Deploy\n\nNow to deploy the the application to the `prod` server that you've configured in the `stages` above. You can do:\n\n```bash\n \u279c fab prod deploy\n```\n\nThis would deploy the default branch `master` in this case. You can also provide a specific branch to deploy, as follows:\n\n```bash\n \u279c fab prod deploy:branch=my-branch\n```\n\n### 2. Web Deployment\n\nThis deployment is useful for deploying the web apps (React, Angular, Vue etc) or static files to the remote server. This preset assumes the static files are served via a web server on the remote host eg: nginx, apache etc. Here, the source code is built locally and only the `dist` or `build` is uploaded and deployed to the server.\n\nThe deployment process is zero-downtime, just like [capistrano](https://github.com/capistrano/capistrano).\n\nYou'll need to set the deployment preset as `web` in your configuration.\n\n```yml\ndeployment:\n preset: web\n```\n\n#### Configuration\n\nYour `boss.yml` file for web deployment would look similar to this:\n\n```yml\nproject_name: my-app\nproject_description: 'My App'\nrepository_url: 'https://github.com/username/repository'\nbranch_url: '{repository_url}/tree/{branch}'\nuser: deploy_user\n\ndeployment:\n preset: web\n build_dir: build/ # The local build directory\n base_dir: /app/deployment # The remote base directory for deployment.\n\nstages:\n prod:\n host: your-server.com\n public_url: 'https://your-server.com'\n\nscripts:\n install: 'npm install'\n build: 'npm run build'\n\nnotifications:\n slack:\n enabled: true\n endpoint: ${BOSS_SLACK_ENDPOINT}\n```\n\nThe above configuration would work for any kind of web projects as long as it generates the build in static files (HTML, CSS, JS, media) that could be served via a web server.\n\nYou can define two scripts `install` and `build` in your `boss.yml`, to install project dependencies and build the source respectively. For instance: if you've created your application using [`create-react-app`](https://github.com/facebookincubator/create-react-app), you can set these to `npm install` and `npm run build` as shown in above config.\n\nYou also have to set the location of the output directory for the `build` script as `deployment.build_dir`. In our case, this would be the `build/` directory.\n\n#### Available tasks\n\nYou can check the available tasks for this preset with `fab --list`.\n\n```bash\n \u279c fab --list\n\nAvailable commands:\n\n buildinfo Print the build information.\n builds Display the build history.\n deploy Zero-Downtime deployment for the web.\n info Print the build information.\n logs Tail the logs.\n rollback Zero-Downtime deployment rollback for the web.\n run Run a custom script.\n setup Setup remote host for deployment.\n prod Configures the prod server environment.\n```\n\n#### Remote Setup\n\nFor the first time, you can configure the remote host for deployment using the `setup` task.\n\n```bash\n \u279c fab prod setup\n```\n\nThis will create necessary files and directories on the remote under the provided `base_dir` path. In our case the base directory will be `/app/deployment`.\n\nOnce, the `setup` task completes you should see a message like this:\n\n```\nRemote is setup and is ready for deployment.\n\nDeployed build will point to /app/deployment/current.\nFor serving the latest build, please set your web server document root to /app/deployment/current.\n```\n\nNow you'll need to set your web server document root on the remote host to the `current` symlink created under the `base_dir` path. This symlink will point to the latest build when you deploy your app.\n\n#### Web Server Config\n\nIf you're using a web server like nginx, you can set the document root like this:\n\n```\n# Sample nginx Configuration.\nserver {\n listen 80;\n listen [::]:80;\n\n # This is the symlink that points to the build that is deployed.\n root /app/deployment/current;\n\n index index.html;\n ...\n}\n```\n\n#### Deploy\n\nYou can use the `deploy` task to deploy the app to the remote server.\n\nHere, first the `deploy` task would trigger the `install` and `build` scripts to build the project locally, after which the built directory configured in `deployment.build_dir` would be tar-zipped and uploaded to the remote host via SSH.\n\nSo, to deploy current local source code to `prod` server you should do the following:\n\n```bash\n \u279c fab prod deploy\n```\n\nIf you're using `git` in your project, you need to make sure you did `checkout` to the branch you want to deploy and is up to date. Like this,\n\n```bash\n # Checkout to the right branch and deploy\n \u279c git checkout master\n \u279c fab prod deploy\n```\n\n### 3. Node.js Deployment\n\nNode.js Project Deployment.\nMore information, examples and documentation coming soon :).\n\n## Inspiration\n\n* [Capistrano](https://github.com/capistrano/capistrano)\n* [Fabric](http://www.fabfile.org/)\n\n## Special Thanks\n\nSpecial Thanks to [Shirish Shikhrakar](https://github.com/sshikhrakar) for the [logo](https://github.com/kabirbaidhya/boss/tree/dev/assets).\n\n## Contributing\n\nAll kinds of contributions are welcome. Read our [contributing guide](CONTRIBUTING.md) to learn about our development process, how to propose PRs, report bugs and suggest improvements.\n\n## Change Log\n\nCheck the [CHANGELOG](CHANGELOG.md) for full release history.\n\n## License\n\nLicensed under [The MIT License](LICENSE).\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/kabirbaidhya/boss-cli", "keywords": "cli", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "boss-cli", "package_url": "https://pypi.org/project/boss-cli/", "platform": "", "project_url": "https://pypi.org/project/boss-cli/", "project_urls": { "Homepage": "https://github.com/kabirbaidhya/boss-cli" }, "release_url": "https://pypi.org/project/boss-cli/1.0.1/", "requires_dist": [ "fabric (==1.14.1)", "paramiko (==2.5)", "cryptography (==2.7)", "pyyaml (==5.1.1)", "requests (==2.20.0)", "inquirer (==2.2.0)", "python-dotenv (==0.6.5)", "terminaltables (==3.1.0)", "click (==6.7)", "hvac (==0.6.4)", "pytest (==3.2.3) ; extra == 'dev'", "pytest-cov (==2.5.1) ; extra == 'dev'", "pytest-watch (==4.2.0) ; extra == 'dev'", "coverage (==4.4.1) ; extra == 'dev'", "mock (==2.0.0) ; extra == 'dev'", "pylint (==1.7.4) ; extra == 'dev'", "autopep8 (==1.3.3) ; extra == 'dev'", "mock-ssh-server (==0.3.0) ; extra == 'dev'", "twine (==1.13.0) ; extra == 'dev'" ], "requires_python": "", "summary": "Yet another pythonic deployment tool built on top of fabric.", "version": "1.0.1" }, "last_serial": 5435275, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "669ec54766bd8acad198418fba7e3e36", "sha256": "3ca0e149a37876ce763f4c7bfb2b4539eac707641d9d1371506ea07b53961457" }, "downloads": -1, "filename": "boss_cli-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "669ec54766bd8acad198418fba7e3e36", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10676, "upload_time": "2017-04-12T05:23:09", "url": "https://files.pythonhosted.org/packages/0c/e5/5af76df36940bc7f987b4a309c35e6b2b029df79538ad9caaed03f3a6463/boss_cli-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f74669ec8d09f9cd9887f7e56f77c36", "sha256": "46d927ab17bb625afd4c55f55e1c455b78edfd193c06d30f27d110e95a137749" }, "downloads": -1, "filename": "boss-cli-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8f74669ec8d09f9cd9887f7e56f77c36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7645, "upload_time": "2017-04-12T05:23:12", "url": "https://files.pythonhosted.org/packages/bb/78/8c5263b7b540138926e3f9f69c7bb1ff0df79838c87442b193a68a52685b/boss-cli-0.0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1c269098f8a521bcef7bd797544460ee", "sha256": "90def67579bb031494490d94723210ccd7360a1306596861de6c9ea51017d865" }, "downloads": -1, "filename": "boss-cli-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1c269098f8a521bcef7bd797544460ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8170, "upload_time": "2017-06-02T16:50:56", "url": "https://files.pythonhosted.org/packages/fe/fd/4feedcd2e7bbae88eb015c83e9088337a315f6caf98e000edff94960362c/boss-cli-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "645d04febba8260450c4e41454f4c4b5", "sha256": "fa9715607b359a15e1e26764131e4a384589c7b88470c7377625ff0093bfabed" }, "downloads": -1, "filename": "boss-cli-0.2.0.tar.gz", "has_sig": false, "md5_digest": "645d04febba8260450c4e41454f4c4b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8700, "upload_time": "2017-07-20T17:31:34", "url": "https://files.pythonhosted.org/packages/4f/e2/74780114a7ea64df4d4e9aae42c46b60d5f5b462510b796614823b943e63/boss-cli-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d194d0be147aaef0e568ab5802c65ca8", "sha256": "1d03bcc15233c9e82d20d659cb5ee317bc456c1cd7685befa58410e027173bb8" }, "downloads": -1, "filename": "boss-cli-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d194d0be147aaef0e568ab5802c65ca8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8784, "upload_time": "2017-08-09T16:48:58", "url": "https://files.pythonhosted.org/packages/c4/83/b18ed0e6d648913914916bc5a136c9bc56abcdc12bcba170a9c9597dd24b/boss-cli-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "83ff913ed17cfee520d74697ab0d0734", "sha256": "942091df5c074cc999345b07a8b8bf0abfbbccd58de9a32e8703934f0ecb1db0" }, "downloads": -1, "filename": "boss-cli-0.2.2.tar.gz", "has_sig": false, "md5_digest": "83ff913ed17cfee520d74697ab0d0734", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9041, "upload_time": "2017-08-10T08:27:59", "url": "https://files.pythonhosted.org/packages/cc/a7/92603d9a78633b1603217d5680f8f45c9f9c95230366b52299f6882d54a7/boss-cli-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "750134fe10019c42a5305ec62b8fbf7b", "sha256": "41916e8efcd8b02d04208565ac7efd05762d2fee39a228392b75e75d28669c39" }, "downloads": -1, "filename": "boss-cli-0.3.0.tar.gz", "has_sig": false, "md5_digest": "750134fe10019c42a5305ec62b8fbf7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10967, "upload_time": "2017-08-15T12:18:33", "url": "https://files.pythonhosted.org/packages/fd/77/953d817e874f2a0e6cf129258dc1390947004e2ba8ee160391581e6f9403/boss-cli-0.3.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "da12505b859d9b7f63452d754af1052f", "sha256": "5c782dcc027fe6d1837fe0bc5fa263edecde5a929b08aa5eb00030c9536fdbf9" }, "downloads": -1, "filename": "boss_cli-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da12505b859d9b7f63452d754af1052f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 81799, "upload_time": "2019-06-22T15:30:04", "url": "https://files.pythonhosted.org/packages/d4/35/42d9a5faf5cc20f334d7197e3aadb48f78b0569139c42a0533c07e7ede80/boss_cli-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e041c6c7a9f541f3ce5cd7fa8cf7da1", "sha256": "7176dba95f7fa1fb748b38aa58b37a6d34ce7797caf9c3b5acd3ac80bbbcd9eb" }, "downloads": -1, "filename": "boss-cli-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3e041c6c7a9f541f3ce5cd7fa8cf7da1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136817, "upload_time": "2019-06-22T15:30:07", "url": "https://files.pythonhosted.org/packages/08/60/f256e91622298be12547ed25905e3af7e653d3ecf4ca36cc928e774a6185/boss-cli-1.0.0.tar.gz" } ], "1.0.0a1": [ { "comment_text": "", "digests": { "md5": "17a17d10c8b2434e9ceaf726ff01ace2", "sha256": "67d4a1db4d6f1dc6a4a90f9d39c21a386b9e1d7e2981869e89d3cc93a0bc4316" }, "downloads": -1, "filename": "boss-cli-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "17a17d10c8b2434e9ceaf726ff01ace2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45157, "upload_time": "2017-08-24T12:11:39", "url": "https://files.pythonhosted.org/packages/e9/d6/901b7e701f9c0d3623d982333c9016b255647266fea63a88b51eceb409ff/boss-cli-1.0.0a1.tar.gz" } ], "1.0.0a10": [ { "comment_text": "", "digests": { "md5": "3ad49da6c5998213b45ba1fc26136b50", "sha256": "7565c14a3e7c13a6992e3a1dcbdbbec7e4c2274b78d30e8567cb95f041904c29" }, "downloads": -1, "filename": "boss-cli-1.0.0a10.tar.gz", "has_sig": false, "md5_digest": "3ad49da6c5998213b45ba1fc26136b50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87750, "upload_time": "2017-11-21T08:21:50", "url": "https://files.pythonhosted.org/packages/a3/14/fea5fc6b6a286a906ed90533f2c3f923a05f43844608402787e189f45878/boss-cli-1.0.0a10.tar.gz" } ], "1.0.0a11": [ { "comment_text": "", "digests": { "md5": "7114a671f34ecaec6557f20550dc0c42", "sha256": "f3c49cb8f02b87b77766bcd9dcf3ad3b6f37b966ccf094d98cedbaab60610c99" }, "downloads": -1, "filename": "boss-cli-1.0.0a11.tar.gz", "has_sig": false, "md5_digest": "7114a671f34ecaec6557f20550dc0c42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88793, "upload_time": "2017-11-21T16:45:00", "url": "https://files.pythonhosted.org/packages/58/b2/278c6e08abf384ddfc9aff895fe48f5a8995c72dc6b64ca37c0f9a1f0928/boss-cli-1.0.0a11.tar.gz" } ], "1.0.0a12": [ { "comment_text": "", "digests": { "md5": "f8a73946701fb50e2585bd6cd5199f6e", "sha256": "c5bc332042bf94acaba1afab4ab17de1ba3f7866e15d6f1ed008e4f7c73e6019" }, "downloads": -1, "filename": "boss-cli-1.0.0a12.tar.gz", "has_sig": false, "md5_digest": "f8a73946701fb50e2585bd6cd5199f6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92560, "upload_time": "2017-11-25T04:03:48", "url": "https://files.pythonhosted.org/packages/83/21/20d5cc8d29d0033e78d24627e57bf8c502d0fe917fbae4ddb2b22173fea4/boss-cli-1.0.0a12.tar.gz" } ], "1.0.0a13": [ { "comment_text": "", "digests": { "md5": "1e8069df9ee11a112dfbdf885fba4fa7", "sha256": "ba46cb575965373e7131ccf1d6e3c40ebbab0d8a24d482974088282bc780d72e" }, "downloads": -1, "filename": "boss-cli-1.0.0a13.tar.gz", "has_sig": false, "md5_digest": "1e8069df9ee11a112dfbdf885fba4fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98687, "upload_time": "2017-12-23T04:59:15", "url": "https://files.pythonhosted.org/packages/43/1d/d9335d5290299207ad5cbd1e2017ae38fdd85746446f20469bd591ac34b8/boss-cli-1.0.0a13.tar.gz" } ], "1.0.0a14": [ { "comment_text": "", "digests": { "md5": "c98523d9b42ed59c853c9f2ff896d947", "sha256": "81b42c0b07d2b5abef9726d0114cff1a30bdf41e8696b267c43cd6b2489fda68" }, "downloads": -1, "filename": "boss-cli-1.0.0a14.tar.gz", "has_sig": false, "md5_digest": "c98523d9b42ed59c853c9f2ff896d947", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112634, "upload_time": "2017-12-25T20:57:17", "url": "https://files.pythonhosted.org/packages/f8/d4/1e79dc4e8657a04014b9f89b0c5cd54d2ed3322dbcb056d55cff43a1855c/boss-cli-1.0.0a14.tar.gz" } ], "1.0.0a15": [ { "comment_text": "", "digests": { "md5": "2e3d5856ba9bf42decea0717e5fa6d48", "sha256": "e3d003b3df716d2dd45ac39df1825e41faa20623991784c6f17004d7bf4ebc30" }, "downloads": -1, "filename": "boss-cli-1.0.0a15.tar.gz", "has_sig": false, "md5_digest": "2e3d5856ba9bf42decea0717e5fa6d48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114758, "upload_time": "2017-12-27T19:40:50", "url": "https://files.pythonhosted.org/packages/22/6d/f74d189607eb82219a5fd2b8e1c641b951caf0d69ad2d33272df709c08b7/boss-cli-1.0.0a15.tar.gz" } ], "1.0.0a16": [ { "comment_text": "", "digests": { "md5": "45c26ba7734b295deaca047019253467", "sha256": "294a42c4e35ad516c3c8514463c9fb1b16338f2e21b672c18e8659efc4ec8a24" }, "downloads": -1, "filename": "boss-cli-1.0.0a16.tar.gz", "has_sig": false, "md5_digest": "45c26ba7734b295deaca047019253467", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120366, "upload_time": "2018-02-06T19:16:33", "url": "https://files.pythonhosted.org/packages/ac/53/9dc4a462867e520b7e9c40f6c8544ae5c20ee625c164a712115a82ce1bbb/boss-cli-1.0.0a16.tar.gz" } ], "1.0.0a17": [ { "comment_text": "", "digests": { "md5": "89685943256d71c561ec41e9ef4db5bc", "sha256": "245f03224ce739282a97fdbec6fe5e7e2d513fb4897840a071c3bb9a455d94ef" }, "downloads": -1, "filename": "boss-cli-1.0.0a17.tar.gz", "has_sig": false, "md5_digest": "89685943256d71c561ec41e9ef4db5bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125550, "upload_time": "2018-02-11T10:08:42", "url": "https://files.pythonhosted.org/packages/be/5f/4ff64742f7a2488adac85332d8a5020366c0aa63c626a24649b416e652f8/boss-cli-1.0.0a17.tar.gz" } ], "1.0.0a18": [ { "comment_text": "", "digests": { "md5": "137d86bd41860161eb4cddae0f3d0d2f", "sha256": "5794352bcf870ce2642f81dc2bcdd0b59467e7e9a97a0d27bcda31c534cb1430" }, "downloads": -1, "filename": "boss_cli-1.0.0a18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "137d86bd41860161eb4cddae0f3d0d2f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 83439, "upload_time": "2018-10-09T17:17:35", "url": "https://files.pythonhosted.org/packages/47/01/29873849f6396b43829f4c5de0823f95a6046ec130a05acf9060ae77c40b/boss_cli-1.0.0a18-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00b5ddecb3b371eaf25548d16dffabb6", "sha256": "8ad086d5bb7eb82891750ca8fcd4615ecdc5b50b909c8d9ffa3b3cc75247be02" }, "downloads": -1, "filename": "boss-cli-1.0.0a18.tar.gz", "has_sig": false, "md5_digest": "00b5ddecb3b371eaf25548d16dffabb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 123393, "upload_time": "2018-10-09T17:04:18", "url": "https://files.pythonhosted.org/packages/7a/68/513e1397a6bd0ff31aade533c1987a07d15873bd2312cdc1166e3d76b141/boss-cli-1.0.0a18.tar.gz" } ], "1.0.0a19": [ { "comment_text": "", "digests": { "md5": "8299cbcde82d0e42ba5fb9adc6dba949", "sha256": "fda0f10ac0b1b34e9ffc1a2d3a26669a0bd2fc7b21fbc8f9dbf81d572bbeb555" }, "downloads": -1, "filename": "boss-cli-1.0.0a19.tar.gz", "has_sig": false, "md5_digest": "8299cbcde82d0e42ba5fb9adc6dba949", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132945, "upload_time": "2018-10-11T11:03:57", "url": "https://files.pythonhosted.org/packages/58/b5/700b5c6ba4636bed31c91a8a2dbae91d40162cdea8d3ef404002a376c737/boss-cli-1.0.0a19.tar.gz" } ], "1.0.0a2": [ { "comment_text": "", "digests": { "md5": "2ba1be7791f51ad2284daef83ce76c14", "sha256": "f45d185f7e7ef7858a86909195a35a9ce2ee33882116ca12665dbc1e27d98888" }, "downloads": -1, "filename": "boss-cli-1.0.0a2.tar.gz", "has_sig": false, "md5_digest": "2ba1be7791f51ad2284daef83ce76c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45173, "upload_time": "2017-09-05T16:05:17", "url": "https://files.pythonhosted.org/packages/f4/9c/fb00a6d3310cc521ce12005c6ed18f8958e847714826af18087267f93eaf/boss-cli-1.0.0a2.tar.gz" } ], "1.0.0a20": [ { "comment_text": "", "digests": { "md5": "4b80562136a094ff302ecb585f824aa5", "sha256": "2585a30d73ae97f8177e8c447dbdfa6c3aefada658d8d4bd1e1ea4b1bb5984e9" }, "downloads": -1, "filename": "boss_cli-1.0.0a20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b80562136a094ff302ecb585f824aa5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84443, "upload_time": "2018-10-30T15:13:56", "url": "https://files.pythonhosted.org/packages/cb/cd/94fa58ae057b0988352f665b6b71255ab8a44aa936258f019eafdde8ebc5/boss_cli-1.0.0a20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcb717890a3bcf31bc63ac9306a6f051", "sha256": "1fddce6c1477cded37a0a2d5181a3b2c058f3a83cc5a07218928af1b2803b4a9" }, "downloads": -1, "filename": "boss-cli-1.0.0a20.tar.gz", "has_sig": false, "md5_digest": "bcb717890a3bcf31bc63ac9306a6f051", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 133642, "upload_time": "2018-10-30T15:13:59", "url": "https://files.pythonhosted.org/packages/5a/02/43c12532693bfb99ef0f2c0410ff5e35178a8c68bde2641c30f0ceabe4f1/boss-cli-1.0.0a20.tar.gz" } ], "1.0.0a3": [ { "comment_text": "", "digests": { "md5": "8e063e3530e9893cf56df40461e5b8f6", "sha256": "a6cfecf043cf7c8c7163d455abee5b78f90c99f5defa9f04e7d3fb8c57ce57d9" }, "downloads": -1, "filename": "boss-cli-1.0.0a3.tar.gz", "has_sig": false, "md5_digest": "8e063e3530e9893cf56df40461e5b8f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45196, "upload_time": "2017-09-08T13:20:59", "url": "https://files.pythonhosted.org/packages/5f/f4/4b72450e335c037385cc7586058005956a66cb86b8d415f1d740a2cbd78a/boss-cli-1.0.0a3.tar.gz" } ], "1.0.0a4": [ { "comment_text": "", "digests": { "md5": "4c9fd4ee1a31b0cccc7d9d6c50bf1c2b", "sha256": "9e26c7fa24893dea19def27f58acdb637635d6b379ba865ccfc76030f3f17834" }, "downloads": -1, "filename": "boss-cli-1.0.0a4.tar.gz", "has_sig": false, "md5_digest": "4c9fd4ee1a31b0cccc7d9d6c50bf1c2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46525, "upload_time": "2017-10-12T09:06:40", "url": "https://files.pythonhosted.org/packages/1a/21/6cf75429af012ba0ee5d09613715f22122688786f44089ea6ca5d3bdadd2/boss-cli-1.0.0a4.tar.gz" } ], "1.0.0a5": [ { "comment_text": "", "digests": { "md5": "56d1c6d72d32bab000d20a0ecf1b54cd", "sha256": "12d684a236907bf39f23b173f471d6c91c5e043adcb6d2ab2894a0e804060df9" }, "downloads": -1, "filename": "boss-cli-1.0.0a5.tar.gz", "has_sig": false, "md5_digest": "56d1c6d72d32bab000d20a0ecf1b54cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46719, "upload_time": "2017-10-12T12:49:39", "url": "https://files.pythonhosted.org/packages/cb/af/5a44875cb860c703b50002d21a778d80e45f5bdbf8f10b514a17c130fc36/boss-cli-1.0.0a5.tar.gz" } ], "1.0.0a6": [ { "comment_text": "", "digests": { "md5": "fd063fe7ea2c5b36e46a53eb82624d93", "sha256": "4f68d2ee06e22d0650c0cfd7477fad21b6b2f2dc8c78798b74c40c8b40ed24d8" }, "downloads": -1, "filename": "boss-cli-1.0.0a6.tar.gz", "has_sig": false, "md5_digest": "fd063fe7ea2c5b36e46a53eb82624d93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41286, "upload_time": "2017-10-16T18:39:15", "url": "https://files.pythonhosted.org/packages/01/28/02f6e65a0b507db79678cf4dec6878d02148c9e4cb0be0fe42e5139b4a3c/boss-cli-1.0.0a6.tar.gz" } ], "1.0.0a7": [ { "comment_text": "", "digests": { "md5": "22113e8d498c454e927ac23c46c7c4e2", "sha256": "bed9711b712917ea5d8cc5eed949c832644da6a686b30a392a007f0d9f260988" }, "downloads": -1, "filename": "boss-cli-1.0.0a7.tar.gz", "has_sig": false, "md5_digest": "22113e8d498c454e927ac23c46c7c4e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74460, "upload_time": "2017-10-30T17:24:23", "url": "https://files.pythonhosted.org/packages/27/71/61c0d33c29fd8dc183837d63dd24533394602fe8935d2bd68a9787da1540/boss-cli-1.0.0a7.tar.gz" } ], "1.0.0a8": [ { "comment_text": "", "digests": { "md5": "309807467c9360e545f946d5caf076f0", "sha256": "bf5d047e2b3c888fa7b59d6ac31c55bb1a9a4d0b7556260b048357215dc13894" }, "downloads": -1, "filename": "boss-cli-1.0.0a8.tar.gz", "has_sig": false, "md5_digest": "309807467c9360e545f946d5caf076f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76505, "upload_time": "2017-11-15T18:28:49", "url": "https://files.pythonhosted.org/packages/aa/d2/0568857b8629338c17396adb33912e61a5a24bbd8bfe2ad7b34bcce0bd4d/boss-cli-1.0.0a8.tar.gz" } ], "1.0.0a9": [ { "comment_text": "", "digests": { "md5": "97f3fc00e58dbc5121984d9ad07aa108", "sha256": "3a8268ab7b3d55151691bb8a08849f536de95191e844812f2bedfd6de1964a9a" }, "downloads": -1, "filename": "boss-cli-1.0.0a9.tar.gz", "has_sig": false, "md5_digest": "97f3fc00e58dbc5121984d9ad07aa108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79136, "upload_time": "2017-11-17T14:25:48", "url": "https://files.pythonhosted.org/packages/56/a5/24f2cadc4d714b3a2534c324dc6c87713788f60ff194746ff117333fc419/boss-cli-1.0.0a9.tar.gz" } ], "1.0.0b1": [ { "comment_text": "", "digests": { "md5": "e46f123cc31b4a0535df9b10cb5fd5af", "sha256": "711e4f0263a9d17c2ae88f9829b90a58f190887820c5ff7b152dfdb08746b912" }, "downloads": -1, "filename": "boss_cli-1.0.0b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e46f123cc31b4a0535df9b10cb5fd5af", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84414, "upload_time": "2018-10-31T17:24:02", "url": "https://files.pythonhosted.org/packages/04/e6/877cb1694f11477a6ba2dc7670a8b22b759e05bc5d979610d8d561132259/boss_cli-1.0.0b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d89ccab3b4e8162d7cc6d29f07c8be43", "sha256": "dbe4a432b7b3cc17f556e7acc8ce93d225ecea8be34ceacea148132494dfd815" }, "downloads": -1, "filename": "boss-cli-1.0.0b1.tar.gz", "has_sig": false, "md5_digest": "d89ccab3b4e8162d7cc6d29f07c8be43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 133544, "upload_time": "2018-10-31T17:24:05", "url": "https://files.pythonhosted.org/packages/c4/ff/6e74f62fbc09ca2102586cf559ec545093e1ebe3be3f46e6f8f9588efd22/boss-cli-1.0.0b1.tar.gz" } ], "1.0.0b2": [ { "comment_text": "", "digests": { "md5": "7791ac6d58f94b28d09e3c6bba2835bb", "sha256": "8836e866e23bb80826066b272f4c6219adc223a59f53fd8514485331ba6f72bd" }, "downloads": -1, "filename": "boss_cli-1.0.0b2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7791ac6d58f94b28d09e3c6bba2835bb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84498, "upload_time": "2018-11-24T06:16:43", "url": "https://files.pythonhosted.org/packages/76/23/39cc0b8951d42117e893b514cd73d9b2d17aa40731c1eb8baf6a4ef9ab98/boss_cli-1.0.0b2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48f257bf0a0d749290c0559a8edc28d3", "sha256": "a2470f57d265554c27008a0cafcfb953e1e60d1bd29df3fb5f59be0298bbc6f2" }, "downloads": -1, "filename": "boss-cli-1.0.0b2.tar.gz", "has_sig": false, "md5_digest": "48f257bf0a0d749290c0559a8edc28d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122154, "upload_time": "2018-11-24T06:16:46", "url": "https://files.pythonhosted.org/packages/e0/9c/6a75eac32a8cb32f50051d7b09be9abd1b8b8fb01fbac29c0b59186b86c7/boss-cli-1.0.0b2.tar.gz" } ], "1.0.0b3": [ { "comment_text": "", "digests": { "md5": "77d6cba612afb694893df3193118b4a2", "sha256": "f8b805fc819cc6de759b109e222365e6468f12fa4a7acc8feb0a870cff8e560e" }, "downloads": -1, "filename": "boss_cli-1.0.0b3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77d6cba612afb694893df3193118b4a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84782, "upload_time": "2018-12-03T07:51:53", "url": "https://files.pythonhosted.org/packages/c8/d5/9fd8f7c0b970c5f11746b180d136bb012206054b383a670606b38d0edafb/boss_cli-1.0.0b3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99aea23a2e2e787d5ac25af2b3a200b2", "sha256": "05abcc4137b0a88d821dc1f4bb86a42c3604fc28b2e5cc9278f18bd33d498264" }, "downloads": -1, "filename": "boss-cli-1.0.0b3.tar.gz", "has_sig": false, "md5_digest": "99aea23a2e2e787d5ac25af2b3a200b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138877, "upload_time": "2018-12-03T07:51:56", "url": "https://files.pythonhosted.org/packages/b1/06/88fc783d372c641898d8f8787b16ae342fc73fa0eaaa6256c28f663f8db7/boss-cli-1.0.0b3.tar.gz" } ], "1.0.0b4": [ { "comment_text": "", "digests": { "md5": "4223a0ab1fa3567793d238975a82e5aa", "sha256": "931fc3999645f64a7374c3116c5f05dafea3d5e0ad621e87e543b00f0bca00c4" }, "downloads": -1, "filename": "boss_cli-1.0.0b4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4223a0ab1fa3567793d238975a82e5aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84846, "upload_time": "2018-12-03T07:52:30", "url": "https://files.pythonhosted.org/packages/57/17/a14d38b3ee41d4d55941c7f377a0554c3ef183020d3993643928e9d157ba/boss_cli-1.0.0b4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f54826907e1a7cb04dd76f99ed42478b", "sha256": "0284423d371748ebafed1dab6f5260aae33552941b49acbe30ca3f6c804561b3" }, "downloads": -1, "filename": "boss-cli-1.0.0b4.tar.gz", "has_sig": false, "md5_digest": "f54826907e1a7cb04dd76f99ed42478b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138934, "upload_time": "2018-12-03T07:52:33", "url": "https://files.pythonhosted.org/packages/c3/a7/f04ceb16329f7936b32a02c10af77eca33b0dfa7e1df19e596187fd5ca28/boss-cli-1.0.0b4.tar.gz" } ], "1.0.0b5": [ { "comment_text": "", "digests": { "md5": "2f881742e82197203c058a132b3d6e2a", "sha256": "a2172ad2aa6977b256513d7a3d8fb2379c5bef73e537ff8928662186b15c7084" }, "downloads": -1, "filename": "boss_cli-1.0.0b5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f881742e82197203c058a132b3d6e2a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 85000, "upload_time": "2018-12-07T16:28:50", "url": "https://files.pythonhosted.org/packages/f8/4c/2dc134217f6708e4c5b8138a3582d08e903c1faf1eb0be3d87fb400be04e/boss_cli-1.0.0b5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b857e663007e4e4859c15d3e761f117e", "sha256": "31ac3549fcc57d2f4b57ae92c559b9790657a43b6b4f3c33a9b83a906350d2ef" }, "downloads": -1, "filename": "boss-cli-1.0.0b5.tar.gz", "has_sig": false, "md5_digest": "b857e663007e4e4859c15d3e761f117e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137523, "upload_time": "2018-12-07T16:28:55", "url": "https://files.pythonhosted.org/packages/f1/4d/c466b54e22d09fb464d77158d808f9cc4052177be3006ca5aa0fba868ae9/boss-cli-1.0.0b5.tar.gz" } ], "1.0.0b6": [ { "comment_text": "", "digests": { "md5": "52c8655df00f548de5a21a575035cd75", "sha256": "726ed254886437075f16084c0c913cd31f93d44ce8396530f3bd71da08668da8" }, "downloads": -1, "filename": "boss_cli-1.0.0b6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "52c8655df00f548de5a21a575035cd75", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 85017, "upload_time": "2019-05-09T03:33:42", "url": "https://files.pythonhosted.org/packages/0c/04/e14df8ec87702473876f22b60a30a19aaa578042d477d9f5660901e0fc23/boss_cli-1.0.0b6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffbf2dba87b6749ac149df8b0f88def8", "sha256": "c592c83747f5cfae15d2a59791c7354fd4b5bd7a24560659dfbe8f6b08c60ecc" }, "downloads": -1, "filename": "boss-cli-1.0.0b6.tar.gz", "has_sig": false, "md5_digest": "ffbf2dba87b6749ac149df8b0f88def8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137556, "upload_time": "2019-05-09T03:33:45", "url": "https://files.pythonhosted.org/packages/5d/46/396d04c6c3de7e640ba2306103922f295b6d75d1aeaf1fe3c185db4828d8/boss-cli-1.0.0b6.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "126f4e1d366701409604ccd6a82a19bb", "sha256": "f0a3fde4178e9b10fc722b1c28025dfb787a0e2d0adca8fe65bf0e554191afe1" }, "downloads": -1, "filename": "boss_cli-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "126f4e1d366701409604ccd6a82a19bb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 85032, "upload_time": "2019-06-22T17:40:53", "url": "https://files.pythonhosted.org/packages/5b/cb/58027920288a7d07feaedadc180cf34c2e0b5c7a7b6d3bdbd5b1534bb566/boss_cli-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "279fd3a3ad9390b785f2838e55a94d55", "sha256": "458a0547786f3b209e26554b64daa4e06ee6fc1ae1de66a69db6336ef9478df8" }, "downloads": -1, "filename": "boss-cli-1.0.1.tar.gz", "has_sig": false, "md5_digest": "279fd3a3ad9390b785f2838e55a94d55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137507, "upload_time": "2019-06-22T17:40:55", "url": "https://files.pythonhosted.org/packages/a8/01/3eea0bef7365dfbce2de0dfd772bfe673d20e587f33a7f69b01b6e9be1da/boss-cli-1.0.1.tar.gz" } ], "1.0.1a1": [ { "comment_text": "", "digests": { "md5": "f856cba1a49310c7c8600980a4c526f9", "sha256": "7b0eb02a9996d08511ffedc1cff81712baa810c260171a686c2d27f0f669c95c" }, "downloads": -1, "filename": "boss_cli-1.0.1a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f856cba1a49310c7c8600980a4c526f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 85046, "upload_time": "2019-06-22T16:05:57", "url": "https://files.pythonhosted.org/packages/5a/6f/e15aa376c55efed6ab2b0a17c06be7a03f4e95a59fb4bf0afb149cefc82a/boss_cli-1.0.1a1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ff733f8f7237414073a0b3d964a6550", "sha256": "afa9e94236fef9fc97536eb7e5090408da58cee26412be70d910d4e4929f4dbc" }, "downloads": -1, "filename": "boss-cli-1.0.1a1.tar.gz", "has_sig": false, "md5_digest": "9ff733f8f7237414073a0b3d964a6550", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137491, "upload_time": "2019-06-22T16:05:59", "url": "https://files.pythonhosted.org/packages/a9/a6/e545dfad9304b27693c66f01659f8d4ffcd2974b25ea7fa6f0036fc7f1ea/boss-cli-1.0.1a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "126f4e1d366701409604ccd6a82a19bb", "sha256": "f0a3fde4178e9b10fc722b1c28025dfb787a0e2d0adca8fe65bf0e554191afe1" }, "downloads": -1, "filename": "boss_cli-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "126f4e1d366701409604ccd6a82a19bb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 85032, "upload_time": "2019-06-22T17:40:53", "url": "https://files.pythonhosted.org/packages/5b/cb/58027920288a7d07feaedadc180cf34c2e0b5c7a7b6d3bdbd5b1534bb566/boss_cli-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "279fd3a3ad9390b785f2838e55a94d55", "sha256": "458a0547786f3b209e26554b64daa4e06ee6fc1ae1de66a69db6336ef9478df8" }, "downloads": -1, "filename": "boss-cli-1.0.1.tar.gz", "has_sig": false, "md5_digest": "279fd3a3ad9390b785f2838e55a94d55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137507, "upload_time": "2019-06-22T17:40:55", "url": "https://files.pythonhosted.org/packages/a8/01/3eea0bef7365dfbce2de0dfd772bfe673d20e587f33a7f69b01b6e9be1da/boss-cli-1.0.1.tar.gz" } ] }