# PyIntelOwl
[![PyPI version](https://badge.fury.io/py/pyintelowl.svg)](https://badge.fury.io/py/pyintelowl)
[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/pyintelowl.svg)](https://pypi.python.org/pypi/pyintelowl/)
[![Pull request automation](https://github.com/intelowlproject/pyintelowl/actions/workflows/pull_request_automation.yml/badge.svg)](https://github.com/intelowlproject/pyintelowl/actions/workflows/pull_request_automation.yml)
[![codecov](https://codecov.io/gh/intelowlproject/pyintelowl/branch/master/graph/badge.svg?token=JF62UMZ0U6)](https://codecov.io/gh/intelowlproject/pyintelowl)
[![CodeFactor](https://www.codefactor.io/repository/github/intelowlproject/pyintelowl/badge)](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
[![pyintelowl asciicast](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ.svg)](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/23/77/152e169b260b7e0f78a98880382b6d7e66ca52adb5be6fcab4f8aeed5e5a/pyintelowl-4.4.7.tar.gz",
"platform": null,
"description": "# PyIntelOwl\n\n[![PyPI version](https://badge.fury.io/py/pyintelowl.svg)](https://badge.fury.io/py/pyintelowl)\n[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/pyintelowl.svg)](https://pypi.python.org/pypi/pyintelowl/)\n\n[![Pull request automation](https://github.com/intelowlproject/pyintelowl/actions/workflows/pull_request_automation.yml/badge.svg)](https://github.com/intelowlproject/pyintelowl/actions/workflows/pull_request_automation.yml)\n[![codecov](https://codecov.io/gh/intelowlproject/pyintelowl/branch/master/graph/badge.svg?token=JF62UMZ0U6)](https://codecov.io/gh/intelowlproject/pyintelowl)\n[![CodeFactor](https://www.codefactor.io/repository/github/intelowlproject/pyintelowl/badge)](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[![pyintelowl asciicast](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ.svg)](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.7",
"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": "aa28437a11a44a34b88b11fc6063dd82c1ca5e0a232e955230f24bd3b7eefbcd",
"md5": "cd385848d6897617c4cebbbf876e17c8",
"sha256": "3c2c3010951f1b4f4b504a717858919b403fa2da9967c11a393ac2f76cc41d70"
},
"downloads": -1,
"filename": "pyintelowl-4.4.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd385848d6897617c4cebbbf876e17c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 47799,
"upload_time": "2024-02-08T15:43:35",
"upload_time_iso_8601": "2024-02-08T15:43:35.676689Z",
"url": "https://files.pythonhosted.org/packages/aa/28/437a11a44a34b88b11fc6063dd82c1ca5e0a232e955230f24bd3b7eefbcd/pyintelowl-4.4.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2377152e169b260b7e0f78a98880382b6d7e66ca52adb5be6fcab4f8aeed5e5a",
"md5": "73b8831537c541546da8d945b478408c",
"sha256": "e37b71037ae2372295d2f99a4a2459f81378b03a7aab64d449ea27251d4a2f24"
},
"downloads": -1,
"filename": "pyintelowl-4.4.7.tar.gz",
"has_sig": false,
"md5_digest": "73b8831537c541546da8d945b478408c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 44962,
"upload_time": "2024-02-08T15:43:37",
"upload_time_iso_8601": "2024-02-08T15:43:37.777144Z",
"url": "https://files.pythonhosted.org/packages/23/77/152e169b260b7e0f78a98880382b6d7e66ca52adb5be6fcab4f8aeed5e5a/pyintelowl-4.4.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-08 15:43:37",
"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"
}