{"id":27210,"library":"openplantbook-sdk","title":"Open Plantbook SDK","description":"Python SDK for the Open Plantbook API, providing access to a crowdsourced database of plant species. Current version 0.6.1, released on PyPI with monthly cadence. Supports Python >=3.9.","status":"active","version":"0.6.1","language":"python","source_language":"en","source_url":"https://github.com/slaxor505/openplantbook-sdk-py","tags":["plantbook","api","plants"],"install":[{"cmd":"pip install openplantbook-sdk","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Package name uses underscores, not hyphens.","wrong":"from openplantbook import OpenPlantbookClient","symbol":"OpenPlantbookClient","correct":"from openplantbook_sdk import OpenPlantbookClient"}],"quickstart":{"code":"from openplantbook_sdk import OpenPlantbookClient\n\nclient = OpenPlantbookClient(\n    client_id=os.environ.get('OPB_CLIENT_ID', ''),\n    client_secret=os.environ.get('OPB_CLIENT_SECRET', '')\n)\nplants = client.search_plants(q='monstera')\nprint(plants)","lang":"python","description":"Initialize client with API credentials (from environment variables) and perform a search."},"warnings":[{"fix":"Register at https://open.plantbook.io and create an application to get client_id and client_secret.","message":"API credentials must be obtained separately from the Open Plantbook website. The SDK does not provide default keys.","severity":"gotcha","affected_versions":"all"},{"fix":"Always pass a query string, e.g., client.search_plants(q='monstera').","message":"The search_plants method requires the 'q' parameter (query string). Omitting it raises a TypeError.","severity":"gotcha","affected_versions":"all"},{"fix":"Implement exponential backoff or respect the Retry-After header.","message":"The SDK may use rate limiting; frequent requests without delays may result in HTTP 429 errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install the package: pip install openplantbook-sdk. Then import correctly: from openplantbook_sdk import OpenPlantbookClient","cause":"Wrong import path or package not installed.","error":"ModuleNotFoundError: No module named 'openplantbook_sdk'"},{"fix":"Call the method with a query: client.search_plants(q='monstera')","cause":"The 'q' parameter is mandatory.","error":"TypeError: search_plants() missing 1 required positional argument: 'q'"},{"fix":"Ensure CLIENT_ID and CLIENT_SECRET are set correctly. Obtain from https://open.plantbook.io.","cause":"Invalid or missing API credentials.","error":"openplantbook_sdk.exceptions.AuthenticationError: Client id or secret invalid"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}