PYAPE
文章目录
PYAPE [paɪp]
= a Application Programming Environment of Python.
Pyape 是我在开发 Flask 应用程序过程中积累的一个开发框架。准确的说,这不算一个框架,而是一组集合。 我将开发 Web 以及 API 应用程序过程中积累的一些好用的工具和常用功能进行了简单的封装,整合在一起, 方便快速启动一个新项目。
PYAPE 的完整文档: https://pyape.rtfd.io/
PYAPE 的 github 主页: https://github.com/zrong/pyape
PYAPE 我的博客上的页面: https://blog.zengrong.net/pyape/
Pyape 的特点如下:
集成命令行
通过对 Fabric 的集成,使用统一的命令行工具来实现如下功能:
- 生成配置文件
- 将程序部署到远程服务器
- 控制远程服务器的运行
详细说明请阅读:命令行。
多开发环境支持
可配置多套开发环境,方便同时支持本地开发、局域网开发、互联网测试和正式服部署。
在开发环境配置中提供的配置,将被 合并 进入默认的配置。 合并规则如下:
- 开发环境配置会 覆盖 默认配置中的同名参数。
- 开发环境中的新配置,会 增加 到默认配置中。
- 若希望在开发环境中 删除 某个默认配置,可以将开发环境中的同名变量设置为空值。
详细说明请阅读: 多开发环境支持
模版支持与配置合并
pyape 的命令行工具支持多级配置合并,方便在多个配置中共用数据,不必重复输入配置。
pyape 允许自定义配置生成模版。
环境变量替换支持
pyape 的配置文件模版机制支持从环境变量中获取实际值,这样可以避免将敏感信息写入配置文件提交到 CVS 造成安全隐患。
详细说明请阅读:替换变量
SQLAlchemy 支持
Pyape 集成了 SQLAlchemy 支持。与 Flask-SQLAlchemy 不同,Pyape 直接使用标准的 SQLAlchemy 语法。
这更加方便升级到未来的 SQLAlchemy 2.0 版本。
Use Flask and SQLalchemy, not Flask-SQLAlchemy
这篇文章的观点,我也是赞同的。
Redis 支持
基于 flask-redis 修改,使其支持多个 Redis 数据库。
Logging 集成
支持 ZeroMQHandler、RedisHandler,提供 get_logger
和 get_logging_handler
方便从配置中直接生成 Logger 和 Handler 对象。
关于 logging,我在博客上讨论过多次,详见: TAG: logging。
详情参见 pyape.logging 包。
与 PYAPE 相关
下面这些文章与开发 PYAPE 相关。有些是灵感,有些是实现。
- TAG: flask
- TAG: uwsgi
- TAG: sqlalchemy
- TAG: server
- TAG: python
- 部署Flask + uWSGI + Nginx
- 在 Python+uWSGI 应用中使用缓存
- uWSGI+rsyslog 实现 rotating logging
- Flask+uWSGI 的 Logging 支持
- Flask+uWSGI Logging rotate:重要补充
- pyzog:uWSGI logging rotate 的终极方案
- uWSGI 的 log 参数详解