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
Metadata
Release files for nikhil-tools 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nikhil_tools-0.4.1.tar.gz | 21.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nikhil_tools-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.8 kB
Release files / nikhil_tools-0.4.1.tar.gz
| Download URL | nikhil_tools-0.4.1.tar.gz |
|---|---|
| Size | 21.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
682aef9d6a87642b1387585df59493d8988b38d316916ead1193119e70a3cff3
|
|
BLAKE2b-256 checksum How to use checksums |
3b075acea1011d834b42ff04ac85a98975c80854a84b9a0a4cba3f40532096e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / nikhil_tools-0.4.1-py3-none-any.whl
| Download URL | nikhil_tools-0.4.1-py3-none-any.whl |
|---|---|
| Size | 25.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
459d41837666239cb7996be05a2013f0dcd6d1046196ab8fdb0124ce081ae713
|
|
BLAKE2b-256 checksum How to use checksums |
ee3b15e69203427d96e1c34481099725407c1f40766860b488d50bfc65946468
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|