Python toolkit with BLE, WiFi, IP scanning and system monitoring utilities.
Project description
nikhil-tools
Python toolkit with network scanning and system monitoring utilities.
Installation
pip install nikhil-tools
Features
- BLE Scanner - Discover Bluetooth Low Energy devices (all platforms)
- WiFi Scanner - Scan nearby WiFi networks (macOS, Windows, Linux)
- IP Scanner - Discover devices on local network (all platforms)
- System Monitor - CPU, memory, disk, battery, GPU stats (all platforms)
Usage
As a Library
import nikhil_tools
# BLE Scanning
devices = nikhil_tools.scan_devices_sync(timeout=5.0)
for device in devices:
print(f"{device.name} - {device.address}")
# WiFi Scanning
networks = nikhil_tools.scan_wifi()
for net in networks:
print(f"{net.ssid} - {net.rssi} dBm")
# IP Scanning
devices = nikhil_tools.scan_network()
for device in devices:
print(f"{device.ip} - {device.hostname}")
# System Stats
stats = nikhil_tools.get_system_stats()
print(f"CPU: {stats.cpu.usage_percent}%")
print(f"RAM: {stats.memory.percent_used}%")
print(f"Disk: {stats.disk.percent_used}%")
CLI Commands
# Scan BLE devices
nikhil-ble
# Scan WiFi networks
nikhil-wifi
# Scan IP addresses on network
nikhil-ip
# Show system stats
nikhil-sysmon
API Reference
BLE Scanner
scan_devices(timeout)- Async BLE scanscan_devices_sync(timeout)- Sync BLE scanBLEDeviceInfo- Device data class
WiFi Scanner
scan_wifi()- Scan WiFi networksWiFiNetwork- Network data class
IP Scanner
scan_network(network_prefix, start, end)- Scan IP rangeget_local_ip()- Get local IP addressNetworkDevice- Device data class
System Monitor
get_system_stats()- Get all system statsget_cpu_info()- CPU usageget_memory_info()- RAM usageget_disk_info()- Disk usageget_battery_info()- Battery statusget_gpu_info()- GPU infoget_network_speed()- Network throughput
Requirements
- Python 3.9+
- macOS, Windows, or Linux
Platform Notes
| Feature | macOS | Windows | Linux |
|---|---|---|---|
| BLE Scanner | ✅ | ✅ | ✅ |
| WiFi Scanner | ✅ | ✅ | ✅ (requires nmcli or iwlist) |
| IP Scanner | ✅ | ✅ | ✅ |
| System Monitor | ✅ | ✅ | ✅ |
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
nikhil_tools-0.3.0.tar.gz
(15.9 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 nikhil_tools-0.3.0.tar.gz.
File metadata
- Download URL: nikhil_tools-0.3.0.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c50995b1baa8084d100b7d8a242d282eaf272a76a184035e9b95fb4a9a773a55
|
|
| MD5 |
1619c3a1b5f0f726c8e0d0123b38f930
|
|
| BLAKE2b-256 |
c2b32981f977025ab1ac2ba88c93d36148c71ec3b15498320306298031642019
|
File details
Details for the file nikhil_tools-0.3.0-py3-none-any.whl.
File metadata
- Download URL: nikhil_tools-0.3.0-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8a7c2227a0d6526cb1b0d5172dedfebdcdcc91ff1f2e47ffb00dd82b74eee42
|
|
| MD5 |
c200959aabeb814aa2c2ebc34db5150d
|
|
| BLAKE2b-256 |
3ba5745c2511a64e69d24a53e3a8c2a55a056643078b120783e14cdb2b871551
|