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.4.0.tar.gz
(20.7 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.4.0.tar.gz.
File metadata
- Download URL: nikhil_tools-0.4.0.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7db97e0be712605ce8f9d9eb57afc13cc7b6bcc6e0d1186c6c138e2568d132e5
|
|
| MD5 |
e04f635144ea11dce1515513706736df
|
|
| BLAKE2b-256 |
fcf01d5445314cfe78df087e2ab63d3a06b39ec5587f1af5b0e5b7f048e15e0d
|
File details
Details for the file nikhil_tools-0.4.0-py3-none-any.whl.
File metadata
- Download URL: nikhil_tools-0.4.0-py3-none-any.whl
- Upload date:
- Size: 23.9 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 |
68e49b69e983d5d4b55c81f315a47a5c77ca01af2c533477fa13da0d7f7ce53e
|
|
| MD5 |
8921e8c12acc3034fcb47fcd59706266
|
|
| BLAKE2b-256 |
908da5a437b2718b6065855795c17760358c5a28794c7d6e83acd0458bc26bd9
|