# 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.
## 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
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://intelowlproject.github.io/docs/pyintelowl/.
## Changelog
View [CHANGELOG.md](https://github.com/intelowlproject/pyintelowl/blob/master/.github/CHANGELOG.md).
## How to generate an API key
You need a valid API key to interact with the IntelOwl server.
Keys can be created from the "API access" section of the user's menu in the IntelOwl's GUI.
![api_access](static/api_access.png)
Otherwise, you can create them from the Django Admin Interface of the IntelOwl application with an administration account. Section "Durin" -> "Auth tokens"
Raw data
{
"_id": null,
"home_page": "https://github.com/intelowlproject/pyintelowl",
"name": "pyintelowl",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "intelowl sdk python command line osint threat intel malware",
"author": "Matteo Lodi",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/a9/b4/8efcfc4c239d8b1311e23432bd61a59e56e9c91c3bca1c1d568463683a1c/pyintelowl-5.0.2.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\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 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://intelowlproject.github.io/docs/pyintelowl/.\n\n## Changelog\n\nView [CHANGELOG.md](https://github.com/intelowlproject/pyintelowl/blob/master/.github/CHANGELOG.md).\n\n\n## How to generate an API key\n\nYou need a valid API key to interact with the IntelOwl server.\nKeys can be created from the \"API access\" section of the user's menu in the IntelOwl's GUI.\n\n![api_access](static/api_access.png)\n\nOtherwise, you can create them from the Django Admin Interface of the IntelOwl application with an administration account. Section \"Durin\" -> \"Auth tokens\"\n",
"bugtrack_url": null,
"license": null,
"summary": "Robust Python SDK and CLI for IntelOwl's API",
"version": "5.0.2",
"project_urls": {
"Documentation": "https://github.com/intelowlproject/pyintelowl",
"Funding": "https://opencollective.com/intelowl-project",
"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": "be20738550fa9db93b5dc1901429d88744114e4c09586b2650c259a277a3871e",
"md5": "0601e5e8eecbe5f968b18d87d6ca592b",
"sha256": "c08872ece461c00bd15818e24d3c25eee4ddaa73bae61ee0eef981481d2db79a"
},
"downloads": -1,
"filename": "pyintelowl-5.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0601e5e8eecbe5f968b18d87d6ca592b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 44413,
"upload_time": "2024-08-29T09:28:45",
"upload_time_iso_8601": "2024-08-29T09:28:45.582596Z",
"url": "https://files.pythonhosted.org/packages/be/20/738550fa9db93b5dc1901429d88744114e4c09586b2650c259a277a3871e/pyintelowl-5.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a9b48efcfc4c239d8b1311e23432bd61a59e56e9c91c3bca1c1d568463683a1c",
"md5": "3ee01d81ed92a404020db71d050c84e2",
"sha256": "73652c0efd336685ff6710264799454bbb995e02cf20fec5ba5a98e2feb6f65c"
},
"downloads": -1,
"filename": "pyintelowl-5.0.2.tar.gz",
"has_sig": false,
"md5_digest": "3ee01d81ed92a404020db71d050c84e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 41872,
"upload_time": "2024-08-29T09:28:46",
"upload_time_iso_8601": "2024-08-29T09:28:46.893591Z",
"url": "https://files.pythonhosted.org/packages/a9/b4/8efcfc4c239d8b1311e23432bd61a59e56e9c91c3bca1c1d568463683a1c/pyintelowl-5.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-29 09:28:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "intelowlproject",
"github_project": "pyintelowl",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.28"
]
]
},
{
"name": "geocoder",
"specs": [
[
">=",
"1.38"
]
]
},
{
"name": "click",
"specs": [
[
">=",
"7.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"12.5.1"
]
]
},
{
"name": "click-creds",
"specs": [
[
">=",
"0.0.3"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
">=",
"4.3.0"
]
]
}
],
"tox": true,
"lcname": "pyintelowl"
}