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.3.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.3.tar.gz.
File metadata
- Download URL: py_net_diags-0.1.3.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 |
74c3853f43aa84af9a1d30206e355c096a2c2bbcdc459648a9af25f65279e14a
|
|
| MD5 |
203f968d7ff3d66d786d9db8d81d56f5
|
|
| BLAKE2b-256 |
c804cb00a27dfc6f1e3c736d8d1e42a5e70f01433926c1bd78197b2fcae956ac
|
File details
Details for the file py_net_diags-0.1.3-py3-none-any.whl.
File metadata
- Download URL: py_net_diags-0.1.3-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 |
5e4fa65a047b3a4d9ceb11ae53722aaa6286a703ac14ce0e51fbabf9c16102fa
|
|
| MD5 |
dc5e0c710db00fb9c38c90f6ee3660d6
|
|
| BLAKE2b-256 |
6f1d79efe1359b7e8aefc6730012b704c4365c44e5f0dc4d2e15ae492eb99c8f
|