pop-create-idem


Namepop-create-idem JSON
Version 4.5.1 PyPI version JSON
download
home_pagehttps://docs.idemproject.io/pop-create-idem/en/latest/index.html
Summary
upload_time2023-10-11 13:37:48
maintainer
docs_urlNone
authorVMware, Inc.
requires_python>=3.8
licenseApache Software License 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===============
pop-create-idem
===============

.. image:: https://img.shields.io/badge/made%20with-pop-teal
   :alt: Made with pop, a Python implementation of Plugin Oriented Programming
   :target: https://pop.readthedocs.io/

.. image:: https://img.shields.io/badge/made%20with-idem-teal
   :alt: Made with idem, a Python implementation of Plugin Oriented Programming
   :target: https://www.idemproject.io/

.. image:: https://img.shields.io/badge/docs%20on-docs.idemproject.io-blue
   :alt: Documentation is published with Sphinx on docs.idemproject.io
   :target: https://docs.idemproject.io/pop-create-idem/en/latest/index.html

.. image:: https://img.shields.io/badge/made%20with-python-yellow
   :alt: Made with Python
   :target: https://www.python.org/

About
+++++

`pop-create-idem` is an extension of `pop-create` that creates boilerplate code for new `idem-cloud` projects. `pop-create-idem` includes code that transforms a CloudSpec dictionary into idem states, tools, and exec modules. Your unique `pop_create` plugin's purpose is to convert API documentation into the CloudSpec format.

**Note**: It is recommended that you use a Python virtual environment when creating a new Idem provider plugin.


Getting Started
+++++++++++++++

Before you start, ensure that you installed Python 3.8 or later. If you are running 3.7 or earlier, you might need to use `python3` instead of `python` in the commands in the rest of this tutorial.

To verify your Python version, run the following command:

.. code-block:: bash

    python -V

Next, create your virtual environment:

.. code-block:: bash

    python -m venv env
    source env/bin/activate

Now you should be in your new Python virtual environment.

Update pip
==========

Next, update to the latest version of `pip` inside your virtual environment:

.. code-block:: bash

    pip install -U pip


Install dependencies
====================

Next, you need to install `pop-create`:

.. code-block:: bash

    pip install pop-create


You now have access to the `pop-create` command for creating Idem plugins.

Install pop-create-idem
=======================

Install `pop-create-idem` with `pip` from the project root:

.. code-block:: bash

    pip install -e {project_root}

Next, install `pop-create-idem` with `pip` from PyPi:

.. code-block:: bash

    pip install pop-create-idem


Generate an Idem Cloud plugin
+++++++++++++++++++++++++++++

Now you are ready to run pop-create to generate an Idem plugin. You can generate a skeleton project
to write exec and state modules for your cloud manually or completely auto-generate your plugin based
on your cloud OpenAPI or Swagger specification.

Skeleton plugin
===============

To generate a new skeleton Idem Cloud plugin, run the following command:

.. code-block:: bash

    pop-create idem-cloud --directory /path/to/new/project --project-name=idem-{my_cloud} --simple_cloud_name={my_cloud} --author={company_name}

This command creates a new project with the directory structure needed to get started with your plugin.

See `Create Idem Provider Plugin <https://docs.idemproject.io/idem/en/latest/developer/tutorials/create-provider-plugin/>`_
for information about developing an Idem plugin.

Swagger specification
=====================

To generate a new Idem plugin with a Swagger specification, run the following command:

.. code-block:: bash

    pop-create swagger --directory /path/to/new/project --specification={swagger-spec-yaml-or-accessible-swagger-spec-json-url} --project-name=idem-{my_cloud} --simple_cloud_name={my_cloud} --author={company_name}

OpenAPI3 specification
======================

To generate a new Idem plugin project with an OpenAPI3 specification, run the following command:

.. code-block:: bash

    pop-create openapi3 --directory /path/to/new/project --specification={openapi3-spec-yaml-or-accessible-openapi3-spec-json-url} --project-name=idem-{my_cloud} --simple_cloud_name={my_cloud} --author={company_name}


