Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Installs Marionette as an extension on an FxOS device

Project Description


This repository contains Marionette in gecko extension form, intended for use with FxOS devices. It includes an installation script which you can use, provided your phone is connected via ADB:

source VERSION

Where VERSION is a supported version number, one of: 1.3, 1.4, 2.0, 2.1, 2.2, or 2.5.

If you need to install adb, see

FirefoxOS v1.3 through v2.5 are currently supported.

Python Package

This is also the ‘marionette_extension’ python package. Once you install this package, you will have access to a command line program called install_marionette which you can use like so:

marionette_extension --help

Which will show you what installation options you have available to you.

If you need an example, this is how you can install Marionette on a v1.3 device:

marionette_extension --install 1.3

You can also import the marionette_extension package into your python script and use its install function to install marionette via a script. Example:

from marionette_extension import install
install(FXOS_VERSION, adb=ADBPATH) # Replace FXOS_VERSION with a supported version, and you may use ADBPATH to specify your adb path. If not specified, it will assume 'adb' is on the $PATH

How to add a new version?

  1. Create a new folder indicating your new gecko version

  2. hg clone

Starting now, please reference on the files and folder structure of previous marionette-extension version

  1. Go to mozilla-central folder and find /testing/specialpowers(mozilla-central) and copy them into folder

  2. Copy all the .js files in /testing/marionette(mozilla-central) to

  3. Copy chrome.manifest and install.rdf from previous version of marionette-extension to folder

  4. Copy testing/marionette/components/marionettecomponent.js(mozilla-central) to / and rename it to marionetteextensioncomponent.js

  5. Do this to marionetteextensioncomponent.js:

    1. replace MARIONETTE_CONTRACTID value with “;1”
    2. change the profile-after-change listener to always start Marionette and not be dependent on build flags or command lines
    this.enabled = true;"marionette enabled via extension");
    // We want to suppress the modal dialog that's shown
    // when starting up in safe-mode to enable testing.
    if (Services.appinfo.inSafeMode) {
    this.observerService.addObserver(this, "domwindowopened", false);
    1. change the component name from MarionetteComponent to MarionetteExtensionComponent
  6. request of putting this on pypi for faster installation

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
marionette_extension-0.4.9.tar.gz (693.9 kB) Copy SHA256 Checksum SHA256 Source Oct 13, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting