arxiv-update-bot


Namearxiv-update-bot JSON
Version 0.8.0 PyPI version JSON
download
home_pagehttps://github.com/nanoy42/arxiv-update-bot
SummaryA bot to monitor arXiv updates
upload_time2022-12-21 21:16:48
maintainer
docs_urlNone
authorYoann Piétri
requires_python>=3.7.2,<4.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.02093s