用于预约事物的库
项目描述
Libres是一个用于预约事物(如餐厅的桌子或活动的门票)的预约管理库。它与Python 3.8+兼容,并需要Postgresql 9.1+。
此库处于实验阶段,尚不适合生产使用
运行示例
前往examples/flask并安装要求
cd examples/flask pip install -r requirements.txt
运行示例
python run.py
打开http://localhost:5000并浏览。
运行测试
安装tox并运行它
pip install tox tox
限制测试到特定的Python版本
tox -e py27
约定
Libres尽可能地遵循PEP8。要测试它,请运行
tox -e pep8
Libres使用语义版本化
构建文档
前往docs并安装要求
cd docs pip install -r requirements.txt
构建文档
make html
打开文档
open build/html/index.html
创建新版本
确保所有更改都已包含在HISTORY.rst中,然后增加版本号
bump2version major|minor|patch git push && git push --tags
之后,在Github上创建新版本。
变更日志
0.7.3 (2024-08-21)
添加了对Python 3.12的支持。[Daverball]
0.7.2 (2024-02-07)
修复了Scheduler中另一个不正确的类型注解。[Daverball]
0.7.1 (2024-01-18)
修复了Scheduler中的一些不正确的类型注解。[Daverball]
0.7.0 (2023-07-11)
放弃了对Python 3.7的支持并添加了对3.11的支持 [Daverball]
切换到pyproject.toml [Daverball]
添加了类型注解 [Daverball]
将Scheduler.allocate的更改,以避免在传递数百个日期时间范围时进行数百个单独的SQL查询,以便识别现有的重叠分配。
性能可能仍然是一个问题,因为查询包含大量日期时间比较。在常见情况下,过滤传入的最小和最大日期,并在Python中完全执行重叠检查可能更快。我们需要密切关注这一点。[Daverball]
0.6.1 (2023-03-29)
向Scheduler.remove_unused allocations添加了额外的参数,以便按星期几或是否属于组来过滤要删除的分配。[Daverball]
修复了Scheduler.search_allocations中的错误。它没有正确地将天数参数与分配/调度器的时区对齐。[Daverball]
将SQLAlchemy锁定在2.0之前的版本。[Daverball]
0.6.0 (2022-08-10)
取消对Python 3.6的支持。[Daverball]
将23/25小时的可用性分区正常化为24小时一天,以便将DST过渡日渲染得与普通日子相同。
可以通过将normalize_dst=False传递给函数来选择性地避免此操作。[Daverball]
添加了Allocation.normalized_availability,该功能以相同的方式报告可用性。[Daverball]
向Allocation.limit_timespan添加了额外的参数,这些参数与新添加到sedate.get_date_range的参数相匹配。[Daverball]
0.5.4 (2022-06-15)
从Travis切换到GitHub Workflows。[msom]
解决SQLAlchemy 1.4警告。[msom]
0.5.3 (2021-01-18)
修复集合弃用警告并修复测试。[dadadamotha]
0.5.2 (2019-11-11)
添加Python 3.8兼容性。[href]
将PostgreSQL版本检查更改为与分发无关。[href]
0.5.1 (2019-01-23)
修复在所有情况下都跳过重叠分配的问题。[href]
0.5.0 (2019-01-17)
添加了跳过重叠分配的能力。[href]
0.4.0 (2017-06-16)
添加了定义调度器使用的分配/保留类的功能。
0.3.1 (2017-06-07)
批准的保留可能再次具有会话ID,这恢复了与seantis.reservation的后向兼容性。[href]
0.3.0 (2017-06-07)
在保留和分配上启用多态。[href]
0.2.4 (2017-01-10)
修复了在DST天上reservation长度检查不工作的问题。[href]
0.2.3 (2016-10-25)
处理许多分配时,有小的性能提升。[href]
0.2.2 (2016-07-08)
确保所有模型都是可散列的,以避免与某些SQLAlchemy扩展/插件相关的问题。[href]
0.2.1 (2016-04-27)
添加到同一会话中的保留不再可能重复。[href]
现在,在reservation过程中引发的错误具有“reservation”属性。[href]
0.2.0 (2016-04-26)
添加了在单个会话中具有多个reservation共享单个令牌的能力。[href]
0.1.4 (2015-11-25)
添加了更改未批准reservation的能力。[href]
添加了额外的开始/结束时间检查。如果请求的开始/结束时间位于任何可能的分配之外,将引发错误。[href]
确保在清理期间无法以某种方式删除批准的reservation。[href]
0.1.3 (2015-09-03)
添加了删除未使用分配的方法。[href]
0.1.2 (2015-08-25)
用sedate替换libres.modules.calendar。[href]
现在,在设置时,分配的原始开始/结束日期将自动转换为正确的时区。[href]
0.1.1 (2015-08-19)
现在可以添加或移动分配到无效状态(结束日期早于开始日期)。现在可以正确捕获这一点。[href]
0.1.0 (2015-07-30)
重大更改:此版本切换到单个序列化连接。
之前它并行使用READ COMMITED和序列化连接,现在切换到READ COMMITED连接进行只读查询,并使用序列化连接进行写查询。
对一切使用序列化连接略微降低了速度(尽管我们尚未能够衡量我们对低流量网站的效应)。但它使在集成时使用libres与现有连接更容易。
它还极大地简化了代码。
0.0.2 (2015-03-16)
修复无法删除配额大于1的分配的问题。参见问题#8。[链接]
将读取会话写入保护替换为更简单的版本。[链接]
0.0.1 (2015-02-09)
初始发布。[链接]
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
构建版本
libres-0.7.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a06859ea48989f3eb471ad349088cd2855e7f6488ab1375ea0b4d3804ec64219 |
|
MD5 | 897f377748edc1d76a608d8fc7ab7f45 |
|
BLAKE2b-256 | e4fa698544006367c04a852fa3fed503915a95952cf89da4c35e805fa746c152 |
libres-0.7.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b2d8d0941675423e8e67fc13002ec99cd8f54c3b96d84aaa34eb424700dced35 |
|
MD5 | f5864967417413b6741879c4994bcb1e |
|
BLAKE2b-256 | c098bba630ffcc7eec704406df0f684f1895592aa6823605a151dbab7abc31a7 |