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