一群帮助者成功地运行了Heroku上的金字塔。

pyramid_heroku的Python项目详细描述


简介

金字塔heroku是成功运行PyramidHeroku

它提供以下功能:

  • ClientAddrtween将实际用户的IP设置为request.client_addr
  • HerokuappAccesst拒绝访问应用程序的 <app>.herokuapp.com任何未列入白名单的IP的域。
  • migrate.py用于在上自动运行alembic迁移的脚本 部署。

安装

只要做

pip install pyramid_heroku

easy_install pyramid_heroku

兼容性

金字塔heroku运行时金字塔>;=1.7,python>;=3.6。 其他版本也可以工作。

文档

tweens的用法示例:

def main(global_config, **settings):$ cat .heroku/release.sh
    config = Configurator(settings=settings)
    config.include('pyramid_heroku.client_addr')
    config.include('pyramid_heroku.herokuapp_access')
    return config.make_wsgi_app()

金字塔的访问权限取决于 需要列出白名单的IP地址 在金字塔heroku.herokuapp_白名单设置中。

自动Alembic迁移脚本的用法示例:

$ cat .heroku/release.sh
#!/usr/bin/env bash

set -e

echo "Running migrations"
python -m pyramid_heroku.migrate my_app etc/production.ini

echo "DONE!"

要使迁移脚本工作,需要设置MIGRATE_API_SECRET_HEROKU 赫鲁库的环境变量。这允许迁移脚本使用heroku api。

有关更多示例,请参见测试。

如果使用structlog,请将以下配置设置添加到ini文件以启用类似structlog的日志记录:

pyramid_heroku.structlog = true

释放

  1. 更新changes.rst。
  2. 更新setup.py版本。
  3. 运行pipenv run python setup.py check -rs
  4. 运行pipenv run python setup.py sdist upload

我们在招聘!

在Niteo,我们定期为开源社区做出贡献。如果你也这么做,我们想邀请你来join our team

变化

0.6.0

0.5.0

  • Prefer empty string than None. {‘VAL’: ‘${VAR}’} will expand into {‘VAL’: ‘’} instead of {‘VAL’: None} if the value of VAR is not exported or is an empty string. [sayanarijit]
  • To enforce that $VAR must be set, ${VAR:?custom error message} syntax can be used. [sayanarijit]

0.4.0

  • Supports bash style environment variable expansion. e.g. to declare default value, use ${DATABASE_URL:-sqlite:///database.db} [sayanarijit]

0.3.2

  • Shell now prints stderr/stdout even on non-zero exit code. [iElectric]

0.3.1

  • Fix auth bug in migrate.py. [zupo]

0.3

  • Drop support for zc.buildout environments. [zupo]

0.2

  • 展开设置字典中的所有环境变量。这让你 例如,让${database_url}从 环境到您的production.ini文件中。 [左坡]
  • 使用pipenv设置开发。 [左坡]
  • 添加基本类型提示。 [左坡]
  • 放弃对3.7以前的python版本的支持。 [左坡]

0.1.5

  • 棕色袋子释放。 [卡兰丹]

0.1.4

  • 修复migrate.shell中的返回值。子流程。检查输出 python 3.6现在返回byte而不是str。 [卡兰丹]

0.1.3

0.1.2

  • 无法直接设置request.client_addr,因此我们需要绕行。 [左坡]

0.1.1

  • 修路。 [左坡]

0.1

  • 初次发布。 [DZ0NY,祖波]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SimpleCursorAdapter删除值   java结束while循环条件   java检查设备是否连接到特定网络   java组织。冬眠MappingException找不到逻辑名称为annotation getter的列   为什么java邮件中会抛出此异常?   加载SDK时发生java Eclipse错误   返回奇怪输出的Java数组   JavaXStream和对象类序列化   将枚举列表传递给namedQuery后出现java非法转换异常。Hibernate中的setParameter()   java Android studio不允许我在字符串上使用开关?   有没有办法从Java程序访问存储在Chrome中的cookie   java在枚举中构造实例而不修改枚举类   java Blackberry JDE FieldChangeListener   java修复错误:未报告的异常InterruptedException   java Spring数据JPA:findAll(具有规范和可分页)在计数查询中失败