This command creates a new project with the boilerplate code needed to get started with each respective cloud provider.

Next steps
++++++++++

After you generate your Idem plugin:

* Configure the plugin for your provider. See the `quickstart <https://docs.idemproject.io/pop-create-idem/en/latest/tutorial/quickstart.html>`_ for instructions.
* Try the example Swagger petstore tutorial `Auto-generate an Idem plugin from Swagger <https://docs.idemproject.io/pop-create-idem/en/latest/tutorial/swagger_example.html>`_, which walks you through generating an Idem plugin with a Swagger specification.

            

Raw data

            {
    "_id": null,
    "home_page": "https://docs.idemproject.io/pop-create-idem/en/latest/index.html",
    "name": "pop-create-idem",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "VMware, Inc.",
    "author_email": "idemproject@vmware.com",
    "download_url": "https://files.pythonhosted.org/packages/d4/52/3ca03bcf4b13e635f9e32f884d42c452e5f5758db39fd2f695f955609195/pop-create-idem-4.5.1.tar.gz",
    "platform": null,
    "description": "===============\npop-create-idem\n===============\n\n.. image:: https://img.shields.io/badge/made%20with-pop-teal\n   :alt: Made with pop, a Python implementation of Plugin Oriented Programming\n   :target: https://pop.readthedocs.io/\n\n.. image:: https://img.shields.io/badge/made%20with-idem-teal\n   :alt: Made with idem, a Python implementation of Plugin Oriented Programming\n   :target: https://www.idemproject.io/\n\n.. image:: https://img.shields.io/badge/docs%20on-docs.idemproject.io-blue\n   :alt: Documentation is published with Sphinx on docs.idemproject.io\n   :target: https://docs.idemproject.io/pop-create-idem/en/latest/index.html\n\n.. image:: https://img.shields.io/badge/made%20with-python-yellow\n   :alt: Made with Python\n   :target: https://www.python.org/\n\nAbout\n+++++\n\n`pop-create-idem` is an extension of `pop-create` that creates boilerplate code for new `idem-cloud` projects. `pop-create-idem` includes code that transforms a CloudSpec dictionary into idem states, tools, and exec modules. Your unique `pop_create` plugin's purpose is to convert API documentation into the CloudSpec format.\n\n**Note**: It is recommended that you use a Python virtual environment when creating a new Idem provider plugin.\n\n\nGetting Started\n+++++++++++++++\n\nBefore you start, ensure that you installed Python 3.8 or later. If you are running 3.7 or earlier, you might need to use `python3` instead of `python` in the commands in the rest of this tutorial.\n\nTo verify your Python version, run the following command:\n\n.. code-block:: bash\n\n    python -V\n\nNext, create your virtual environment:\n\n.. code-block:: bash\n\n    python -m venv env\n    source env/bin/activate\n\nNow you should be in your new Python virtual environment.\n\nUpdate pip\n==========\n\nNext, update to the latest version of `pip` inside your virtual environment:\n\n.. code-block:: bash\n\n    pip install -U pip\n\n\nInstall dependencies\n====================\n\nNext, you need to install `pop-create`:\n\n.. code-block:: bash\n\n    pip install pop-create\n\n\nYou now have access to the `pop-create` command for creating Idem plugins.\n\nInstall pop-create-idem\n=======================\n\nInstall `pop-create-idem` with `pip` from the project root:\n\n.. code-block:: bash\n\n    pip install -e {project_root}\n\nNext, install `pop-create-idem` with `pip` from PyPi:\n\n.. code-block:: bash\n\n    pip install pop-create-idem\n\n\nGenerate an Idem Cloud plugin\n+++++++++++++++++++++++++++++\n\nNow you are ready to run pop-create to generate an Idem plugin. You can generate a skeleton project\nto write exec and state modules for your cloud manually or completely auto-generate your plugin based\non your cloud OpenAPI or Swagger specification.\n\nSkeleton plugin\n===============\n\nTo generate a new skeleton Idem Cloud plugin, run the following command:\n\n.. code-block:: bash\n\n    pop-create idem-cloud --directory /path/to/new/project --project-name=idem-{my_cloud} --simple_cloud_name={my_cloud} --author={company_name}\n\nThis command creates a new project with the directory structure needed to get started with your plugin.\n\nSee `Create Idem Provider Plugin <https://docs.idemproject.io/idem/en/latest/developer/tutorials/create-provider-plugin/>`_\nfor information about developing an Idem plugin.\n\nSwagger specification\n=====================\n\nTo generate a new Idem plugin with a Swagger specification, run the following command:\n\n.. code-block:: bash\n\n    pop-create swagger --directory /path/to/new/project --specification={swagger-spec-yaml-or-accessible-swagger-spec-json-url} --project-name=idem-{my_cloud} --simple_cloud_name={my_cloud} --author={company_name}\n\nOpenAPI3 specification\n======================\n\nTo generate a new Idem plugin project with an OpenAPI3 specification, run the following command:\n\n.. code-block:: bash\n\n    pop-create openapi3 --directory /path/to/new/project --specification={openapi3-spec-yaml-or-accessible-openapi3-spec-json-url} --project-name=idem-{my_cloud} --simple_cloud_name={my_cloud} --author={company_name}\n\n\nThis command creates a new project with the boilerplate code needed to get started with each respective cloud provider.\n\nNext steps\n++++++++++\n\nAfter you generate your Idem plugin:\n\n* Configure the plugin for your provider. See the `quickstart <https://docs.idemproject.io/pop-create-idem/en/latest/tutorial/quickstart.html>`_ for instructions.\n* Try the example Swagger petstore tutorial `Auto-generate an Idem plugin from Swagger <https://docs.idemproject.io/pop-create-idem/en/latest/tutorial/swagger_example.html>`_, which walks you through generating an Idem plugin with a Swagger specification.\n",
    "bugtrack_url": null,
    "license": "Apache Software License 2.0",
    "summary": "",
    "version": "4.5.1",
    "project_urls": {
        "Code": "https://gitlab.com/vmware/idem/pop-create-idem",
        "Homepage": "https://docs.idemproject.io/pop-create-idem/en/latest/index.html",
        "Issue tracker": "https://gitlab.com/vmware/idem/pop-create-idem/-/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "pypi",
            "digests": {
                "blake2b_256": "a06d4d56508e3b809e2fb818eabf2f17ba45f58c9c615fc3318202842d19334f",
                "md5": "dd60ce8675d2789d5207d1f18cec5bc0",
                "sha256": "fa9c03be8ea9dcae0b595e3b0fec88463ddbc49c26d65317217c682af1c1ab50"
            },
            "downloads": -1,
            "filename": "pop_create_idem-4.5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dd60ce8675d2789d5207d1f18cec5bc0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 86460,
            "upload_time": "2023-10-11T13:37:46",
            "upload_time_iso_8601": "2023-10-11T13:37:46.896580Z",
            "url": "https://files.pythonhosted.org/packages/a0/6d/4d56508e3b809e2fb818eabf2f17ba45f58c9c615fc3318202842d19334f/pop_create_idem-4.5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "pypi",
            "digests": {
                "blake2b_256": "d4523ca03bcf4b13e635f9e32f884d42c452e5f5758db39fd2f695f955609195",
                "md5": "c6117c5c9fe546b259ac9f5ebf27583b",
                "sha256": "2692dea3eb770fe7584d361b51d88ed29c5b04cd801d3eca5ec8a3586c3d430e"
            },
            "downloads": -1,
            "filename": "pop-create-idem-4.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c6117c5c9fe546b259ac9f5ebf27583b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 51322,
            "upload_time": "2023-10-11T13:37:48",
            "upload_time_iso_8601": "2023-10-11T13:37:48.439084Z",
            "url": "https://files.pythonhosted.org/packages/d4/52/3ca03bcf4b13e635f9e32f884d42c452e5f5758db39fd2f695f955609195/pop-create-idem-4.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-11 13:37:48",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "vmware",
    "gitlab_project": "idem",
    "lcname": "pop-create-idem"
}
        
Elapsed time: 0.18030s