Registry / http-networking / geckordp

geckordp

JSON →
library1.0.3pypypi✓ verified 85d ago

A client implementation of Firefox's Remote Debug Protocol (CDP-based) for automating and debugging Firefox via DevTools. Version 1.0.3, active development, monthly releases roughly.

pip install geckordp
INSTALL
IMPORT
SIG · GECKORDP
G
geckordp
http-networkingpythonv1.0.3
Install
1.9s avg
Import
40ms
Disk
19MB
Pass rate
4/ 10
Env Coverage4 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.0.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✓ 2.1s
py 3.11
✕ build_error
✓ 2.1s
py 3.12
✕ build_error
✓ 1.7s
py 3.13
✕ build_error
✓ 1.8s
py 3.9
✕ build_error
✕ build_error
19MB installed
● package 19MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

geckordp
import geckordp
Top-level module; no submodule needed for basic launch.
GeckoDriver
from geckordp.rdp_client import GeckoDriver
from geckordp import GeckoDriver
GeckoDriver is in the rdp_client module, not top-level.
FirefoxProfile
from geckordp.profile import FirefoxProfile
Used for custom profile settings.

Basic launch and stop of Firefox with custom profile. Ensure Firefox binary is in PATH.

import geckordp from geckordp.rdp_client import GeckoDriver from geckordp.profile import FirefoxProfile profile = FirefoxProfile() profile.set_preference('xpinstall.signatures.required', False) driver = GeckoDriver(profile=profile) driver.start() print('Firefox launched with remote debugging on port', driver.port) driver.stop()
Debug
Known issues
breakinggeckordp requires Python >= 3.10. It will not install on older Python versions. Update your Python runtime.
fix
Use Python 3.10+ or consider an older release of geckordp (none exist, so upgrade Python).
affects: <3.10
gotchageckordp launches a *new* Firefox instance each time start() is called. It does not attach to an existing browser. Ensure no other Firefox processes interfere.
fix
Kill all Firefox processes before calling start() if you encounter port conflicts.
affects: all
deprecatedRDP (Remote Debug Protocol) is being phased out in future Firefox versions. This library may stop working with Firefox releases after 2025.
fix
Monitor Firefox changelogs and consider migrating to WebDriver BiDi in the long term.
affects: all (future)
Errors
Common errors & fixes
FileNotFoundError: [Errno 2] No such file or directory: 'firefox'
Firefox is not installed or not in PATH.
fix
Install Firefox and ensure the binary is accessible. On Ubuntu: 'sudo apt install firefox'. On macOS: place in /Applications/Firefox.app/Contents/MacOS/firefox or symlink.
OSError: [Errno 98] Address already in use
Default port (9222) is taken by another Firefox or geckordp instance.
fix
Specify a custom port: driver = GeckoDriver(port=9223). Also kill leftover Firefox processes.
Upgrade
Version history
1.0.3latest on PyPI · released Sep 3, 2024
Audit
Dependencies
firefoxrequiredBrowser binary required; geckordp launches Firefox with remote debugging enabled.
Agent activity
8 hits · last 30 days
node
6
Amazon
1
Resources
geckordp — pip install geckordp · libregistry