# arXiv update bot
arxiv update bot is a simple python script that scraps the arXiv, search for interesting paper and send a message on telegram if any was found.
## Usage
The package comes with a command line script arxiv-update-bot. Here the help message :
```
usage: arxiv-update-bot [-h] [-c CONFIG_PATH] [-q]
Scrap the arXiv
optional arguments:
-h, --help show this help message and exit
-c CONFIG_PATH, --config-path CONFIG_PATH
Path for configuration path. Replace default of
/etc/arxiv-update-bot/config.ini
-q, --quiet If quiet is set, then the bot will not send message if
no article are found.
```
## Installation
The package can be installed either via the pypi repository :
or using the sources :
## Configuration file
In order to work, the script needs a configuration file. It will by default search for the configuration file in `/etc/arxiv-update-bot/config.ini`. Note that you have to manually create the folder and give the good permissions.
You can override the default behavior with the `-c` option on the command line and by giving the path as argument.
An example configuration can be found at `arxiv_update_bot/config.example.ini` and is also included in the package. Here is the example:
```ini
[bot]
token = 0000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[quant-ph]
chat_id = 0
category = quant-ph
buzzwords = cvqkd,continuous variable,continuous-variable,qkd,quantum key distribution,rfsoc,fpga
```
The `[bot]` section is here to parametrize the bot. It must have the `token` value (with the "bot" word).
Then for each update, you need to define a section. The name of the section is not really important (it must be unique and not "bot").
* The `chat_id` corresponds to the id of the individual or group where the notification must be sent. For now you can only configure 1 recipient per update.
* The `category` is the name of the arxiv category. It will be used to determinate which RSS flux will be scraped.
* The `buzzwords` are a list of words, separated by comas (without spaces) and in lowercase. The articles that will be keeped will be the ones with one of the buzwwords in the title.
## Cron configuration
It is advised to use a cron to execute the script periodically :
```
0 10 * * * arxiv-update-bot
```
to run the script every day at 10 am.
## How it works
For each update, the script get the RSS flux, goes through the article and try to match the articles titles with the buzzwords. If there is match, a notification is sent.
Raw data
{
"_id": null,
"home_page": "https://github.com/nanoy42/arxiv-update-bot",
"name": "arxiv-update-bot",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7.2,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Yoann Pi\u00e9tri",
"author_email": "me@nanoy.fr",
"download_url": "https://files.pythonhosted.org/packages/c2/12/2b7bc6b170c4f925fd0c2bc948ec1b738f56fef38da3f2b7b52b86e447c1/arxiv_update_bot-0.8.0.tar.gz",
"platform": null,
"description": "# arXiv update bot\n\narxiv update bot is a simple python script that scraps the arXiv, search for interesting paper and send a message on telegram if any was found.\n\n## Usage\n\nThe package comes with a command line script arxiv-update-bot. Here the help message :\n\n```\nusage: arxiv-update-bot [-h] [-c CONFIG_PATH] [-q]\n\nScrap the arXiv\n\noptional arguments:\n -h, --help show this help message and exit\n -c CONFIG_PATH, --config-path CONFIG_PATH\n Path for configuration path. Replace default of\n /etc/arxiv-update-bot/config.ini\n -q, --quiet If quiet is set, then the bot will not send message if\n no article are found.\n```\n\n## Installation\n\nThe package can be installed either via the pypi repository :\n\nor using the sources :\n\n## Configuration file\n\nIn order to work, the script needs a configuration file. It will by default search for the configuration file in `/etc/arxiv-update-bot/config.ini`. Note that you have to manually create the folder and give the good permissions.\n\nYou can override the default behavior with the `-c` option on the command line and by giving the path as argument.\n\nAn example configuration can be found at `arxiv_update_bot/config.example.ini` and is also included in the package. Here is the example:\n\n```ini\n[bot]\ntoken = 0000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n\n[quant-ph]\nchat_id = 0\ncategory = quant-ph\nbuzzwords = cvqkd,continuous variable,continuous-variable,qkd,quantum key distribution,rfsoc,fpga\n```\n\nThe `[bot]` section is here to parametrize the bot. It must have the `token` value (with the \"bot\" word).\n\nThen for each update, you need to define a section. The name of the section is not really important (it must be unique and not \"bot\"). \n* The `chat_id` corresponds to the id of the individual or group where the notification must be sent. For now you can only configure 1 recipient per update.\n* The `category` is the name of the arxiv category. It will be used to determinate which RSS flux will be scraped.\n* The `buzzwords` are a list of words, separated by comas (without spaces) and in lowercase. The articles that will be keeped will be the ones with one of the buzwwords in the title.\n\n## Cron configuration\n\nIt is advised to use a cron to execute the script periodically :\n\n```\n0 10 * * * arxiv-update-bot\n```\nto run the script every day at 10 am.\n## How it works\n\nFor each update, the script get the RSS flux, goes through the article and try to match the articles titles with the buzzwords. If there is match, a notification is sent.",
"bugtrack_url": null,
"license": "MIT",
"summary": "A bot to monitor arXiv updates",
"version": "0.8.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "a5d778e7177298ec71321859541cc54c",
"sha256": "301ab312ed54c4bfff3d4431af6bc6e37cab38e1bec7f40d43d84e54a28cfa7e"
},
"downloads": -1,
"filename": "arxiv_update_bot-0.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a5d778e7177298ec71321859541cc54c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7.2,<4.0",
"size": 6138,
"upload_time": "2022-12-21T21:16:46",
"upload_time_iso_8601": "2022-12-21T21:16:46.431312Z",
"url": "https://files.pythonhosted.org/packages/36/ef/4aa905c7954df111460c0b2de12028ecf6d8984ad443e5955d9ab0124d9d/arxiv_update_bot-0.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0c5321e80177a76ad2a2dc895ce8972c",
"sha256": "326c8c5799c7ccdd1b1c765bf544905ee7a1e0bf39d27414684d8f56e7824684"
},
"downloads": -1,
"filename": "arxiv_update_bot-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "0c5321e80177a76ad2a2dc895ce8972c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7.2,<4.0",
"size": 5411,
"upload_time": "2022-12-21T21:16:48",
"upload_time_iso_8601": "2022-12-21T21:16:48.261562Z",
"url": "https://files.pythonhosted.org/packages/c2/12/2b7bc6b170c4f925fd0c2bc948ec1b738f56fef38da3f2b7b52b86e447c1/arxiv_update_bot-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-21 21:16:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "nanoy42",
"github_project": "arxiv-update-bot",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "arxiv-update-bot"
}