# re:doubt Bot Python SDK
[![PyPI](https://img.shields.io/pypi/v/redoubt-agent?color=blue)](https://pypi.org/project/redoubt-agent/)
The re:doubt monitors TON on-chain activity in real-time, detecting threats and other security-related events.
The network is made up of numerous detection bots developed by a community of Web3 developers and security experts.
Each bot acts like a little security camera monitoring something specific on-chain. What the re:doubt detects is a
direct result of the bots being run. Some bots monitor generic threats, and others monitor protocol-specific activity.
See the developer documentation at [re:doubt documentation](https://docs.redoubt.online)
## Installation
Install Python 3 package: `pip3 install redoubt-agent`
## API Keys
To use SDK one need to request API key from [@RedoubtAPIBot](https://t.me/RedoubtAPIBot) and pass it either directly
to `RedoubtEventsStream` instance or using `REDOUBT_API_KEY` environment variable.
## Examples
### New pools bot
* [New pools detector](https://github.com/re-doubt/redoubt-bot-python-sdk/blob/main/examples/new_pools.py)
It is monitoring for new pools and just prints info.
### Jetton transfers bot
* [Jetton transfers bot](https://github.com/re-doubt/redoubt-bot-python-sdk/blob/main/examples/jetton_transfer.py)
More complicated example. It listens for all Jetton transfers and after receiving info
about the transfer it requests additional info over GraphQL API. In this case it
uses additional GraphQL request to get Jetton metadata (symbol and decimals).
As a result you will get such a message:
```
EQ...EJ => EQ...7f 22.033882202 SCALE
```
Raw data
{
"_id": null,
"home_page": "https://www.redoubt.online/",
"name": "redoubt-agent",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "TON,redoubt,sdk",
"author": "maksymds",
"author_email": "redoubt@devnull.ae",
"download_url": "https://files.pythonhosted.org/packages/af/bd/177308e1b5e3179441b84ddf3f4372cba7ff04bfc3669f7ae39f858e0aa2/redoubt_agent-0.2.0.tar.gz",
"platform": null,
"description": "# re:doubt Bot Python SDK\n\n[![PyPI](https://img.shields.io/pypi/v/redoubt-agent?color=blue)](https://pypi.org/project/redoubt-agent/)\n\nThe re:doubt monitors TON on-chain activity in real-time, detecting threats and other security-related events. \nThe network is made up of numerous detection bots developed by a community of Web3 developers and security experts. \nEach bot acts like a little security camera monitoring something specific on-chain. What the re:doubt detects is a \ndirect result of the bots being run. Some bots monitor generic threats, and others monitor protocol-specific activity.\n\nSee the developer documentation at [re:doubt documentation](https://docs.redoubt.online)\n\n## Installation\n\nInstall Python 3 package: `pip3 install redoubt-agent`\n\n## API Keys\n\nTo use SDK one need to request API key from [@RedoubtAPIBot](https://t.me/RedoubtAPIBot) and pass it either directly \nto `RedoubtEventsStream` instance or using `REDOUBT_API_KEY` environment variable.\n\n## Examples\n\n### New pools bot\n\n* [New pools detector](https://github.com/re-doubt/redoubt-bot-python-sdk/blob/main/examples/new_pools.py)\n\nIt is monitoring for new pools and just prints info.\n\n### Jetton transfers bot\n\n* [Jetton transfers bot](https://github.com/re-doubt/redoubt-bot-python-sdk/blob/main/examples/jetton_transfer.py)\n\nMore complicated example. It listens for all Jetton transfers and after receiving info \nabout the transfer it requests additional info over GraphQL API. In this case it\nuses additional GraphQL request to get Jetton metadata (symbol and decimals).\n\nAs a result you will get such a message:\n```\nEQ...EJ => EQ...7f 22.033882202 SCALE\n```\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "re:doubt Bot Python SDK",
"version": "0.2.0",
"project_urls": {
"Documentation": "https://docs.redoubt.online/",
"Github": "https://github.com/re-doubt/redoubt-bot-python-sdk",
"Homepage": "https://www.redoubt.online/"
},
"split_keywords": [
"ton",
"redoubt",
"sdk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8cb75556c58516beda033625402cf52569b7c49abd26287c03f1a936d5c33bdc",
"md5": "57ff506491a741e0029000de1ccb37bd",
"sha256": "34068017037e52cd861d903bab0b2758df9f9fe77a66af4a524cf251e01cfcd1"
},
"downloads": -1,
"filename": "redoubt_agent-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "57ff506491a741e0029000de1ccb37bd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7730,
"upload_time": "2023-06-09T11:34:09",
"upload_time_iso_8601": "2023-06-09T11:34:09.335602Z",
"url": "https://files.pythonhosted.org/packages/8c/b7/5556c58516beda033625402cf52569b7c49abd26287c03f1a936d5c33bdc/redoubt_agent-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "afbd177308e1b5e3179441b84ddf3f4372cba7ff04bfc3669f7ae39f858e0aa2",
"md5": "8b6b4e0cb935adad71affc055eacde16",
"sha256": "5b96a772c70ab3a7603f61321f28220123b5f8b3e064e15c0428fd63cf84607b"
},
"downloads": -1,
"filename": "redoubt_agent-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "8b6b4e0cb935adad71affc055eacde16",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 7460,
"upload_time": "2023-06-09T11:34:10",
"upload_time_iso_8601": "2023-06-09T11:34:10.599457Z",
"url": "https://files.pythonhosted.org/packages/af/bd/177308e1b5e3179441b84ddf3f4372cba7ff04bfc3669f7ae39f858e0aa2/redoubt_agent-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-09 11:34:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "re-doubt",
"github_project": "redoubt-bot-python-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "gql",
"specs": [
[
"==",
"3.4.1"
]
]
},
{
"name": "loguru",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "aiohttp",
"specs": [
[
"==",
"3.8.4"
]
]
},
{
"name": "requests_toolbelt",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "websockets",
"specs": [
[
"==",
"11.0.3"
]
]
}
],
"lcname": "redoubt-agent"
}