Skip to main content

pyNetgear

pipeline status

pyNetgear provides an easy to use Python API to control your Netgear router. It uses the SOAP-api on modern Netgear routers to communicate. It is built by reverse engineering the requests made by the NETGEAR Genie app.

pyNetgear works with Python 2 and 3.

If you are connected to the network of the Netgear router, a host is optional. If you are connected via a wired connection to the Netgear router, a password is optional. The username defaults to admin. The port defaults to 5000. The ssl defaults to false. You can specify url and it will take precedence on host/port/ssl parameters. This allows the use of HTTPS, https://orbilogin.com for example.

It currently supports the following operations:

login
Logs in to the router. Will return True or False to indicate success.

get_attached_devices
Returns a list of named tuples describing the device signal, ip, name, mac, type, link_rate and allow_or_block.

get_attached_devices_2
Returns a list of named tuples describing the device signal, ip, name, mac, type, link_rate, allow_or_block, device_type, device_model, ssid and conn_ap_mac.

This call is slower and probably heavier on the router load.

get_traffic_meter
Return a dict containing the traffic meter information from the router (if enabled in the webinterface).

allow_block_device
Allows user to block/unblock devices from accessing router by specifying mac_addr and new device_status (Block/Allow) Note: In order to use this function, Remote Management must be enabled in the router's admin settings.

Installation

You can install PyNetgear from PyPi using pip3 install pynetgear (use pip if you're still using Python 2).

Usage

To test run from the console: $ python -m pynetgear [<pass>] [<host>] [<user>] [<port>] [<ssl>]

To use within your Python scripts:

from pynetgear import Netgear

netgear = Netgear(password=mypassword)

for i in netgear.get_attached_devices():
    print i

Supported routers

It has been tested with the Netgear R6300 router and the Netgear WNDR4500 router. According to the NETGEAR Genie app description, the following routers should work:

  • Netgear Orbi
  • Netgear R7800
  • Netgear R7500v2 (Port 80)
  • Netgear R7000
  • Netgear R6900
  • Netgear R6300
  • Netgear R6250
  • Netgear R6200
  • Netgear R6100
  • Netgear N300 - Model: C3000 (Port 80)
  • Netgear Centria (WNDR4700, WND4720)
  • Netgear WNDR4500
  • Netgear WNDR4300
  • Netgear WNDR4000
  • Netgear WNDR3800
  • Netgear WNDR3700v3
  • Netgear WNDR3700v2
  • Netgear WNDR3400v2
  • Netgear WNR3500Lv2
  • Netgear WNR2200
  • Netgear WNR2000v3
  • Netgear WNR2000v4 (Port 80)
  • Netgear WNR1500
  • Netgear WNR1000v2
  • Netgear WNR1000v3
  • Netgear WNDRMAC
  • Netgear WNR612v2

Metadata

Release files for pynetgear 0.10.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pynetgear 0.10.10
File Size Uploaded
pynetgear-0.10.10.tar.gz 18.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pynetgear 0.10.10
File Interpreter ABI Platform
pynetgear-0.10.10-py3-none-any.whl Python 3 none any Details

Total release size: 36.7 kB

Release files / pynetgear-0.10.10.tar.gz

Download URL pynetgear-0.10.10.tar.gz
Size 18.7 kB
Tags Source
SHA-256 checksum
How to use checksums
35f8d3bfa4e876466c7a9e99a6cd621d974e681efc0e85211be9dc216c1e3b84
BLAKE2b-256 checksum
How to use checksums
0d1b925d4bf0b8e45e9898722a3fdc6e62b6d73a17dca9689f8a0f74884fcca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release files / pynetgear-0.10.10-py3-none-any.whl

Download URL pynetgear-0.10.10-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d8361ed74f7ed6ee4a2fd95e56b0d3b71e045a73b32c8996d7ecf71bbc1a2f8
BLAKE2b-256 checksum
How to use checksums
ec50182a0c0172c246e19702bfa53b1d53db01a27ff132730292ce1b2d5ff13e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.10.10 This release

2 release files

0.10.9

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3

2 release files

0.2

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page