Cross-platform internet diagnostics with AI-powered analysis
Project description
Netspecs 
Cross-platform internet diagnostics with AI-powered analysis.
Main Features:
- Comprehensive internet diagnostics
- Connectivity testing
- Latency measurement
- Jitter measurement
- Speed testing (HTTP and Ookla)
- Throttling detection
- Network information capture
- Bandwidth variability analysis
- AI-powered diagnostic reports
- Cross-platform support (macOS, Linux, Windows)
Installation
pip install netspecs
For development:
git clone https://github.com/colinconwell/NetSpecs.git
cd NetSpecs
pip install -e ".[dev]"
Quick Start
# Run full diagnostic suite
netspecs run
# Individual tests
netspecs latency
netspecs speed
netspecs jitter
netspecs prioritization
# With AI analysis
netspecs run --ai-report --api-key YOUR_OPENAI_KEY
# Output formats
netspecs run --output json --output-dir ./results
netspecs run --output csv --output-dir ./results
CLI Commands
| Command | Description |
|---|---|
netspecs run |
Full diagnostic suite |
netspecs latency |
Test latency to endpoints |
netspecs speed |
Test download/upload speed |
netspecs jitter |
Measure latency variation |
netspecs prioritization |
Detect throttling patterns |
netspecs report FILE |
Generate AI report from results |
netspecs config --show |
Show configuration |
Options
netspecs run --help
Options:
--output, -o Output format: console, json, csv
--output-dir, -d Directory to save results
--endpoints, -e Comma-separated test endpoints
--skip-speed Skip speed tests
--skip-jitter Skip jitter tests
--ai-report Generate AI diagnostic report
--model, -m LLM model (default: gpt-5.2)
--api-key, -k API key for AI reports
Python API
from netspecs.core.latency import test_latency
from netspecs.core.speed import test_speed
from netspecs.agent.analyst import generate_diagnostic_report
# Run tests
latency_result = test_latency("8.8.8.8", count=20)
speed_result = test_speed()
# Generate AI report
results = {
"latency": [latency_result.to_dict()],
"speed": speed_result.to_dict(),
}
report = generate_diagnostic_report(results, api_key="your-key")
print(report)
Shell Scripts
Original shell scripts are available in scripts/:
# Bash (macOS/Linux)
./scripts/internet-test.sh
./scripts/prioritization-detector.sh
# PowerShell (Windows)
.\scripts\internet-test.ps1
Documentation
Full documentation: https://colinconwell.github.io/NetSpecs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 netspecs-0.1.0.tar.gz.
File metadata
- Download URL: netspecs-0.1.0.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01ae7313b4570d44b1175a155d98520b64ff8bff52d019d672195dd32a644249
|
|
| MD5 |
b4f907dcb867fa21fab450fcf5a394bf
|
|
| BLAKE2b-256 |
70ea81dc2dd8373b7dd9b47ca7864767f06df822cc3502e58a04633a24d1dee0
|
Provenance
The following attestation bundles were made for netspecs-0.1.0.tar.gz:
Publisher:
publish.yml on ColinConwell/NetSpecs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netspecs-0.1.0.tar.gz -
Subject digest:
01ae7313b4570d44b1175a155d98520b64ff8bff52d019d672195dd32a644249 - Sigstore transparency entry: 780844227
- Sigstore integration time:
-
Permalink:
ColinConwell/NetSpecs@e9e1e4d14a3cf85a77deb006362985571b9fd69a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ColinConwell
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e9e1e4d14a3cf85a77deb006362985571b9fd69a -
Trigger Event:
release
-
Statement type:
File details
Details for the file netspecs-0.1.0-py3-none-any.whl.
File metadata
- Download URL: netspecs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
101baf3ace587811b0fda1a4a5e3b0a67bc8c20633fb161c293bab603a6515c4
|
|
| MD5 |
052989102bb9c07709e7bcdc0d7a2b66
|
|
| BLAKE2b-256 |
7d4310355572bb84ab326db11bd8a36440953493404aca9105aae2488411da34
|
Provenance
The following attestation bundles were made for netspecs-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on ColinConwell/NetSpecs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netspecs-0.1.0-py3-none-any.whl -
Subject digest:
101baf3ace587811b0fda1a4a5e3b0a67bc8c20633fb161c293bab603a6515c4 - Sigstore transparency entry: 780844228
- Sigstore integration time:
-
Permalink:
ColinConwell/NetSpecs@e9e1e4d14a3cf85a77deb006362985571b9fd69a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ColinConwell
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e9e1e4d14a3cf85a77deb006362985571b9fd69a -
Trigger Event:
release
-
Statement type: