# Connectivity Tool CLI
![Latest Release](https://img.shields.io/github/v/release/haimkastner/connectivity-tool)
[![PyPI version](https://img.shields.io/pypi/v/connectivity_tool.svg?style=plastic)](https://pypi.org/project/connectivity-tool/)
[![License](https://img.shields.io/github/license/haimkastner/connectivity-tool.svg?style=plastic)](https://github.com/haimkastner/connectivity-tool/blob/main/LICENSE)
[![DockerHub](https://img.shields.io/badge/DockerHub-Connectivity--Tool-blue)](https://hub.docker.com/r/haimkastner/connectivity-tool)
<!--
Coming soon :)
![Docker Pulls](https://img.shields.io/docker/pulls/haimkastner/connectivity-tool)
[![GitHub stars](https://img.shields.io/github/stars/haimkastner/connectivity-tool.svg?style=social&label=Star)](https://github.com/haimkastner/connectivity-tool/stargazers) -->
[![connectivity-tool](https://github.com/haimkastner/connectivity-tool/actions/workflows/build.yaml/badge.svg?branch=main)](https://github.com/haimkastner/connectivity-tool/actions/workflows/build.yaml)
[![Coverage Status](https://coveralls.io/repos/github/haimkastner/connectivity-tool/badge.svg?branch=main)](https://coveralls.io/github/haimkastner/connectivity-tool?branch=main)
Welcome to the Connectivity Tool CLI, a command-line interface for network connectivity operations.
## 📦 Features
With the Connectivity Tool CLI, you can perform the following operations:
- **Ping** - Check the reachability of a host / URL
- **Performance** - Check the performance of a URL (latency download/upload bandwidth)
- **Deviation** - Trace deviations of the response time of a host / URL
## 🌐 Supported Protocols
- **DNS**
- **HTTPS**
- **HTTP**
## 📋 Requirements
Python 3.10 or Docker
## ⬇️ CLI Download
To start using this CLI, install it via PIP (PyPi registry) as a global python command
```bash
pip install connectivity_tool
```
> **Note:** The CLI also available as a Docker image, see [Docker Hub](https://hub.docker.com/r/haimkastner/connectivity-tool)
> For more information, see the [Docker](https://github.com/haimkastner/connectivity-tool/blob/main/DOCKER.md) section
## 🚀 Getting started
Before starting, run the help command to understand how to pass the operation's parameters and payload with all the available options.
```bash
connectivity_tool --help
```
## 📚 Usage Examples
### ⚡ Direct params
```bash
connectivity_tool -p DNS -d yahoo.com
```
### 📂 Test suite path
```bash
connectivity_tool --suite-file ./suite.yaml
```
The file structure should be as follows:
```yaml
suite:
- protocol: DNS
domain: "yahoo.com"
- protocol: HTTP
url: "http://www.google.com"
- protocol: HTTPS
url: "https://www.facebook.com"
latency_threshold_deviation: # Optional for HTTP/HTTPS only - default is 60 seconds
value: 1 # Amount of units
unit: Millisecond # Unit of the value (e.g. Millisecond, Second, Minute)
test_upload_bandwidth: true # Optional for HTTP/HTTPS only - default is false
test_download_bandwidth: true # Optional for HTTP/HTTPS only - default is false
```
The `json` format is also supported as yaml is the default format, set also `-t json` argument to specify format.
```json
{
"suite": [
{
"protocol": "DNS",
"domain": "yahoo.com"
},
{
"protocol": "HTTP",
"url": "http://www.google.com"
},
{
"protocol": "HTTPS",
"url": "https://www.facebook.com",
"latency_threshold_deviation": {
"value": 1,
"unit": "Millisecond"
},
"test_upload_bandwidth": true,
"test_download_bandwidth": true
}
]
}
```
## 🗃️ Results Store
Every operation result will be stored in a `jsonl` local file.
Run `connectivity_tool --output-store 5` to print to stdout the last 5 result/s.
The store file is `./store_data/conn_tool_store.jsonl` as default and can be changed by `--store` flag.
For Docker see the [Docker](https://github.com/haimkastner/connectivity-tool/blob/main/DOCKER.md) section
## 🔍 Troubleshooting and logging
The full version and build info of the CLI is available by `--info` see example:
```bash
connectivity_tool --info
```
Connectivity Tool Cli allows to print verbose logs.
```bash
connectivity_tool --verbos
```
## 🐞 Report Bug
In case of an issue or a bug found in the CLI, please open an [issue](https://github.com/haimkastner/connectivity-tool/issues)
## 🛠️ Development & Contribution
See the [Development](https://github.com/haimkastner/connectivity-tool/blob/main/DEVELOPMENT.md) section for more information
## 📝 License
The Connectivity Tool CLI is licensed under the [MIT License](./LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/haimkastner/connectivity-tool",
"name": "connectivity-tool",
"maintainer": "Haim Kastner",
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": "hello@haim-kastner.com",
"keywords": "connectivity, http, https, dns, cli",
"author": "Haim Kastner",
"author_email": "hello@haim-kastner.com",
"download_url": "https://files.pythonhosted.org/packages/fd/a9/abdfcd6c7a7a78f4e2660e1c9cfcb294e741662860a8428077413b1e1608/connectivity_tool-1.0.13.tar.gz",
"platform": null,
"description": "# Connectivity Tool CLI\n\n![Latest Release](https://img.shields.io/github/v/release/haimkastner/connectivity-tool)\n[![PyPI version](https://img.shields.io/pypi/v/connectivity_tool.svg?style=plastic)](https://pypi.org/project/connectivity-tool/)\n[![License](https://img.shields.io/github/license/haimkastner/connectivity-tool.svg?style=plastic)](https://github.com/haimkastner/connectivity-tool/blob/main/LICENSE)\n[![DockerHub](https://img.shields.io/badge/DockerHub-Connectivity--Tool-blue)](https://hub.docker.com/r/haimkastner/connectivity-tool)\n\n<!-- \nComing soon :)\n![Docker Pulls](https://img.shields.io/docker/pulls/haimkastner/connectivity-tool)\n[![GitHub stars](https://img.shields.io/github/stars/haimkastner/connectivity-tool.svg?style=social&label=Star)](https://github.com/haimkastner/connectivity-tool/stargazers) -->\n\n[![connectivity-tool](https://github.com/haimkastner/connectivity-tool/actions/workflows/build.yaml/badge.svg?branch=main)](https://github.com/haimkastner/connectivity-tool/actions/workflows/build.yaml)\n[![Coverage Status](https://coveralls.io/repos/github/haimkastner/connectivity-tool/badge.svg?branch=main)](https://coveralls.io/github/haimkastner/connectivity-tool?branch=main)\n\n\nWelcome to the Connectivity Tool CLI, a command-line interface for network connectivity operations.\n\n## \ud83d\udce6 Features\nWith the Connectivity Tool CLI, you can perform the following operations:\n- **Ping** - Check the reachability of a host / URL\n- **Performance** - Check the performance of a URL (latency download/upload bandwidth) \n- **Deviation** - Trace deviations of the response time of a host / URL \n\n## \ud83c\udf10 Supported Protocols\n- **DNS**\n- **HTTPS**\n- **HTTP**\n\n## \ud83d\udccb Requirements\nPython 3.10 or Docker\n\n## \u2b07\ufe0f CLI Download\n\nTo start using this CLI, install it via PIP (PyPi registry) as a global python command\n```bash \npip install connectivity_tool\n```\n\n> **Note:** The CLI also available as a Docker image, see [Docker Hub](https://hub.docker.com/r/haimkastner/connectivity-tool)\n> For more information, see the [Docker](https://github.com/haimkastner/connectivity-tool/blob/main/DOCKER.md) section\n## \ud83d\ude80 Getting started\n\nBefore starting, run the help command to understand how to pass the operation's parameters and payload with all the available options.\n```bash\nconnectivity_tool --help\n```\n\n## \ud83d\udcda Usage Examples\n\n### \u26a1 Direct params\n```bash\nconnectivity_tool -p DNS -d yahoo.com\n```\n\n### \ud83d\udcc2 Test suite path\n```bash \nconnectivity_tool --suite-file ./suite.yaml\n```\nThe file structure should be as follows:\n```yaml\nsuite:\n - protocol: DNS\n domain: \"yahoo.com\"\n\n - protocol: HTTP\n url: \"http://www.google.com\"\n\n - protocol: HTTPS\n url: \"https://www.facebook.com\"\n latency_threshold_deviation: # Optional for HTTP/HTTPS only - default is 60 seconds\n value: 1 # Amount of units\n unit: Millisecond # Unit of the value (e.g. Millisecond, Second, Minute)\n test_upload_bandwidth: true # Optional for HTTP/HTTPS only - default is false\n test_download_bandwidth: true # Optional for HTTP/HTTPS only - default is false\n```\n\nThe `json` format is also supported as yaml is the default format, set also `-t json` argument to specify format.\n```json\n{\n \"suite\": [\n {\n \"protocol\": \"DNS\",\n \"domain\": \"yahoo.com\"\n },\n {\n \"protocol\": \"HTTP\",\n \"url\": \"http://www.google.com\"\n },\n {\n \"protocol\": \"HTTPS\",\n \"url\": \"https://www.facebook.com\",\n \"latency_threshold_deviation\": {\n \"value\": 1,\n \"unit\": \"Millisecond\"\n },\n \"test_upload_bandwidth\": true,\n \"test_download_bandwidth\": true\n }\n ]\n}\n```\n\n## \ud83d\uddc3\ufe0f Results Store \nEvery operation result will be stored in a `jsonl` local file.\n\nRun `connectivity_tool --output-store 5` to print to stdout the last 5 result/s.\n\nThe store file is `./store_data/conn_tool_store.jsonl` as default and can be changed by `--store` flag.\n\nFor Docker see the [Docker](https://github.com/haimkastner/connectivity-tool/blob/main/DOCKER.md) section\n\n## \ud83d\udd0d Troubleshooting and logging\n\nThe full version and build info of the CLI is available by `--info` see example:\n```bash\nconnectivity_tool --info\n```\n\nConnectivity Tool Cli allows to print verbose logs.\n\n```bash\nconnectivity_tool --verbos\n```\n\n## \ud83d\udc1e Report Bug\n\nIn case of an issue or a bug found in the CLI, please open an [issue](https://github.com/haimkastner/connectivity-tool/issues) \n\n## \ud83d\udee0\ufe0f Development & Contribution\nSee the [Development](https://github.com/haimkastner/connectivity-tool/blob/main/DEVELOPMENT.md) section for more information\n\n## \ud83d\udcdd License\nThe Connectivity Tool CLI is licensed under the [MIT License](./LICENSE)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A lightweight command-line tool for testing connectivity to web sources over various protocols (HTTPS, DNS, etc).",
"version": "1.0.13",
"project_urls": {
"Homepage": "https://github.com/haimkastner/connectivity-tool"
},
"split_keywords": [
"connectivity",
" http",
" https",
" dns",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fda9abdfcd6c7a7a78f4e2660e1c9cfcb294e741662860a8428077413b1e1608",
"md5": "39d8342a4ea0db44a2d35d6eb93acafc",
"sha256": "cb4c52c265378a3c06b2993d8e7f969d77fc6f7e73c88e3fb893dfa0086cb64d"
},
"downloads": -1,
"filename": "connectivity_tool-1.0.13.tar.gz",
"has_sig": false,
"md5_digest": "39d8342a4ea0db44a2d35d6eb93acafc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 17835,
"upload_time": "2025-01-05T18:56:19",
"upload_time_iso_8601": "2025-01-05T18:56:19.051970Z",
"url": "https://files.pythonhosted.org/packages/fd/a9/abdfcd6c7a7a78f4e2660e1c9cfcb294e741662860a8428077413b1e1608/connectivity_tool-1.0.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-05 18:56:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "haimkastner",
"github_project": "connectivity-tool",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "PyYAML",
"specs": [
[
"==",
"6.0.2"
]
]
},
{
"name": "unitsnet-py",
"specs": [
[
"==",
"0.1.140"
]
]
},
{
"name": "requests",
"specs": [
[
"~=",
"2.32.3"
]
]
},
{
"name": "setuptools",
"specs": [
[
"~=",
"70.0.0"
]
]
},
{
"name": "validators",
"specs": [
[
"~=",
"0.34.0"
]
]
}
],
"lcname": "connectivity-tool"
}