Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-54-prepare-aria-packaging 4a2e521cc -> 5e4ac68ab (forced update)
ARIA-54 Prepare for ARIA packaging Preparations for ARIA packaging: - Added CHANGELOG file - Added CONTRIBUTING file - Added DISCLAIMER file - Updated Makefile - Converted README from md to rst for PyPI compatiability - Removed outdated TODO file - Added long_description, download_url to setup.py metadata - Modified setup.py url metadata to point at ASF domain - Added more badges to README Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/5e4ac68a Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/5e4ac68a Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/5e4ac68a Branch: refs/heads/ARIA-54-prepare-aria-packaging Commit: 5e4ac68abb9e61ba8cb519693ec60891dcb3605f Parents: 2149a5e Author: Ran Ziv <r...@gigaspaces.com> Authored: Mon Jun 5 13:24:49 2017 +0300 Committer: Ran Ziv <r...@gigaspaces.com> Committed: Thu Jun 15 11:40:30 2017 +0300 ---------------------------------------------------------------------- CHANGELOG.rst | 4 ++ CONTRIBUTING | 3 + DISCLAIMER | 10 ++++ MANIFEST.in | 10 +++- Makefile | 54 +++++++++++------ README.md | 120 -------------------------------------- README.rst | 140 +++++++++++++++++++++++++++++++++++++++++++++ TODO.md | 8 --- docs/conf.py | 3 +- docs/requirements.txt | 4 +- setup.py | 8 ++- 11 files changed, 213 insertions(+), 151 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/CHANGELOG.rst ---------------------------------------------------------------------- diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 0000000..6abb1af --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,4 @@ +0.1.0 +----- + + * Initial release. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/CONTRIBUTING ---------------------------------------------------------------------- diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000..4124003 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,3 @@ +Contribution guide is available on our Confluence: + +https://cwiki.apache.org/confluence/display/ARIATOSCA/Contributing+to+ARIA \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/DISCLAIMER ---------------------------------------------------------------------- diff --git a/DISCLAIMER b/DISCLAIMER new file mode 100644 index 0000000..358d8e1 --- /dev/null +++ b/DISCLAIMER @@ -0,0 +1,10 @@ +Apache AriaTosca is an effort undergoing incubation at the Apache Software +Foundation (ASF), sponsored by the Apache Incubator. + +Incubation is required of all newly accepted projects until a further review +indicates that the infrastructure, communications, and decision making process +have stabilized in a manner consistent with other successful ASF projects. + +While incubation status is not necessarily a reflection of the completeness +or stability of the code, it does indicate that the project has yet to be +fully endorsed by the ASF. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/MANIFEST.in ---------------------------------------------------------------------- diff --git a/MANIFEST.in b/MANIFEST.in index 6c79a3a..877a7dd 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,10 @@ -include requirements.txt -include VERSION +include CONTRIBUTING include LICENSE +include NOTICE +include VERSION +include CHANGELOG.rst +include README.rst +include requirements.txt +recursive-include docs/html * recursive-include examples * +prune docs/html/.doctrees http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/Makefile ---------------------------------------------------------------------- diff --git a/Makefile b/Makefile index 3bafd3b..75ca221 100644 --- a/Makefile +++ b/Makefile @@ -13,34 +13,54 @@ # See the License for the specific language governing permissions and # limitations under the License. -EXTENSIONS=extensions -DOCS=docs -HTML=docs/html +EXTENSIONS = ./extensions +DIST = ./dist +DOCS = ./docs +HTML = ./docs/html +EASY_INSTALL_PTH = $(VIRTUAL_ENV)/lib/python2.7/site-packages/easy-install.pth +PYTHON_VERSION = $$(python -V 2>&1 | cut -f2 -d' ' | cut -f1,2 -d'.' --output-delimiter='') -.PHONY: clean aria-requirements docs-requirements docs .DEFAULT_GOAL = test +.PHONY: clean install install-virtual docs test dist deploy clean: - rm -rf "$(HTML)" .tox .coverage* + rm -rf "$(DIST)" "$(HTML)" .tox .coverage* -find . -type f -name '.coverage' -delete -find . -type d -name '.coverage' -exec rm -rf {} \; 2>/dev/null -find . -type d -name '*.egg-info' -exec rm -rf {} \; 2>/dev/null install: - pip install --upgrade . + pip install . -requirements: - pip install --upgrade --requirement requirements.txt +install-virtual: + pip install --editable . + + # "pip install --editable" will not add our extensions to the path, so we will patch the virtualenv + EXTENSIONS_PATH="$$(head -n 1 "$(EASY_INSTALL_PTH)")/extensions" && \ + if ! grep -Fxq "$$EXTENSIONS_PATH" "$(EASY_INSTALL_PTH)"; then \ + echo "$$EXTENSIONS_PATH" >> "$(EASY_INSTALL_PTH)"; \ + fi -docs-requirements: - pip install --upgrade --requirement "$(DOCS)/requirements.txt" - -test-requirements: - pip install tox==2.5.0 - -docs: docs-requirements requirements +docs: + pip install --requirement "$(DOCS)/requirements.txt" rm -rf "$(HTML)" sphinx-build -b html "$(DOCS)" "$(HTML)" -test: test-requirements requirements - PYTHONPATH="$(EXTENSIONS):$(PYTHONPATH)" tox +test: + pip install --upgrade "tox>=2.7.0" + tox -e pylint_code + tox -e pylint_tests + tox -e py$(PYTHON_VERSION) + tox -e py$(PYTHON_VERSION)e2e + +dist: docs + python ./setup.py sdist bdist_wheel + +deploy: + pip install --upgrade "twine>=1.9.1" + gpg --detach-sign -a "$(DIST)"/* + twine upload "$(DIST)"/* + +./requirements.txt: ./requirements.in + pip install --upgrade "pip-tools>=1.9.0" + pip-compile --output-file ./requirements.txt ./requirements.in http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md deleted file mode 100644 index 6aee414..0000000 --- a/README.md +++ /dev/null @@ -1,120 +0,0 @@ -ARIA -==== - -[![Build Status](https://img.shields.io/travis/apache/incubator-ariatosca/master.svg)](https://travis-ci.org/apache/incubator-ariatosca) -[![Appveyor Build Status](https://img.shields.io/appveyor/ci/ApacheSoftwareFoundation/incubator-ariatosca/master.svg)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/incubator-ariatosca/history) -[![License](https://img.shields.io/github/license/apache/incubator-ariatosca.svg)](http://www.apache.org/licenses/LICENSE-2.0) -[![PyPI release](https://img.shields.io/pypi/v/ariatosca.svg)](https://pypi.python.org/pypi/ariatosca) -![Python Versions](https://img.shields.io/pypi/pyversions/ariatosca.svg) -![Wheel](https://img.shields.io/pypi/wheel/ariatosca.svg) -![Contributors](https://img.shields.io/github/contributors/apache/incubator-ariatosca.svg) -[![Open Pull Requests](https://img.shields.io/github/issues-pr/apache/incubator-ariatosca.svg)](https://github.com/apache/incubator-ariatosca/pulls) -[![Closed Pull Requests](https://img.shields.io/github/issues-pr-closed-raw/apache/incubator-ariatosca.svg)](https://github.com/apache/incubator-ariatosca/pulls?q=is%3Apr+is%3Aclosed) - - -What is ARIA? ----------------- - -[ARIA](http://ariatosca.incubator.apache.org/) is a an open-source, [TOSCA](https://www.oasis-open.org/committees/tosca/)-based, lightweight library and CLI for orchestration and for consumption by projects building TOSCA-based solutions for resources and services orchestration. - -ARIA can be utilized by any organization that wants to implement TOSCA-based orchestration in its solutions, whether a multi-cloud enterprise application, or an NFV or SDN solution for multiple virtual infrastructure managers. - -With ARIA, you can utilize TOSCA's cloud portability out-of-the-box, to develop, test and run your applications, from template to deployment. - -ARIA is an incubation project under the [Apache Software Foundation](https://www.apache.org/). - - -Installation ----------------- - -ARIA is [available on PyPI](https://pypi.python.org/pypi/ariatosca). - -To install ARIA directly from PyPI (using a `wheel`), use: - - pip install aria - - -To install ARIA from source, download the source tarball from [PyPI](https://pypi.python.org/pypi/ariatosca), -extract it, and then when inside the extracted directory, use: - - pip install . - -The source package comes along with relevant examples, documentation, -`requirements.txt` (for installing specifically the frozen dependencies' versions with which ARIA was tested) and more. - -<br> -Note that for the `pip install` commands mentioned above, you must use a privileged user, or use virtualenv. -<br><br><br> - -ARIA itself is in a `wheel` format compatible with all platforms. -Some dependencies, however, might require compilation (based on a given platform), and therefore possibly some system dependencies are required as well. - -On Ubuntu or other Debian-based systems: - - sudo apt install python-setuptools python-dev build-essential libssl-dev libffi-dev - -On Archlinux: - - sudo pacman -S python-setuptools - - -ARIA requires Python 2.6/2.7. Python 3+ is currently not supported. - - -Getting Started ---------------- - -This section will describe how to run a simple "Hello World" example. - -First, provide ARIA with the ARIA "hello world" service-template and name it (e.g. `my-service-template`): - - aria service-templates store examples/hello-world/helloworld.yaml my-service-template - -Now create a service based on this service-template and name it (e.g. `my-service`): - - aria services create my-service -t my-service-template - -Finally, start an `install` workflow execution on `my-service` like so: - - aria executions start install -s my-service - -<br> -You should now have a simple web-server running on your local machine. -You can try visiting http://localhost:9090 to view your deployed application. - -To uninstall and clean your environment, follow these steps: - - aria executions start uninstall -s my-service - aria services delete my-service - aria service-templates delete my-service-template - - -Contribution ------------- - -You are welcome and encouraged to participate and contribute to the ARIA project. - -Please see our guide to [Contributing to ARIA](https://cwiki.apache.org/confluence/display/ARIATOSCA/Contributing+to+ARIA). - -Feel free to also provide feedback on the mailing lists (see [Resources](#user-content-resources) section). - - -Resources ---------- - -* [ARIA homepage](http://ariatosca.incubator.apache.org/) -* [ARIA wiki](https://cwiki.apache.org/confluence/display/AriaTosca) -* [Issue tracker](https://issues.apache.org/jira/browse/ARIA) - -* Dev mailing list: dev@ariatosca.incubator.apache.org -* User mailing list: u...@ariatosca.incubator.apache.org - -Subscribe by sending a mail to `<group>-subscr...@ariatosca.incubator.apache.org` (e.g. `dev-subscr...@ariatosca.incubator.apache.org`). -See information on how to subscribe to mailing list [here](https://www.apache.org/foundation/mailinglists.html). - -For past correspondence, see the [dev mailing list archive](http://mail-archives.apache.org/mod_mbox/incubator-ariatosca-dev/). - - -License -------- -ARIA is licensed under the [Apache License 2.0](https://github.com/apache/incubator-ariatosca/blob/master/LICENSE). http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/README.rst ---------------------------------------------------------------------- diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..8af13a5 --- /dev/null +++ b/README.rst @@ -0,0 +1,140 @@ +ARIA +==== + +|Build Status| |Appveyor Build Status| |License| |PyPI release| |Python Versions| |Wheel| +|Contributors| |Open Pull Requests| |Closed Pull Requests| + + +What is ARIA? +------------- + +`ARIA <http://ariatosca.incubator.apache.org/>`__ is a an open-source, +`TOSCA <https://www.oasis-open.org/committees/tosca/>`__-based, lightweight library and CLI for +orchestration and for consumption by projects building TOSCA-based solutions for resources and +services orchestration. + +ARIA can be utilized by any organization that wants to implement TOSCA-based orchestration in its +solutions, whether a multi-cloud enterprise application, or an NFV or SDN solution for multiple +virtual infrastructure managers. + +With ARIA, you can utilize TOSCA's cloud portability out-of-the-box, to develop, test and run your +applications, from template to deployment. + +ARIA is an incubation project under the `Apache Software Foundation <https://www.apache.org/>`__. + + +Installation +------------ + +ARIA is `available on PyPI <https://pypi.python.org/pypi/ariatosca>`__. + +To install ARIA directly from PyPI (using a ``wheel``), use:: + + pip install aria + +To install ARIA from source, download the source tarball from +`PyPI <https://pypi.python.org/pypi/ariatosca>`__, extract it, and then when inside the extracted +directory, use:: + + pip install . + +The source package comes along with relevant examples, documentation, ``requirements.txt`` (for +installing specifically the frozen dependencies' versions with which ARIA was tested) and more. + +Note that for the ``pip install`` commands mentioned above, you must use a privileged user, or use +virtualenv. + +ARIA itself is in a ``wheel`` format compatible with all platforms. Some dependencies, however, +might require compilation (based on a given platform), and therefore possibly some system +dependencies are required as well. + +On Ubuntu or other Debian-based systems:: + + sudo apt install python-setuptools python-dev build-essential libssl-dev libffi-dev + +On Archlinux:: + + sudo pacman -S python-setuptools + +ARIA requires Python 2.6/2.7. Python 3+ is currently not supported. + + +Getting Started +--------------- + +This section will describe how to run a simple "Hello World" example. + +First, provide ARIA with the ARIA "hello world" service-template and name it (e.g. +``my-service-template``):: + + aria service-templates store examples/hello-world/helloworld.yaml my-service-template + +Now create a service based on this service-template and name it (e.g. ``my-service``):: + + aria services create my-service -t my-service-template + +Finally, start an ``install`` workflow execution on ``my-service`` like so:: + + aria executions start install -s my-service + +You should now have a simple web-server running on your local machine. You can try visiting +``http://localhost:9090`` to view your deployed application. + +To uninstall and clean your environment, follow these steps:: + + aria executions start uninstall -s my-service + aria services delete my-service + aria service-templates delete my-service-template + + +Contribution +------------ + +You are welcome and encouraged to participate and contribute to the ARIA project. + +Please see our guide to +`Contributing to ARIA <https://cwiki.apache.org/confluence/display/ARIATOSCA/Contributing+to+ARIA>`__. + +Feel free to also provide feedback on the mailing lists (see `Resources <#user-content-resources>`__ +section). + + +Resources +--------- + +- `ARIA homepage <http://ariatosca.incubator.apache.org/>`__ +- `ARIA wiki <https://cwiki.apache.org/confluence/display/AriaTosca>`__ +- `Issue tracker <https://issues.apache.org/jira/browse/ARIA>`__ + +- Dev mailing list: dev@ariatosca.incubator.apache.org +- User mailing list: u...@ariatosca.incubator.apache.org + +Subscribe by sending a mail to ``<group>-subscr...@ariatosca.incubator.apache.org`` (e.g. +``dev-subscr...@ariatosca.incubator.apache.org``). See information on how to subscribe to mailing +lists `here <https://www.apache.org/foundation/mailinglists.html>`__. + +For past correspondence, see the +`dev mailing list archive <http://mail-archives.apache.org/mod_mbox/incubator-ariatosca-dev/>`__. + + +License +------- + +ARIA is licensed under the +`Apache License 2.0 <https://github.com/apache/incubator-ariatosca/blob/master/LICENSE>`__. + +.. |Build Status| image:: https://img.shields.io/travis/apache/incubator-ariatosca/master.svg + :target: https://travis-ci.org/apache/incubator-ariatosca +.. |Appveyor Build Status| image:: https://img.shields.io/appveyor/ci/ApacheSoftwareFoundation/incubator-ariatosca/master.svg + :target: https://ci.appveyor.com/project/ApacheSoftwareFoundation/incubator-ariatosca/history +.. |License| image:: https://img.shields.io/github/license/apache/incubator-ariatosca.svg + :target: http://www.apache.org/licenses/LICENSE-2.0 +.. |PyPI release| image:: https://img.shields.io/pypi/v/ariatosca.svg + :target: https://pypi.python.org/pypi/ariatosca +.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/ariatosca.svg +.. |Wheel| image:: https://img.shields.io/pypi/wheel/ariatosca.svg +.. |Contributors| image:: https://img.shields.io/github/contributors/apache/incubator-ariatosca.svg +.. |Open Pull Requests| image:: https://img.shields.io/github/issues-pr/apache/incubator-ariatosca.svg + :target: https://github.com/apache/incubator-ariatosca/pulls +.. |Closed Pull Requests| image:: https://img.shields.io/github/issues-pr-closed-raw/apache/incubator-ariatosca.svg + :target: https://github.com/apache/incubator-ariatosca/pulls?q=is%3Apr+is%3Aclosed http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/TODO.md ---------------------------------------------------------------------- diff --git a/TODO.md b/TODO.md deleted file mode 100644 index ab32cf7..0000000 --- a/TODO.md +++ /dev/null @@ -1,8 +0,0 @@ -- aria/parser/extension_tools.py:66: # todo: maybe add replace action and check in add that we don't replace... -- aria/parser/framework/elements/policies.py:128: # TODO: policies should be implemented according to TOSCA as generic types -- aria/parser/framework/elements/node_templates.py:42: # TODO: Capabilities should be implemented according to TOSCA as generic types -- aria/parser/framework/functions.py:25: # TODO: ugly huck for now..., sort the imports when you have time -- aria/parser/framework/parser.py:258: # TODO: need to clean up -- tests/parser/test_parser_api.py:430: # TODO: assert node-type's default and description values once -- tests/parser/test_parser_api.py:450: # TODO: assert type's default and description values once 'type' is -- tests/parser/test_parser_api.py:472: # TODO: assert type's default and description values once 'type' is http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/docs/conf.py ---------------------------------------------------------------------- diff --git a/docs/conf.py b/docs/conf.py index cd25279..e557f02 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -36,7 +36,8 @@ import sys sys.path.append(os.path.abspath('../aria')) sys.path.append(os.path.abspath('../extensions')) -execfile(os.path.join('../aria', 'VERSION.py')) +with open('../VERSION') as f: + version = f.readline() # -- General configuration ------------------------------------------------ http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/docs/requirements.txt ---------------------------------------------------------------------- diff --git a/docs/requirements.txt b/docs/requirements.txt index 72b28f1..976c5b6 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -10,5 +10,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -Sphinx==1.5.3 -sphinx_rtd_theme==0.2.4 +Sphinx>=1.6.2, <2.0.0 +sphinx_rtd_theme>=0.2.4, <1.0.0 http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e4ac68a/setup.py ---------------------------------------------------------------------- diff --git a/setup.py b/setup.py index d43ce91..8d5f463 100644 --- a/setup.py +++ b/setup.py @@ -39,6 +39,9 @@ root_dir = os.path.dirname(__file__) with open(os.path.join(root_dir, 'VERSION')) as version_file: __version__ = version_file.read().strip() +with open(os.path.join(root_dir, 'README.rst')) as readme: + long_description = readme.read() + install_requires = [] extras_require = {} @@ -106,10 +109,13 @@ setup( name=_PACKAGE_NAME, version=__version__, description='ARIA', + long_description=long_description, license='Apache License 2.0', author='aria', author_email='dev@ariatosca.incubator.apache.org', - url='http://ariatosca.org', + url='http://ariatosca.incubator.apache.org/', + download_url=( + 'https://dist.apache.org/repos/dist/release/incubator/ariatosca/' + __version__), classifiers=[ 'Development Status :: 4 - Beta', 'Environment :: Console',