doc updates

This commit is contained in:
Derek Schultz 2016-12-14 21:32:16 -07:00
parent 5ce53c51b2
commit 45f3d4bca0
3 changed files with 97 additions and 126 deletions

95
README.md Normal file
View File

@ -0,0 +1,95 @@
# python-picassoclient
OpenStack Functions Client Library
This is a client library for Picasso built on the Picasso API. It
provides a Python API (the ``picassoclient`` module).
The project is hosted on [Launchpad](https://github.com/iron-io/python-picassoclient/issue),
where bugs can be filed. The code is hosted on [GitHub](https://github.com/iron-io/python-picassoclient).
Patches must be submitted using [Gerrit](http://docs.openstack.org/infra/manual/developers.html#development-workflow),
*not* Github pull requests.
python-picassoclient is licensed under the Apache License, like the rest of OpenStack.
## Install the client from PyPI
The `python-picassoclient` package is published on [PyPI](https://pypi.python.org/pypi/python-picassoclient/)
and can be installed via `pip`.
$ pip install python-picassoclient
Note: The packages on PyPI may lag behind the git repo in functionality.
## Setup the client from source
1. Clone the source repo
$ git clone https://github.com/iron-io/python-picassoclient.git
$ cd python-picassoclient
2. Setup a Python virtualenv
Note: This is an optional step, but will allow picassoclient dependencies to be installed in a
contained environment that can be easily deleted if you choose to start over or uninstall the client.
$ tox -evenv --notest
Activate the virtual environment whenever you want to work in it.
All further commands in this section should be run with the venv active:
$ source .tox/venv/bin/activate
When all steps are complete, deactivate the virtualenv by running `deactivate` from your shell.
3. Install picassoclient and its dependencies::
(venv) $ python setup.py develop
## Picasso CLI
To work with the CLI, set the necessary Keystone environment variables
$ export OS_USERNAME=<user>
$ export OS_PASSWORD=<password>
$ export OS_PROJECT_NAME=<project>
$ export OS_AUTH_URL=http://localhost:5000/v3
If working with DevStack, just run `source openrc <user> <project>`. You can then work with a
local installation by passing `--os-token <TOKEN>` and `--os-url http://localhost:9393`. You can
also set up a [Openstackclient](http://docs.openstack.org/developer/python-openstackclient/configuration.html#clouds-yaml)
config file to work with the CLI.
$ openstack
(openstack) fn apps list
(openstack) fn apps create testapp
## Picasso Python API
Refer to the following code to use Keystone as the authentication backend:
>>> from keystoneclient.auth.identity import generic
>>> from keystoneclient import session
>>> from picassoclient import client
>>> auth = generic.Password(auth_url=OS_AUTH_URL, username=OS_USERNAME, password=OS_PASSWORD, tenant_name=OS_TENANT_NAME)
>>> keystone_session = session.Session(auth=auth)
>>> picasso = client.Client('v1', session=keystone_session)
>>> picasso.apps.list()
[...]
* License: Apache License, Version 2.0
* Documentation: https://github.com/iron-io/python-picassoclient
* Source: https://github.com/iron-io/python-picassoclient
* Bugs: https://github.com/iron-io/python-picassoclient
Testing
-------
There are multiple test targets that can be run to validate the code.
tox -e pep8 - style guidelines enforcement
tox -e py34 - traditional unit testing
tox -e py35 - traditional unit testing

View File

@ -1,124 +0,0 @@
========================
python-picassoclient
========================
OpenStack Functions Client Library
This is a client library for Picasso built on the Picasso API. It
provides a Python API (the ``picassoclient`` module).
The project is hosted on `Launchpad`_, where bugs can be filed. The code is
hosted on `Github`_. Patches must be submitted using `Gerrit`_, *not* Github
pull requests.
.. _Github: https://github.com/iron-io/python-picassoclient
.. _Launchpad: https://github.com/iron-io/python-picassoclient/issues
.. _Gerrit: http://docs.openstack.org/infra/manual/developers.html#development-workflow
python-picassoclient is licensed under the Apache License like the rest of
OpenStack.
.. contents:: Contents:
:local:
Install the client from PyPI
----------------------------
The :program:`python-picassoclient` package is published on `PyPI`_ and
so can be installed using the pip tool, which will manage installing all
python dependencies::
$ pip install python-picassoclient
.. note::
The packages on PyPI may lag behind the git repo in functionality.
.. _PyPI: https://pypi.python.org/pypi/python-picassoclient/
Setup the client from source
----------------------------
* Clone repository for python-picassoclient::
$ git clone https://github.com/iron-io/python-picassoclient.git
$ cd python-picassoclient
* Setup a virtualenv
.. note::
This is an optional step, but will allow picassoclient's dependencies
to be installed in a contained environment that can be easily deleted
if you choose to start over or uninstall picassoclient.
::
$ tox -evenv --notest
Activate the virtual environment whenever you want to work in it.
All further commands in this section should be run with the venv active:
::
$ source .tox/venv/bin/activate
.. note::
When ALL steps are complete, deactivate the virtualenv: $ deactivate
* Install picassoclient and its dependencies::
(venv) $ python setup.py develop
Command-line API
----------------
Set Keystone environment variables to execute CLI commands against Picasso.
* To execute CLI commands::
$ export OS_USERNAME=<user>
$ export OS_PASSWORD=<password>
$ export OS_PROJECT_NAME=<project>
$ export OS_AUTH_URL=http://localhost:5000/v3
.. note::
With devstack you just need to $ source openrc <user> <project>. And you can
work with a local installation by passing --os-token <TOKEN> and --os-url
http://localhost:9393. You can also set up a `Openstackclient`_ config file
to work with the CLI.
.. _Openstackclient: http://docs.openstack.org/developer/python-openstackclient/configuration.html#clouds-yaml
::
$ openstack
(openstack) fn-apps list
(openstack) fn-apps create testapp
Python API
----------
To use with keystone as the authentication system::
>>> from keystoneclient.auth.identity import generic
>>> from keystoneclient import session
>>> from picassoclient import client
>>> auth = generic.Password(auth_url=OS_AUTH_URL, username=OS_USERNAME, password=OS_PASSWORD, tenant_name=OS_TENANT_NAME)
>>> keystone_session = session.Session(auth=auth)
>>> picasso = client.Client('v1', session=keystone_session)
>>> picasso.apps.list()
[...]
* License: Apache License, Version 2.0
* Documentation: https://github.com/iron-io/python-picassoclient
* Source: https://github.com/iron-io/python-picassoclient
* Bugs: https://github.com/iron-io/python-picassoclient
Testing
-------
There are multiple test targets that can be run to validate the code.
* tox -e pep8 - style guidelines enforcement
* tox -e py34 - traditional unit testing
* tox -e py35 - traditional unit testing

View File

@ -1,9 +1,9 @@
.. python-laosclient documentation master file, created by
.. python-picassoclient documentation master file, created by
sphinx-quickstart on Tue Dec 6 17:37:53 2016.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to python-laosclient's documentation!
Welcome to python-picassoclient's documentation!
=============================================
Contents: