
Show HN: hazelnut – A pythonic library to parse /proc/meminfo - mrsmn
https://github.com/mrsmn/hazelnut
======
franciscop
I happened to have hazelnut.io until recently. Unfortunately I let it expire
since the original project I was planning on using there was much more complex
than anticipated. So now it's parked by someone else [1], otherwise it was
yours

[1] [http://who.is/whois/hazelnut.io](http://who.is/whois/hazelnut.io)

~~~
mrsmn
Shame I didn't post this earlier, that TLD would have been awesome.

------
Goopplesoft
The API of this lib is probably surprising for the typical use-cases because a
MemInfo object only represents a path and not a reading/snapshot of the file
(each subsequent call to get() re-reads the meminfo file).

>
> [https://github.com/mrsmn/hazelnut/blob/master/hazelnut/core....](https://github.com/mrsmn/hazelnut/blob/master/hazelnut/core.py#L33)

So usage like:

    
    
       snap_pre = MemInfo()
       # Do stuff here
       snap_post = MemInfo()
       snap_pre.get('Mem')
       snap_post.get('Mem')
       snap_post.get('Mem')
       # All three would likely give different values. 
    

I would suggest caching the read on instantiation or making them top level
functions instead of using a class or MemInfoPath()?

------
srcmap
You can cross reference of /proc/meminfo output into the kernel source code
here:

[http://www.srcmap.org/sd_share/7/28338946/Code_Trace_of_Linu...](http://www.srcmap.org/sd_share/7/28338946/Code_Trace_of_Linux_Kernel_proc_meminfo.html)

------
tobltobs
What are those keys in your donate paragraph?

~~~
mrsmn
Those are Worldcoin, Hobonickels and Dogecoin cryptocurrency addresses.

------
ccannon
How is this different than psutil?

~~~
easytiger
this is `cat /proc/meminfo | grep Swap`

