# nhound
<img src="https://github.com/worldr/nhound/blob/main/docs/assets/logo.png" width=25% height=25% >
[](https://img.shields.io/pypi/status/Setupr)
[](https://img.shields.io/pypi/v/nhound)
[](https://img.shields.io/pypi/pyversions/Setupr)
[](https://img.shields.io/pypi/dm/Setupr)
[](https://img.shields.io/github/v/release/worldr/nhound)
[](https://img.shields.io/github/actions/workflow/status/worldr/nhound/codeql.yml?branch=main)
[](https://img.shields.io/github/commit-activity/m/worldr/nhound)
[](https://github.com/psf/black)
[](https://pycqa.github.io/isort/)
[](https://github.com/pre-commit/pre-commit)
[](https://makeapullrequest.com)
---
## Documentation
- [Installation](docs/installation.md)
- [Usage](docs/usage.md)
- [Development](docs/development.md)
---
## What is this?
How to keep content on Notion up to date and avoid rot?
The answer is with `nhound`, you can. It's a bot. It will hound (aka nag) the
authors of pages on Notion to keep those pages up to date.
## Features
### Main Features
This is a feature list for version 1.
- [ ] Reads all the pages on Notion via the API.
- [ ] By default, it sets a reminder to the owner every 3 months.
[Redis](https://pypi.org/project/redis/)?
- [ ] By default, it picks either the last person who edited the page or its
creator.
- [ ] Reminder template.
- [ ] Notifications are sent via email.
- [ ] If there is `/callout` block,
- [ ] Pick the owners from that block only.
- [ ] Owners can override this time (1w, 6m, whatever), the bot will use that.
- [ ] If there is either no owner or the owner is no longer on Notion, it whines
at the admins.
The bot runs once per day. This is a DevOps problem…
### Stretch goals
- [ ] Notifications are sent as Notion notifications. Is this possible?
- [ ] Notifications are sent to Slack.
- [ ] Notifications are sent to Microsoft Teams.
- [ ] Random elements in the message template to make it more
fun[⸮](https://en.wikipedia.org/wiki/Irony_punctuation)
Raw data
{
"_id": null,
"home_page": "https://github.com/worldr/nhound",
"name": "nhound",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<3.12",
"maintainer_email": "",
"keywords": "worldr",
"author": "Dr Yann Golanski",
"author_email": "ygg@worldr.com",
"download_url": "https://files.pythonhosted.org/packages/85/45/91db652fe76b8f7b5e9aad154ab1df4fed367ae9d68da86a18cc7b3d7f05/nhound-0.1.1.tar.gz",
"platform": null,
"description": "# nhound\n\n<img src=\"https://github.com/worldr/nhound/blob/main/docs/assets/logo.png\" width=25% height=25% >\n\n[](https://img.shields.io/pypi/status/Setupr)\n[](https://img.shields.io/pypi/v/nhound)\n[](https://img.shields.io/pypi/pyversions/Setupr)\n[](https://img.shields.io/pypi/dm/Setupr)\n\n[](https://img.shields.io/github/v/release/worldr/nhound)\n[](https://img.shields.io/github/actions/workflow/status/worldr/nhound/codeql.yml?branch=main)\n[](https://img.shields.io/github/commit-activity/m/worldr/nhound)\n[](https://github.com/psf/black)\n[](https://pycqa.github.io/isort/)\n[](https://github.com/pre-commit/pre-commit)\n[](https://makeapullrequest.com)\n\n---\n\n## Documentation\n\n- [Installation](docs/installation.md)\n- [Usage](docs/usage.md)\n- [Development](docs/development.md)\n\n---\n\n## What is this?\n\nHow to keep content on Notion up to date and avoid rot?\n\nThe answer is with `nhound`, you can. It's a bot. It will hound (aka nag) the\nauthors of pages on Notion to keep those pages up to date.\n\n## Features\n\n### Main Features\n\nThis is a feature list for version 1.\n\n- [ ] Reads all the pages on Notion via the API.\n- [ ] By default, it sets a reminder to the owner every 3 months.\n [Redis](https://pypi.org/project/redis/)?\n- [ ] By default, it picks either the last person who edited the page or its\n creator.\n- [ ] Reminder template.\n- [ ] Notifications are sent via email.\n- [ ] If there is `/callout` block,\n - [ ] Pick the owners from that block only.\n - [ ] Owners can override this time (1w, 6m, whatever), the bot will use that.\n- [ ] If there is either no owner or the owner is no longer on Notion, it whines\n at the admins.\n\nThe bot runs once per day. This is a DevOps problem\u2026\n\n### Stretch goals\n\n- [ ] Notifications are sent as Notion notifications. Is this possible?\n- [ ] Notifications are sent to Slack.\n- [ ] Notifications are sent to Microsoft Teams.\n- [ ] Random elements in the message template to make it more\n fun[\u2e2e](https://en.wikipedia.org/wiki/Irony_punctuation)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Notion hound, as in nagging you to keep content up to date.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/worldr/nhound",
"Repository": "https://github.com/worldr/nhound"
},
"split_keywords": [
"worldr"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "446756d8b65901d1bd0cd1d1b82c48d6fc3e1316416e6fb5ca6b9f55f04a0878",
"md5": "973bf860ebc8642dfc129c5301d2adf8",
"sha256": "d4db4ded5c84410c3390f27564f4d80d9292279443df3006cabefebbb41875e7"
},
"downloads": -1,
"filename": "nhound-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "973bf860ebc8642dfc129c5301d2adf8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<3.12",
"size": 38563,
"upload_time": "2023-05-22T15:40:28",
"upload_time_iso_8601": "2023-05-22T15:40:28.321065Z",
"url": "https://files.pythonhosted.org/packages/44/67/56d8b65901d1bd0cd1d1b82c48d6fc3e1316416e6fb5ca6b9f55f04a0878/nhound-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "854591db652fe76b8f7b5e9aad154ab1df4fed367ae9d68da86a18cc7b3d7f05",
"md5": "400e407a0f7b46aec160111ca70da597",
"sha256": "aa5c4ac30f49c999d2f43f926c91f889f9f8a1c9e061091fa10eeae2a9daf9d1"
},
"downloads": -1,
"filename": "nhound-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "400e407a0f7b46aec160111ca70da597",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<3.12",
"size": 38871,
"upload_time": "2023-05-22T15:40:30",
"upload_time_iso_8601": "2023-05-22T15:40:30.070320Z",
"url": "https://files.pythonhosted.org/packages/85/45/91db652fe76b8f7b5e9aad154ab1df4fed367ae9d68da86a18cc7b3d7f05/nhound-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-22 15:40:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "worldr",
"github_project": "nhound",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nhound"
}