简单持久化事件
eventstream-sqlite的Python项目详细描述
eventstream是一个基于sqlite的嵌入式事件存储组件。 它允许您存储事件并根据时间查询它们,使 它在存储基于时间的数据方面是微不足道的。代表事件 作为附加了可选元数据的标记,它允许您建模 最有效的数据。
fromdatetimeimportdatetime,timedeltafromeventstreamimportconnect,Eventt=connect(uri=':memory:')t.emit(Event('status.update'),1)today=datetime.utcnow()yesterday=today-timedelta(days=1)t.find.since(yesterday)\ .to(today)\ .tagged('status.*')
像graphlite一样,eventstream是线程安全的。所有emits都是原子的 并在锁下操作(如果要存储许多事件,请使用 而是基于事务的emit_many。eventstream还强调 关于api可用性和总体易用性。你可以按时间,标签, 或节点,但不是元数据。
贡献
如果您想参与,我们遵循github工作流,因此 打开回购协议,编写代码并发出请求 (确保所有测试事先通过,至少在最后一次通过 提交请求)。简而言之:
$ git clone ssh://git@github.com/$USERNAME/eventstream.git $ cd graphlite $ git checkout -b $FEATURE $ # hackedy hack hack $ py.test tests $ git commit -a $ git push
请注意,我们使用py.test进行测试,如果没有, 一定要pip install pytest。但你应该。
- 代码状态:
- 维护者:Eugene Eeo
- 许可证:mit