seatgeek开发中的a/b测试框架

Sixpack的Python项目详细描述


===
sixpack
==




图片:https://travis-ci.org/seatgeek/sixpack.png?branch=master
:目标:https://travis ci.org/seatgeek/sixpack

…图片::https://coveralls.io/repos/seatgeek/sixpack/badge.png?branch=master
:目标:https://coveralls.io/r/seatgeek/sixpack?branch=master

sixpack是一个跨多种编程语言进行a/b测试的框架。它通过为客户端库公开一个简单的api来实现这一点。客户端库几乎可以用任何语言编写。

sixpack有两个主要部分。第一个是**sixpack server**,负责响应web请求。第二个是**Sixpack Web**,它是一个用于跟踪和执行A/B测试的Web仪表板。Sixpack Web是可选的。


要求
==

*redis>;=2.6
*python>;=2.7(3.0未测试,欢迎拉取请求)


Getting Started
==


小精灵。接下来使用``pip install`::


$pip install sixpack


**注意:**如果遇到类似``src/hiredis.h:4:20:致命错误:python.h:没有此类文件或目录``您需要安装python开发工具。`` apt get在ubuntu上安装python dev``下一步,创建一个sixpack配置。必须创建配置才能运行Sixpack。这里是默认值:

redis端口:6379;redis端口
redis主机:localhost;redis主机
redis前缀:sixpack;所有redis密钥都将加上前缀
redis数据库:15#redis中的db number

metrics:false将指标发送到statsd(响应时间、调用次数等)?
statsd-url:'udp://localhost:8125/sixpack''statsd-url连接到statsd-url(仅在metrics:true时使用)


按Zibb Zyborg销GDOM[BOT]雅虎[SLURP] Java[FixC]蜘蛛[URL]爬行,ONEIOUT,AbBy,CastRead,Twiteler-< Br/>无知的IpHyLoad:[1] IP.BR/> BR/> AsSeTyPATH:压缩资产生存的Genα路径。此路径与sixpack/static
密钥:'<;此处是您的密钥>;'\random密钥(任何字符串都是有效的,运行sixpack web所必需的)

您可以将此文件存储在任何位置(建议使用`/etc/sixpack/config.yml``)。只要redis正在运行,现在就可以像这样启动sixpack服务器:

$sixpack-config=<;path to config.yml>;sixpack

sixpack-server将默认监听端口5000,但可以使用"sixpack-port"环境变量进行更改。要在生产环境中使用,请参阅下面的"生产说明"部分。

以下环境变量可用:

*``sixpack_config_enabled``
*``sixpack_config_redis_port``
*``sixpack_config_redis_host``
*``sixpack_config_redis_password`
*``sixpack_config_redis_prefix``
*``sixpack_config_redis_db``
*``sixpack config_rob各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各行各业各业各行各业各业各行各业各业各行各业各业各行各业各业各行各业各业各业各行各业各业各业各行各业各业各行各业各业各业各行各业各业各业各业各业各行各业各业各业各业各行各业各业各业各行各业各业各业各各各cors_expose_headers``
*``sixpack廑metrics`
*``statsd廑url`


使用api
==


与sixpack的所有交互都是通过"http get"请求完成的。sixpack允许通过接受一个唯一的"client"id进行跨语言测试``(客户负责生成)将参与链接到转换。所有对sixpack的请求都需要一个"client-id"。

sixpack api可以通过cors-enabled请求从前端javascript使用。Sixpack API服务器将接受来自任何域的CORS请求。

实验=按钮颜色和备选方案=红色和备选方案=蓝色和客户端ID=12345678-1234-5678-1234-567812345678

如果测试不存在,将自动创建它。不需要在Sixpack Web中创建测试。


未验证实验名称,因此可能会爆炸redis密钥空间。
如果需要验证正在创建的实验是否仅是您希望的那些
白名单,请考虑使用"nginx+lua`/`openresty`或"varnish"、
和在那里执行白名单逻辑。

有效的实验名称必须是小写字母数字字符串,并且可以包含````和`-```。

``alternatives``(必需)是Sixpack的潜在响应。其中一个将是分配给"client_id"的存储桶。

``client_id`(必需)是参与测试的用户的唯一id。

``user_agent`(可选)发出请求的用户的用户代理。用于bot检测。

``ip_address``(可选)发出请求的用户的ip地址。用于bot检测。

``force``(可选)强制返回特定的替代项,例如:


$curl http://localhost:5000/participate?实验=按钮颜色和备选方案=红色和备选方案=蓝色和强制=红色和客户端ID=12345678-1234-5678-1234-567812345678

在本例中,将始终返回红色。这只用于测试,不记录参与度。

``record_force``(可选)如果与``force``一起使用,将记录参与度。

``traffic_fraction`(可选)第六包允许将实验限制为流量的子集。您可以在这里以十进制数字的形式通过要将测试公开到的通信量百分比。(?)流量分数=0.10``占10%)



响应
——


>典型的六包参与响应将如下所示::

{
{
状态:"确定"
替代选项:{
名称:"红色"

实验:{
名称:"按钮颜色"

客户机ID:"12345678-1234-5678-1234-567812345678"
}


这是为测试选择并分配给"客户机id"的备选方案的表示。对这个实验/客户机ID组合的所有后续请求都将返回相同的选项。

实验=按钮颜色和客户端ID=12345678-1234-5678-1234-567812345678


Ipple KPI。如果要根据特定的kpi跟踪转换,可以在此处执行此操作。如果kpi不存在,则会自动创建它。

notes
----


您会注意到"convert"端点不采用"alternative"查询参数。这是因为sixpack在内部用"client"处理_id`.

我们包含了一个"健康检查"终结点,可在``/\u status``使用。这有助于在Sixpack服务不可用时进行监视和警报。运行状况检查将以200个(成功)或500个(失败)标题响应。


clients
==


