Gets various network diagnostics for a pc
Project description
py-net-diags
A Python package for network diagnostics that collects various metrics about your machine's network connection.
Installation
Basic Installation
pip install py-net-diags
With Optional speedcheck Support
pip install py-net-diags[speedcheck]
Configuration
Environment Variables
Create a .env file based on the provided .env-sample:
# ConnectWise API Configuration
RUNNING_IN_ASIO=true/false # Set to true if running in ASIO environment
CW_BASE_URL=your_cw_url # ConnectWise base URL
AUTHORIZATION=your_auth_token # ConnectWise authorization token
CLIENTID=your_client_id # ConnectWise client ID
# Retry Configuration
RETRY_ATTEMPTS=3 # Number of retry attempts for operations
RETRY_DELAY=2 # Delay in seconds between retry attempts
Usage Examples
from py_net_diags import NetworkDiagnostics
# Initialize the diagnostics tool
diag = NetworkDiagnostics()
# Run all diagnostics
results = diag.run_diagnostics()
print(results)
# Save the results to a file (txt, json, pdf)
paths = {
"txt": "/path/to/output.txt",
"json": "/path/to/output.json",
"pdf": "/path/to/output.pdf"
}
diag.save_results_as_txt(paths["txt"])
diag.save_results_as_json(paths["json"])
diag.save_results_as_pdf(paths["pdf"])
# Optional: Upload to CW_PSA
import logging
from py_net_diags import ConnectWiseServiceAPI
logger = logging.getLogger(__name__)
service_api = ConnectWiseServiceAPI(log=logger)
# Makes sure the ticket id is an integer
ticket_id = diag.parse_ticket_id(ticket_id)
# Add an internal note:
note_response = service_api.add_ticket_note(ticket_id=ticket_id, note_text=md_msg, internal=True)
print(note_response)
# Add the PDF as an attachment on the ticket:
attachment_response = service_api.upload_attachment(ticket_id=ticket_id, file_path=paths["pdf"])
print(attachment_response)
Conda Environment Setup
Basic Environment
name: net-diags
channels:
- defaults
- conda-forge
dependencies:
- python=3.11
- pip
- pip:
- py-net-diags
With speedcheck Support
name: net-diags-full
channels:
- defaults
- conda-forge
dependencies:
- python=3.11
- pip
- pip:
- "py-net-diags[speedcheck]"
Save either of these as environment.yml and create the environment with:
conda env create -f environment.yml
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
py_net_diags-0.1.4.tar.gz
(17.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_net_diags-0.1.4.tar.gz.
File metadata
- Download URL: py_net_diags-0.1.4.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.7 Darwin/24.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c692a0ebd1b80496e4095c91c8bb9fa15a1b81bb7cdeeb3b6d08bff2cfd1904c
|
|
| MD5 |
a585ec191db0b0ccada2a1a3a487d9f3
|
|
| BLAKE2b-256 |
422f2ea30fb36677a03a0e243b906ec78662d3713ce7ed4535504268f0953514
|
File details
Details for the file py_net_diags-0.1.4-py3-none-any.whl.
File metadata
- Download URL: py_net_diags-0.1.4-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.7 Darwin/24.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5324010e95dfe71f4c582601f6dd5da6709160b2211eb9df7be0d95911072c0
|
|
| MD5 |
27683554e8e997aa93b5301dd847333b
|
|
| BLAKE2b-256 |
c0d1844ce93ff1d72003d33d13e28c11dbb1bd2434f212fc61cac0f820b53fb5
|