巨蟒实现
MimicDB的Python项目详细描述
mimicdb的python实现
mimicdb的python实现与boto库和几个 不同的后端包括redis。
安装
默认情况下,mimicdb需要redis(尽管可以使用其他后端 相反)。
$ pip install boto $ pip install redis $ pip install mimicdb
快速启动
如果您已经在使用boto,请将botoimports替换为mimicdb 进口。
更改:
from boto.s3.connection import S3Connection from boto.s3.key import Key
收件人:
from mimicdb.s3.connection import S3Connection from mimicdb.s3.key import Key
另外,导入mimicdb对象本身,并启动 后端:
from mimicdb import MimicDB MimicDB()
首次建立连接后,同步连接 要在本地保存元数据:
conn = S3Connection(KEY, SECRET) conn.sync()
或者只同步连接中的几个存储桶:
conn.sync('bucket1', 'bucket2')
之后,上传,下载和列表,你通常会。API调用 可在本地响应的将立即返回,而不会命中 S3服务器。将模拟使用mimicdb对s3进行的api调用 本地以确保与远程服务器的一致性。
将force=True传递给大多数函数以强制调用s3 api。 这也会更新本地数据库。
备用后端
除了默认的redis后端之外,mimicdb还有sqlite和内存 后端可用。
from mimicdb.backends.sqlite import SQLite MimicDB(SQLite())
from mimicdb.backends.memory import Memory MimicDB(Memory())
贡献
- 放弃回购。
- 运行测试以确保一个干净的工作状态。
- 改进/修正代码。
- 如果引入了新功能或修复了错误,则添加测试用例(100% 测试覆盖率)。
- 确保测试通过。
- 推到fork并向development分支提交一个pull请求。
测试
安装机头和覆盖率后运行测试。
$ nosetests --with-coverage --cover-package=mimicdb
集成测试由travis ci at提供 travis-ci.org/nathancahill/mimicdb
测试覆盖率报告由 coveralls.io/r/nathancahill/mimicdb
基准
在repo的根目录中运行benchmarks.py:
$ python benchmarks.py Boto Time: 0.338411092758 MimicDB Time: 0.00015789039612 Factor: 2143x faster
许可证
mimicdb获得bsd许可。