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.2.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.2.tar.gz.
File metadata
- Download URL: py_net_diags-0.1.2.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fd93a2e952f5ff46508dbbbc302d448ac4af3e8ab63934d983b63b2623c9620
|
|
| MD5 |
d52fc4c5c94e795456e4ed3b39a8ade0
|
|
| BLAKE2b-256 |
38c5fc3b5bec36a82403dbe2b5bad88386bd871fd0767e52defd734f659adedb
|
File details
Details for the file py_net_diags-0.1.2-py3-none-any.whl.
File metadata
- Download URL: py_net_diags-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2237973684b58eaf5213c65f65694d40975b09e275245103dfe613bfb2f03dc
|
|
| MD5 |
75625dacacf4703149e0c8ebf1af8ccd
|
|
| BLAKE2b-256 |
06b5326edd4fdc4fb491b20f26fc0b4a264f8076a6627207ac851bce53957f24
|