==========
pop-create
==========
.. 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/docs%20on-vmware.gitlab.io-blue
:alt: Documentation is published with Sphinx on GitLab Pages via vmware.gitlab.io
:target: https://vmware.gitlab.io/pop/pop-create/en/latest/index.html
.. image:: https://img.shields.io/badge/made%20with-python-yellow
:alt: Made with Python
:target: https://www.python.org/
Create new ``pop`` projects.
About
=====
``pop-create`` will initialize a new ``pop`` project.
.. note::
``pop-create`` was originally an internal function of the pop project named
``pop-seed.``
* `pop-create source code <https://gitlab.com/vmware/pop/pop-create>`__
* `pop-create documentation <https://vmware.gitlab.io/pop/pop-create/en/latest/index.html>`__
What is POP?
------------
This project is built with `pop <https://pop.readthedocs.io/>`__, a Python-based
implementation of *Plugin Oriented Programming (POP)*. POP seeks to bring
together concepts and wisdom from the history of computing in new ways to solve
modern computing problems.
For more information:
* `Intro to Plugin Oriented Programming (POP) <https://pop-book.readthedocs.io/en/latest/>`__
* `pop-awesome <https://gitlab.com/vmware/pop/pop-awesome>`__
Geting Started
==============
.. code-block:: bash
pip3 install pop-create
Now that you have pop-create installed you can run:
.. code-block:: bash
pop-create seed --help
pop-create seed -n poppy
This initial release should have identical functionality as `pop-seed` as
currently provided by the `pop` project.
Dynamic Name Spaces
===================
You can specify dynamic namespaces that your app will extend with "-d".
In this example we extend the dynamic name spaces of "states", "exec", "acct", and "tool";
All common extensions of the `idem` project.
.. code-block:: bash
pop-create seed -n poppy -d exec states acct tool
Vertically App Merged Project
=============================
If your entrypoint will exist in another project, then you are making a vertically app merged project.
For example, if you are extending `idem` to write exec modules or states modules, your project won't have an entrypoint.
The code of your project will be dynamically
extended on top of the namespace of those other tools.
Create a vertically app merged project by adding the `--vertical` flag to `pop-create seed`
.. code-block:: bash
pop-create seed --vertical -n poppy
Tests
=====
Now create the boilerplate code for your project's tests.
This will set your project up with some useful fixtures for testing pop projects and some basic unit/integration tests.
.. code-block:: bash
pop-create tests -n poppy
Docs
====
Now create the boilerplate code for your project's docs.
This will set your project up with a rudimentary docs directory that can be easily added to and built.
.. code-block:: bash
pop-create docs -n poppy
Run all core subparsers
=======================
If no subparser is specified, all the core subparsers (seed, cicd, docs, tests) will be run.
.. code-block:: bash
pop-create -n poppy
Raw data
{
"_id": null,
"home_page": "https://vmware.gitlab.io/pop/pop-create/en/latest/index.html",
"name": "pop-create",
"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/aa/1f/c45e74cc8916bf1c03c30a192ab41bc598ed0f112c982ea54062f2c15e8e/pop_create-8.1.2.tar.gz",
"platform": null,
"description": "==========\npop-create\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/docs%20on-vmware.gitlab.io-blue\n :alt: Documentation is published with Sphinx on GitLab Pages via vmware.gitlab.io\n :target: https://vmware.gitlab.io/pop/pop-create/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\nCreate new ``pop`` projects.\n\nAbout\n=====\n\n``pop-create`` will initialize a new ``pop`` project.\n\n.. note::\n\n ``pop-create`` was originally an internal function of the pop project named\n ``pop-seed.``\n\n* `pop-create source code <https://gitlab.com/vmware/pop/pop-create>`__\n* `pop-create documentation <https://vmware.gitlab.io/pop/pop-create/en/latest/index.html>`__\n\nWhat is POP?\n------------\n\nThis project is built with `pop <https://pop.readthedocs.io/>`__, a Python-based\nimplementation of *Plugin Oriented Programming (POP)*. POP seeks to bring\ntogether concepts and wisdom from the history of computing in new ways to solve\nmodern computing problems.\n\nFor more information:\n\n* `Intro to Plugin Oriented Programming (POP) <https://pop-book.readthedocs.io/en/latest/>`__\n* `pop-awesome <https://gitlab.com/vmware/pop/pop-awesome>`__\n\nGeting Started\n==============\n\n.. code-block:: bash\n\n pip3 install pop-create\n\nNow that you have pop-create installed you can run:\n\n\n.. code-block:: bash\n\n pop-create seed --help\n pop-create seed -n poppy\n\n\nThis initial release should have identical functionality as `pop-seed` as\ncurrently provided by the `pop` project.\n\nDynamic Name Spaces\n===================\n\nYou can specify dynamic namespaces that your app will extend with \"-d\".\nIn this example we extend the dynamic name spaces of \"states\", \"exec\", \"acct\", and \"tool\";\nAll common extensions of the `idem` project.\n\n.. code-block:: bash\n\n pop-create seed -n poppy -d exec states acct tool\n\nVertically App Merged Project\n=============================\n\nIf your entrypoint will exist in another project, then you are making a vertically app merged project.\nFor example, if you are extending `idem` to write exec modules or states modules, your project won't have an entrypoint.\nThe code of your project will be dynamically\nextended on top of the namespace of those other tools.\n\nCreate a vertically app merged project by adding the `--vertical` flag to `pop-create seed`\n\n.. code-block:: bash\n\n pop-create seed --vertical -n poppy\n\nTests\n=====\n\nNow create the boilerplate code for your project's tests.\nThis will set your project up with some useful fixtures for testing pop projects and some basic unit/integration tests.\n\n.. code-block:: bash\n\n pop-create tests -n poppy\n\n\nDocs\n====\n\nNow create the boilerplate code for your project's docs.\nThis will set your project up with a rudimentary docs directory that can be easily added to and built.\n\n.. code-block:: bash\n\n pop-create docs -n poppy\n\nRun all core subparsers\n=======================\n\nIf no subparser is specified, all the core subparsers (seed, cicd, docs, tests) will be run.\n\n.. code-block:: bash\n\n pop-create -n poppy\n\n\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "Create new pop projects",
"version": "8.1.2",
"project_urls": {
"Code": "https://gitlab.com/vmware/pop/pop-create",
"Homepage": "https://vmware.gitlab.io/pop/pop-create/en/latest/index.html",
"Issue tracker": "https://gitlab.com/vmware/pop/pop-create/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "pypi",
"digests": {
"blake2b_256": "652eccc5dce94d04653b88839821818baed6a5daec2c736aacf3fd2c9faf1fb8",
"md5": "ae1f028dc82d2f2f7ae512b2125de42f",
"sha256": "88f60e14a648a26b0905dab17732b4982aa7a3ff9d1f5c205e35de70d9d7ec69"
},
"downloads": -1,
"filename": "pop_create-8.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ae1f028dc82d2f2f7ae512b2125de42f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 49229,
"upload_time": "2023-08-23T11:26:44",
"upload_time_iso_8601": "2023-08-23T11:26:44.126459Z",
"url": "https://files.pythonhosted.org/packages/65/2e/ccc5dce94d04653b88839821818baed6a5daec2c736aacf3fd2c9faf1fb8/pop_create-8.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "pypi",
"digests": {
"blake2b_256": "aa1fc45e74cc8916bf1c03c30a192ab41bc598ed0f112c982ea54062f2c15e8e",
"md5": "557e953c8e01efb49542406564082479",
"sha256": "f388568e34d4268d85f4a1f09a45027d5235e816368bfba668ada1dafc928d28"
},
"downloads": -1,
"filename": "pop_create-8.1.2.tar.gz",
"has_sig": false,
"md5_digest": "557e953c8e01efb49542406564082479",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 38527,
"upload_time": "2023-08-23T11:26:45",
"upload_time_iso_8601": "2023-08-23T11:26:45.593826Z",
"url": "https://files.pythonhosted.org/packages/aa/1f/c45e74cc8916bf1c03c30a192ab41bc598ed0f112c982ea54062f2c15e8e/pop_create-8.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-23 11:26:45",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "vmware",
"gitlab_project": "pop",
"lcname": "pop-create"
}