psutil NetBSD support

Roughly two months have passed since I last announced psutil added support for OpenBSD platforms. Today I am happy to announce we also have NetBSD support! This was contributed by Thomas Klausner, Ryo Onodera and myself in PR #570.

Differences with FreeBSD (and OpenBSD)

NetBSD implementation has similar limitations as the ones I encountered with OpenBSD. Again, FreeBSD presents itself as the BSD variant with the best support in terms of kernel functionalities.

  • Process.memory_maps() is not implemented. The kernel provides the necessary pieces but I didn't do this yet (hopefully later).
  • Process.num_ctx_switches()'s involuntary field is always 0. kinfo_proc syscall provides this info but it is always set to 0.
  • Process.cpu_affinity() (get and set) is not supported.
  • psutil.cpu_count(logical=False) always return None.

As for the rest: it is all there. All memory, disk, network and process APIs are fully supported and functioning.

Other enhancements available in this psutil release

Other than NetBSD support this new release has a couple of interesting enhancements:

  • #708: [Linux] psutil.net_connections() and Process.connections() on Python can be up to 3x faster in case of many connections.
  • #718: process_iter() is now thread safe.

You can read the rest in the HISTORY file, as usual.

Move to Prague

As a personal note I'd like to add that I'm currently in Prague (Czech Republic) and I'm thinking about moving down here for a while. The city is great and girls are beautiful. ;-)

External discussions