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.2.0.tar.gz
(14.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.2.0.tar.gz.
File metadata
- Download URL: nikhil_tools-0.2.0.tar.gz
- Upload date:
- Size: 14.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 |
d633ee9e381151b1029f8d3575a0f226401c98b2de4eef8e80b9a3cac66f2f52
|
|
| MD5 |
4b84dc806968b0e05dbad41e3c97bc74
|
|
| BLAKE2b-256 |
990969c5ca7128abe91ba17b09bc288e946740ae0cca2470e1a2b61fe95d78ec
|
File details
Details for the file nikhil_tools-0.2.0-py3-none-any.whl.
File metadata
- Download URL: nikhil_tools-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.2 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 |
34c4e2c76224ab230fa9b802015aa5a83a2e71d2b1da9b6535891712831f61a1
|
|
| MD5 |
6dcb191203df371eb0d0f5dd65c2d62b
|
|
| BLAKE2b-256 |
9bbe7580761407f672a3f3eac7c2da14bf838b4f3737eef1dfb4facaf391f4c2
|