Certain parts of PyPICloud were created to be pluggable. The storage backend, cache database, and access control backend can all be replaced very easily.
The steps for extending are:
- Create a new implementation that subclasses the base class (
~pypicloud.cache.base.ICache
,~pypicloud.storage.base.IStorage
,~pypicloud.access.base.IAccessBackend
/~pypicloud.access.base.IMutableAccessBackend
) - Put that implementation in a package and install that package in the same virtualenv as PyPICloud
- Pass in a dotted path to that implementation for the approprate config field (e.g.
pypi.db
)