Skip to main content

A command-line interface for Optimizely Projects

Project description

optimizely-cli is a command-line interface for Optimizely projects.

It aims to give you quick access to your experiment data as well as store a local copy of your data so that you can manage and track changes in the version control system of your choice.

System Requirements

optimizely-cli runs on Linux and Mac OS X, and requires Python 2.7.x+. It may work on other versions of Python.


Install or upgrade optimizely-cli using pip:

$ pip install –upgrade optimizely-cli

If you get some sort of error about TLS versions like this:

“There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION]”

Then install a newer version of pip and then install again:

$ curl | python

Getting Started

To use optimizely-cli, you need to link it to your Optimizely account. The quickest way to get started is to run the opti init command and follow the instructions:

$ opti init
    First visit to create a new access token
    Enter the token you created here:
    Verifying token...
    Token is valid
    Credentials written to .optimizely-credentials.json
    Do not add this file to version control!
    It should stay private

    Checking for an existing project...
    Successfully created project (id: <project_id>)
    Config file written to .optimizely.json

You can move .optimizely-credentials.json to your home directory (the opti tool will look there as long as your project is under your home):

$ mv .optimizely-credentials.json ~/

Or add it to your .gitignore file like this:

$ echo .optimizely-credentials.json >> .gitignore

Don’t commit your credentials to version control!


For a full list of commands, just type opti at the command line. Here are some examples of available sub-commands:


Manage Audience Attributes


Manage Optimizely audiences


Manage Environments


List, create, and manage Optimizely events


List, create, and manage Optimizely experiments


Manage Features


Manage Optimizely exclusion groups


Link an Optimizely project with your repository


List, create, and manage Optimizely projects


Pull down the current state of an Optimizely project


Push back local data to an Optimizely project


Get a list of projects

$ opti project list

Create a new project

$ opti project create

Get a list of events

$ opti event list

Create a new event

$ opti event create new_event

Pull all Optimizely experiment data and write them to a local optimizely/ directory

$ opti pull

Collect changes to your local optimizely/ directory and apply them your data in Optimizely

$ opti push

Command Completion

The opti utility can complete your commands. Just add the following to your .bashrc:

eval “$(_OPTI_COMPLETE=source opti)”


Please see our Contributing Guidelines.

Additional Code

Please see Additional Code.

Any use of the Optimizely Service is subject to our Terms of Service or the separate, written agreement between your company and Optimizely (if any).

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

optimizely-cli-0.3.0.tar.gz (19.3 kB view hashes)

Uploaded Source

Built Distribution

optimizely_cli-0.3.0-py2-none-any.whl (33.3 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page