# PyIntelOwl
[](https://badge.fury.io/py/pyintelowl)
[](https://pypi.python.org/pypi/pyintelowl/)
[](https://github.com/intelowlproject/pyintelowl/actions/workflows/pull_request_automation.yml)
[](https://codecov.io/gh/intelowlproject/pyintelowl)
[](https://www.codefactor.io/repository/github/intelowlproject/pyintelowl)
Robust Python **SDK** and **Command Line Client** for interacting with [IntelOwl](https://github.com/intelowlproject/IntelOwl)'s API.
## Features
- Easy one-time configuration with self documented help and hints along the way.
- Request new analysis for observables and files.
- Select which analyzers you want to run for every analysis you perform.
- Choose whether you want to HTTP poll for the analysis to finish or not.
- List all jobs or view one job in a prettified tabular form.
- List all tags or view one tag in a prettified tabular form.
- Tabular view of the `analyzer_config.json` and `connector_config.json` from IntelOwl with RegEx matching capabilities.
## Demo
[](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ?t=5)
## Installation
```bash
$ pip3 install pyintelowl
```
For development/testing, `pip3 install pyintelowl[dev]`
## Quickstart
### As Command Line Client
On successful installation, The `pyintelowl` entryscript should be directly invokable. For example,
```bash
$ pyintelowl
Usage: pyintelowl [OPTIONS] COMMAND [ARGS]...
Options:
-d, --debug Set log level to DEBUG
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
analyse Send new analysis request
analyzer-healthcheck Send healthcheck request for an analyzer...
config Set or view config variables
connector-healthcheck Send healthcheck request for a connector
get-analyzer-config Get current state of `analyzer_config.json` from...
get-connector-config Get current state of `connector_config.json` from...
jobs Manage Jobs
tags Manage tags
```
### As a library / SDK
```python
from pyintelowl import IntelOwl
obj = IntelOwl("<your_api_key>", "<your_intelowl_instance_url>", "optional<path_to_pem_file>", "optional<proxies>")
```
For more comprehensive documentation, please see https://pyintelowl.readthedocs.io/.
## Changelog
View [CHANGELOG.md](https://github.com/intelowlproject/pyintelowl/blob/master/.github/CHANGELOG.md).
## FAQ
#### Generate API key
You need a valid API key to interact with the IntelOwl server.
Keys should be created from the admin interface of [IntelOwl](https://github.com/intelowlproject/intelowl): you have to go in the _Durin_ section (click on `Auth tokens`) and generate a key there.
#### Incompatibility after version 3.0
We did a complete rewrite of the PyIntelOwl client and CLI both for the version `3.0.0`. We very much recommend you to update to the latest version to enjoy all new features.
#### (old auth method) JWT Token Authentication
> this auth was available in IntelOwl versions <1.8.0 and pyintelowl versions <2.0.0
From the admin interface of IntelOwl, you have to go in the _Outstanding tokens_ section and generate a token there.
You can use it by pasting it into the file [api_token.txt](api_token.txt).
Raw data
{
"_id": null,
"home_page": "https://github.com/intelowlproject/pyintelowl",
"name": "pyintelowl",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "intelowl sdk python command line osint threat intel malware",
"author": "Matteo Lodi",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ac/4b/22cc2007b694d16971f04400110cf26dae205820d907beeb607e3f162355/pyintelowl-4.4.4.tar.gz",
"platform": null,
"description": "# PyIntelOwl\n\n[](https://badge.fury.io/py/pyintelowl)\n[](https://pypi.python.org/pypi/pyintelowl/)\n\n[](https://github.com/intelowlproject/pyintelowl/actions/workflows/pull_request_automation.yml)\n[](https://codecov.io/gh/intelowlproject/pyintelowl)\n[](https://www.codefactor.io/repository/github/intelowlproject/pyintelowl)\n\nRobust Python **SDK** and **Command Line Client** for interacting with [IntelOwl](https://github.com/intelowlproject/IntelOwl)'s API.\n\n## Features\n\n- Easy one-time configuration with self documented help and hints along the way.\n- Request new analysis for observables and files.\n - Select which analyzers you want to run for every analysis you perform.\n - Choose whether you want to HTTP poll for the analysis to finish or not.\n- List all jobs or view one job in a prettified tabular form.\n- List all tags or view one tag in a prettified tabular form.\n- Tabular view of the `analyzer_config.json` and `connector_config.json` from IntelOwl with RegEx matching capabilities.\n\n## Demo\n\n[](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ?t=5)\n\n## Installation\n\n```bash\n$ pip3 install pyintelowl\n```\n\nFor development/testing, `pip3 install pyintelowl[dev]`\n\n## Quickstart\n\n### As Command Line Client\n\nOn successful installation, The `pyintelowl` entryscript should be directly invokable. For example,\n\n```bash\n$ pyintelowl\nUsage: pyintelowl [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n -d, --debug Set log level to DEBUG\n --version Show the version and exit.\n -h, --help Show this message and exit.\n\nCommands:\n analyse Send new analysis request\n analyzer-healthcheck Send healthcheck request for an analyzer...\n config Set or view config variables\n connector-healthcheck Send healthcheck request for a connector\n get-analyzer-config Get current state of `analyzer_config.json` from...\n get-connector-config Get current state of `connector_config.json` from...\n jobs Manage Jobs\n tags Manage tags\n```\n\n### As a library / SDK\n\n```python\nfrom pyintelowl import IntelOwl\nobj = IntelOwl(\"<your_api_key>\", \"<your_intelowl_instance_url>\", \"optional<path_to_pem_file>\", \"optional<proxies>\")\n```\n\nFor more comprehensive documentation, please see https://pyintelowl.readthedocs.io/.\n\n## Changelog\n\nView [CHANGELOG.md](https://github.com/intelowlproject/pyintelowl/blob/master/.github/CHANGELOG.md).\n\n## FAQ\n\n#### Generate API key\n\nYou need a valid API key to interact with the IntelOwl server.\nKeys should be created from the admin interface of [IntelOwl](https://github.com/intelowlproject/intelowl): you have to go in the _Durin_ section (click on `Auth tokens`) and generate a key there.\n\n#### Incompatibility after version 3.0\n\nWe did a complete rewrite of the PyIntelOwl client and CLI both for the version `3.0.0`. We very much recommend you to update to the latest version to enjoy all new features.\n\n#### (old auth method) JWT Token Authentication\n\n> this auth was available in IntelOwl versions <1.8.0 and pyintelowl versions <2.0.0\n\nFrom the admin interface of IntelOwl, you have to go in the _Outstanding tokens_ section and generate a token there.\n\nYou can use it by pasting it into the file [api_token.txt](api_token.txt).\n",
"bugtrack_url": null,
"license": "",
"summary": "Robust Python SDK and CLI for IntelOwl's API",
"version": "4.4.4",
"project_urls": {
"Documentation": "https://github.com/intelowlproject/pyintelowl",
"Funding": "https://liberapay.com/IntelOwlProject/",
"Homepage": "https://github.com/intelowlproject/pyintelowl",
"Source": "https://github.com/intelowlproject/pyintelowl",
"Tracker": "https://github.com/intelowlproject/pyintelowl/issues"
},
"split_keywords": [
"intelowl",
"sdk",
"python",
"command",
"line",
"osint",
"threat",
"intel",
"malware"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "270d3780cb0ca31bdb317dc3da3a6939a328ae855b532fe6a31f320b8f1f3d63",
"md5": "24ce8c2e5b0f6b7a785c0d5de12732da",
"sha256": "6ba1a1b2cd6d344a5adcbe3e8b367211887e9f0ffd4826b6f745a050a21f437a"
},
"downloads": -1,
"filename": "pyintelowl-4.4.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "24ce8c2e5b0f6b7a785c0d5de12732da",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 47689,
"upload_time": "2023-06-07T14:42:27",
"upload_time_iso_8601": "2023-06-07T14:42:27.343057Z",
"url": "https://files.pythonhosted.org/packages/27/0d/3780cb0ca31bdb317dc3da3a6939a328ae855b532fe6a31f320b8f1f3d63/pyintelowl-4.4.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac4b22cc2007b694d16971f04400110cf26dae205820d907beeb607e3f162355",
"md5": "27998dd7feff059c2951d1c411a85bef",
"sha256": "62f7ab205491c5b2c8b0393f233f2ee349ee07071c4173b35aba19f6b01195a5"
},
"downloads": -1,
"filename": "pyintelowl-4.4.4.tar.gz",
"has_sig": false,
"md5_digest": "27998dd7feff059c2951d1c411a85bef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 44299,
"upload_time": "2023-06-07T14:42:29",
"upload_time_iso_8601": "2023-06-07T14:42:29.129056Z",
"url": "https://files.pythonhosted.org/packages/ac/4b/22cc2007b694d16971f04400110cf26dae205820d907beeb607e3f162355/pyintelowl-4.4.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-07 14:42:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "intelowlproject",
"github_project": "pyintelowl",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "pyintelowl"
}