Skip to main content

A library to query data about a Bird Buddy smart bird feeder

Project description

pybirdbuddy

import asyncio
import pprint

from birdbuddy.client import BirdBuddy

bb = BirdBuddy("user@email.com", "Pa$$w0rd")

# Using coroutines with async/await:
async def async_test():
    await bb.refresh()
    pprint.pprint(bb.feeders)

# Without async/await, including from a top-level module:
result = asyncio.run(bb.refresh())
pprint.pprint(result)
pprint.pprint(bb.feeders)

Note: only password login is supported currently. Google and other SSOs are not supported. If you've already set up your Bird Buddy with SSO, one option could be to register a new account with a password, and then redeem an invite code to your Bird Buddy under the new account. Some fields will be missing (such as firmware versions and off-grid status).

The feeders property will be an array of feeders with the following fields:

fragment ListFeederFields on FeederForPrivate {
  battery {
    charging    # Boolean
    percentage  # Int (93)
    state       # String (enum: "HIGH")
  }
  food {
    state       # String (enum: "LOW")
  }
  id            # String (UUID)
  name          # String
  signal {
    state       # String (enum: "HIGH")
    value       # Int (rssi: -41)
  }
  state         # String (enum: "READY_TO_STREAM")
  temperature {
    value       # Int
  }
}

Translations

API responses can return translated strings by setting the client's language_code property. Language codes are parsed using langcodes

from birdbuddy import BirdBuddy

async def main():
    bb = BirdBuddy
    bb.language_code = "de"
    
    collections = await bb.refresh_collections()
    birds = [c.species.name for c in collections.values()]
    print(birds)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pybirdbuddy-0.0.19-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file pybirdbuddy-0.0.19-py3-none-any.whl.

File metadata

  • Download URL: pybirdbuddy-0.0.19-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for pybirdbuddy-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 d6067304868a007742fc9d505cba2b1e4833a2c8f4a1e5f6414a4bf48303ca53
MD5 9639cb921cd0a88d4f599d61ff7edcbe
BLAKE2b-256 c8c84264006981c46e6a54e946fcaa228219727897639eaab51e53bbab6b638c

See more details on using hashes here.

Supported by

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