Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netspecs-0.1.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netspecs-0.1.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

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

Hashes for netspecs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 01ae7313b4570d44b1175a155d98520b64ff8bff52d019d672195dd32a644249
MD5 b4f907dcb867fa21fab450fcf5a394bf
BLAKE2b-256 70ea81dc2dd8373b7dd9b47ca7864767f06df822cc3502e58a04633a24d1dee0

See more details on using hashes here.

Provenance

The following attestation bundles were made for netspecs-0.1.0.tar.gz:

Publisher: publish.yml on ColinConwell/NetSpecs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for netspecs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 101baf3ace587811b0fda1a4a5e3b0a67bc8c20633fb161c293bab603a6515c4
MD5 052989102bb9c07709e7bcdc0d7a2b66
BLAKE2b-256 7d4310355572bb84ab326db11bd8a36440953493404aca9105aae2488411da34

See more details on using hashes here.

Provenance

The following attestation bundles were made for netspecs-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ColinConwell/NetSpecs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page