<img src="https://bcdn.berrysauce.me/shared/hoom-banner-modified.png">
<br>
<h1 align="center">Hoom</h1>
<p align="center">Build your own HomeKit Bridge & Accessories with Hoom</p>
<p align="center">
<img alt="CodeQL Status" src="https://github.com/berrysauce/hoom/actions/workflows/github-code-scanning/codeql/badge.svg"/>
<img alt="PyPi Publishing Status" src="https://github.com/berrysauce/hoom/actions/workflows/python-publish.yml/badge.svg"/>
<img alt="Documentation Status" src="https://github.com/berrysauce/hoom/actions/workflows/docs.yml/badge.svg"/>
<img alt="PyPi Python Versions" src="https://img.shields.io/pypi/pyversions/hoom"/>
<img alt="PyPi Package Downloads" src="https://img.shields.io/pypi/dm/hoom?color=blue"/>
</p>
<br>
> 🚧 **Please note**: Hoom is still under development. It is not recommended at this point, to use Hoom in a production environment.
<br>
## ✨ Features
- [x] HomeKit Bridge
- [x] Minimalist Web UI
- [x] Create custom HomeKit Accessories with function decorators
- [x] Customizable
- [x] Easy to use
<br>
## 📦 Installation
Hoom is available on [PyPi](https://pypi.org/project/hoom/). You can easily install it using pip:
```bash
pip install hoom
```
> **Note**: Hoom requires Python 3.8 or higher
<br>
## 🚀 Getting started
Here's a demo script which shows how easy Hoom is to use:
```python
from hoom import Hoom
from hoom.accessory_types import Switch
hoom = Hoom()
@hoom.switch("Switch ")
def switch(response: Switch.Response):
if response.on:
print("Switch is now on")
else:
print("Switch is now off")
return
hoom.run()
```
As you can see, Hoom is very similar to frameworks like FastAPI. No need for complicated classes with lots of methods. Just use the `@hoom.<<accessory>>` decorator and you're good to go.
If you want to know how to create other accessories, [take a look at the documentation](https://berrysauce.me/hoom/).
<br>
## 📣 Credits
A special thanks goes out to these Python packages/frameworks and their authors:
- [HAP-python](https://github.com/ikalchev/HAP-python) - Hoom wouldn't be possible without this HomeKit Accessory Protocol implementation by [Ivan Kalchev](https://github.com/ikalchev)
- [FastAPI](https://github.com/tiangolo/fastapi) - Hoom uses FastAPI by [Sebastián RamÃrez](https://github.com/tiangolo) for its web server & UI and is heavily inspired by it
A special thanks also goes out to:
- [Tabler Icons](https://tabler-icons.io/) - The icon for Hoom is from Tabler Icons
Raw data
{
"_id": null,
"home_page": "https://berrysauce.me/hoom",
"name": "hoom",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Paul Haedrich",
"author_email": "hey@foerstal.com",
"download_url": "https://files.pythonhosted.org/packages/ac/b0/283e714eeae328b94861d00225ead998565191a610255ea846f58f12b197/hoom-0.1.6.tar.gz",
"platform": null,
"description": "<img src=\"https://bcdn.berrysauce.me/shared/hoom-banner-modified.png\">\n\n<br>\n\n<h1 align=\"center\">Hoom</h1>\n<p align=\"center\">Build your own HomeKit Bridge & Accessories with Hoom</p>\n<p align=\"center\">\n <img alt=\"CodeQL Status\" src=\"https://github.com/berrysauce/hoom/actions/workflows/github-code-scanning/codeql/badge.svg\"/>\n <img alt=\"PyPi Publishing Status\" src=\"https://github.com/berrysauce/hoom/actions/workflows/python-publish.yml/badge.svg\"/>\n <img alt=\"Documentation Status\" src=\"https://github.com/berrysauce/hoom/actions/workflows/docs.yml/badge.svg\"/>\n <img alt=\"PyPi Python Versions\" src=\"https://img.shields.io/pypi/pyversions/hoom\"/>\n <img alt=\"PyPi Package Downloads\" src=\"https://img.shields.io/pypi/dm/hoom?color=blue\"/>\n</p>\n\n<br>\n\n> \ud83d\udea7 **Please note**: Hoom is still under development. It is not recommended at this point, to use Hoom in a production environment.\n\n<br>\n\n## \u2728 Features\n- [x] HomeKit Bridge\n- [x] Minimalist Web UI\n- [x] Create custom HomeKit Accessories with function decorators\n- [x] Customizable\n- [x] Easy to use\n\n<br>\n\n## \ud83d\udce6 Installation\nHoom is available on [PyPi](https://pypi.org/project/hoom/). You can easily install it using pip:\n\n```bash\npip install hoom\n```\n\n> **Note**: Hoom requires Python 3.8 or higher\n\n<br>\n\n## \ud83d\ude80 Getting started\nHere's a demo script which shows how easy Hoom is to use:\n\n```python\nfrom hoom import Hoom\nfrom hoom.accessory_types import Switch\n\nhoom = Hoom()\n\n@hoom.switch(\"Switch \")\ndef switch(response: Switch.Response):\n if response.on:\n print(\"Switch is now on\")\n else:\n print(\"Switch is now off\")\n \n return\n\nhoom.run()\n```\n\nAs you can see, Hoom is very similar to frameworks like FastAPI. No need for complicated classes with lots of methods. Just use the `@hoom.<<accessory>>` decorator and you're good to go.\n\nIf you want to know how to create other accessories, [take a look at the documentation](https://berrysauce.me/hoom/).\n\n<br>\n\n## \ud83d\udce3 Credits\nA special thanks goes out to these Python packages/frameworks and their authors:\n\n- [HAP-python](https://github.com/ikalchev/HAP-python) - Hoom wouldn't be possible without this HomeKit Accessory Protocol implementation by [Ivan Kalchev](https://github.com/ikalchev)\n- [FastAPI](https://github.com/tiangolo/fastapi) - Hoom uses FastAPI by [Sebasti\u00e1n Ram\u00edrez](https://github.com/tiangolo) for its web server & UI and is heavily inspired by it\n\nA special thanks also goes out to:\n\n- [Tabler Icons](https://tabler-icons.io/) - The icon for Hoom is from Tabler Icons\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-only",
"summary": "Build your own HomeKit Bridge & Accessories with Hoom",
"version": "0.1.6",
"project_urls": {
"Documentation": "https://berrysauce.me/hoom",
"Homepage": "https://berrysauce.me/hoom",
"Repository": "https://github.com/berrysauce/hoom"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "459427454e485d492e8336511280043dc725c8a6fb3a45dbf2e20c50811dbcef",
"md5": "e8d4a08596e6f93cc9e6d530354e77bd",
"sha256": "33aed2a018ff005f66c147c345033ca5ccced06594d4d2d75d5505f1e01a9c24"
},
"downloads": -1,
"filename": "hoom-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e8d4a08596e6f93cc9e6d530354e77bd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 115038,
"upload_time": "2023-08-21T12:14:35",
"upload_time_iso_8601": "2023-08-21T12:14:35.150867Z",
"url": "https://files.pythonhosted.org/packages/45/94/27454e485d492e8336511280043dc725c8a6fb3a45dbf2e20c50811dbcef/hoom-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "acb0283e714eeae328b94861d00225ead998565191a610255ea846f58f12b197",
"md5": "e3badc125d9539f7c956728f17ce5dbc",
"sha256": "f284309d333d78d9bc995c6e2474c4cf7883b35922c33c0765c556ddc71ca08c"
},
"downloads": -1,
"filename": "hoom-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "e3badc125d9539f7c956728f17ce5dbc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 113356,
"upload_time": "2023-08-21T12:14:36",
"upload_time_iso_8601": "2023-08-21T12:14:36.802584Z",
"url": "https://files.pythonhosted.org/packages/ac/b0/283e714eeae328b94861d00225ead998565191a610255ea846f58f12b197/hoom-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-21 12:14:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "berrysauce",
"github_project": "hoom",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "HAP-python",
"specs": []
},
{
"name": "fastapi",
"specs": []
},
{
"name": "uvicorn",
"specs": []
},
{
"name": "jinja2",
"specs": []
},
{
"name": "pyqrcode",
"specs": []
},
{
"name": "base36",
"specs": []
},
{
"name": "colorama",
"specs": []
}
],
"lcname": "hoom"
}