Skip to main content

Python Arlo is a library written in Python 2.7/3x that exposes the Netgear Arlo cameras as Python objects.

Project description

Python Arlo

https://badge.fury.io/py/pyarlo.svg https://travis-ci.org/tchellomello/python-arlo.svg?branch=master https://coveralls.io/repos/github/tchellomello/python-arlo/badge.svg?branch=master https://img.shields.io/pypi/pyversions/pyarlo.svg

Python Arlo is a library written in Python 2.7/3x that exposes the Netgear Arlo cameras as Python objects.

Developer Documentation: http://python-arlo.readthedocs.io/

Installation

$ pip install pyarlo

# Install latest development
$ pip install git+https://github.com/tchellomello/python-arlo

Usage

# connecting
from pyarlo import PyArlo
arlo  = PyArlo('foo@bar', 'secret')

# listing devices
arlo.devices

# listing base stations
arlo.base_stations

# get base station handle
# assuming only 1 base station is available
base = arlo.base_stations[0]

# get the current base station mode
base.mode  # 'disarmed'

# listing Arlo modes
base.available_modes # ['armed', 'disarmed', 'schedule', 'custom']

# Updating the base station mode
base.mode = 'custom'

# listing all cameras
arlo.cameras

# showing camera preferences
cam = arlo.cameras[0]

# check if camera is connected to base station
cam.is_camera_connected  # True

# printing camera attributes
cam.serial_number
cam.model_id
cam.unseen_videos

# get brightness value of camera
cam.brightness

# get signal strength of camera with base station
cam.signal_strength

# get flip property from camera
cam.flip_state

# get mirror property from camera
cam.mirror_state

# get power save mode value from camera
cam.powersave_mode

# get current battery level of camera
cam.battery_level
92

# get boolean result if motion detection
# is enabled or not
base.is_motion_detection_enabled  # True

# get battery levels of all cameras
# prints serial number and battery level of each camera
base.get_cameras_battery_level  # {'4N71235T12345': 92, '4N71235T12345': 90}

# get base station properties
base.properties

# get camera properties
base.get_camera_properties

# get camera rules
base.get_camera_rules

# get camera schedule
base.get_camera_schedule

# get camera motion detection sensitivity
cam.get_motion_detection_sensitivity

# refreshing camera properties
cam.update()

# gathering live_streaming URL
cam.live_streaming()  # rtmps://vzwow72-z2-prod.vz.netgear.com:80/vzmodulelive?egressToken=b723a7bb_abbXX&userAgent=web&cameraId=48AAAAA

# gather last recorded video URL
cam.last_video.video_url

Loading Videos

# by default, all videos recorded within
# the last 30 days will be pre-loaded
arlo.ArloMediaLibrary.videos

# Or you can load Arlo videos directly
from pyarlo.media import ArloMediaLibrary
library = ArloMediaLibrary(arlo, days=2)
len(library.videos)

# showing a video properties
media = library.videos[0]

# printing video attributes
media.camera
media.content_type
media.media_duration_seconds

# displaying thumbnail to stdout
media.download_thumbnail()

# downloading video
media.download_video('/home/user/demo.mp4')

Contributing

See more at CONTRIBUTING.rst

Project details


Download files

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

Source Distribution

pyarlo-0.1.7.tar.gz (14.4 kB view details)

Uploaded Source

File details

Details for the file pyarlo-0.1.7.tar.gz.

File metadata

  • Download URL: pyarlo-0.1.7.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyarlo-0.1.7.tar.gz
Algorithm Hash digest
SHA256 6a19bf5e0532fc6e0c2292e72d0ce9159aa6da910eb8d34b35bccdd6a95086cc
MD5 1fbe725c11fa9cc8dcbc0dc3d0610e30
BLAKE2b-256 a45960ce2926416c510897ddeccbb93ecf1e31b203f8e0f17e475a70fcaa1d60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page