Observed since 20 Oct, 17:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Simply setup AB testing environment
ABING는 AB테스트를 위한 라우팅 툴입니다. 일반적인 비즈니스 모델에서 사용할 수 있도록 ABING는 별도의 연동과정 없이 AB테스팅을 운영할 수 있도록 개발되었습니다. UI에서 실험 생성 및 설정 후 route API(/api/v1/experiments/route)에서 각 user id별(필요 시 uuid)로 할당만 받으면 자유롭게 AB테스팅을 할 수 있습니다.
아래와 같이 pip로 빠르게 설치할 수 있습니다.
pip install abing
DB 연결을 위해 ABING은 다음 다섯개의 환경변수를 필요로 합니다.
따라서 아래와 같이 환경변수를 export해주세요
export ABING_DB="abing"
export ABING_DB_USER="abing"
export ABING_DB_PASSWORD="$uperScretPassW0rd"
export ABING_DB_HOST="abing-db.com"
export ABING_DB_PORT=5432
이후 migration을 위해 아래와 같이 명령어를 입력해주시면 됩니다(abing은 migration툴로 alembic을 사용하고 있으므로 정상적으로 마이그레이션이 되었다면, alembic migration 로그가 출력될 거에요)
abing initdb
abing은 uvicorn을 사용하여 서버를 실행합니다. 따라서 아래와 같이 커맨드를 날리면 바로 서버가 구동됩니다
uvicorn abing:app --reload --host "0.0.0.0"
gunicorn과 같이 실행하고 싶으시다면 아래와 같이 uvicorn worker class와 같이 사용하시는걸 추천드립니다.
gunicorn abing:app -w 4 -k uvicorn.workers.UvicornWorker
다른 유저 계정을 만들어주려면 최초 관리자 계정이 필요합니다. 따라서 아래와 같이 createsuperuser 명령어로 최초의 슈퍼계정을 만들어주세요.
abing createsueruser
여기까지 정상적으로 실행이 되셨다면, 배포하는 url의 루트(/)에서 슈퍼계정으로 로그인을 해보세요. 로그인이 정상적으로 되었다면 성공적으로 abing을 시작하셨습니다!
+ Add Arm을 누르면 바로 생성할 Arm을 추가할 수 있습니다. 이 때 Traffic은 얼마나 유저를 해당 Arm에 보낼지에 대한 가중치로, 모든 Arm 합산 대비 해당 Arm의 비율로 내부적으로 계산되어 추후 Arm 선택 시 반영됩니다.key가 fontColor라면 value는 #fff같이 입력하여 자유롭게 클라이언트에서 dynamic한 값으로 사용할 수 있습니다. 물론 key value는 문자열에 불과하기 때문에 사용자에 따라서는 분기를 위한 flag 수준으로만 사용해도 무방합니다(e.g key에 is_baseline, value에 true 이런 식으로 지정할 수 있습니다)+를 눌러 펼쳐보거나 실험명에 있는 링크를 눌러 자세히 볼 수 있습니다./api/v1/experiments/route를 통해 현재 운영중인 모든 실험의 각 arm에 할당될 수 있습니다.
user_id 값만 보내주면 됩니다./api/v1/experiments/{id}/route를 통해 특정 id의 실험에 한해 route받을 수도 있습니다.
/api/v1/experiments/route와 동일합니다.Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.2 | 11 Jan 2021 | 14 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:cfc4ced27da7ca504a911d15e7bce33da7bfec8fc2ae5d378950e315b624dfc1