marionette-driver
Marionette Driver
What it is and what it does
Marionette Driver is a Python client library that communicates with Firefox's Marionette automation protocol, allowing you to control a Firefox browser instance programmatically. It depends on mozrunner (for launching Firefox), mozversion (for version detection), and psutil (for process management). The package supports Python 3.8, 3.9, 3.10, 3.11, 3.12, and 3.13 on macOS, Windows, and POSIX systems.
The library is explicitly marked as no longer supported in its own description, despite showing recent release activity. It was originally designed for browser automation and testing workflows, but the fact sheet does not clarify whether it remains the recommended tool or whether users should migrate to alternatives.
Use it for:
- Automated testing of Firefox-specific browser behavior and web application functionality.
- Scripting repetitive browser tasks like form filling, navigation, and screenshot capture in Firefox.
- Integration testing of web applications that require Firefox-specific features or compatibility verification.
- Headless Firefox automation for CI/CD pipelines and automated quality assurance workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Marionette Driver provides a Python client for automating Firefox through the Marionette protocol, enabling programmatic browser control and testing.
No, not recommended for new projects. The package is explicitly marked as no longer supported and inactive, despite recent release dates. The description directs users to Mozilla's documentation, suggesting the project has been superseded or deprecated. Existing projects using it should evaluate migration to actively maintained alternatives.
Install
marionette-driver on PyPI
pip
pip install marionette-driveruv
uv add marionette-driverpoetry
poetry add marionette-driverInstalling marionette-driver
Before you install
Low install friction with three lightweight runtime dependencies (mozrunner, mozversion, psutil). Maintenance status is active, though the package itself is marked as inactive in development status.
License in practice
Licensed under Mozilla Public License 2.0 (MPL), a copyleft license. You may use and modify the code, but derivative works and distributions must retain the same license terms.
Quickstart
pip install marionette-driver
from marionette_driver.marionette import Marionette
client = Marionette('localhost')
client.start_session()
Requires a running Firefox instance with Marionette protocol enabled; Firefox must be launched with appropriate flags to accept Marionette connections.
Verify before relying
- Whether the package is actively maintained despite the 'Inactive' development status classifier and the note that it is 'no longer supported'.
- Current compatibility with modern Firefox versions and whether the Marionette protocol remains the recommended approach for Firefox automation.
- Whether alternatives are now preferred for Firefox testing workflows.
Package facts
| License | MPL (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — mozrunner, mozversion, psutil |
| Maintenance | actively maintained — 25 days since the last release |
| First released | |
| Downloads | 171,273/month — #10,374 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: marionette_driver-3.7.1-py3-none-any.whl
Keywords: mozilla
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
marionette-harnessMarionette-harness is a test runner for…
copyleft · top 15,000 on PyPI
seleniumSelenium provides Python bindings to automate…
permissive · top 1,000 on PyPI
mozrunnerMozrunner manages the lifecycle of Mozilla…
copyleft · top 15,000 on PyPI
geckodriver-autoinstallerAutomatically downloads and installs…
permissive · top 5,000 on PyPI
geckordpGeckordp is a Python client for Firefox's…
permissive · top 15,000 on PyPI
webdriver-managerAutomatically downloads, caches, and manages…
permissive · top 5,000 on PyPI
pytest-seleniumpytest-selenium is a pytest plugin that…
copyleft · top 15,000 on PyPI
tdl-xoa-driverProvides a Python interface to control and…
permissive · top 15,000 on PyPI
robotframework-browserBrowser automation library for Robot Framework…
permissive · top 5,000 on PyPI
mechanizeAutomate programmatic interaction with HTTP web…
permissive · top 15,000 on PyPI