Skip to main content

A beautiful console-based network monitoring tool with ASCII graphs

Project description

NetWatch - Network Monitor ๐ŸŒ

A beautiful console-based network monitoring tool with real-time ASCII graphs and colorful interface.

โœจ Features

  • ๐ŸŽฏ Interface Selection: Choose specific network interfaces to monitor or monitor all
  • ๐Ÿ“Š Real-time Traffic: Live monitoring of sent/received bytes per second
  • ๐Ÿ“ˆ Cumulative Stats: Total bytes sent and received since monitoring started
  • ๐ŸŽจ Beautiful ASCII Graphs: Colorful real-time traffic history graphs
  • ๐ŸŒˆ Colorful Interface: Rich terminal colors with emojis and visual elements
  • ๐Ÿ”„ Cross-platform: Works on Windows, Linux, and macOS
  • โšก Easy Installation: Simple pip install from anywhere

๐Ÿš€ Installation

Method 1: Install from Source (Recommended)

  1. Clone or download the project
  2. Navigate to the project directory
  3. Install in development mode:
pip install -e .

Method 2: Install from PyPI (Future)

pip install netwatch-monitor

๐ŸŽฎ Usage

After installation, simply run:

netwatch

The tool will:

  1. Show all available network interfaces
  2. Let you select which interfaces to monitor:
    • 0 - Monitor ALL interfaces
    • 1,2,3 - Monitor specific interfaces (comma-separated)
  3. Start real-time monitoring with beautiful ASCII graphs

Example Usage

$ netwatch

๐ŸŒ NetWatch - Network Monitor
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
๐Ÿš€ Starting network monitoring...
๐Ÿ“Š Gathering interface data...

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
๐ŸŒ AVAILABLE NETWORK INTERFACES
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

1. Ethernet
2. Wi-Fi
3. Loopback

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
๐ŸŽฏ SELECTION OPTIONS:
0 - Monitor ALL interfaces
1,2,3 - Monitor specific interfaces (comma-separated)
Example: '1,3' to monitor interfaces 1 and 3
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐Ÿ” Enter your selection: 1

โœ… Selected interfaces:
   - Ethernet

๐Ÿ”„ Monitoring started for 1 interface(s)
โฑ๏ธ  Updates every second - Press Ctrl+C to stop

๐Ÿ“Š Interface Display

For each selected interface, you'll see:

  • Real-time Traffic: Current bytes per second (sent/received)
  • Cumulative Traffic: Total bytes since monitoring started
  • ASCII Graphs: Beautiful colored graphs showing traffic history
  • Visual Elements: Emojis, colors, and borders for better readability

๐ŸŽจ Features Details

ASCII Graphs

  • Width: 65 characters
  • Height: 6 rows
  • Colors: Different color schemes for sent (blue) and received (green) traffic
  • Intensity: Multiple intensity levels based on traffic volume
  • Scale: Automatic scaling with max value display

Interface Selection

  • Smart Selection: Easy number-based selection
  • Multiple Interfaces: Monitor several interfaces simultaneously
  • All Interfaces: Quick option to monitor everything
  • Validation: Input validation with helpful error messages

๐Ÿ› ๏ธ Requirements

  • Python 3.6+
  • psutil (automatically installed)
  • Works on Windows, Linux, and macOS
  • Terminal with ANSI color support (most modern terminals)

๐Ÿ”ง Development

Project Structure

netwatch/
โ”œโ”€โ”€ netwatch/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ monitor.py      # Core monitoring logic
โ”‚   โ””โ”€โ”€ cli.py          # Command line interface
โ”œโ”€โ”€ setup.py            # Package setup
โ”œโ”€โ”€ pyproject.toml      # Modern Python packaging
โ”œโ”€โ”€ requirements.txt    # Dependencies
โ””โ”€โ”€ README.md          # This file

Building from Source

# Clone the repository
git clone <repository-url>
cd netwatch

# Install in development mode
pip install -e .

# Run the tool
netwatch

๐ŸŽฏ Use Cases

  • Network Debugging: Monitor interface activity during troubleshooting
  • Performance Monitoring: Track bandwidth usage on specific interfaces
  • Development: Monitor network activity during application development
  • System Administration: Quick network interface overview
  • Educational: Learn about network interfaces and traffic patterns

๐Ÿš€ Cross-Platform Support

Windows

  • Full support with PowerShell and Command Prompt
  • Colorful interface with emoji support
  • All network interfaces detected

Linux

  • Native terminal support
  • Works with all major distributions
  • Systemd service compatible

macOS

  • Terminal.app and iTerm2 support
  • Full color and emoji support
  • Works with all network interfaces

๐Ÿ“ Commands

  • Start: netwatch
  • Stop: Ctrl+C
  • Interface Selection: Follow on-screen prompts

๐ŸŽ‰ Examples

Monitor All Interfaces

netwatch
# Select: 0

Monitor Specific Interfaces

netwatch
# Select: 1,3,5

Monitor Single Interface

netwatch
# Select: 1

๐Ÿ› Troubleshooting

Common Issues

  1. No interfaces shown: Make sure you have network interfaces configured
  2. Colors not working: Ensure your terminal supports ANSI colors
  3. Permission errors: Some systems may require elevated privileges for network monitoring
  4. Import errors: Make sure psutil is installed: pip install psutil

Requirements

  • Minimum Python 3.6
  • psutil library
  • Terminal with ANSI color support

๐Ÿ“„ License

This project is open source and available under the MIT License.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit pull requests or report issues.

๐Ÿ”ฎ Future Features

  • Export data to CSV/JSON
  • Historical data storage
  • Web interface
  • Network alerts/notifications
  • Bandwidth usage graphs
  • Custom refresh intervals
  • Multiple monitoring modes

Made with โค๏ธ for network monitoring enthusiasts!

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

netwatch_monitor-1.0.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

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

netwatch_monitor-1.0.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file netwatch_monitor-1.0.0.tar.gz.

File metadata

  • Download URL: netwatch_monitor-1.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for netwatch_monitor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 26301384046e855c844921282cbc44bcd14c46f5f75c52ede955291284e9e276
MD5 a9b0e0976d95c575c09cd9049dd3d32c
BLAKE2b-256 2c778f81a603d41b876e652931be1fbd9c99ef90d337832dd46547ffdb9c0079

See more details on using hashes here.

Provenance

The following attestation bundles were made for netwatch_monitor-1.0.0.tar.gz:

Publisher: publish.yml on PC0staS/netwatch

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

File details

Details for the file netwatch_monitor-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for netwatch_monitor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f05767a28459a5ec80628249ca93c7402027acf9cf5de2de869f6a7da65967e
MD5 17e760fea812ba88fcde1b4b53b72bf6
BLAKE2b-256 d12aad809565a732c2e53f00d6ee1a481d3fffda238d126c0cec08026d3ac5a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for netwatch_monitor-1.0.0-py3-none-any.whl:

Publisher: publish.yml on PC0staS/netwatch

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