巨蟒实现

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类。getConstructor找不到兼容的构造函数   java单元测试自定义输入和输出格式   javascript Java UI线程内存不足错误被阻止   多线程在Java并发API中从线程池中选择线程的逻辑是什么?   java在MySQL数据库上存储歌曲(BLOb支持)   java快速且可扩展的IO传递   jsf c:forEach-inside-primeface(例如p:panelgrid)inside-ui:repeat   tomcat与JavaServlet3.0文件上传,如何获取maxfilesize值   java JNI,加载2次相同的dll(不同的名称),如何选择使用哪一个?   java将InputStream复制到OutputStream将停止,除非我也向系统写入。出来   java Set反向安全约束   比如在java中使用整数时?   java使用@接口抑制IntelliJ中的某些警告   java我的ASCII艺术在JLabel上是错误的   JavaSpring工具源代码(或带有SpringIde的Eclipse)崩溃   向片段添加ListView时出现java错误   循环Java循环错误需要重新审视   JavaAspectJ:匹配GenericServlet。带注释子类实例的init()调用