first commit
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: pop
|
||||
Version: 15
|
||||
Summary: The Plugin Oriented Programming System
|
||||
Home-page: https://saltstack.com
|
||||
Author: Thomas S Hatch
|
||||
Author-email: thatch@saltstack.com
|
||||
License: UNKNOWN
|
||||
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
|
||||
Requires-Dist: pop-config (>=6.11)
|
||||
Requires-Dist: dict-toolbox
|
||||
Requires-Dist: PyYAML
|
||||
Requires-Dist: msgpack
|
||||
|
||||
====
|
||||
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!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user