Metadata-Version: 1.2
Name: pop
Version: 14.1
Summary: The Plugin Oriented Programming System
Home-page: https://saltstack.com
Author: Thomas S Hatch
Author-email: thatch@saltstack.com
License: UNKNOWN
Description: ====
        POP
        ====
        
        Pop is used to express the Plugin Oriented Programming Paradigm. The Plugin
        Oriented Programming Paradigm has been designed to make pluggable software
        easy to write and easy to extend.
        
        Plugin Oriented Programming presents a new way to scale development teams
        and deliver complex software. This is done by making the applications entirely
        out of plugins, and also making the applications themselves natively pluggable
        with each other.
        
        Using Plugin Oriented Programming it then becomes easy to have the best of both
        worlds, software can be build in small pieces, making development easier to
        maintain. But the small pieces can then be merged and deployed in a single
        binary, making code deployment easy as well.
        
        All this using Python, one of the world's most popular and powerful programming
        language.
        
        Getting Started
        ===============
        
        A more complete Getting Started Guide is available inside of the documentation
        for `pop`. The best place to start is in the doc's Getting Started Guide found
        here:
        
        https://pop.readthedocs.io
        
        First off, install `pop` from pypi:
        
        .. code-block:: bash
        
            pip3 install pop
        
        Now that you have `pop`, use the tool that `pop` ships with to bootstrap your
        project! This tool is called `pop-seed` and it will make your Python project
        boiler plate for you!
        
        .. code-block:: bash
        
            mkdir poppy
            cd poppy
            pop-seed poppy
        
        Now you have a `setup.py` file will detect changes to you project and "Just Work".
        Feel free to open it up and fill in some of the blank places, like author name,
        description, etc. The `pop-seed` program also made your first directories, your
        `run.py` startup script, everything you need to install your project and the `pop`
        `conf.py` file used to load in configuration. Running `pop-seed` also made a few
        other files, but nothing to worry about now.
        
        Congratulations! You have a `pop` project! Now you can run the project:
        
        .. code-block:: bash
        
            python3 run.py
        
        With a project up and running you can now add more plugins, more code and more
        plugin subsystems!
        
        What Happened?
        ==============
        
        Take a look at the `poppy/poppy/init.py` file, your little `run.py` script
        created the `hub`, loaded your first plugin subsystem, `poppy` and called
        the run function therein. This is the starting point for your app.
        
        Next dive into the `pop` documentation, we will take you through how to
        think in Plugin Oriented Programming, helping you see a new way to write
        code that is more flexible and dynamic than anything you have seen before!
        
        Single Binary
        =============
        
        In the first few sentences of this document I promised you a single binary!
        This is easy to do! Just pip install `tiamat`:
        
        .. code-block:: bash
        
            pip install tiamat
            tiamat -n poppy
        
        This will build a single binary of your program! If something goes wrong it
        is most likely because PyInstaller does not support the latest version of
        Python yet. To fix this you can usually just run `tiamat` with the
        `--dev-pyinst` to build the binary with the latest development snapshot
        of PyInstaller.
        
        Documentation
        =============
        
        Check out the docs at:
        
        https://pop.readthedocs.io
        
        There is a much more in depth tutorial here, followed by documents on how to
        think in Plugin Oriented Programming. Take your time to read it, it is not long
        and can change how you look at writing software!
        
Platform: UNKNOWN
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.6
