========
pop-tree
========
.. 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-tree/en/latest/index.html
.. image:: https://img.shields.io/badge/made%20with-python-yellow
:alt: Made with Python
:target: https://www.python.org/
**POP structure visualization tool**
About
=====
Visualize POP hub/sub structures with ``pop-tree``, and view embedded rst content
with ``pop-doc``.
* `pop-tree source code <https://gitlab.com/vmware/pop/pop-tree>`__
* `pop-tree documentation <https://vmware.gitlab.io/pop/pop-tree/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>`__
* `pop-create <https://gitlab.com/vmware/pop/pop-create/>`__
Getting Started
===============
Prerequisites
-------------
* Python 3.8+
* git *(if installing from source, or contributing to the project)*
Installation
------------
.. note::
If wanting to contribute to the project, and setup your local development
environment, see the ``CONTRIBUTING.rst`` document in the source repository
for this project.
If wanting to use ``pop-tree``, you can do so by either
installing from PyPI or from source.
Install from PyPI
+++++++++++++++++
Bare installation with no dependencies
.. code-block:: bash
pip install pop-tree
Installation for pretty yaml output
.. code-block:: bash
pip install pop-tree\[rend\]
Installation for incredible graphs
.. code-block:: bash
pip install pop-tree\[networkx\]
Install everything
.. code-block:: bash
pip install pop-tree\[full\]
Install from source
+++++++++++++++++++
.. code-block:: bash
# clone repo
git clone git@<your-project-path>/pop-tree.git
cd pop-tree
# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .\[full\]
Pop-doc
=======
Another cli tool that comes with pop-tree is pop-doc.
You can use this to grab the documentation for specific references on the hub.
.. code-block:: bash
pop-doc tree.init.refs
output:
.. code-block:: yaml
ref:
tree.init.refs
doc:
Return all the references available on the hub by reference first
contracts:
pre:
call:
post:
parameters:
hub:
tree:
annotation:
typing.Dict[str, typing.Any]
return_annotation:
EXECUTION
=========
After installation the `pop-tree` command should also be available.
Pop tree will add all dynamic namespaces in your current python environment to the hub.
.. code-block:: bash
pop-tree exec
OUTPUT
------
If you installed pop-tree with the [rend] extras, then `--output` can be used to specify an outputter from the `rend` project
To see which outputters are available, just run
.. code-block:: bash
pop-tree output
Which will dynamically load the `output` dynamic namespace from the `rend` project and print the subs loaded immediately beneath it.
.. code-block:: bash
pop-tree --output nested
GRAPH
-----
There are many different graphing plugins, some print to the terminal, and some open a shiny graph in a new window.
To list the available graphing plugins, run
.. code-block:: bash
pop-tree graph
A graph plugin can be specified with the `--graph` option.
.. code-block:: bash
pop-tree --graph networkx
Which should print off a beautiful matplotlib plot to visualize your pop ecosystem.
Use these arguments together to create impressive visuals for your project.
.. image:: hub.png
Roadmap
=======
Reference the `open issues <https://gitlab.com/vmware/pop/pop-tree/issues>`__ for a list of
proposed features (and known issues).
Acknowledgements
================
* `Img Shields <https://shields.io>`__ for making repository badges easy.
Raw data
{
"_id": null,
"home_page": "https://vmware.gitlab.io/pop/pop-tree/en/latest/index.html",
"name": "pop-tree",
"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/c4/dc/0ee3005c8324d05c89731df5a79112a68194b73c8ab5544102fe7d7ac027/pop-tree-12.1.1.tar.gz",
"platform": null,
"description": "========\npop-tree\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-tree/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\n**POP structure visualization tool**\n\nAbout\n=====\n\nVisualize POP hub/sub structures with ``pop-tree``, and view embedded rst content\nwith ``pop-doc``.\n\n* `pop-tree source code <https://gitlab.com/vmware/pop/pop-tree>`__\n* `pop-tree documentation <https://vmware.gitlab.io/pop/pop-tree/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* `pop-create <https://gitlab.com/vmware/pop/pop-create/>`__\n\nGetting Started\n===============\n\nPrerequisites\n-------------\n\n* Python 3.8+\n* git *(if installing from source, or contributing to the project)*\n\nInstallation\n------------\n\n.. note::\n\n If wanting to contribute to the project, and setup your local development\n environment, see the ``CONTRIBUTING.rst`` document in the source repository\n for this project.\n\nIf wanting to use ``pop-tree``, you can do so by either\ninstalling from PyPI or from source.\n\nInstall from PyPI\n+++++++++++++++++\n\nBare installation with no dependencies\n\n.. code-block:: bash\n\n pip install pop-tree\n\nInstallation for pretty yaml output\n\n.. code-block:: bash\n\n pip install pop-tree\\[rend\\]\n\nInstallation for incredible graphs\n\n.. code-block:: bash\n\n pip install pop-tree\\[networkx\\]\n\nInstall everything\n\n.. code-block:: bash\n\n pip install pop-tree\\[full\\]\n\nInstall from source\n+++++++++++++++++++\n\n.. code-block:: bash\n\n # clone repo\n git clone git@<your-project-path>/pop-tree.git\n cd pop-tree\n\n # Setup venv\n python3 -m venv .venv\n source .venv/bin/activate\n pip install -e .\\[full\\]\n\nPop-doc\n=======\n\nAnother cli tool that comes with pop-tree is pop-doc.\nYou can use this to grab the documentation for specific references on the hub.\n\n.. code-block:: bash\n\n pop-doc tree.init.refs\n\noutput:\n\n.. code-block:: yaml\n\n ref:\n tree.init.refs\n doc:\n Return all the references available on the hub by reference first\n contracts:\n pre:\n call:\n post:\n parameters:\n hub:\n tree:\n\n annotation:\n typing.Dict[str, typing.Any]\n\n return_annotation:\n\n\nEXECUTION\n=========\n\nAfter installation the `pop-tree` command should also be available.\nPop tree will add all dynamic namespaces in your current python environment to the hub.\n\n\n.. code-block:: bash\n\n pop-tree exec\n\n\nOUTPUT\n------\n\nIf you installed pop-tree with the [rend] extras, then `--output` can be used to specify an outputter from the `rend` project\nTo see which outputters are available, just run\n\n.. code-block:: bash\n\n pop-tree output\n\nWhich will dynamically load the `output` dynamic namespace from the `rend` project and print the subs loaded immediately beneath it.\n\n.. code-block:: bash\n\n pop-tree --output nested\n\nGRAPH\n-----\n\nThere are many different graphing plugins, some print to the terminal, and some open a shiny graph in a new window.\nTo list the available graphing plugins, run\n\n.. code-block:: bash\n\n pop-tree graph\n\nA graph plugin can be specified with the `--graph` option.\n\n.. code-block:: bash\n\n pop-tree --graph networkx\n\nWhich should print off a beautiful matplotlib plot to visualize your pop ecosystem.\nUse these arguments together to create impressive visuals for your project.\n\n.. image:: hub.png\n\nRoadmap\n=======\n\nReference the `open issues <https://gitlab.com/vmware/pop/pop-tree/issues>`__ for a list of\nproposed features (and known issues).\n\nAcknowledgements\n================\n\n* `Img Shields <https://shields.io>`__ for making repository badges easy.\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "Visualize POP hub/sub structures",
"version": "12.1.1",
"project_urls": {
"Code": "https://gitlab.com/vmware/pop/pop-tree",
"Homepage": "https://vmware.gitlab.io/pop/pop-tree/en/latest/index.html",
"Issue tracker": "https://gitlab.com/vmware/pop/pop-tree/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "pypi",
"digests": {
"blake2b_256": "1dec14d351dc5989251173ccaedfbeb1d4f2c538f60278fc8d8e05c33cff287c",
"md5": "e7eef88e19889b30ed32cb9da30e64c8",
"sha256": "0498203b0b2a619e600790e44fdadead095944c4a7347e07a3e52d359189954e"
},
"downloads": -1,
"filename": "pop_tree-12.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e7eef88e19889b30ed32cb9da30e64c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 20666,
"upload_time": "2023-10-21T03:09:16",
"upload_time_iso_8601": "2023-10-21T03:09:16.226078Z",
"url": "https://files.pythonhosted.org/packages/1d/ec/14d351dc5989251173ccaedfbeb1d4f2c538f60278fc8d8e05c33cff287c/pop_tree-12.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "pypi",
"digests": {
"blake2b_256": "c4dc0ee3005c8324d05c89731df5a79112a68194b73c8ab5544102fe7d7ac027",
"md5": "b4edda2a6f1e50bbd9599ca381a555aa",
"sha256": "28d3d1fec8eebd5689510b70c5a922f6a9462b9138965cbf057b4886ba183200"
},
"downloads": -1,
"filename": "pop-tree-12.1.1.tar.gz",
"has_sig": false,
"md5_digest": "b4edda2a6f1e50bbd9599ca381a555aa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 19087,
"upload_time": "2023-10-21T03:09:18",
"upload_time_iso_8601": "2023-10-21T03:09:18.188663Z",
"url": "https://files.pythonhosted.org/packages/c4/dc/0ee3005c8324d05c89731df5a79112a68194b73c8ab5544102fe7d7ac027/pop-tree-12.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-21 03:09:18",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "vmware",
"gitlab_project": "pop",
"lcname": "pop-tree"
}