我们已经提供了四种语言的客户端。我们很乐意用其他语言添加客户。如果你想创建一个,请先阅读clientspec。在编写您的客户端之后,请更新并拔出该文件,以便我们知道它。
Ruyy
-Python(BR/>)JavaScript(BR/> -PHP
-IOSY
-GOB
- PrLy
-'C*' 'BR/> -'Java/Android '
BR/>。_ ruby:http://github.com/seatgeek/sixpack rb
_ python:http://github.com/seatgeek/sixpack py
。_ javascript:http://github.com/seatgeek/sixpack js
。_ php:http://github.com/seatgeek/sixpack php
。_ ios:http://github.com/seatgeek/sixpack ios
。_转到:http://github.com/subosito/sixpack go
…_ perl:http://github.com/b10m/p5 www-sixpack
_ C 35;:https://github.com/nderraugh/sixpack cs
。Java/Android:http://Github.com/SeaGeKe/SuxPultJavaBR/> BR/>算法
>BraseStudioSt==BR/> BR/>第2版SXPACK,我们使用确定性算法来选择客户端将接收的替代方案。该算法从Facebook的Planout项目中移植而来,更多信息可以在这里找到。








Dashboard
=


$sixpack_config=<;path to config.yml>;sixpack web

sixpack仪表板允许您可视化每个实验的备选方案与其他方案的比较情况,选择备选方案作为优胜者,并将实验说明更新为someth更具可读性。

sixpack web默认在端口"5001"上运行,但可以使用"sixpack web\u port"环境变量进行更改。在配置文件中设置"secret_key"变量之前,Sixpack Web将无法正常工作。

API
--


Sixpack Web Dashboard内置了一个只读API。要获取所有实验信息的列表,可以发出如下请求::

$curl http://localhost:5001/experiments.json

要获取单个实验的信息,可以发出如下请求::

$curl http://localhost:5001/experiments/blue或red header.json

生产说明
===


我们建议在生产中的Gunicorn上运行Sixpack。在运行以下程序之前,您需要在虚拟环境中安装Gunicorn。

若要使用Gunicorn/Gevent(单独安装)运行SixPack服务器,您可以运行以下程序:

Gunicorn--访问日志文件--W 8--工作类=Gevent SixPack。服务器:启动

要使用gunicorn/gevent(单独安装)运行Sixpack Web仪表板,您可以运行以下命令:


gunicorn--access logfile--w 2--worker-class=gevent sixpack.web:start

**注意:**选择实验获胜者后,最好删除Sixpack实验C代码库中的ode,以避免不必要的http请求。

====


cross origin资源共享可以使用以下配置属性进行调整:

cors-u头:…
cors-u凭据:true
cors-u方法:get
cors_公开头:…





contribution
==


1。分叉
2.以开发模式启动sixpack,使用:

$pythonpath=。sixpack_config=<;指向config.yml>;bin/sixpack的路径


和::

$pythonpath=。sixpack_config=<;path to config.yml>;bin/sixpack web

您可以使用以下命令设置sixpack的种子::

$pythonpath=。sixpack_config=<;path to config.yml>;sixpack/test/seed


此命令将向"participate"和"convert"端点发出几十个请求。可以多次运行它以获取更多数据。

**注意:**默认情况下,服务器以生产模式运行。如果要打开flask和werkzeug调试模式,请将"sixpack_debug"环境变量设置为"true"。

3。创建功能分支(``git checkout-b my new feature``)
4。编写测试
5。使用"nosetests"运行测试
6。提交更改(``git commit-am'添加了一些功能'``')
7。推到分支(``git push origin my new feature``)
8。创建新的拉取请求

请避免更改版本号;我们将为您处理该请求。


在生产中使用Sixpack?
==
==


如果您是生产中使用Sixpack的公司,请告知我们!我们将在项目登录页中添加一个"using sixpack"部分,我们希望包括您。在jack[at]seatgeek dot.com上写一行你的公司名称。


license
==






_ Gunicorn:https://github.com/benoitc/gunicorn
。_客户端规范:https://github.com/seatgeek/sixpack/blob/master/clientspec.md
…_这里:https://github.com/facebook/planout/blob/master/python/planout/ops/random.py
。_` BSD 2条款许可证`:http://opensource.org/licenses/bsd-2条款



===


>2.7.0(2017-11-22)
----
----
-
-来自dbillingham/master的合并请求286。[zack kitzmiller]

[dan billingham]
-增加了记录力的api测试。[dan billingham]
-添加选项以录制强制实验。[Dan Billingham]
-来自Philipbjorge/Patch-1的合并请求283。[何塞·迪亚兹-
冈萨雷斯]

[菲利普•比约格]



2.6.2(2017-07-25)
—————————————————————————————————————————————————————————————————————————————————[何塞·迪亚兹·冈萨雷斯]


其他
~~~~~
-发布版本2.6.2。[何塞•迪亚兹•冈萨雷斯]



2.6.1(2017-07-25)
——————————————————————————————————————————————————————————————————————————————————关闭279。[何塞·迪亚兹·冈萨雷斯]


其他
~~~~~
-发布版本2.6.1。[何塞·迪亚兹·冈萨雷斯]



2.6.0(2017-07-24)
——————————————————————————————————————————————————————————————————[Jose Diaz Gonzalez]
-已启用来自Harmoney dev/Cors的合并拉取请求256。[何塞·迪亚兹-
冈萨雷斯]


添加烧瓶cors
-添加烧瓶cors。[Christopher Valles]



2.5.0(2017-07-24)
----
-发布版本2.5.0。[何塞·迪亚兹·冈萨雷斯]
-来自llonchj/master的合并请求266。[何塞·迪亚兹·冈萨雷斯]


cors for sixpack
-将分支"master"合并为master。[何塞·迪亚兹·冈萨雷斯]
-通过测试。[jordi llonch]
-删除了未使用的烧瓶代码。[jordi llonch]
-修复doco。[jordi llonch]
-修复了hiredis版本。[乔尔迪·朗奇]
-颠簸的赫雷迪斯。[jordi llonch]
-凸起的gevent版本。[jordi llonch]
-增加了cors支持。[Jordi Lloch]



2.4.1(2017-07-05)
----
-发布版本2.4.1。[Zackkitzmiller]



2.4.0(2017-07-05)
——————————————————————————————————————————————————————————————————————————————————————[何塞·迪亚兹·冈萨雷斯]


其他
~~~~~
-发布版本2.4.0。[Zackkitzmiller]
-来自Aldrinabastillas/Readme更新的合并请求271。[扎克
kitzmiller]


实验名称必须小写
-实验名称必须小写。[aldrin abastilas]

update participation endpoint argument
-合并wowair/proxy fix中的拉取请求270。[若泽diaz gonzalez]

add config to enable werkzeug proxyfix middleware
-add config to enable werkzeug proxyfix middleware。[steinn steinsen]
-来自tomzxworks的merge pull请求262/add secret在自述文件的sixpack web部分中是必需的。[何塞·迪亚兹·冈萨雷斯]


添加注释以明确说明需要保密,而不是sixpack web的可选内容
-在sixpack web部分中添加注释,说明需要指定一个密秘才能访问网站。[Tom Rochette]
-来自TomzxWorks/Bump Flask Assets版本的合并拉取请求263-
到-0.12。[何塞·迪亚兹·冈萨雷斯]


bump flask assets required version to 0.12
-[260]bump flask assets required version to 0.12。按字母顺序重新排序
依赖项。[Tom Rochette]
-来自Foolusion/Patch-1的合并请求259。[何塞·迪亚兹·冈萨雷斯]


update readme.rst
-更新readme.rst。[安德鲁·奥尼尔]
-来自seatgeek/josegonzalez-patch-1的合并请求255。[何塞
diaz gonzalez]


drop——使用镜像标志
-drop——使用镜像标志。[Jose Diaz Gonzalez]

refs 248
-来自SeatGeek/IgnoreRobots的合并拉取请求217。[何塞•迪亚兹-
冈萨雷斯]

[evan
carter]
-添加一个关于不存在测试白名单的注释。[Jose
Diaz Gonzalez]

Sixpack的设计是为了方便地将A/B测试集成到现有的应用程序中,因此我们没有任何计划将测试白名单集成到核心中。
-合并来自Nickveenhof/Real戡存档的Pull请求200。[zack
kitzmiller]

e对于存档/暂停方法


更好地覆盖所有方法


增加重置功能的代码覆盖率
-添加发行说明。[Zackkitzmiller]



2.3.1(2016-06-26)
----
-凹凸版本。[Zackkitzmiller]
-合并来自seatgeek/cv描述kpi的拉取请求240。[zack
kitzmiller]


添加对kpi描述的支持
-删除dump.rdb。[chris voll]
-添加对kpi描述的支持。[克里斯•沃尔]
-凹凸版本。[Zackkitzmiller]
-合并ShopRunner/原子实验创建的拉取请求239。
[Zack Kitzmiller]

确保原子实验创建。
-确保原子实验创建。[马克•威廉姆斯]


因此,并行写入程序可能会对实验的可变值(如其替代项列表)造成重复写入。

注意,
experiment.is_new_record现在检查
实验的密钥的存在,而不是它在实验
集中的成员身份;这使得代码监视
实验的唯一值,而不是所有人共享的值。

分数被持久化。
-来自seatgeek/jc update benchmark脚本的合并拉取请求231。
[zack kitzmiller]

benchmark util使用sixpack client的修复
-benchmark util使用sixpack client的修复。[Jon Coe]
-准备2.2.0版。[zackkitzmiller]
-合并urbandictionary/add stats中的拉取请求225。[zack
kitzmiller]

[igor bondarenko]
-使用statsd_url而不是三个单独的变量。[igor bondarenko]
-添加度量测试。[igor bondarenko]
-将指标发送到statsd。[IGORbondarenko]

[igor bondarenko]
-来自heyhugo/fix-173的合并请求214。[Jose Diaz Gonzalez]


修复Web UI图表加载问题
-修复问题173。[hugo heyman]

请参阅details.html template中的"data experiment"属性
-来自seatgeek/josegonzalez-patch-1的合并拉取请求207。[何塞
diaz gonzalez]


pin gunicorn和gevent
-pin gunicorn和gevent。[Jose Diaz Gonzalez]


在17.5和19.4版本的产品中测试,在本地使用这些版本的一系列。
-更新发布脚本。[何塞•迪亚兹•冈萨雷斯]



2.1.0(2016-02-16)
---------
-发布版本2.1.0。[Jose Diaz Gonzalez]
-修复自述文件中的重组文本问题。[Jose Diaz Gonzalez]
-添加发布脚本。[何塞·迪亚兹·冈萨雷斯]
-来自seatgeek/jose gonzalez-patch-1的合并请求206。[何塞
diaz gonzalez]


添加gunicorn和gevent
-添加gunicorn和gevent。[何塞·迪亚兹·冈萨雷斯]


这些不需要固定到特定版本,并已确认与Gunicorn 17.5至19.4.1一起工作。
-来自Danalloway/Danalloway-Patch-1的合并拉取请求201。[jose
diaz gonzalez]

[bug]将环境变量转换为整数
-将环境变量转换为整数。[dan alloway]
-来自johnbacon/patch-1的合并请求205。[Jose Diaz Gonzalez]

readme.rst的各种改进
-readme.rst的各种改进。[约翰•培根]

自述文件中的一致性改进。



2.0.4(2015-12-11)
----
-更新更改。rst。[Zackkitzmiller]
-凹凸版本。[zackkitzmiller]
-来自blackskad的合并拉取请求204/配置csrf禁用。[zack
kitzmiller]

添加配置值以禁用csrf
-添加配置值以禁用csrf。[Thomas Meire]
-来自Nickveenhof/Sixpack-191的合并请求192。[zack
kitzmiller]

[nickveenhof]
-来自seatgeek/josegonzalez-patch-1的合并请求188。[何塞
diaz gonzalez]


fix readme heading for 2.0.1
-fix readme heading for 2.0.1。[Jose Diaz Gonzalez]
-来自SPJWebster/Master的合并请求193。[zack kitzmiller]

[steve
webster]

还向排除的客户机测试添加了一个附加断言,该断言验证排除的客户机是否没有现有的替代方案,即使在调用"experiment.get_alternative"之后也是如此。
-merge pull request 190 from seatgeek/fix traffic traction。[zack
kitzmiller]

[traffic]修复过度录制
-[traffic]修复过度录制。[zackkitzmiller]
-来自chaaaarlie/patch-1的合并请求174。[Zack Kitzmiller]

从选择的备选方案中删除轮
-从选择的备选方案中删除轮。[chaaaarlie]

舍入choose_alternative生成的随机数不包括碰巧获得大于或等于0.990000的随机数的用户。
-来自phjardas的merge pull请求157/check_traffic分数。[zack
kitzmiller]

不要检查每次参与的流量分数是否更新。
-添加单元测试。[philipp jardas]

redis数据库现在在每次测试后都会被刷新。
-不要检查每次参与时的更新流量分数。
[philipp jardas]

这个导致在没有显式参数的情况下,对于流量分数小于1的实验,请求总是失败。

此外,服务器不再将请求参数"流量分数"默认为1,而是将其保留为"无"。只有在创建新实验时,模型才会将此值默认为1。
-merge pull request 189 from seatgeek/josegonzalez-patch-2。[zack
kitzmiller]

g_stat计算期间的catch valueerror
-g_stat计算期间的catch valueerror。[Jose Diaz Gonzalez]

在某些情况下,给定备选方案的转换为零,在记录值时会导致数学域错误。
-合并分支"blackskad-issue-166"[zackkitzmiller]
-合并分支"issue-166",位于https://github.com/blackskad/sixp回到
blackskad-issue-166。[zackkitzmiller]

冲突:
sixpack/test/experiment_model_test.py
-当流量分数为1时,放弃从排除的客户端转换。
[thomas meire]

不将ESE排除的客户端记录到redis。
当存在对排除的客户端的转换请求时,不会放弃转换
并将其记录到redis。当排除的客户有两个
转换时,完成转换的数量
将大于参与者的数量,这是不可能的。置信区间的计算依赖于这个
假设,当完成的客户数大于
参与者数时,计算失败。


解决方案是也放弃排除客户的转换。
-来自nickveenhof/参与者的合并拉取请求187-打字错误。[zack
kitzmiller]

[nickveenhof]
-合并来自仪表板上blackskad/排除的客户端的拉取请求186。
[zack kitzmiller]

在仪表板上显示从实验中排除的客户端数。
-将fakeredis版本提升到v0.4.0以实现位计。[托马斯< BR/> Meire > BR/>显示被排除在实验之外的客户端的数量。
(Thomas Meire)
-从SeaGeKe/AddithPuxJavaJava中合并合并请求185。[ZAC< BR/>基茨米勒]
BR/>将SuxPultJava添加到客户端列表
-将SouthPype Java添加到客户端列表中。[stephen d'amico]
-将许可年更新到2015年。[斯蒂芬·达米科]



2.0.3(2015-08-03)
———————————————————————————————————————————————————————————————[zackkitzmiller]
-来自marksteve/patch-1的合并请求164。[zack kitzmiller]

port应该是整数
-port应该是整数。[马克·史蒂夫·萨姆森]
-来自CAXAP/Redis Max连接的合并请求137。[zack
kitzmiller]

添加了redis max connections设置。
-添加了redis max connections设置。[马克西姆·卡门科夫]
-[测试]添加覆盖徽章。[zackkitzmiller]
-[tests]尝试添加工作服。[zackkitzmiller]
-[tests]尝试添加工作服。[zackkitzmiller]
-revert"[测试]尝试添加工作服"[zackkitzmiller]

此reverts commit 7303d112ff906dbeb8664c982672d086370db3cf.
-[测试]尝试添加工作服。[zackkitzmiller]
-[tests]尝试添加工作服。[Zackkitzmiller]
-增加工作服。[Zackkitzmiller]
-来自Manjerico/Patch-1的合并请求156。[zack kitzmiller]

更新了readme.rst
-更新了readme.rst。[Lino Silva]


更正Facebook的Planout项目文件参考



2.0.2(2015-08-03)
————————————————————Bump版本。[zackkitzmiller]
-[bug]在设置赢家时修复损坏的实验。[Zackkitzmiller]
-来自nderraugh/master的合并拉取请求153。[Zack Kitzmiller]

添加客户端
-添加客户端。[Neil Derraugh]
-来自seatgeek/naming的合并拉取请求151-修复。[zach sherman]


命名修复
-删除日志。[zachary sherman]
-调整名称和修复图表。[zachary sherman]
-[web]uridecode实验名称。[zachary sherman]
-来自seatgeek/命名修复程序的合并请求149。[zach sherman]


清理名称
-删除日志。[zachary sherman]
-清理名称。[Zachary Sherman]
-添加评论。[zachary sherman]
-更新副本。[Zachary Sherman]



2.0.1(2015-08-03)
----
-凹凸版本。[zachary sherman]
-错误提示、url编码和新的失败测试部分。[zachary
sherman]
-来自seatgeek/alt选项的合并请求134。[Eric Waller]

Deterministic Alternative Choice
-将此版本设为2.0-dev.[Eric Waller]
-将记录参与参数更改为预取。[Eric Waller]
-来自CAxap/fix pipe attr的合并拉取请求135。[zack kitzmiller]

stricredis没有属性"pipe"。
-stricredis没有属性"pipe"。[maxim kamenkov]
-来自kadoppe/fix实验json的merge pull request_126。[zack
kitzmiller]


fix 500 error on experiments.json api
-fix 500 error on experiments.json api。[kadoppe]
-来自ricksaenz/rs的合并请求131显示流量分数。
[zack kitzmiller]

ui中显示流量分数
-ui中显示流量分数。[Rick Saenz]
-来自Davidell/Patch-1的合并拉取请求133。[何塞·迪亚兹·冈萨雷斯]


update readme.rst
-更新readme.rst。[大卫·耶尔]


修复了自述文件中的一个小错误



2.0.0(2015-08-03)
----[docs]更新。[zackkitzmiller]
-删除所有多武装匪徒代码。[zackkitzmiller]

这完全没有必要,并且被新的确定性选择算法所掩盖
-[tests]修复中断的测试,添加失败的流量分数的测试。
[zackkitzmiller]
-在实验开始后不允许更改流量分数编辑:[zackkitzmiller]
-次要:重置时保存描述,关闭124。[Zackkitzmiller]
-更多的测试可供选择。[zackkitzmiller]
-对所做的决定添加一些评论。[zackkitzmiller]
-允许无记录参与。[Zackkitzmiller]
-实验终点。[zackkitzmiller]
-删除未使用的代码。[zackkitzmiller]
-只使用Uuid的前7个字符用于确定性算法。
[zackkitzmiller]
-slim对象化方法。[Zackkitzmiller]
-杀死客户选择的替代概念。[Zackkitzmiller]
-预测性alt选择,参考文献132。[zackkitzmiller]
-[web]修复先前提交的中断测试。[zackkitzmiller]
-[web]正确格式化旧日期,关闭130。[zackkitzmiller]
-[deleting]kpi不使用颜色作为分隔符,关闭110。
[zackkitzmiller]
-[ui]始终显示创建日期。[Zackkitzmiller]

关闭121
-[web]关闭资产压缩,关闭115。[Zackkitzmiller]
-来自vslavik/master的合并拉取请求122。[Zack Kitzmiller]

使用https修复不安全内容警告。
-使用https修复不安全内容警告。[václav slavík]

将layout.html中的fonts.googleapis.com链接更改为与协议相关的链接。


这修复了在https上运行Sixpack Web时来自现代浏览器的不安全内容警告。
-github.com的合并分支"master":seatgeek/Sixpack。[zackkitzmiller]
-来自ainoya/fix test seed method args的合并拉取请求120。[zack
kitzmiller]

sixpack/test/seed:fix find_或_create arguments
-sixpack/test/seed:fix find_或_create arguments。[直木爱诺亚]
-关闭119。[埃里克·沃勒]

-更新readme.rst。[杰克·格罗茨辛格]
-凹凸版。[zackkitzmiller]
-[installation]不要把东西放在init.py中。[zackkitzmiller]

这会导致pip安装失败,因为它在安装需求之前导入sixpack。
-bump版本。[zackkitzmiller]
-修复参数排序。[Zackkitzmiller]
-关闭118。[eric waller]
-开始提取分析代码。[埃里克·沃勒]
-使用属性时保持一致。[eric waller]
-来自seatgeek/python api的合并请求117。[eric waller]

将核心逻辑重构为api.py
-将核心逻辑重构为api.py。[eric waller]


这有几个好处:

*您可以在一个带有"sixpack.participate(…)`
*的python应用程序中使用sixpack,
*测试起来容易一些,
*这为添加可编程访问的分析api铺平了道路,我认为这可能是解决诸如e https://github.com/seatgeek/sixpack/pull/112
-停止在移动设备上隐藏有趣的数据。[埃里克·沃勒]
-杀死应该在
eb1233267cf93eff848f32cfaa517050ff0133e2中删除的css文件。[埃里克·沃勒]



1.1.2(2014-05-20)
——————————————————————————————————————————————————————————————[Zackkitzmiller]
-来自seatgeek/客户选择的备选方案的合并拉取请求116。[zack
kitzmiller]

允许客户选择替代方案
-允许客户选择替代方案。[埃里克·沃勒]

单击此按钮将稀释结果,因此需要更多参与者才能达到显著性。
-来自omenar/description-utf8的merge pull request 106。[zack
kitzmiller]

在实验描述中添加对非ascii字符的支持
-处理hget返回的无值。[osvaldo mena]
-在实验描述中添加对非ascii字符的支持。
[osvaldo mena]
-铸造浮子时抛出错误。[Zackkitzmiller]



1.1.1(2014-02-05)
----
-凹凸版本。[zackkitzmiller]
-更新更改。[zackkitzmiller]
-在config.py的末尾添加换行符。[osvaldo mena]
-添加对redis sentinel的支持。[osvaldo mena]


使用redis.sentinel.sentinelconnectionpool支持redis sentinel。可以通过指定env vars sixpack_config_redis_sentinel_service_name和sixpack_config_redis_sentinels来配置,也可以通过在config.yml
-bump版本上指定redis_sentinel_service_name和redis_sentinels来配置。[Zackkitzmiller]



1.1.0(2014-01-20)
----
-[docs]添加更改。rst。[Zackkitzmiller]
-合并分支"开发"[Zackkitzmiller]
-[web]导出应遵守kpi。[Zackkitzmiller]
-记录多武装匪徒。[zackkitzmiller]

关闭来自seatgeek/traffic dist重构的89
-合并拉取请求100。[zack
kitzmiller]

重新访问流量分布/分数
-重新访问流量分布/分数。[Zackkitzmiller]

关闭99
-将https://github.com/hsinhoyeh/sixpack的分支"master"合并到
develop中。[zackkitzmiller]
-添加零分区错误异常以避免计算时出现致命错误
g_stat.[hsinhoyeh]
-支持通过env变量进行设置。[Zackkitzmiller]

关闭98
-将https://github.com/cyphersystems/sixpack的分支"no yaml"合并到cyphersystems no yaml。[zackkitzmiller]
-从环境字符串进行类型转换。[otoniel plahcinski]
-将测试修复为没有默认配置文件。[奥托尼尔普拉辛斯基]
-概念代码。[otoniel plahcinski]
-记录多武装匪徒。[Zackkitzmiller]

关闭89
-链接iOS客户端。[Jose Diaz Gonzalez]
-添加了iOS的Sixpack客户端库。[Jose Diaz Gonzalez]
-B10M/Master的合并拉取请求97。[zack kitzmiller]

B10米]



1.0.5(2013-10-16)
——————————————————————————————————————————————————————————————————————————————————————————————————————[Zack Kitzmiller]

修复自述文件中的错误。
-修复自述文件中的错误。[鲍勃·纳德勒]
-凹凸版本。[zackkitzmiller]
-允许在非kpi转换后进行kpi转换。[Zackkitzmiller]

[zackkitzmiller]
-合并seatgeek的拉取请求92/修复缺少的设置。[zack
kitzmiller]


manifest:fix missing setup.py
-manifest:fix missing setup.py。[Philip Cristiano]

setup.py不在包中,也不包含在dhrrgn/master的
-合并拉取请求87中。[zack kitzmiller]

find_或_404只应捕获valueerror。
-find_或_404只应捕获valueerror。[dan horrigan]

通过捕获所有错误,它使调试变得非常困难。例如,如果redis服务在请求中间失效,将返回404而不是500,这意味着异常将被忽略,并且不会被正确记录。
-从subosito/sixpack go合并pull请求85。[zack kitzmiller]

add go client library
-输入错误。[alif rachmawadi]
-添加sixpack go。[alif rachmawadi]
-来自dhrrgn/ascii fix的合并拉取请求88。[zack kitzmiller]

修复ascii艺术。当然非常重要。
-修复ascii艺术。当然很重要。[dan horrigan]
-来自dhrrgn/master的合并拉取请求86。[Eric Waller]

删除uneeded markdown()调用。
-删除uneeded markdown()调用。[dan horrigan]
-来自dhrrgn/master的合并请求84。[zack kitzmiller]

简化调试检查。
-简化调试检查。[丹·霍里根]



1.0.1(2013-08-29)
———————————————————————————————————————————————————————————————[zackkitzmiller]
-将第三方js和css库移动到供应商文件夹。
[zackkitzmiller]

这将更改github语言统计信息



<1.0.0(2013-08-29)
----
-bump版本。[zackkitzmiller]
-更改错误消息。[zackkitzmiller]
-来自jeremiak/patch-1的合并拉取请求83。[zack kitzmiller]

update readme.rst
-更新readme.rst。[jeremia kimelman]

更新以包含redis所需版本
-添加关闭调试模式的功能并向自述文件添加必要的注释。
[zackkitzmiller]
-所有响应都应为json。[zackkitzmiller]
-如果redis不可用,不要在开始时抛出回溯。
[zackkitzmiller]
-添加有关删除实验代码的注释。[zackkitzmiller]
-使混乱的文档更加清晰。[zackkitzmiller]
-默认情况下禁用mab。[zackkitzmiller]
-在没有实验的情况下减少混淆行为。
[zackkitzmiller]
-消除不必要的评论。[zackkitzmiller]
-将style.css重命名为sixpack.css,以与javascript文件保持一致。[zackkitzmiller]
-更新flask,werkzeug至最新版本。[zackkitzmiller]
-更新自述文件。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-语言的细微调整。[Jack Groetzinger]
-将"s"添加到实验/url。[zackkitzmiller]
-测试多个kpi,修复测试中发现的错误,参考文献30。
[zackkitzmiller]
-无效的kpi应在服务器上引发异常/转换异常。
[zackkitzmiller]
-其他名称、实验和kpi不能有空格。
[zackkitzmiller]
-ex包括webassets缓存。[Zackkitzmiller]
-来自seatgeek/多个kpi的合并拉取请求78。[Zack Kitzmiller]

多个kpi
-更新了kpi下拉栏。不过,在那些不使用chrome或safari的浏览器中,可能还是很糟糕的。[chris voll]
-修复undefi内德JS Bug。[zackkitzmiller]
-选择kpi时重定向,参考文献30。[Zackkitzmiller]
-在下拉列表中自动选择正确的关键绩效指标。[zackkitzmiller]
-将当前kpi添加到.json响应中。[zackkitzmiller]
-通过javascript将kpi值传递回服务器,参考文献30。
[zackkitzmiller]
-在sixpack web中初始实现多个kpi,参考文献30。
[zackkitzmiller]
-连接多个kpi转换到/转换服务器中的操作,参考文献30。
[zackkitzmiller]]
-在模型中添加处理以允许多个kpi,参考文献30。
[zackkitzmiller]
-更新密钥空间以允许多个kpi,参考文献30。[zackkitzmiller]
-修复损坏的仪表板,需要名称列表。[zackkitzmiller]
-不再加载存档的实验并用javascript隐藏它们。
[zackkitzmiller]
-将"状态终结点"添加到Sixpack Web Closes 77。[zackkitzmiller]
-重构响应处理,参考文献77。[zackkitzmiller]
-实际修复显示仪表板上存档的实验。
[zackkitzmiller]
-修复。[Zackkitzmiller]
-不要加载存档的实验,然后将其隐藏在仪表板上,
关闭72。[Zackkitzmiller]
-不要加载存档的实验,然后将其隐藏在仪表板上,
关闭72。[zackkitzmiller]
-修复了另一个置信区间错误。[chris voll]
-来自seatgeek/置信区间的合并拉取请求71。[zack
kitzmiller]

Fixed confidence interval boxplot bug for large dataset,new welcome page
-对welcome page进行了一些改进。[chris voll]
-更好的bug修复。[chris voll]
-修复了大数据集的置信区间boxplot错误,新的欢迎屏幕。[chris voll]
-rst不是md.[zackkitzmiller]
-添加有关hiredis安装错误的注释,谢谢@taylorotwell.
[zackkitzmiller]
-bump版本。[Zackkitzmiller]
-选择要进行实验的流量分布,关闭29。
[Zackkitzmiller]
-更改导入顺序。[Zackkitzmiller]
-调整键空间以允许排除的客户端,参考文献29。
[Zackkitzmiller]
-合并seatgeek/置信区间中的拉取请求70。[zack
kitzmiller]

[chris voll]
-将置信区间减少到小数点后一位。[chris voll]
-增加了80%的置信区间,还有一些小的改进。[chris
voll]
-来自seatgeek/响应图的合并拉取请求69。[zack
kitzmiller]


仪表板图表现在响应灵敏
-导航用户界面改进。[克里斯•沃尔]
-视网膜标志。[克里斯•沃尔]
-响应式描述模式。[chris voll]
-细节页上的图表点的响应性更好,宽度也更窄。[克里斯•沃尔]
-仪表盘图表现在响应迅速。[chris voll]
-来自seatgeek/issue-56的合并请求68。[埃里克·沃勒]

[克里斯•沃尔]
-不知道那个流浪汉是怎么进来的。[克里斯•沃尔]
-详细信息页面图标。[chris voll]
-删除了focus hackery。[chris voll]
-从seatgeek/copy querystring合并请求66。[zack
kitzmiller]

[chris voll]
-将零剪贴板添加到详细信息页以复制查询字符串。[chris
voll]
-来自seatgeek/dots的合并请求65。[zack kitzmiller]

ui更新、点、工具提示
-调整表位置。不幸的是,右边的负边距不起作用,所以修复程序只是完全去掉了负边距。[chris voll]
-在工具提示中添加了点颜色。[克里斯•沃尔]
-删除前导零,参考文献52。[chris voll]
-小点表示大量数据。[chris voll]
-修复了之前的错误,移动了一些样式。[chris voll]
-最后的工具提示。[chris voll]
-添加了工具提示。[chris voll]
-最初的dots实现,还没有工具提示。[chris voll]
-用户界面更新、响应性、为chrome创建了更好的解决方案
错误、新颜色、更新导航。[chris voll]
-修复仪表板的json模板。[Zackkitzmiller]
-取消对降价实施的人为限制,参考文献61和
64。[zackkitzmiller]
-允许使用带标记的段落标记。[zackkitzmiller]
-在尝试使用标记进行分析之前,请检查描述是否存在,
参考文献64。[Zackkitzmiller]
-合并分支"降价"[Zackkitzmiller]
-在描述中添加有限的降价支持,关闭64。
[Zackkitzmiller]
-实验描述的初始降价实现,参考文献64。
[Zackkitzmiller]
-删除不必要的注释。[zackkitzmiller]
-添加experiments.json端点。[zackkitzmiller]
-添加仅检索存档实验的方法。[zackkitzmiller]
-修复合并冲突。[zackkitzmiller]
-解决合并冲突。[zackkitzmiller]
-修复合并冲突。[Zackkitzmiller]
-凹凸版本。[Zackkitzmiller]
-从Sixpack中删除"版本"的整个概念。[zackkitzmiller]
-将分支"master"合并为kill版本。[zackkitzmiller]
-修改键空间以删除实验"版本"的概念
[zackkitzmiller]
-凹凸版本。[zackkitzmiller]
-将script.js重命名为sixpack.js。[zackkitzmiller]
-更多sahne存档ui,关闭51。[zackkitzmiller]
-删除不必要的评论。[Zackkitzmiller]
-凹凸版本。[zackkitzmiller]
-添加实验以导出文件名下载。[Zackkitzmiller]
-凹凸版本。[zackkitzmiller]
-添加将实验详细信息导出到csv的功能。[zackkitzmiller]
-空白。[zackkitzmiller]
-修复与已删除实验相关的潜在破坏性错误。
[zackkitzmiller]
-将.vfenv添加到.gitignore。[zackkitzmiller]
-修复版本化实验中的断图。[zackkitzmiller]
-删除未使用的变量[zackkitzmiller]
-pep8。[zackkitzmiller]
-更好的主意:所有东西都使用"测试统计"术语,对使用的特定测试统计不可知。[Steve Ritter]
-详细信息使用G_stat。[Steve Ritter]
-仪表板使用G_stat。[Steve Ritter]
-将objectify更改为使用G_stat。[Steve Ritter]
-格式。[Steve Ritter]
-增加了g置信水平测试,以取代黑社会无证z
得分。[Steve Ritter]
-修复53-详细页面图形对齐和大小。[马修·哈德森]
-固定关闭按钮样式-关闭54。[matthew hudson]
-删除未使用的"允许多个实验"选项。[埃里克·沃勒]
-删除"数据库故障"选项中未使用的控件。[埃里克·沃勒]
-删除未使用的完整响应选项。[Eric Waller]
-修复机器人检测(带测试)[Eric Waller]
-合并来自seatgeek的拉取请求50/issue-43。[马修·哈德森]

图表悬停状态。关闭43
-对图表行进行排序,使活动行位于非悬停行的"上方"。
[matthew hudson]
-删除图表工具提示。[matthew hudson]
-添加对图表/圆圈突出显示的支持。[matthew hudson]
-调整表格行突出显示行为。[matthew hudson]
-基于表交互启用图表悬停状态。[matthew
hudson]
-添加一些有用的评论。[matthew hudson]
-修复实验替代突出显示。[matthew hudson]
-将悬停状态添加到图表行。[matthew hudson]
-用于启用图表悬停状态的基本构建。[马修·哈德森]
-不要用==与false进行比较。[Zackkitzmiller]
-修复X轴图表错误。[matthew hudson]
-修复详细信息页眉样式。[matthew hudson]
-修复更新描述默认值。[matthew hudson]
-详细信息页实验名称不需要是链接。[matthew
hudson]
-"更新说明"按钮应为d允许您更新现有的
描述。[matthew hudson]

关闭45
-合并github.com的分支"master":seatgeek/sixpack。[matthew hudson]
-合并seatgeek的pull请求47/启用whiplash。[zack
kitzmiller]

将mab设为非默认值并更改其配置选项
-将mab设为非默认值并更改其配置选项。[Jose
Diaz Gonzalez]
-调整仪表板页图表位置。[matthew hudson]
-优化X轴刻度间距。[Matthew Hudson]
-在图表中添加X轴标签。[matthew hudson]
-更新客户端规范以包括强制选项。[zackkitzmiller]
-修复按期间数据中的重复转换。[eric waller]
-按时段转换数据的测试。[eric waller]
-修复实验版本缓存。[Eric Waller]
-删除未使用的属性。[埃里克·沃勒]
-再次缓存序列ID。[埃里克·沃勒]
-每个实验都存储顺序id。[埃里克·沃勒]

这将防止转换/参与密钥的内存使用量失控增长。这也意味着当实验被删除时,内存可以被完全回收。
-空白。[eric waller]
-根据客户机id重命名get_alternative_。[eric waller]
-控件是属性。[埃里克·沃勒]
-杀死未使用的收藏模型。[埃里克·沃勒]
-空白。[埃里克·沃勒]
-修复获取数据。[埃里克·沃勒]
-测试转换。[Eric Waller]
-缩短密钥名以符合更新的客户端规范。[eric waller]
-lua实现get_alternative_by_client_id。[eric waller]

并删除未使用的has_converted_by_client_id
-使用较短的默认前缀。[eric waller]
-更新密钥空间以指定短密钥名称。[埃里克·沃勒]


计算机不在乎来自seatgeek/spinner fix的合并请求42。[Eric Waller]

修复导致微调器无限加载的错误。
-修复导致微调器无限加载的错误。[matthew
hudson]
-合并分支"开发"[eric waller]
-添加一个快速基准脚本。[埃里克·沃勒]

这可能是一笔不错的交易。我想添加的主要功能是一次生成几天的数据。

注意,它使用修改后的客户端版本,模块名更改为sixpack_client,b/c,否则与服务器模块冲突。
-从1开始减少redis参与查询3到7。[埃里克·沃勒]

(机器人程序为6到3)
-来自seatgeek/develop的合并请求41。[埃里克·沃勒]


消除大量额外的redis请求
-重复转换并不例外。[埃里克·沃勒]
-实验胜利者现在是缓存的属性。[埃里克·沃勒]
-重新排序替代选择优先级。[埃里克·沃勒]

en"alternative

这确保了以下几点:
*机器人不会导致创建内部客户端ID
*机器人*如果存在,就获取赢家
*force param*always*works
*redis的工作最小化
-通过返回赢家来修复错误。[埃里克·沃勒]
-删除额外的实验。查找。[Eric Waller]
-添加了默认背景色以防止出现FOUC。[matthew hudson]
-删除格式错误的重复转换率。
[zackkitzmiller]

在合并冲突期间,从.json实验终结点删除了转换率的正确格式。
-逗号。[Zackkitzmiller]
-恢复超重力预压。[zackkitzmiller]
-合并分支'js templating'[zackkitzmiller]
-为图表和仪表板构建ajax模板。[马修·哈德森]
-对Conv的响应更好json端点中的rsion速率。[zackkitzmiller]
-关于alternative.json端点的更多信息。[zackkitzmiller]
-更全面的.json端点。[Zackkitzmiller]
-来自SeatGeek/仪表板改进的合并拉取请求39。[马修
hudson]


只有滚动到视窗时才加载仪表板图表。
-合并主控形状。[matthew hudson]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-压缩,而不仅仅是连接资产。[zackkitzmiller]
-压缩,而不仅仅是连接资产。[zackkitzmiller]
-更好的格式。[Zackkitzmiller]
-滚动显示仪表板图表时淡入。[matthew hudson]
-在滚动条上加载仪表板图表。[Matthew Hudson]
-添加了$.Waypoints插件。[马修·哈德森]
-不要包含boostrap.js两次。[zackkitzmiller]
-来自seatgeek/develop2的合并拉取请求37。[zack kitzmiller]

允许在相应的url中指定记录/参与的日期时间
-将.webassets缓存添加到gitignore。[eric waller]
-允许客户端指定日期时间。[Eric Waller]
-来自SeatGeek/Chart改进的合并拉取请求38。[马修
哈德逊]

仪表板+详细图表现在是累积的。关闭36
-图表中的高分辨率数据。[马修·哈德森]
-删除了传统的js。[matthew hudson]
-转换选择器语言以使用图表而不是图形。[matthew
hudson]
-删除了遗留代码。[matthew hudson]
-仪表板图表现在是累积的。[马修哈德逊]
-还原"还原"凹凸版本"[zackkitzmiller]

此还原提交C6121A5A45057625EBF9880F3A49E71C8595C9B3。
-还原"可能是此"[zackkitzmiller]

此还原提交B7CBD1A384627B63D4B9A98A248EACB62FA58C。
-还原"还原"凹凸版本"[zackkitzmi"ller]

这将恢复提交100ed05fe390588a9da646de86af90e6491b623b。
-可能是这样。[Zackkitzmiller]
-凹凸版本。[Zackkitzmiller]
-同样地,控制高度。[zackkitzmiller]
-将默认主机更改为0.0.0.0作为开发模式。[zackkitzmiller]
-将.json端点添加到Sixpack Web进行实验。[zackkitzmiller]
-移动错误模板,添加500个错误页。[zackkitzmiller]
-向自述文件添加了资产路径。[Zackkitzmiller]
-404页。[Zackkitzmiller]
-换行。[zackkitzmiller]
-终止调试。[zackkitzmiller]
-可配置的资产路径。[zackkitzmiller]
-添加空文件夹。[zackkitzmiller]
-将对config.yml的所有引用更新为config.yml<;path to config.yml>;
[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-自述:修复步骤编号。[philip cristiano]
-readme:fix seed示例命令。[Philip Cristiano]

命令需要pythonpath才能找到模型。另外,由于这是在开发部分,因此它应该遵循其他示例命令的模式,这些命令包括local config.yml
,而不是替换为配置文件路径的指令。
-启用调试。[zackkitzmiller]
-修复git-whoops。[Zackkitzmiller]
-还原"合并分支‘压缩资产’"[Zackkitzmiller]

此还原将提交5CD51272EF6E505E35626E144976A22C05AF88,还原对40E784C3140992AB9040F550A1A553CD7185146D所做的更改。
-合并分支‘压缩资产’[Zackkitzmiller]
-更多CSS。[zackkitzmiller]
-删除不必要的css。[zackkitzmiller]
-捆绑css。[Zackkitzmiller]
-首先压缩所有资产,参考文献20。[zackkitzmiller]
-这个列表实际上应该颠倒过来。[zackkitzmiller]
-如果实验存在,尝试找到匹配的变体。
[zackkitzmiller]

这将避免在两个集之间来回切换时创建数十个测试的问题,这是同一个实验的备选方案。
-凹凸版本。[zackkitzmiller]
-允许查看旧版本结果。[zackkitzmiller]
-启用/禁用六包服务器级别,关闭33。[zackkitzmiller]
-更快的仪表板,尽可能使用redis管道。[zackkitzmiller]
-固定图。[Matthew Hudson]
-在没有任何实验数据时关闭存档工具栏。
[Matthew Hudson]
-更新了Sixpack Web的自述文件。[zackkitzmiller]
-修复损坏的测试,哇哦。[zackkitzmiller]
-修复了颠倒名称和描述位置的模板错误。
[matthew hudson]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]

冲突:
sixpack/templates/dashboard.html
-更好的描述处理。[zackkitzmiller]
-更好的描述处理。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-更新readme.rst。[zack kitzmiller]

fix breaked rst syntax
-删除不必要的空白。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-固定存档通知按钮填充。[马修·哈德森]
-更好的播种,结束31。[zackkitzmiller]
-换词。[zackkitzmiller]
-改进了包含/排除存档通知的ui样式。[matthew
hudson]
-包含存档实验的开关。[Zackkitzmiller]
-版本凹凸。[zackkitzmiller]
-种子指令更清晰。[zackkitzmiller]
-更新readme.rst。[zack kitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[马修·哈德森]
-更改链接参考。[Jack Groetzinger]
-更改为BSD 2条款许可证。[Jack Groetzinger]
-排版错误。[Jack Groetzinger]
-添加Google组。[Jack Groetzinger]
-为SG使用正确的合法名称。[杰克格罗特辛格]
-降价>;RST。[杰克·格罗茨金格]
-为什么我们不使用降价。[Jack Groetzinger]
-修复许可证链接。[Jack Groetzinger]
-在自述文件中提到许可证。[Jack Groetzinger]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-更新readme.rst。[zack kitzmiller]
-添加了bin脚本的路径。[Zackkitzmiller]
-改进了仪表板图形的Y轴。[matthew hudson]
-重构仪表板图形的多行绘图。[matthew
hudson]
-增加了对图形上唯一线条颜色的支持。[matthew hudson]
-在仪表板页图表上实现了多行。[matthew hudson]
-隐藏不带至少两个数据间隔的图形。[马修·哈德森]
-固定识别。[matthew hudson]
-添加了nan check以防止被零bug除法。[matthew hudson]
-重构js图形代码。[马修·哈德森]
-地址26。[马修·哈德森]
-修正打字错误。[杰克·格罗茨金格]
-语言的细微变化。[Jack Groetzinger]
-更多自述文件清理。[Jack Groetzinger]
-添加clientspec链接。[杰克格罗特辛格]
-我们为什么不使用降价?[Jack Groetzinger]
-修复笨拙的自述语言。[Jack Groetzinger]
-合并github.com的分支"master":seatgeek/sixpack。[zack kitzmiller]
-来自seatgeek/client-spec的合并请求27.[zack kitzmiller]

>更详细的客户端规范
-要求服务器位置是可配置的。[eric waller]
-放松关于惯用客户机扩展的句子。[eric waller]
-更新client spec.md.[zack kitzmiller]
-更详细的客户端规范。[eric waller]
-进一步提高性能。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-最好不要在详细信息页显示图形消息。[马修·哈德森]
-最好不要用图形信息。[Jack Groetzinger]
-修复了仪表板页面上图形的多行显示。[马修
哈德逊]
-凹凸版。[zackkitzmiller]
-一些缓存可以解决性能问题。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[Zackkitzmiller]
-合并分支"master"网址:seatgeek/sixpack。[杰克
groetzinger]
-合并github.com的分支"master":seatgeek/sixpack。[matthew hudson]
-更新readme.rst。[Zack Kitzmiller]
-修复了"数据不足…"消息的仪表板样式。[马修
哈德逊]
-加上法维肯。[Jack Groetzinger]
-向需求添加请求。[zackkitzmiller]
-更新readme.rst。[zack kitzmiller]
-更新开发自述文件。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[matthew hudson]
-更新readme.rst。[zack kitzmiller]
-如果数据少于两天,则隐藏图表。[matthew hudson]
-删除了console.log()调用。[matthew hudson]
-删除多余的百分比符号。[matthew hudson]
-合并github.com的分支"master":seatgeek/sixpack。[matthew hudson]
-来自seatgeek/sixpack ui的合并拉取请求23。[matthew hudson]

sixpack ui
-将github.com的分支"sixpack ui"合并为sixpack-
ui。[马修·哈德森]
-结束19。[Jack Groetzinger]
-将github.com的分支"master"合并到sixpack ui中:seatgeek/sixpack。
[matthew hudson]
-图表完成。[matthew hudson]
-调整了在模板中打印图形数据的格式。[matthew hudson]
-javascript编码的详细信息图表数据页。[matthew hudson]
-在没有实验的情况下修复了基url(关闭8)。[matthew
hudson]
-将分支"development"合并到sixpack ui。[matthew hudson]
-添加了确认重置模式。[matthew hudson]
-添加确认删除模式。[matthew hudson]
-添加了一些底部填充,以确保表永远不会与其父容器平齐。[马修·哈德森]
-在"详细信息"页的底部对齐图表。[Matthew Hudson]
-将仪表板上的控件和赢家指示器与详细信息页匹配。
[Matthew Hudson]
-详细信息页上图表的基本布局,更改了赢家语言。
[Matthew Hudson]
-向实验标题添加了最小高度,以确保在不存在说明时底部间距
。[matthew hudson]
-固定描述相对于按钮的位置。[matthew
hudson]
-在详细信息页上修复了表格布局。[matthew hudson]
-删除了不必要的console.log()[matthew hudson]
-更好地响应标题按钮。[matthew hudson]
-将图表代码包装在一个函数中,以便为每个
实验启用绘图功能。更好地利用大宝路的海图空间。[matthew
hudson]
-修复了仪表板上的响应错误。[马修·哈德森]
-仪表板完全响应。[matthew hudson]
-主页响应的基础工作。[matthew hudson]
-将缩进样式转换为使用空格。[matthew hudson]
-修复了导航栏中的响应式ui错误。[matthew hudson]
-更新了lightbox语言,现在使用文本区域而不是输入。
[matthew hudson]
-对排版进行了一些小调整。[马修·哈德森]
-灯箱和按钮的进一步构建和设计。[马修·哈德森]
-细节页面的初始模型。[matthew hudson]
-合并github.com的分支"master":seatgeek/sixpack。[matthew hudson]
-合并seatgeek的pull请求22/修复了readme中的错误。[zack
kitzmiller]

修复了自述文件中的打印错误
-修复了自述文件中的打印错误。[russell dsouza]
-clientspec的语言改进。[杰克·格罗茨辛格]
-凹凸版。[zackkitzmiller]
-更新了许可证。[Zackkitzmiller]
-更新了客户规范,参考文献16。[zackkitzmiller]
-更新clientspec。[Zack Kitzmiller]
-统一的小数位,关闭7。[zackkitzmiller]
-向自述文件添加种子信息,关闭13。[Zackkitzmiller]
-我们开始了。[zackkitzmiller]
-我似乎不能使用rst。[zackkitzmiller]
-我似乎不能使用rst。[zackkitzmiller]
-更新版本、自述文件和clientspec。[Zackkitzmiller]
-为客户提供额外规格。[Zackkitzmiller]
-合并分支github.com的"主人":seatgeek/sixpack。[zackkitzmiller]
-修复了断裂的rst。[Jose Diaz Gonzalez]
-客户规范的第一次通过。[Zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-将z-score还原为立方体近似值。[Steve Ritter]
-从状态终结点公开Sixpack版本。[Zackkitzmiller]
-自述。[zackkitzmiller]
-更新文档。[zackkitzmiller]
-更新文档。[Zackkitzmiller]
-将分支"master"合并到文档中。[Zackkitzmiller]
-凹凸版本。[Zackkitzmiller]
-将分支"master"合并到development中。[zackkitzmiller]
-中断:更改/标准化响应。[zackkitzmiller]
-次要:清除一些冗余代码。[Zackkitzmiller]
-将每天的转换/参与添加到替代模型中。
[Zackkitzmiller]
-将分支"开发"合并到文档中。[Zackkitzmiller]
-更多文档。[Zackkitzmiller]
-文档。[zackkitzmiller]
-合并github.com的分支"development":seatgeek/sixpack。[matthew
hudson]
-将每天的转换/参与添加到实验模型中。
[zackkitzmiller]
-更新数据模型以存储在集中运行测试时的密钥日期。
[zackkitzmiller]
-使whiplash可配置。[Zackkitzmiller]
-凹凸版本。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-自述:修复关于如何在本地运行的说明。[Philip Cristiano]

正在运行/bin/sixpack web将pythonpath设置为./bin/
,它没有可用的sixpack代码。
-初始文档工作。[扎克基茨米勒]
-pep8.[zackkitzmiller]
-更多的清理/测试。[Zackkitzmiller]
-清理一些错误/响应处理,参考文献2。
[Zackkitzmiller]
-不再使用分割RB的Z戥u分数。[Zackkitzmiller]
-将分支"master"合并到development中。[zackkitzmiller]
-修复了不正确的Web引用。[Jose Diaz Gonzalez]
-将github.com的分支"development"合并到development中:seatgeek/sixpack。
[zackkitzmiller]


冲突:
sixpack/models.py
-将标准偏差计算转换为我理解的值。[steve
ritter]
-固定置信区间。[Steve Ritter]
-小节目实验视图,关闭6。[Zackkitzmiller]
-在仪表板中用逗号分隔数字,关闭5。[zackkitzmiller]
-css清理。[Jack Groetzinger]
-合并github.com的分支"master":seatgeek/sixpack。[杰克
groetzinger]
-将seed.py移到bin/sixpack seed。[何塞·迪亚兹·冈萨雷斯]
-更新了自述文件。[何塞·迪亚兹·冈萨雷斯]
-更多的css微调。[杰克·格罗茨金格]
-晚上出去看坏专栏。[Jack Groetzinger]
-降低不透明度。[杰克格罗茨金格]
-微调铬CSS3解决方案。[杰克·格罗特辛格]
-调整chrome bug的解决方案。[jack groetzinger]
-处理chrome css表错误。[杰克·格罗茨辛格]
-凹凸版。[zackkitzmiller]
-小的修正和调整。[zackkitzmiller]
-来自seatgeek/math的合并拉取请求4。[史蒂夫•里特]


数学
-固定置信区间。[史蒂夫•里特]
-将标准差转换为我现在能理解的值。[史蒂夫
里特]
-禁止挥鞭。[zackkitzmiller]
-合并github.com的分支"master":seatgeek/sixpack。[zackkitzmiller]
-包括包数据。[Jose Diaz Gonzalez]
-将缺少的*添加到包清单中。[Jose Diaz Gonzalez]
-将缺少的模板dir添加到manifest.in。[jose diaz gonzalez]
-将github.com的分支"ui"合并到origin/ui中。
[zackkitzmiller]
-潜在的初步图形样式。[杰克·格罗特辛格]
-绘制丑陋的d3图形。[Jack Groetzinger]
-添加彩色点。表格调整。从D3开始。[杰克
Groetzinger]
-桌子设计。[Jack Groetzinger]
-将github.com的分支"development"合并到development中:seatgeek/sixpack。
[Jack Groetzinger]
-小用户界面清理。[Jack Groetzinger]
-发布1.0b。[zackkitzmiller]
-修复与更改响应相关的测试。[zackkitzmiller]
-更好的错误消息。[zackkitzmiller]
-排除访客时,响应应一致。
[zackkitzmiller]
-更多错误处理。[zackkitzmiller]
-错误响应应该更加一致。[Zackkitzmiller]
-案例。[zackkitzmiller]
-将Sixpack Web应用程序密钥移到配置中。[zackkitzmiller]
-只需要数据库中的redis。[zackkitzmiller]
-按正确顺序导入。[扎克基茨米勒]
-不要这样做。[zackkitzmiller]
-在适当的地方使用valueerror而不是一般异常,修复适当的测试。[zackkitzmiller]
-如果不存在赢家,则返回none not false。[Zackkitzmiller]
-少了尤达。[zackkitzmiller]
-正确的进口顺序。[zackkitzmiller]
-config应该是相对导入。[zackkitzmiller]
-空字符串将持续存在于对象上。[扎克基茨米勒]
-pep8.[zackkitzmiller]
-稍微清理了一下装饰。[扎克基茨米勒]
-pep8.[zackkitzmiller]
-转换前调用测试。【Zackkitzmiller】
-注入样本大小(或其他)进行测试。[zackkitzmiller]
-许多更多的测试、模型都经过了很好的测试,还有带有集成测试的
服务器。[zackkitzmiller]
-在特拉维斯启动redis。[扎克基茨米勒]
-试着做点什么。[zackkitzmiller]
-将github.com的分支"development"合并到development中:seatgeek/sixpack。
[zackkitzmiller]
-jsonp支持。[mike dirolf]
-上下文类型->;内容类型。[mike dirolf]
-尚未通过的测试。[mike dirolf]
-测试服务器交互的基本结构。[mike dirolf]
-还有很多测试。[zackkitzmiller]
-更多测试。[zackkitzmiller]
-将fakeredis添加到requirements.txt。[zackkitzmiller]
-用伪造品替换魔法模型,修复测试,添加新的测试。
[zackkitzmiller]
-将状态添加到响应。[zackkitzmiller]
-minor:加载数据和转换的小脚本。[扎克基茨米勒]
-pep8.[zackkitzmiller]

还有几行太长。我没意见。
-让公平得分更明显。[zackkitzmiller]
-次要:删除调试。[zackkitzmiller]
-我可能在实施一个武装匪徒/whiplast
alto方面做得很差。[zackkitzmiller]
-修正浮点数学。[zackkitzmiller]
-通过零检查进行更多的pythonic除法,减少redis调用。
[zackkitzmiller]
-z嫒在标题中得分,需要工作/帮助。[zackkitzmiller]
-实现基本转换率。[zackkitzmiller]
-修复从
可选的"完成"计数返回的不正确的完成计数。[zackkitzmiller]
-次要:逻辑注释。[zackkitzmiller]
-返回对存档实验的控制。[zackkitzmiller]
-连接存档逻辑。[zackkitzmiller]
-在仪表板上连接一些信息。[zackkitzmiller]

还实现转换率
-实现替代控制。[zackkitzmiller]
-实现存档和更新描述。[zackkitzmiller]
-实施归档。[zackkitzmiller]
-执行重置和删除。[Zackkitzmiller]
-执行实验复位。[Zackkitzmiller]
-烧瓶应为0.9。[埃里克·沃勒]
-设置/重置实验获胜者。[Zackkitzmiller]
-轻微清理。[zackkitzmiller]
-添加密钥。[Zackkitzmiller]
-实施替代方案是优胜者。[zackkitzmiller]
-更新需求。[Zackkitzmiller]
-CSRF保护。[zackkitzmiller]
-基本表格布局。还有很长的路要走。[杰克·格罗特辛格]
-我不知道怎么读。[zack kitzmiller]
-非常基本的自述更新。[zackkitzmiller]
-为测试准备一些数据。[zackkitzmiller]
-修复损坏的测试。[Zackkitzmiller]
-SPW工作。[zackkitzmiller]
-删除了有利于版本递增的替代重置方法。
[zackkitzmiller]
-代码清理。扎克茨密尔ler]
-修复不正确的版本处理。[zackkitzmiller]
-更新需求。[zackkitzmiller]
-重构和测试中的小修复。[zackkitzmiller]
-temp:注释掉了一些测试,我不确定它们是否在测试任何相关的东西。[zackkitzmiller]
-将github.com的分支'develop'合并到develop中:seatgeek/sixpack。
[zackkitzmiller]
-解决redis py中的脚本重新加载错误。[埃里克·沃勒]
-状态端点也使用decorator。[埃里克·沃勒]
-根据2,处理redis离开的装饰工。[Eric Waller]
-将分支"Feature/Sixpack Web"合并到Development中。[zackkitzmiller]
-使模型类符合键区。[Zackkitzmiller]
-在Sixpack Web中提供实验细节。[zackkitzmiller]
-显示一些键。[Zackkitzmiller]
-连接Twitter引导程序,呈现主视图。[Zackkitzmiller]
-移动东西。[Zackkitzmiller]
-Sixpack Web上的次要工作。[zackkitzmiller]
-空模板和静态文件。[Zackkitzmiller]
-删除六包网络控制器。[zackkitzmiller]
-可选集合的sorta存根。[zackkitzmiller]
-检查有效的IP地址。[Zackkitzmiller]
-测试是机器人。[zackkitzmiller]
-将默认的redis db更改为0。[zackkitzmiller]
-空白。[zackkitzmiller]
-清理。[Zackkitzmiller]
-服务器端机器人/IP检测。[zackkitzmiller]
-格式config.yml。[zackkitzmiller]
-关于按键空间的说明。[Zackkitzmiller]
-更多配置选项。[zackkitzmiller]
-懒散地给redis打电话。[zackkitzmiller]
-连接并测试新的有效名称regex。[zackkitzmiller]
-添加用于转换到密钥空间规范的和键。[eric waller]
-添加密钥空间规范的赢家键。[eric waller]
-关于我认为应该如何布局密钥空间的文档。[eric
waller]
-稍微更新验证正则表达式。[eric waller]
-可选/实验名称验证正则表达式。[eric waller]
-将github.com的分支"development"合并到development中:seatgeek/sixpack。
[zackkitzmiller]


冲突:
sixpack/server.py
-序列ID应该是models.py的内部ID。[埃里克·沃勒]
-小调。[zackkitzmiller]
-将github.com的分支"master"合并到development中。
[zackkitzmiller]

冲突:
readme.md
-非琐碎的readme清理。[何塞·迪亚兹·冈萨雷斯]
-增加必要的要求。[zackkitzmiller]
-向文件中添加新行。[Zackkitzmiller]
-将分支"功能/配置"合并到开发中。[zackkitzmiller]
-从YML加载配置。[Zackkitzmiller]
-服务器:启动Gunicorn。[Zackkitzmiller]
-人力资源管理。[zackkitzmiller]
-修复。[zackkitzmiller]
-更好的json响应。[zackkitzmiller]
-正在清理server.py。[Zackkitzmiller]
-文本->;戴尔。[zackkitzmiller]
-自述:标题。[zackkitzmiller]
-删除了不必要的评论。[zackkitzmiller]
-暂时将客户端逻辑移出控制器。[zackkitzmiller]
-server.py诞生了。[zackkitzmiller]
-不再有划痕。[zackkitzmiller]
-更好的例外,忽略favicon。[zackkitzmiller]
-状态/健康检查终结点。[zackkitzmiller]
-在resp中显示版本以进行调试。[zackkitzmiller]
-合并到jacks readme中。[zackkitzmiller]
-简单的自述文件清理。[Jack Groetzinger]
-修复了一个类型,不确定原因。[扎克基茨米勒]
-打破了一种方法。[zackkitzmiller]
-在版本更改时删除所有参与密钥。[zackkitzmiller]
-关于版本控制的初始工作。[zackkitzmiller]
-修复。[Zackkitzmiller]
-移动更多的东西。[zackkitzmiller]
-格式化。[zackkitzmiller]
-删除不必要的导入。[zackkitzmiller]
-在转换前检查参与情况。[zackkitzmiller]
-使用setbit/getbit/bitcount而不是散列。修复相关测试。
[zackkitzmiller]
-小重构。[Zackkitzmiller]
-将记录参与转移到替代模式L.[Zackkitzmiller]
-更多测试。[zackkitzmiller]
-测试:更多。[Zackkitzmiller]
-输入错误。[扎克基茨米勒]
-试试这个。[扎克基茨米勒]
-特拉维斯。[zackkitzmiller]
-测试:实验模型测试存根。[Zackkitzmiller]
-更多DI。[Zackkitzmiller]
-测试:替代模型测试。[zackkitzmiller]
-注入redis依赖项。[zackkitzmiller]
-要求:更新。[zackkitzmiller]
-移除巨怪未使用的mock_redis。[zackkitzmiller]
-测试:更多测试存根。[zackkitzmiller]
-mockredis的初始版本。[zackkitzmiller]
-测试存根,reorg项目。[zackkitzmiller]
-scratch:调用experiment.convert on"on_convert"[zackkitzmiller]
-小重构、存根转换、实现experiment.all()
[zackkitzmiller]
-scratch:转换终结点。[zackkitzmiller]
-执行实验。查找。[zackkitzmiller]
-更多工作。客户端的ID现在得到了正确的尊重。[Zackkitzmiller]
-一些工作在Sixpack上,主要是scratch和model stub。正在工作。[zackkitzmiller]
-开始玩一些redis脚本。[埃里克·沃勒]
-那差不多了。[埃里克·沃勒]



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

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView