Awesome
Psutil-Nim
Port of Python psutil to Nim.
Pull requests with bug fixes and support for other platforms are welcome!
Table of Contents
Background
I love Python and psutil but bundling a Python app is a pain. Having a psutil library in Nim seemed like the logical next step.
Install
nimble install psutil
This package works Ok as of Nim 1.0.6
. Pull requests welcome.
Usage
Just some basic usage below until I get the example apps working and can mirror what's in psutil's documentation. Take a look at the scripts folder for some basic examples as well.
import psutil
echo net_if_addrs()
echo boot_time()
echo users()
Troubleshooting
If you are running on CentOS or RedHat you may or may not find errors with the Network related functions,
complaining about missing Linux C Headers sockios.h
to Compile,
this is not a Bug on the code but that Distro not having development libraries or having too old versions of it.
You can try installing the package kernel-headers
for CentOS/RedHat,
to see if that fixes the problem about missing libraries.
If you know how to fix that Distro-specific detail feel free to send pull requests.
The failing functions are:
net_io_counters()
per_nic_net_io_counters()
net_if_stats()
net_connections()
You can workaround by using Distros module:
when not detectOs(CentOS):
# Do something here with the Network functions.
echo net_io_counters()
echo per_nic_net_io_counters()
echo net_if_stats()
echo net_connections()
Stars
Contribute
PRs accepted! Adding a single function to any platform is a huge help and can usually be done with less than an hour of work.
License
- MIT