← Back to team overview

openstack team mailing list archive




In swift a user/client who wants to be able to access Swift can use :

- The CLI - bin/swift shipped with swift
- The library swift.common.swift shipped with swift.
- The Rackspace Cloud Files library from github/rackspace/python-cloudfiles.
- Or obviously direct REST calls.

a few notes :

- The Rackspace Cloud Files library is historically much slower than the
- The CLI  import swift.common.client inside its file directly.
- The library have a comprehensive suite of tests.
- The library has been designed for easy drop it without swift

Unfortunately there is some fixes that has been merged in the CLI
without being merged in swift.common.client and those changes are then
not covered by the unittests suite.

More annoyingly there is a couple of swift_client copies around the
OpenStack project for glance and horizon (and probably others).

What do you think if we :

- split swift.common.client to its own.
- have bin/swift import that package and shipped with it.
- have a comprehensive test suite covering the CLI and the library.
- have some proper PIP release for all the projects to depend on it.

I have started a Proof of Concept which basically do the split in
different modules for now (I didn't get the unit tests yet) :


Let me know what do you think.


Follow ups