skillfed

geckordp

A client implementation of Firefox DevTools over remote debug protocol.

geckordp v1.0.3 94.1K downloads/30d#13,343 on PyPI37
Permissive license MIT License Copyright 2023 jpramosi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the… (full text in the JSON record) AGING released

What it is and what it does

Geckordp exposes Firefox's remote debug protocol as a Python library, enabling direct programmatic interaction with a Firefox browser instance. It acts as a low-level client that communicates with Firefox's debug server, allowing you to control tabs, inspect DOM, execute scripts, monitor network traffic, and automate browser behavior without relying on higher-level webdriver abstractions.

The package is designed as a foundation for building tools on top—web UI testing frameworks, browser automation scripts, extension testers, and network analysis tools. It requires a pre-configured Firefox profile with remote debugging enabled and uses helper classes like ProfileManager to handle profile setup. The API mirrors geckodriver concepts where possible and exposes actors that correspond to different Firefox subsystems.

Use it for:

  • Automated web UI testing and browser interaction testing for Firefox-specific scenarios.
  • Building custom browser automation tools that need fine-grained control over Firefox internals.
  • Network traffic analysis and HTTPS recording by intercepting browser debug protocol messages.
  • Testing Firefox extensions and WebExtensions in an automated environment.
  • Web scraping with headless Firefox when standard webdriver tools are insufficient.
  • Remote browser control and monitoring for distributed testing or CI/CD pipelines.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Geckordp is a Python client for Firefox's remote debug protocol, allowing programmatic control and inspection of Firefox browser instances through a low-level API.

Yes, if you need Firefox-specific browser automation or remote debugging capabilities and are willing to work with a beta-stage library. Install it for UI testing, extension testing, or custom browser tooling. The low dependency count and permissive license make it low-risk to try. However, verify platform compatibility for your target OS and confirm Firefox version alignment before committing to production use.

Install

geckordp on PyPI

pip

pip install geckordp

uv

uv add geckordp

poetry

poetry add geckordp

Installing geckordp

Before you install

Low install friction with only two runtime dependencies (jmespath, psutil). The package is in beta status and has aged since its last release in September 2024, though the repository remains active with recent commits as of April 2025.

License in practice

MIT License permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install geckordp

from geckordp.firefox import Firefox
from geckordp.rdp_client import RDPClient
from geckordp.actors.root import RootActor

Firefox.start("https://example.com/", 6000, "profile_name", ["-headless"])
client = RDPClient()
client.connect("localhost", 6000)
root = RootActor(client)
tabs = root.list_tabs()

Requires Firefox 129.0 or compatible version installed; minimum Python 3.10; a pre-configured Firefox profile with remote debugging enabled.

Verify before relying

  • Compatibility with Firefox versions other than 129.0 and whether older versions work reliably.
  • Windows and macOS platform support status (marked as uncertain in documentation).
  • Performance characteristics and scalability for concurrent browser sessions.
  • Whether all geckodriver API actors are fully implemented or if gaps exist.

Package facts

License MIT License Copyright 2023 jpramosi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — jmespath, psutil
Maintenance aging — 710 days since the last release
Last repo commit
First released
Downloads 94,092/month — #13,343 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: geckordp-1.0.3-py3-none-any.whl

Keywords: crawler, debug, firefox, rdp, remote-debug-protocol, ui-testing, webconsole

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10

Tags

firefox remote debug protocol pythonbrowser automation firefox rdpfirefox devtools clientheadless firefox controlfirefox ui testing librarybrowser remote debuggingfirefox webdriver alternative
firefox-automationbrowser-testingremote-debugging

More Testing packages