跳转到主要内容

用于预约事物的库

项目描述

Libres是一个用于预约事物(如餐厅的桌子或活动的门票)的预约管理库。它与Python 3.8+兼容,并需要Postgresql 9.1+。

文档 | 源代码 | 问题

此库处于实验阶段,尚不适合生产使用

Tests Coverage Release

运行示例

前往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 (95.0 kB 查看哈希值)

上传时间 源代码

构建版本

libres-0.7.3-py3-none-any.whl (50.7 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面