巨蟒实现

MimicDB的Python项目详细描述


PyPIBuild StatusCoverage Status

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())

贡献

  1. 放弃回购。
  2. 运行测试以确保一个干净的工作状态。
  3. 改进/修正代码。
  4. 如果引入了新功能或修复了错误,则添加测试用例(100% 测试覆盖率)。
  5. 确保测试通过。
  6. 推到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许可。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是否可以创建一个正则表达式来查找与模式不匹配的字符串?   使用“debugUnreturnedConnectionStackTraces”进行java调试连接丢失   java如何在openLDAP中禁用/启用用户帐户?   java无法从jsoup api获取某些类   java无法从APK提取XML文件   如何在linux命令行中替换多个文件中的字符串   java学生班。如何根据单位输入打印成绩?   java有没有办法将Struts配置为绑定null而不是空字符串?   python使用OpenCV[Java]检测简单几何形状   java文件。isFile()和文件。isDirectory()返回false   java Fetch有条件地加入hibernate,还是将实体设计更改为子实体上的条件Fetch?   java lombok@Data generated setter是否对成员对象(如映射)执行深度复制?   java如何使JLabel从下一行开始   java Gradle依赖解决了配置文件的问题