{ "info": { "author": "Nick Mavrakis", "author_email": "mavrakis.n@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Build Tools" ], "description": "============\nbeauty-ocean\n============\n\n.. image:: https://img.shields.io/readthedocs/beauty-ocean.svg?style=flat-square\n :target: `full documentation on ReadTheDocs`_\n :alt: ReadTheDocs documentation status\n\n.. image:: https://img.shields.io/pypi/v/beauty-ocean.svg?style=flat-square\n :target: https://pypi.org/project/beauty-ocean/\n :alt: Latest PyPI version\n\n.. image:: https://img.shields.io/travis/manikos/beauty-ocean/master.svg?style=flat-square\n :target: https://travis-ci.org/manikos/beauty-ocean/\n :alt: Travis CI build status\n\n.. image:: https://img.shields.io/codecov/c/github/manikos/beauty-ocean.svg?style=flat-square\n :target: https://codecov.io/gh/manikos/beauty-ocean/\n :alt: Codecov status\n\n.. image:: https://img.shields.io/pypi/pyversions/beauty-ocean.svg?style=flat-square\n :target: https://pypi.org/project/beauty-ocean/\n :alt: Supported Python versions\n\n.. image:: https://img.shields.io/github/license/manikos/beauty-ocean.svg?style=flat-square\n :target: https://github.com/manikos/beauty-ocean/bolb/master/LICENSE\n :alt: Project's licence\n\n\n\nCreate DigitalOcean droplets like a breeze through the command line.\n\n\nDocumentation\n-------------\nYou may read the `full documentation on ReadTheDocs`_.\n\n\nPreparation\n-----------\nBefore installing this package make sure you have an account to\n`Digital Ocean `_ and have\n`obtained a Digital Ocean API token `_\nThe recommended way of storing the token is via environment variable. Once\nyou copy it, do the following:\n\n\n.. code-block:: console\n\n $ vim ~/.profile or nano ~/.profile\n # make sure the following line is added\n $ export DO_TOKEN=\"API TOKEN HERE\" # or other name than DO_TOKEN\n $ source ~/.profile\n\n\nInstallation\n------------\nInstallation is just a `pip install` away:\n\n.. code-block:: console\n\n (virtualenv_name) $ pip install beauty-ocean\n\nYou are using virtualenv, don't you? If not, install it inside your\n``~/.local`` directory.\n\n.. code-block:: console\n\n $ pip install --user beauty-ocean\n\n`Never ever use sudo! `_\n\n\nUsage\n-----\nFor the moment, this package implements the creation of\n`Digital Ocean droplets `_\nbut very soon it will support the creation of Domains and Networks.\nOnce installed, the ``droplet`` command will be available at your disposal.\nIt accepts a single option ``--token`` or ``-t`` for short. Defaults to\n``\"DO_TOKEN\"`` which is the name of the environment variable that you\ncreated earlier. If you used a different name then pass that name to the\n``-t`` option.\n\n.. code-block:: console\n\n $ droplet\n\n # or\n $ droplet -t MY_ENV_NAME_FOR_TOKEN\n\nYou may, also, pass a file path to the ``-t`` option where this file holds\nthe token only.\n\n.. code-block:: console\n\n $ droplet --t path/to/file/that/holds/the/token\n\nLastly, **but not recommended**, you may pass directly, to the ``-t`` option,\nthe token itself.\n\n.. code-block:: console\n\n $ droplet --t THE_ACTUAL_API_TOKEN_HERE\n\nOnce the token is resolved, a series of questions will be initiated in order\nto get the available data from you, submit this data to the Digital Ocean\nAPI and create the droplet. All the above come in a good-looking format\nof questions.\n\nFinally, a json string will be returned with all the droplet data at your\ndisposal to use it in any way you want.\n\n\nFeatures\n--------\n* Beautiful command-line-interface questions flow with sensible defaults\n* Supports remote or local SSH keys addition and/or remote/local Tags\n\n\nDemo\n----\nAn mp4 video demo can be found `here `_.\n\n\nCredits\n-------\nThis package was created using:\n\n* Cookiecutter_\n* `audreyr/cookiecutter-pypackage`_ project template\n* python-digitalocean_ python library for DigitalOcean API\n* inquirer_ to ask questions (based on the inquirejs_ command line UI)\n* colored_ to color the prompt\n* yaspin_ to display a \"loading\" animation while fetching data\n* click_ to create the command line\n* sshpubkeys_ to parse/validate public key(s)\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _inquirer: https://github.com/magmax/python-inquirer\n.. _inquirejs: https://github.com/SBoudrias/Inquirer.js\n.. _python-digitalocean: https://github.com/koalalorenzo/python-digitalocean\n.. _colored: https://gitlab.com/dslackw/colored\n.. _yaspin: https://github.com/pavdmyt/yaspin\n.. _click: https://github.com/pallets/click\n.. _sshpubkeys: https://github.com/ojarva/python-sshpubkeys\n.. _full documentation on ReadTheDocs: https://readthedocs.org/projects/beauty-ocean/\n\n\nDisclaimer\n----------\nI do not work at DigitalOcean, neither have any benefits (financial or\nprofessional) from creating this package. This package was created because\nit facilitates my workflow during droplet creation and website deployment\nand I wanted to share it with other developers. Sharing is a good thing!\n\n\n=======\nHistory\n=======\n\n0.1.4 (2019-04-05)\n------------------\n* Fix exception occurred when token was imported by a file.\n\n0.1.3 (2018-09-18)\n------------------\n* Fix ``create_droplet`` function which did not return JSON data. Now it does.\n\n0.1.2 (2018-09-17)\n------------------\n* Fix Pipenv file and include Pipfile* files into the source distribution.\n\n\n0.1.1 (2018-09-16)\n------------------\n* Added check-manifest package and fix bump2version version error.\n\n\n0.1.0 (2018-09-15)\n------------------\n* First release on PyPI.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/manikos/beauty-ocean", "keywords": "cli digital-ocean DigitalOcean droplet inquirer", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "beauty-ocean", "package_url": "https://pypi.org/project/beauty-ocean/", "platform": "", "project_url": "https://pypi.org/project/beauty-ocean/", "project_urls": { "Documentation": "https://beauty-ocean.readthedocs.io/en/latest/", "Homepage": "https://github.com/manikos/beauty-ocean", "Tracker": "https://github.com/manikos/beauty-ocean/issues/" }, "release_url": "https://pypi.org/project/beauty-ocean/0.1.4/", "requires_dist": [ "Click (>=6.0)", "python-digitalocean (>=1.13)", "colored (>=1.3)", "yaspin (>=0.14)", "sshpubkeys (>=3.1)", "inquirer (>=2.4)", "pytest (>=3.8); extra == 'test'", "coverage (>=4.5); extra == 'test'", "pytest-cov (>=2.6); extra == 'test'", "tox (>=3.3); extra == 'test'", "codecov (>=2.0); extra == 'test'" ], "requires_python": ">=3.6", "summary": "Exploit DigitalOcean API through the console.", "version": "0.1.4" }, "last_serial": 5103765, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "98f55cec7f80a35d3b045e51d9b13233", "sha256": "39c3b76a87bcf9b7f8703fa396810b964a3097364a9cbe26fb7372b482796873" }, "downloads": -1, "filename": "beauty_ocean-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "98f55cec7f80a35d3b045e51d9b13233", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15880, "upload_time": "2018-09-15T19:37:03", "url": "https://files.pythonhosted.org/packages/47/ea/97f8f2e915e79d55ff8a76df0c33ab9e08696f777593d21c4494ba3ae3e3/beauty_ocean-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1adef74d94a09d714ca01638e757a162", "sha256": "5cbb55d7975db3f1ab4dddaaba69e32b934a6c97c9d2f58da9c91bc93a2998f2" }, "downloads": -1, "filename": "beauty_ocean-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1adef74d94a09d714ca01638e757a162", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2673846, "upload_time": "2018-09-15T19:37:31", "url": "https://files.pythonhosted.org/packages/70/8a/0fa3e69ff3cfaa744dc44dbcda7b8129b206cbec638464060cf635f07b98/beauty_ocean-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9c9ead9b2d59d63589444dc1c2adae37", "sha256": "beaad5d0ab2fa7425ab497371c09b4dcce1ed2fc3d8ecf7f5a9f830a12ef760d" }, "downloads": -1, "filename": "beauty_ocean-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9c9ead9b2d59d63589444dc1c2adae37", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 2673838, "upload_time": "2018-09-16T10:38:47", "url": "https://files.pythonhosted.org/packages/96/0e/ea04e287c65d261f9ee2f76fd09cdb9dedf483bac4c24f224b364695605d/beauty_ocean-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b06960277c0ad754e75eb83c664704d9", "sha256": "7dfef519ce44adebd5f19901fa4a26337be386adae647611badd07fa03c7bcbd" }, "downloads": -1, "filename": "beauty_ocean-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b06960277c0ad754e75eb83c664704d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 15884, "upload_time": "2018-09-17T08:49:18", "url": "https://files.pythonhosted.org/packages/90/d1/24563e427992857e50d876a8a2c3874046e409d662cea5219c7684ca2546/beauty_ocean-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a707709e22550f970a340d4c61da446", "sha256": "d9d57006ef6ae9620e6a4008355b3b289460e97f33b65fa7be0b9a8a3df83dc8" }, "downloads": -1, "filename": "beauty_ocean-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1a707709e22550f970a340d4c61da446", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 1364214, "upload_time": "2018-09-17T08:49:33", "url": "https://files.pythonhosted.org/packages/cc/07/31e47af15551b096dc2cc2ff0f5822a64dc51fda75a0dbaf9754ea7b2824/beauty_ocean-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c6be768f23aaee90cdae916de5c7a3e6", "sha256": "dd2630d6e283ff38fd6800ccba9320e1541bddf38207405d2b7c76366746a960" }, "downloads": -1, "filename": "beauty_ocean-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c6be768f23aaee90cdae916de5c7a3e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16035, "upload_time": "2018-09-18T14:17:11", "url": "https://files.pythonhosted.org/packages/d3/bd/c5ddf9e6fe83597f024e59a74b523bc809b2e60a75f57202c45fd2439012/beauty_ocean-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d084a76e85798d60a550273670c41ca", "sha256": "8475a95cf50d54f3f5ae82e2452fa2ca820d0a657679e13b4809d98ecd299eba" }, "downloads": -1, "filename": "beauty_ocean-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6d084a76e85798d60a550273670c41ca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 1364494, "upload_time": "2018-09-18T14:17:26", "url": "https://files.pythonhosted.org/packages/f5/8b/063371d281fa24b851e57dd96ca7d6c732ea6b43f54bbead5bf749bbd278/beauty_ocean-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "82d2e474611bf1124f1d56a78d81310b", "sha256": "aab2cf15515735a7abb4dfb9b620746a9b74ccb5c3044a075fad0df623a7607f" }, "downloads": -1, "filename": "beauty_ocean-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "82d2e474611bf1124f1d56a78d81310b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16075, "upload_time": "2019-04-05T13:41:12", "url": "https://files.pythonhosted.org/packages/46/b7/7ebc89867c2c03d6a650e3e2b1bdc84d7ad4fcb671bb1b7fe7c2e91bf70f/beauty_ocean-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "999d266f79a91b2a88db0da5bac35bc2", "sha256": "6a20faaf8a196af37bee772173a1195cc353370cd72cc496d5200dff12ce000a" }, "downloads": -1, "filename": "beauty_ocean-0.1.4.tar.gz", "has_sig": false, "md5_digest": "999d266f79a91b2a88db0da5bac35bc2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 1365454, "upload_time": "2019-04-05T13:41:32", "url": "https://files.pythonhosted.org/packages/0c/ee/79b9b203cae54caca22de8ed48e7fc242617b5e6c058d577b2a33d69ec82/beauty_ocean-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "82d2e474611bf1124f1d56a78d81310b", "sha256": "aab2cf15515735a7abb4dfb9b620746a9b74ccb5c3044a075fad0df623a7607f" }, "downloads": -1, "filename": "beauty_ocean-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "82d2e474611bf1124f1d56a78d81310b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 16075, "upload_time": "2019-04-05T13:41:12", "url": "https://files.pythonhosted.org/packages/46/b7/7ebc89867c2c03d6a650e3e2b1bdc84d7ad4fcb671bb1b7fe7c2e91bf70f/beauty_ocean-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "999d266f79a91b2a88db0da5bac35bc2", "sha256": "6a20faaf8a196af37bee772173a1195cc353370cd72cc496d5200dff12ce000a" }, "downloads": -1, "filename": "beauty_ocean-0.1.4.tar.gz", "has_sig": false, "md5_digest": "999d266f79a91b2a88db0da5bac35bc2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 1365454, "upload_time": "2019-04-05T13:41:32", "url": "https://files.pythonhosted.org/packages/0c/ee/79b9b203cae54caca22de8ed48e7fc242617b5e6c058d577b2a33d69ec82/beauty_ocean-0.1.4.tar.gz" } ] }