← Back to team overview

openstack team mailing list archive

Re: Are the Python APIs public or internal?

 

The Tempest (QA) team certainly considers them to be public and we just started getting some contributions that are testing novaclient. In other work I am also a consumer of several of these APIs so I really hope they don't break.

 -David

On 3/1/2013 8:50 AM, Dolph Mathews wrote:
I believe they should certainly be treated as public API's -- just like any other library. I'd also treat them as stable if they've ever been included in a versioned release. That said, I'm sure it would be easy to find examples of methods & attributes within the library that are not intended to be consumed externally, but perhaps either the naming convention or documentation doesn't sufficiently indicate that.

In keysoneclient, we're making backwards incompatible changes in a new subpackage (keystoneclient.v3) while maintaing compatibility in the common client code. For example, you should always be able to initialize the client with a tenant_id / tenant_name, even though the client will soon be using project_id / project_name internally to reflect our revised lingo.


-Dolph


On Thu, Feb 28, 2013 at 11:07 PM, Lorin Hochstein <lorin@xxxxxxxxxxxxxxxxxx <mailto:lorin@xxxxxxxxxxxxxxxxxx>> wrote:

    Here's an issue that came up in the operators doc sprint this week.

    Let's say I wanted to write some Python scripts using the APIs
    exposed by the python-*client packages. As a concrete example,
    let's say I wrote a script that uses the keystone Python API
    that's exposed in the python-keystoneclient package:

    https://github.com/lorin/openstack-ansible/blob/master/playbooks/keystone/files/keystone-init.py

    Are these APIs "public" or "stable"  in some meaningful way?
    (i.e., can I count on this script still working across minor
    release upgrades)? Or should they be treated like "internal" APIs
    that could be changed at any time in the future? Or is this not
    defined at all?

    Lorin


    _______________________________________________
    Mailing list: https://launchpad.net/~openstack
    <https://launchpad.net/%7Eopenstack>
    Post to     : openstack@xxxxxxxxxxxxxxxxxxx
    <mailto:openstack@xxxxxxxxxxxxxxxxxxx>
    Unsubscribe : https://launchpad.net/~openstack
    <https://launchpad.net/%7Eopenstack>
    More help   : https://help.launchpad.net/ListHelp




_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Follow ups

References