{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# Ansible Jupyter Kernel\n\n[![Build Status](https://travis-ci.org/benthomasson/ansible-jupyter-kernel.svg?branch=master)](https://travis-ci.org/benthomasson/ansible-jupyter-kernel)\n[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/ansible/ansible-jupyter-kernel/master)\n\n\n\n![Example Jupyter Usage](https://raw.githubusercontent.com/ansible/ansible-jupyter-kernel/master/docs/example_session.png)\n\nThe Ansible [Jupyter](http://jupyter.readthedocs.io/en/latest/) Kernel adds a kernel backend for Jupyter to interface directly with Ansible and construct plays and tasks and execute them on the fly.\n\n## Demo\n\n[![Demo](https://raw.githubusercontent.com/ansible/ansible-jupyter-kernel/master/docs/ansible_jupyter_kernel_vimeo.png)](https://vimeo.com/279049946 \"Run Ansible Tasks from Jupyter Notebook - Click to Watch!\")\n\n\n## Table of Contents\n\n* [Installation](#installation)\n * [From pypi](#from-pypi)\n * [From a local checkout](#from-a-local-checkout)\n* [Usage](#usage)\n * [Using the cells](#using-the-cells)\n * [Examples](#examples)\n* [Using the development environment](#using-the-development-environment)\n\n## Installation:\n\n`ansible-kernel` is available to be installed from pypi but you can also install it locally. The setup package itself will register the kernel\nwith `Jupyter` automatically.\n\n### From pypi\n\n pip install ansible-kernel\n python -m ansible_kernel.install\n\n### From a local checkout\n\n pip install -e .\n python -m ansible_kernel.install\n\n### For Anaconda/Miniconda\n\n pip install ansible-kernel\n python -m ansible_kernel.install --sys-prefix\n\n## Usage\n\n### Local install\n\n```\n jupyter notebook\n # In the notebook interface, select Ansible from the 'New' menu\n```\n\n### Container\n\n docker run -p 8888:8888 benthomasson/ansible-jupyter-kernel\n\n Then copy the URL from the output into your browser:\n http://localhost:8888/?token=ABCD1234\n\n\n## Using the Cells\n\nNormally `Ansible` brings together various components in different files and locations to launch a playbook and performs automation tasks. For this\n`jupyter` interface you need to provide this information in cells by denoting what the cell contains and then finally writing your tasks that will make\nuse of them. There are [Examples](#examples) available to help you, in this section we'll go over the currently supported cell types.\n\nIn order to denote what the cell contains you should prefix it with a pound/hash symbol (#) and the type as listed here as the first line as shown in the examples\nbelow.\n\n#### #inventory\n\nThe inventory that your tasks will use\n\n```\n#inventory\n[all]\nahost ansible_connection=local\nanotherhost examplevar=val\n```\n\n#### #play\n\nThis represents the opening block of a typical `Ansible` play\n\n```\n#play\nname: Hello World\nhosts: all\ngather_facts: false\n```\n\n#### #task\n\nThis is the default cell type if no type is given for the first line\n\n```\n#task\ndebug:\n```\n\n```\n#task\nshell: cat /tmp/afile\nregister: output\n```\n\n#### #host_vars\n\nThis takes an argument that represents the hostname. Variables\ndefined in this file will be available in the tasks for that host.\n\n```\n#host_vars Host1\nhostname: host1\n```\n\n#### #group_vars\n\nThis takes an argument that represents the group name. Variables\ndefined in this file will be available in the tasks for hosts in that\ngroup.\n\n```\n#group_vars BranchOfficeX\ngateway: 192.168.1.254\n```\n\n#### #vars\n\nThis takes an argument that represents the filename for use in later cells\n\n```\n#vars example_vars\nmessage: hello vars\n```\n\n```\n#play\nname: hello world\nhosts: localhost\ngather_facts: false\nvars_files:\n - example_vars\n```\n\n#### #template\n\nThis takes an argument in order to create a templated file that can be used in later cells\n\n```\n#template hello.j2\n{{ message }}\n```\n\n```\n#task\ntemplate:\n src: hello.j2\n dest: /tmp/hello\n```\n\n#### #ansible.cfg\n\nProvides overrides typically found in ansible.cfg\n\n```\n#ansible.cfg\n[defaults]\nhost_key_checking=False\n```\n\n### Examples\n\nYou can find various [example notebooks in the repository](https://github.com/ansible/ansible-jupyter-kernel/tree/master/notebooks)\n\n## Using the development environment\n\nIt's possible to use whatever python development process you feel comfortable with. The repository itself includes mechanisms for\nusing [pipenv](https://github.com/pypa/pipenv)\n\n```\npipenv install\n...\npipenv shell\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "ansible-kernel", "package_url": "https://pypi.org/project/ansible-kernel/", "platform": "", "project_url": "https://pypi.org/project/ansible-kernel/", "project_urls": null, "release_url": "https://pypi.org/project/ansible-kernel/0.9.0/", "requires_dist": [ "ansible", "ansible-runner (>=1.1.0)", "PyYAML", "psutil", "jupyter", "tqdm", "docopt", "six", "ipywidgets" ], "requires_python": "", "summary": "An Ansible kernel for Jupyter", "version": "0.9.0" }, "last_serial": 4591223, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b5dd3d864dd234f67ec3105d93be78d7", "sha256": "ef795c396e0ddeaec1f57a26ffce9f5c56d06bc62642a2b9ebfea4f733f82bdb" }, "downloads": -1, "filename": "ansible_kernel-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5dd3d864dd234f67ec3105d93be78d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21150, "upload_time": "2018-06-27T17:15:44", "url": "https://files.pythonhosted.org/packages/81/bd/09aa010a07c56fcbc94c6bd64c330da44043499f8e6a08aa4717bfe0915a/ansible_kernel-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d13ac3c378508608eed2ace1289b824", "sha256": "278460d1db8ec0d9013091d0cf08769c2a7c035b25123c4325893b8900f26de8" }, "downloads": -1, "filename": "ansible-kernel-0.1.tar.gz", "has_sig": false, "md5_digest": "2d13ac3c378508608eed2ace1289b824", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16897, "upload_time": "2018-06-27T17:15:45", "url": "https://files.pythonhosted.org/packages/d8/e1/736d76809b3084c9a6d0481f3eb978458a3cf45e98fb022aab78934137c9/ansible-kernel-0.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "850017823f9f7026f7789b80d277afd5", "sha256": "b604cd9fe452ec62b8aabd7753b00b6ffdadde3208378052b191cc333c460451" }, "downloads": -1, "filename": "ansible_kernel-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "850017823f9f7026f7789b80d277afd5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28113, "upload_time": "2018-06-28T19:13:41", "url": "https://files.pythonhosted.org/packages/32/d5/4e198d2e3b884aebd09f925610f6af63f03c76d42721b775d59a6a2f16c5/ansible_kernel-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e2876edc9e6dc77d6cb0f53e17c16b7", "sha256": "38ed8dc9404d59f893dd8c2fef9c11d4a83d520392587a81f59c60dc86c2920d" }, "downloads": -1, "filename": "ansible-kernel-0.3.tar.gz", "has_sig": false, "md5_digest": "7e2876edc9e6dc77d6cb0f53e17c16b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20583, "upload_time": "2018-06-28T19:13:43", "url": "https://files.pythonhosted.org/packages/08/7d/82a2ddf0ea6afd39ccff87496d1c403c588c6a0f2edcddc510c3a54b1129/ansible-kernel-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f09ae192d278092d3334e541351c5183", "sha256": "6785f86c027f5f0af8ce40c2aed84da0896054ebc575a2660006682bf4e03dba" }, "downloads": -1, "filename": "ansible_kernel-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f09ae192d278092d3334e541351c5183", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96839, "upload_time": "2018-07-05T18:57:01", "url": "https://files.pythonhosted.org/packages/5a/af/023592a36e4060052874c98cc33531a05aad6e058488f3e644cd9903b17b/ansible_kernel-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c776c1eb7f2e8f75eb32a096b3fff9c", "sha256": "277c357b58486b8adf79afd7697e9739de2bd48c0b3dde0ae02a82f069440943" }, "downloads": -1, "filename": "ansible-kernel-0.4.tar.gz", "has_sig": false, "md5_digest": "3c776c1eb7f2e8f75eb32a096b3fff9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88011, "upload_time": "2018-07-05T18:57:03", "url": "https://files.pythonhosted.org/packages/6a/89/73dc887f9cf1ec954d6197c2bfee914785ed328c267919ba3687d403ea97/ansible-kernel-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "bd79779c1fc54c310e1f819bdd97d486", "sha256": "4ff2e474df9c5571023c75c0f72b9bd3b8f456baa8006a1c18c469122a17d2c1" }, "downloads": -1, "filename": "ansible_kernel-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd79779c1fc54c310e1f819bdd97d486", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96972, "upload_time": "2018-07-08T19:22:30", "url": "https://files.pythonhosted.org/packages/3a/43/3d83c9b08c1aa90c4a7a5b4824ab0802d0207ba70394dd8defed43dbfb28/ansible_kernel-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7088d69f5ea3d0aed13730305a068ec3", "sha256": "81cc7cb0c311e836622fdee214af1944f05a9c7e08db04995b704ccccfab634b" }, "downloads": -1, "filename": "ansible-kernel-0.4.1.tar.gz", "has_sig": false, "md5_digest": "7088d69f5ea3d0aed13730305a068ec3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88154, "upload_time": "2018-07-08T19:22:31", "url": "https://files.pythonhosted.org/packages/c2/6b/f6011dab3c7acfd5e7fd56f331d6af3a03c268ae46e3fc3e245390d3e3a6/ansible-kernel-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "95ddbe8128b43e2be96dfe5602438cc3", "sha256": "e4199c66750a48cbd577198122d525bf6d283cd1411c793785854cfbd19360c9" }, "downloads": -1, "filename": "ansible_kernel-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95ddbe8128b43e2be96dfe5602438cc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 97080, "upload_time": "2018-07-09T15:11:48", "url": "https://files.pythonhosted.org/packages/3a/a3/06163ca89fba828f45c513472f20183f4dcd64a51cd26b7c88379a281283/ansible_kernel-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00749a339e3b5cd1cf3b1f4029203b63", "sha256": "87eb28eff03d46ddae31c298b776b0631ec02dd1a03bd6dd69c2d95750c2dcc2" }, "downloads": -1, "filename": "ansible-kernel-0.4.2.tar.gz", "has_sig": false, "md5_digest": "00749a339e3b5cd1cf3b1f4029203b63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88275, "upload_time": "2018-07-09T15:11:49", "url": "https://files.pythonhosted.org/packages/e8/6d/6738729ca6dff60cc3bee312f6a69491f2c6b69fa3824752c67fa47c77bf/ansible-kernel-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "3c3547f3250f87b550c5dc4c5c7d5ab1", "sha256": "21b56ff5f1edd1b6de18c6a135d30910660e4440cffcd9adcda79c9b078460b0" }, "downloads": -1, "filename": "ansible_kernel-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3c3547f3250f87b550c5dc4c5c7d5ab1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 97341, "upload_time": "2018-07-10T18:28:28", "url": "https://files.pythonhosted.org/packages/49/c6/f2ae70a578bbe1300e61a348ca47c5f9620f0d9386548cc8e66141e96809/ansible_kernel-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "740440325151221a1db3772c7636c3aa", "sha256": "f2c2e47da3923b469e18424435747a04edee5ae1aeb3b3ad4cb5bcc9fa161eeb" }, "downloads": -1, "filename": "ansible-kernel-0.5.0.tar.gz", "has_sig": false, "md5_digest": "740440325151221a1db3772c7636c3aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88524, "upload_time": "2018-07-10T18:28:29", "url": "https://files.pythonhosted.org/packages/e9/b1/536bdac9a8fecfafe6d31afad395159b7fc164a28f9c719f0a709db2a1e9/ansible-kernel-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "2c1106adcb08933dbe0775536b1a6096", "sha256": "4a3ef7141fe96968854b610d44fe9677a7d023506ba1401be7a3204521e05f00" }, "downloads": -1, "filename": "ansible_kernel-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2c1106adcb08933dbe0775536b1a6096", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 100290, "upload_time": "2018-07-16T17:13:32", "url": "https://files.pythonhosted.org/packages/08/f2/386194767289c7f771788e46ad491a805be080d770591843705cc3351fe8/ansible_kernel-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "201b6d65a98987d6fdf91253cd6410b4", "sha256": "2bc7379af6a586ddd04c9f1298304f27fab0a779842a7893de0a6143f9677c4f" }, "downloads": -1, "filename": "ansible-kernel-0.6.0.tar.gz", "has_sig": false, "md5_digest": "201b6d65a98987d6fdf91253cd6410b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90622, "upload_time": "2018-07-16T17:13:33", "url": "https://files.pythonhosted.org/packages/2a/9f/d558e954ab40955293b49ffbdd4bc8a357267391fe907df26af65a1f9d00/ansible-kernel-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "7d1874868aec485b55b2702b048e8480", "sha256": "04afdc2997aae7ee3ef7e7f7cd0e87c313063ae0a44e413a910ed9b2cecf227d" }, "downloads": -1, "filename": "ansible_kernel-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d1874868aec485b55b2702b048e8480", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 100341, "upload_time": "2018-07-31T14:33:01", "url": "https://files.pythonhosted.org/packages/a8/24/3f4e896becf240432f75fa64acfd385056d9151adc37c462391a5ccfed80/ansible_kernel-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7343d5dde6f656bcbec38b56acb1719", "sha256": "aa17de42e3c16660155c5d459c5aa00f915774160f26290b559fd1515c458bf2" }, "downloads": -1, "filename": "ansible-kernel-0.7.0.tar.gz", "has_sig": false, "md5_digest": "c7343d5dde6f656bcbec38b56acb1719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90680, "upload_time": "2018-07-31T14:33:05", "url": "https://files.pythonhosted.org/packages/e6/18/89c1d8a842ca1457a00f966b986b949bd18e347b116e6713db9ea6c3170e/ansible-kernel-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "6b6b4d86481aa7030c7bb53d8541c77b", "sha256": "05e45dbb379fe1da46b6a0347c79f433bf1947b187cb4dfe001393bf87907d30" }, "downloads": -1, "filename": "ansible_kernel-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b6b4d86481aa7030c7bb53d8541c77b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 104026, "upload_time": "2018-08-17T14:49:57", "url": "https://files.pythonhosted.org/packages/9d/c1/09843feeb9bd9369a8b7492ee85f50381e54d0dec8e5d0f94fbec6f82a7f/ansible_kernel-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14cb3db473a3710b1f1e6fdd73c23cf0", "sha256": "e63a5225327f8670c379871cf67154f953bf0d17d35c064dde159f4eeda7f466" }, "downloads": -1, "filename": "ansible-kernel-0.8.0.tar.gz", "has_sig": false, "md5_digest": "14cb3db473a3710b1f1e6fdd73c23cf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93960, "upload_time": "2018-08-17T14:49:59", "url": "https://files.pythonhosted.org/packages/a4/fc/a78df8e0c8636bbd8539d7b78cc42a4f1fe94045f3d42dd5fee252265216/ansible-kernel-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "9e14ccb2cf1df8256feb35a0f1a11cbc", "sha256": "3efbd4983591a4ef13cdb7a32817c25aaf44b3fa96fe765066864f56ad069aef" }, "downloads": -1, "filename": "ansible_kernel-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e14ccb2cf1df8256feb35a0f1a11cbc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 104701, "upload_time": "2018-12-12T18:30:14", "url": "https://files.pythonhosted.org/packages/81/c2/43de1d0e6572b3b54b8b710da2c6cadc1b558540a09cff8f1248cb89d09a/ansible_kernel-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2591945eca806e829d61573d68c4f54a", "sha256": "a59039a1724c0f4f4435316e2ad3383f2328ae61f190e74414a66cc8c4637636" }, "downloads": -1, "filename": "ansible-kernel-0.9.0.tar.gz", "has_sig": false, "md5_digest": "2591945eca806e829d61573d68c4f54a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94620, "upload_time": "2018-12-12T18:30:16", "url": "https://files.pythonhosted.org/packages/6d/df/6b3e5f035d50ba6a5191c933aa91dba98c362b2b497f07cf7e303878d295/ansible-kernel-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9e14ccb2cf1df8256feb35a0f1a11cbc", "sha256": "3efbd4983591a4ef13cdb7a32817c25aaf44b3fa96fe765066864f56ad069aef" }, "downloads": -1, "filename": "ansible_kernel-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e14ccb2cf1df8256feb35a0f1a11cbc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 104701, "upload_time": "2018-12-12T18:30:14", "url": "https://files.pythonhosted.org/packages/81/c2/43de1d0e6572b3b54b8b710da2c6cadc1b558540a09cff8f1248cb89d09a/ansible_kernel-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2591945eca806e829d61573d68c4f54a", "sha256": "a59039a1724c0f4f4435316e2ad3383f2328ae61f190e74414a66cc8c4637636" }, "downloads": -1, "filename": "ansible-kernel-0.9.0.tar.gz", "has_sig": false, "md5_digest": "2591945eca806e829d61573d68c4f54a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94620, "upload_time": "2018-12-12T18:30:16", "url": "https://files.pythonhosted.org/packages/6d/df/6b3e5f035d50ba6a5191c933aa91dba98c362b2b497f07cf7e303878d295/ansible-kernel-0.9.0.tar.gz" } ] }