# Open Plantbook SDK for Python
[](https://openplantbook-sdk-py.readthedocs.io/en/latest/?badge=latest)
[](https://badge.fury.io/py/openplantbook-sdk)
This is an SDK to integrate with [Open Plantbook](https://open.plantbook.io) API.
More information about Open Plantbook and documentation can be found [here](https://github.com/slaxor505/OpenPlantbook-client).
It requires registration and API credentials which can be generated on Open Plantbook website.
See [API documentation](https://documenter.getpostman.com/view/12627470/TVsxBRjD) for details about returned values by the SDK.
[Discord](https://discord.gg/dguPktq9Zh) for support and questions
## Installation
```shell
pip install openplantbook-sdk
```
Import or require module
```python
from openplantbook_sdk import OpenPlantBookApi
```
## Usage
Quick example (async):
```python
import asyncio
from openplantbook_sdk import OpenPlantBookApi
async def main():
api = OpenPlantBookApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
# Retrieve plant details with optional ISO 639-1 language code
details = await api.async_plant_detail_get("abelia chinensis", lang="de")
print(details["display_pid"])
# Search plants
results = await api.async_plant_search("abelia")
print(results["count"])
asyncio.run(main())
```
- The `lang` parameter is optional; pass an ISO 639-1 code like "en", "de", "es" to localize fields when supported by the API.
See [demo.py](examples/demo.py) for a more complete walkthrough.
## License
MIT
Raw data
{
"_id": null,
"home_page": "https://github.com/slaxor505/openplantbook-sdk-py",
"name": "openplantbook-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "json, timeseries, iot, jts",
"author": "Slava Pisarevskiy",
"author_email": "slava@plantbook.io",
"download_url": "https://files.pythonhosted.org/packages/da/12/2611be7d0d8580fa80f689cc1dd324acf3dd196a90bef5b481a065a8fb3a/openplantbook_sdk-0.5.0.tar.gz",
"platform": null,
"description": "# Open Plantbook SDK for Python\n\n[](https://openplantbook-sdk-py.readthedocs.io/en/latest/?badge=latest)\n[](https://badge.fury.io/py/openplantbook-sdk)\n\nThis is an SDK to integrate with [Open Plantbook](https://open.plantbook.io) API. \n\nMore information about Open Plantbook and documentation can be found [here](https://github.com/slaxor505/OpenPlantbook-client).\nIt requires registration and API credentials which can be generated on Open Plantbook website.\n\nSee [API documentation](https://documenter.getpostman.com/view/12627470/TVsxBRjD) for details about returned values by the SDK.\n[Discord](https://discord.gg/dguPktq9Zh) for support and questions \n\n## Installation\n\n```shell\npip install openplantbook-sdk\n```\n\nImport or require module\n\n```python\nfrom openplantbook_sdk import OpenPlantBookApi\n```\n\n## Usage\n\nQuick example (async):\n\n```python\nimport asyncio\nfrom openplantbook_sdk import OpenPlantBookApi\n\nasync def main():\n api = OpenPlantBookApi(\"YOUR_CLIENT_ID\", \"YOUR_CLIENT_SECRET\")\n # Retrieve plant details with optional ISO 639-1 language code\n details = await api.async_plant_detail_get(\"abelia chinensis\", lang=\"de\")\n print(details[\"display_pid\"])\n # Search plants\n results = await api.async_plant_search(\"abelia\")\n print(results[\"count\"]) \n\nasyncio.run(main())\n```\n\n- The `lang` parameter is optional; pass an ISO 639-1 code like \"en\", \"de\", \"es\" to localize fields when supported by the API.\n\nSee [demo.py](examples/demo.py) for a more complete walkthrough.\n\n\n## License\nMIT\n",
"bugtrack_url": null,
"license": "\"MIT\"",
"summary": "Open Plantbook SDK for Python",
"version": "0.5.0",
"project_urls": {
"Documentation": "https://openplantbook-sdk-py.readthedocs.io",
"Homepage": "https://github.com/slaxor505/openplantbook-sdk-py",
"Source": "https://github.com/slaxor505/openplantbook-sdk-py"
},
"split_keywords": [
"json",
" timeseries",
" iot",
" jts"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "465b86b342cdba89cdb5dcb11ed08a0a0feecedee6f20f2090ff632e7bc821bd",
"md5": "da7cdf30fc6a560215ce924022d99b10",
"sha256": "7df1cd5387828b164f2c1a65234a407097428acd5920ee4d093970e890f56244"
},
"downloads": -1,
"filename": "openplantbook_sdk-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da7cdf30fc6a560215ce924022d99b10",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7654,
"upload_time": "2025-10-24T04:17:21",
"upload_time_iso_8601": "2025-10-24T04:17:21.533517Z",
"url": "https://files.pythonhosted.org/packages/46/5b/86b342cdba89cdb5dcb11ed08a0a0feecedee6f20f2090ff632e7bc821bd/openplantbook_sdk-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "da122611be7d0d8580fa80f689cc1dd324acf3dd196a90bef5b481a065a8fb3a",
"md5": "0d8628ce51cb4b84923c13c83b50a903",
"sha256": "c8afe54cbbb4ef29087ca0e59325ce9e1df9bf3e63bf644a4708c4a75f895e38"
},
"downloads": -1,
"filename": "openplantbook_sdk-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "0d8628ce51cb4b84923c13c83b50a903",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 16839,
"upload_time": "2025-10-24T04:17:23",
"upload_time_iso_8601": "2025-10-24T04:17:23.017018Z",
"url": "https://files.pythonhosted.org/packages/da/12/2611be7d0d8580fa80f689cc1dd324acf3dd196a90bef5b481a065a8fb3a/openplantbook_sdk-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-24 04:17:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "slaxor505",
"github_project": "openplantbook-sdk-py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "aiohttp",
"specs": []
},
{
"name": "json_timeseries",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "PyYAML",
"specs": []
},
{
"name": "tabulate",
"specs": []
}
],
"lcname": "openplantbook-sdk"
}