No description
Find a file
Juan Carlos 65098a9a8f
Merge pull request #28 from bung87/minor-improve-windows
minor improve windows version
2024-01-12 08:46:56 -03:00
.github ci 2023-12-24 22:56:53 +08:00
doc fixed typo 2021-02-05 17:54:41 +00:00
scripts pretty 2023-12-25 11:26:02 +08:00
src minor improve windows version 2024-01-12 19:12:29 +08:00
tests minor improve windows version 2024-01-12 19:12:29 +08:00
.gitignore ignore file without extension 2023-12-24 20:40:07 +08:00
LICENSE 0.20.0 2019-06-06 15:41:16 -03:00
psutil.nimble Merge branch 'master' into master 2023-12-24 23:16:21 +08:00
README.md Update README.md 2020-06-11 15:34:41 -03:00

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

Star psutil-nim on GitHub

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