connectivity-tool


Nameconnectivity-tool JSON
Version 1.0.13 PyPI version JSON
download
home_pagehttps://github.com/haimkastner/connectivity-tool
SummaryA lightweight command-line tool for testing connectivity to web sources over various protocols (HTTPS, DNS, etc).
upload_time2025-01-05 18:56:19
maintainerHaim Kastner
docs_urlNone
authorHaim Kastner
requires_python<4.0,>=3.10
licenseMIT
keywords connectivity http https dns cli
VCS
bugtrack_url
requirements PyYAML unitsnet-py requests setuptools validators
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.46563s