------------------------------------------------------------------- Thu Nov 1 22:42:43 UTC 2018 - Arun Persaud - update to version 5.4.8: * Enhancements + 1197: [Linux] cpu_freq() is now implemented by parsing /proc/cpuinfo in case /sys/devices/system/cpu/* filesystem is not available. + 1310: [Linux] psutil.sensors_temperatures() now parses /sys/class/thermal in case /sys/class/hwmon fs is not available (e.g. Raspberry Pi). (patch by Alex Manuskin) + 1320: [Posix] better compilation support when using g++ instead of gcc. (patch by Jaime Fullaondo) * Bug fixes + 715: do not print exception on import time in case cpu_times() fails. + 1004: [Linux] Process.io_counters() may raise ValueError. + 1277: [OSX] available and used memory (psutil.virtual_memory()) metrics are not accurate. + 1294: [Windows] psutil.Process().connections() may sometimes fail with intermittent 0xC0000001. (patch by Sylvain Duchesne) + 1307: [Linux] disk_partitions() does not honour PROCFS_PATH. + 1320: [AIX] system CPU times (psutil.cpu_times()) were being reported with ticks unit as opposed to seconds. (patch by Jaime Fullaondo) + 1332: [OSX] psutil debug messages are erroneously printed all the time. (patch by Ilya Yanok) + 1346: [SunOS] net_connections() returns an empty list. (patch by Oleksii Shevchuk) ------------------------------------------------------------------- Sat Aug 18 17:02:59 UTC 2018 - arun@gmx.de - update to version 5.4.7: * Enhancements + 1286: [macOS] psutil.OSX constant is now deprecated in favor of new psutil.MACOS. + 1309: [Linux] added psutil.STATUS_PARKED constant for Process.status(). + 1321: [Linux] add disk_io_counters() dual implementation relying on /sys/block filesystem in case /proc/diskstats is not available. (patch by Lawrence Ye) * Bug fixes + 1209: [macOS] Process.memory_maps() may fail with EINVAL due to poor task_for_pid() syscall. AccessDenied is now raised instead. + 1278: [macOS] Process.threads() incorrectly return microseconds instead of seconds. (patch by Nikhil Marathe) + 1279: [Linux, macOS, BSD] net_if_stats() may return ENODEV. + 1294: [Windows] psutil.Process().connections() may sometime fail with MemoryError. (patch by sylvainduchesne) + 1305: [Linux] disk_io_stats() may report inflated r/w bytes values. + 1309: [Linux] Process.status() is unable to recognize "idle" and "parked" statuses (returns '?'). + 1313: [Linux] disk_io_counters() can report inflated IO counters due to erroneously counting base disk device and its partition(s) twice. + 1323: [Linux] sensors_temperatures() may fail with ValueError. ------------------------------------------------------------------- Wed Jun 13 18:12:32 UTC 2018 - toddrme2178@gmail.com - Update to 5.4.6 * 1258_: [Windows] Process.username() may cause a segfault (Python interpreter crash). (patch by Jean-Luc Migot) * 1273_: net_if_addr() namedtuple's name has been renamed from "snic" to "snicaddr". * 1274_: [Linux] there was a small chance Process.children() may swallow AccessDenied exceptions. ------------------------------------------------------------------- Sat Apr 14 17:18:54 UTC 2018 - arun@gmx.de - update to version 5.4.5: * Bug fixes + 1268: setup.py's extra_require parameter requires latest setuptools version, breaking quite a lot of installations. - changes from version 5.4.4: * Enhancements + 1239: [Linux] expose kernel "slab" memory for psutil.virtual_memory(). (patch by Maxime Mouial) * Bug fixes + 694: [SunOS] cmdline() could be truncated at the 15th character when reading it from /proc. An extra effort is made by reading it from process address space first. (patch by Georg Sauthoff) + 771: [Windows] cpu_count() (both logical and physical) return a wrong (smaller) number on systems using process groups (> 64 cores). + 771: [Windows] cpu_times(percpu=True) return fewer CPUs on systems using process groups (> 64 cores). + 771: [Windows] cpu_stats() and cpu_freq() may return incorrect results on systems using process groups (> 64 cores). + 1193: [SunOS] Return uid/gid from /proc/pid/psinfo if there aren't enough permissions for /proc/pid/cred. (patch by Georg Sauthoff) + 1194: [SunOS] Return nice value from psinfo as getpriority() doesn't support real-time processes. (patch by Georg Sauthoff) + 1194: [SunOS] Fix double free in psutil_proc_cpu_num(). (patch by Georg Sauthoff) + 1194: [SunOS] Fix undefined behavior related to strict-aliasing rules and warnings. (patch by Georg Sauthoff) + 1210: [Linux] cpu_percent() steal time may remain stuck at 100% due to Linux erroneously reporting a decreased steal time between calls. (patch by Arnon Yaari) + 1216: fix compatibility with python 2.6 on Windows (patch by Dan Vinakovsky) + 1222: [Linux] Process.memory_full_info() was erroneously summing "Swap:" and "SwapPss:". Same for "Pss:" and "SwapPss". Not anymore. + 1224: [Windows] Process.wait() may erroneously raise TimeoutExpired. + 1238: [Linux] sensors_battery() may return None in case battery is not listed as "BAT0" under /sys/class/power_supply. + 1240: [Windows] cpu_times() float loses accuracy in a long running system. (patch by stswandering) + 1245: [Linux] sensors_temperatures() may fail with IOError "no such file". + 1255: [FreeBSD] swap_memory() stats were erroneously represented in KB. (patch by Denis Krienbühl) * Backward compatibility + 771: [Windows] cpu_count(logical=False) on Windows XP and Vista is no longer supported and returns None. ------------------------------------------------------------------- Wed Jan 3 22:40:21 UTC 2018 - arun@gmx.de - specfile: * update copyright year - update to version 5.4.3: * Enhancements + 775: disk_partitions() on Windows return mount points. * Bug fixes + 1193: pids() may return False on OSX. ------------------------------------------------------------------- Thu Dec 21 14:40:27 UTC 2017 - mihai.dinca@suse.com - build python3 subpackage (FATE#324435, bsc#1073879) ------------------------------------------------------------------- Thu Dec 7 16:47:30 UTC 2017 - arun@gmx.de - update to version 5.4.2: * Enhancements + 1173: introduced PSUTIL_DEBUG environment variable which can be set in order to print useful debug messages on stderr (useful in case of nasty errors). + 1177: added support for sensors_battery() on OSX. (patch by Arnon Yaari) + 1183: Process.children() is 2x faster on UNIX and 2.4x faster on Linux. + 1188: deprecated method Process.memory_info_ex() now warns by using FutureWarning instead of DeprecationWarning. * Bug fixes + 1152: [Windows] disk_io_counters() may return an empty dict. + 1169: [Linux] users() "hostname" returns username instead. (patch by janderbrain) + 1172: [Windows] make test does not work. + 1179: [Linux] Process.cmdline() is now able to splits cmdline args for misbehaving processes which overwrite /proc/pid/cmdline and use spaces instead of null bytes as args separator. + 1181: [OSX] Process.memory_maps() may raise ENOENT. + 1187: [OSX] pids() does not return PID 0 on recent OSX versions. ------------------------------------------------------------------- Fri Nov 10 22:54:03 UTC 2017 - arun@gmx.de - update to version 5.4.1: * Enhancements + 1164: [AIX] add support for Process.num_ctx_switches(). (patch by Arnon Yaari) + 1053: abandon Python 3.3 support (psutil still works but it's no longer tested). * Bug fixes + 1150: [Windows] when a process is terminate()d now the exit code is set to SIGTERM instead of 0. (patch by Akos Kiss) + 1151: python -m psutil.tests fail + 1154: [AIX] psutil won't compile on AIX 6.1.0. (patch by Arnon Yaari) + 1167: [Windows] net_io_counter() packets count now include also non-unicast packets. (patch by Matthew Long) ------------------------------------------------------------------- Sun Oct 22 17:07:53 UTC 2017 - arun@gmx.de - update to version 5.4.0: * Enhancements + 1123: [AIX] added support for AIX platform. (patch by Arnon Yaari) * Bug fixes + 1009: [Linux] sensors_temperatures() may crash with IOError. + 1012: [Windows] disk_io_counters()'s read_time and write_time were expressed in tens of micro seconds instead of milliseconds. + 1127: [OSX] invalid reference counting in Process.open_files() may lead to segfault. (patch by Jakub Bacic) + 1129: [Linux] sensors_fans() may crash with IOError. (patch by Sebastian Saip) + 1131: [SunOS] fix compilation warnings. (patch by Arnon Yaari) + 1133: [Windows] can't compile on newer versions of Visual Studio 2017 15.4. (patch by Max Bélanger) + 1138: [Linux] can't compile on CentOS 5.0 and RedHat 5.0. (patch by Prodesire) ------------------------------------------------------------------- Mon Sep 25 09:17:26 UTC 2017 - michael@stroeder.com - update to version 5.3.1 **Enhancements** - 1124_: documentation moved to http://psutil.readthedocs.io **Big fixes** - 1105_: [FreeBSD] psutil does not compile on FreeBSD 12. - 1125_: [BSD] net_connections() raises TypeError. **Compatibility notes** - 1120_: .exe files for Windows are no longer uploaded on PYPI as per PEP-527; only wheels are provided. ------------------------------------------------------------------- Fri Sep 8 19:17:33 UTC 2017 - michael@stroeder.com - update to version 5.3.0 **Enhancements** - 802_: disk_io_counters() and net_io_counters() numbers no longer wrap (restart from 0). Introduced a new "nowrap" argument. - 928_: psutil.net_connections() and psutil.Process.connections() "laddr" and "raddr" are now named tuples. - 1015_: swap_memory() now relies on /proc/meminfo instead of sysinfo() syscall so that it can be used in conjunction with PROCFS_PATH in order to retrieve memory info about Linux containers such as Docker and Heroku. - 1022_: psutil.users() provides a new "pid" field. - 1025_: process_iter() accepts two new parameters in order to invoke Process.as_dict(): "attrs" and "ad_value". With this you can iterate over all processes in one shot without needing to catch NoSuchProcess and do list/dict comprehensions. - 1040_: implemented full unicode support. - 1051_: disk_usage() on Python 3 is now able to accept bytes. - 1058_: test suite now enables all warnings by default. - 1060_: source distribution is dynamically generated so that it only includes relevant files. - 1079_: [FreeBSD] net_connections()'s fd number is now being set for real (instead of -1). (patch by Gleb Smirnoff) - 1091_: [SunOS] implemented Process.environ(). (patch by Oleksii Shevchuk) **Bug fixes** - 989_: [Windows] boot_time() may return a negative value. - 1007_: [Windows] boot_time() can have a 1 sec fluctuation between calls; the value of the first call is now cached so that boot_time() always returns the same value if fluctuation is <= 1 second. - 1013_: [FreeBSD] psutil.net_connections() may return incorrect PID. (patch by Gleb Smirnoff) - 1014_: [Linux] Process class can mask legitimate ENOENT exceptions as NoSuchProcess. - 1016_: disk_io_counters() raises RuntimeError on a system with no disks. - 1017_: net_io_counters() raises RuntimeError on a system with no network cards installed. - 1021_: [Linux] open_files() may erroneously raise NoSuchProcess instead of skipping a file which gets deleted while open files are retrieved. - 1029_: [OSX, FreeBSD] Process.connections('unix') on Python 3 doesn't properly handle unicode paths and may raise UnicodeDecodeError. - 1033_: [OSX, FreeBSD] memory leak for net_connections() and Process.connections() when retrieving UNIX sockets (kind='unix'). - 1040_: fixed many unicode related issues such as UnicodeDecodeError on Python 3 + UNIX and invalid encoded data on Windows. - 1042_: [FreeBSD] psutil won't compile on FreeBSD 12. - 1044_: [OSX] different Process methods incorrectly raise AccessDenied for zombie processes. - 1046_: [Windows] disk_partitions() on Windows overrides user's SetErrorMode. - 1047_: [Windows] Process username(): memory leak in case exception is thrown. - 1048_: [Windows] users()'s host field report an invalid IP address. - 1050_: [Windows] Process.memory_maps memory() leaks memory. - 1055_: cpu_count() is no longer cached; this is useful on systems such as Linux where CPUs can be disabled at runtime. This also reflects on Process.cpu_percent() which no longer uses the cache. - 1058_: fixed Python warnings. - 1062_: disk_io_counters() and net_io_counters() raise TypeError if no disks or NICs are installed on the system. - 1063_: [NetBSD] net_connections() may list incorrect sockets. - 1064_: [NetBSD] swap_memory() may segfault in case of error. - 1065_: [OpenBSD] Process.cmdline() may raise SystemError. - 1067_: [NetBSD] Process.cmdline() leaks memory if process has terminated. - 1069_: [FreeBSD] Process.cpu_num() may return 255 for certain kernel processes. - 1071_: [Linux] cpu_freq() may raise IOError on old RedHat distros. - 1074_: [FreeBSD] sensors_battery() raises OSError in case of no battery. - 1075_: [Windows] net_if_addrs(): inet_ntop() return value is not checked. - 1077_: [SunOS] net_if_addrs() shows garbage addresses on SunOS 5.10. (patch by Oleksii Shevchuk) - 1077_: [SunOS] net_connections() does not work on SunOS 5.10. (patch by Oleksii Shevchuk) - 1079_: [FreeBSD] net_connections() didn't list locally connected sockets. (patch by Gleb Smirnoff) - 1085_: cpu_count() return value is now checked and forced to None if <= 1. - 1087_: Process.cpu_percent() guard against cpu_count() returning None and assumes 1 instead. - 1093_: [SunOS] memory_maps() shows wrong 64 bit addresses. - 1094_: [Windows] psutil.pid_exists() may lie. Also, all process APIs relying on OpenProcess Windows API now check whether the PID is actually running. - 1098_: [Windows] Process.wait() may erroneously return sooner, when the PID is still alive. - 1099_: [Windows] Process.terminate() may raise AccessDenied even if the process already died. - 1101_: [Linux] sensors_temperatures() may raise ENODEV. **Porting notes** - 1039_: returned types consolidation: - Windows / Process.cpu_times(): fields #3 and #4 were int instead of float - Linux / FreeBSD: connections('unix'): raddr is now set to "" instead of None - OpenBSD: connections('unix'): laddr and raddr are now set to "" instead of None - 1040_: all strings are encoded by using OS fs encoding. - 1040_: the following Windows APIs on Python 2 now return a string instead of unicode: - Process.memory_maps().path - WindowsService.bin_path() - WindowsService.description() - WindowsService.display_name() - WindowsService.username() ------------------------------------------------------------------- Tue Jul 11 14:24:34 UTC 2017 - toddrme2178@gmail.com - Fix various rpmlint warnings and errors ------------------------------------------------------------------- Sat Apr 29 16:13:29 UTC 2017 - michael@stroeder.com - update to version 5.2.2 **Bug fixes** - 1000_: fixed some setup.py warnings. - 1002_: [SunOS] remove C macro which will not be available on new Solaris versions. (patch by Danek Duvall) - 1004_: [Linux] Process.io_counters() may raise ValueError. - 1006_: [Linux] cpu_freq() may return None on some Linux versions does not support the function; now the function is not declared instead. - 1009_: [Linux] sensors_temperatures() may raise OSError. - 1010_: [Linux] virtual_memory() may raise ValueError on Ubuntu 14.04. - 981_: [Linux] cpu_freq() may return an empty list. - 993_: [Windows] Process.memory_maps() on Python 3 may raise UnicodeDecodeError. - 996_: [Linux] sensors_temperatures() may not show all temperatures. - 997_: [FreeBSD] virtual_memory() may fail due to missing sysctl parameter on FreeBSD 12. ------------------------------------------------------------------- Thu Mar 16 14:56:27 UTC 2017 - jmatejek@suse.com - update for singlespec ------------------------------------------------------------------- Wed Mar 15 13:52:27 UTC 2017 - michael@stroeder.com - update to version 5.2.0 **Enhancements** - 971_: [Linux] Add psutil.sensors_fans() function. (patch by Nicolas Hennion) - 976_: [Windows] Process.io_counters() has 2 new fields: *other_count* and *other_bytes*. - 976_: [Linux] Process.io_counters() has 2 new fields: *read_chars* and *write_chars*. **Bug fixes** - 872_: [Linux] can now compile on Linux by using MUSL C library. - 985_: [Windows] Fix a crash in `Process.open_files` when the worker thread for `NtQueryObject` times out. - 986_: [Linux] Process.cwd() may raise NoSuchProcess instead of ZombieProcess. ------------------------------------------------------------------- Wed Feb 8 14:40:55 UTC 2017 - michael@stroeder.com - update to version 5.1.3 5.1.3 ===== **Bug fixes** - 971_: [Linux] sensors_temperatures() didn't work on CentOS 7. - 973_: cpu_percent() may raise ZeroDivisionError. 5.1.2 ===== *2017-02-03* **Bug fixes** - 966_: [Linux] sensors_battery().power_plugged may erroneously return None on Python 3. - 968_: [Linux] disk_io_counters() raises TypeError on python 3. - 970_: [Linux] sensors_battery()'s name and label fields on Python 3 are bytes instead of str. 5.1.1 ===== *2017-02-03* **Enhancements** - 966_: [Linux] sensors_battery().percent is a float and is more precise. **Bug fixes** - 964_: [Windows] Process.username() and psutil.users() may return badly decoding character on Python 3. - 965_: [Linux] disk_io_counters() may miscalculate sector size and report the wrong number of bytes read and written. - 966_: [Linux] sensors_battery() may fail with "no such file error". - 966_: [Linux] sensors_battery().power_plugged may lie. 5.1.0 ===== **Enhancements** - 357_: added psutil.Process.cpu_num() (what CPU a process is on). - 371_: added psutil.sensors_temperatures() (Linux only). - 941_: added psutil.cpu_freq() (CPU frequency). - 955_: added psutil.sensors_battery() (Linux, Windows, only). - 956_: cpu_affinity([]) can now be used as an alias to set affinity against all eligible CPUs. **Bug fixes** - 687_: [Linux] pid_exists() no longer returns True if passed a process thread ID. - 948_: cannot install psutil with PYTHONOPTIMIZE=2. - 950_: [Windows] Process.cpu_percent() was calculated incorrectly and showed higher number than real usage. - 951_: [Windows] the uploaded wheels for Python 3.6 64 bit didn't work. - 959_: psutil exception objects could not be pickled. - 960_: Popen.wait() did not return the correct negative exit status if process is ``kill()``ed by a signal. - 961_: [Windows] WindowsService.description() may fail with ERROR_MUI_FILE_NOT_FOUND. 5.0.1 ===== **Enhancements** - 939_: tar.gz distribution went from 1.8M to 258K. - 811_: [Windows] provide a more meaningful error message if trying to use psutil on unsupported Windows XP. **Bug fixes** - 609_: [SunOS] psutil does not compile on Solaris 10. - 936_: [Windows] fix compilation error on VS 2013 (patch by Max Bélanger). - 940_: [Linux] cpu_percent() and cpu_times_percent() was calculated incorrectly as "iowait", "guest" and "guest_nice" times were not properly taken into account. - 944_: [OpenBSD] psutil.pids() was omitting PID 0. ------------------------------------------------------------------- Tue Nov 8 21:15:33 UTC 2016 - toddrme2178@gmail.com - update to version 5.0.0: * Enhncements + 799: new Process.oneshot() context manager making Process methods around +2x faster in general and from +2x to +6x faster on Windows. + 943: better error message in case of version conflict on import. * Bug fixes + 932: [NetBSD] net_connections() and Process.connections() may fail without raising an exception. + 933: [Windows] memory leak in cpu_stats() and WindowsService.description(). ------------------------------------------------------------------- Sat Nov 5 16:22:59 UTC 2016 - michael@stroeder.com - Update to version 4.4.2: * 931: psutil no longer compiles on Solaris. ------------------------------------------------------------------- Tue Oct 25 18:13:08 UTC 2016 - michael@stroeder.com - Update to version 4.4.1: * 927: Popen.__del__() may cause maximum recursion depth error. - Update to version 4.4.0: Enhancements * 887: [Linux] virtual_memory()'s 'available' and 'used' values are more precise and match "free" cmdline utility. "available" also takes into account LCX containers preventing "available" to overflow "total". * 891: procinfo.py script has been updated and provides a lot more info. Bug fixes * 825: [Linux] cpu_affinity; fix possible double close and use of unopened socket. * 885: ValueError is raised if a negative integer is passed to cpu_percent() functions. * 892: [Linux] Process.cpu_affinity([-1]) raise SystemError with no error set; now ValueError is raised. ------------------------------------------------------------------- Sat Sep 24 12:36:35 UTC 2016 - michael@stroeder.com - update to version 4.3.1: * #881: "make install" now works also when using a virtual env. * #854: Process.as_dict() raises ValueError if passed an erroneous attrs name. * #857: [SunOS] Process cpu_times(), cpu_percent(), threads() amd memory_maps() may raise RuntimeError if attempting to query a 64bit process with a 32bit python. "Null" values are returned as a fallback. * #858: Process.as_dict() should not return memory_info_ex() because it's deprecated. * #863: [Windows] memory_map truncates addresses above 32 bits * #866: [Windows] win_service_iter() and services in general are not able to handle unicode service names / descriptions. * #869: [Windows] Process.wait() may raise TimeoutExpired with wrong timeout unit (ms instead of sec). * #870: [Windows] Handle leak inside psutil_get_process_data. ------------------------------------------------------------------- Fri Jul 8 08:51:43 UTC 2016 - dmueller@suse.com - fix source url ------------------------------------------------------------------- Mon Jun 20 07:39:11 UTC 2016 - michael@stroeder.com - update to version 4.3.0: * #819: [Linux] different speedup improvements: Process.ppid() is 20% faster Process.status() is 28% faster Process.name() is 25% faster Process.num_threads is 20% faster on Python 3 * #810: [Windows] Windows wheels are incompatible with pip 7.1.2. * #812: [NetBSD] fix compilation on NetBSD-5.x. * #823: [NetBSD] virtual_memory() raises TypeError on Python 3. * #829: [UNIX] psutil.disk_usage() percent field takes root reserved space into account. * #816: [Windows] fixed net_io_counter() values wrapping after 4.3GB in Windows Vista (NT 6.0) and above using 64bit values from newer win APIs. ------------------------------------------------------------------- Mon May 30 07:28:01 UTC 2016 - tbechtold@suse.com - Update Source url ------------------------------------------------------------------- Sat May 28 11:34:45 UTC 2016 - michael@stroeder.com - update to version 4.2.0: * Enhancements + #795: [Windows] new APIs to deal with Windows services: win_service_iter() and win_service_get(). + #800: [Linux] psutil.virtual_memory() returns a new "shared" memory field. + #819: [Linux] speedup /proc parsing: - Process.ppid() is 20% faster - Process.status() is 28% faster - Process.name() is 25% faster - Process.num_threads is 20% faster on Python 3 * Bug fixes + #797: [Linux] net_if_stats() may raise OSError for certain NIC cards. + #813: Process.as_dict() should ignore extraneous attribute names which gets attached to the Process instance. ------------------------------------------------------------------- Sun Mar 13 15:05:56 UTC 2016 - michael@stroeder.com - removed TODO from %doc, not in upstream tar-ball anymore - update to version 4.1.0: * Enhancements + #777: [Linux] Process.open_files() on Linux return 3 new fields: position, mode and flags. + #779: Process.cpu_times() returns two new fields, 'children_user' and 'children_system' (always set to 0 on OSX and Windows). + #789: [Windows] psutil.cpu_times() return two new fields: "interrupt" and "dpc". Same for psutil.cpu_times_percent(). + #792: new psutil.cpu_stats() function returning number of CPU ctx switches interrupts, soft interrupts and syscalls. * Bug fixes + #774: [FreeBSD] net_io_counters() dropout is no longer set to 0 if the kernel provides it. + #776: [Linux] Process.cpu_affinity() may erroneously raise NoSuchProcess. (patch by wxwright) + #780: [OSX] psutil does not compile with some gcc versions. + #786: net_if_addrs() may report incomplete MAC addresses. + #788: [NetBSD] virtual_memory()'s buffers and shared values were set to 0. + #790: [OSX] psutil won't compile on OSX 10.4. ------------------------------------------------------------------- Wed Feb 17 19:18:13 UTC 2016 - michael@stroeder.com - update to version 4.0.0 **Enhancements** - #523: [Linux, FreeBSD] disk_io_counters() return a new "busy_time" field. - #660: [Windows] make.bat is smarter in finding alternative VS install locations. (patch by mpderbec) - #732: Process.environ(). (patch by Frank Benkstein) - #753: [Linux, OSX, Windows] Process USS and PSS (Linux) "real" memory stats. (patch by Eric Rahm) - #755: Process.memory_percent() "memtype" parameter. - #758: tests now live in psutil namespace. - #760: expose OS constants (psutil.LINUX, psutil.OSX, etc.) - #756: [Linux] disk_io_counters() return 2 new fields: read_merged_count and write_merged_count. - #762: new scripts/procsmem.py script. **Bug fixes** - #704: [Solaris] psutil does not compile on Solaris sparc. - #734: on Python 3 invalid UTF-8 data is not correctly handled for process name(), cwd(), exe(), cmdline() and open_files() methods resulting in UnicodeDecodeError exceptions. 'surrogateescape' error handler is now used as a workaround for replacing the corrupted data. - #737: [Windows] when the bitness of psutil and the target process was different cmdline() and cwd() could return a wrong result or incorrectly report an AccessDenied error. - #741: [OpenBSD] psutil does not compile on mips64. - #751: [Linux] fixed call to Py_DECREF on possible Null object. - #754: [Linux] cmdline() can be wrong in case of zombie process. - #759: [Linux] Process.memory_maps() may return paths ending with " (deleted)" - #761: [Windows] psutil.boot_time() wraps to 0 after 49 days. - #764: [NetBSD] fix compilation on NetBSD-6.x. - #766: [Linux] net_connections() can't handle malformed /proc/net/unix file. - #767: [Linux] disk_io_counters() may raise ValueError on 2.6 kernels and it's broken on 2.4 kernels. - #770: [NetBSD] disk_io_counters() metrics didn't update. ------------------------------------------------------------------- Thu Jan 21 09:01:36 UTC 2016 - michael@stroeder.com - update to version 3.4.2 (fixes for non-Linux platforms) ------------------------------------------------------------------- Fri Jan 15 19:39:31 UTC 2016 - michael@stroeder.com - update to version 3.4.1 **Enhancements** - #557: [NetBSD] added NetBSD support. (contributed by Ryo Onodera and Thomas Klausner) - #708: [Linux] psutil.net_connections() and Process.connections() on Python 2 can be up to 3x faster in case of many connections. Also psutil.Process.memory_maps() is slightly faster. - #718: process_iter() is now thread safe. **Bug fixes** - #714: [OpenBSD] virtual_memory().cached value was always set to 0. - #715: don't crash at import time if cpu_times() fail for some reason. - #717: [Linux] Process.open_files fails if deleted files still visible. - #722: [Linux] swap_memory() no longer crashes if sin/sout can't be determined due to missing /proc/vmstat. - #724: [FreeBSD] virtual_memory().total is slightly incorrect. ------------------------------------------------------------------- Fri Nov 27 10:57:57 UTC 2015 - michael@stroeder.com - update to version 3.3.0 **Enhancements** - #558: [Linux] exposed psutil.PROCFS_PATH constant to change the default location of /proc filesystem. - #615: [OpenBSD] added OpenBSD support. (contributed by Landry Breuil) **Bug fixes** - #692: [UNIX] Process.name() is no longer cached as it may change. ------------------------------------------------------------------- Mon Oct 26 21:09:10 UTC 2015 - michael@stroeder.com - update to version 3.2.2 **Bug fixes** - #623: [Linux] process or system connections raises ValueError if IPv6 is not supported by the system. - #678: [Linux] can't install psutil due to bug in setup.py. ------------------------------------------------------------------- Wed Sep 16 19:33:14 UTC 2015 - michael@stroeder.com - update to version 3.2.1 * #677: [Linux] can't install psutil due to bug in setup.py. ------------------------------------------------------------------- Thu Sep 3 07:39:22 UTC 2015 - michael@stroeder.com - update to version 3.2.0 **Enhancements** - #644: [Windows] added support for CTRL_C_EVENT and CTRL_BREAK_EVENT signals to use with Process.send_signal(). - #648: CI test integration for OSX. (patch by Jeff Tang) - #663: [UNIX] net_if_addrs() now returns point-to-point (VPNs) addresses. - #655: [Windows] different issues regarding unicode handling were fixed. On Python 2 all APIs returning a string will now return an encoded version of it by using sys.getfilesystemencoding() codec. The APIs involved are: - psutil.net_if_addrs() - psutil.net_if_stats() - psutil.net_io_counters() - psutil.Process.cmdline() - psutil.Process.name() - psutil.Process.username() - psutil.users() **Bug fixes** - #513: [Linux] fixed integer overflow for RLIM_INFINITY. - #641: [Windows] fixed many compilation warnings. (patch by Jeff Tang) - #652: [Windows] net_if_addrs() UnicodeDecodeError in case of non-ASCII NIC names. - #655: [Windows] net_if_stats() UnicodeDecodeError in case of non-ASCII NIC names. - #659: [Linux] compilation error on Suse 10. (patch by maozguttman) - #664: [Linux] compilation error on Alpine Linux. (patch by Bart van Kleef) - #670: [Windows] segfgault of net_if_addrs() in case of non-ASCII NIC names. (patch by sk6249) - #672: [Windows] compilation fails if using Windows SDK v8.0. (patch by Steven Winfield) - #675: [Linux] net_connections(); UnicodeDecodeError may occur when listing UNIX sockets. ------------------------------------------------------------------- Wed Jul 15 12:55:51 UTC 2015 - michael@stroeder.com - update to version 3.1.1: New fatures ========= - [Linux] disk_partitions() added support for ZFS filesystems. - continuous tests integration for Windows - continuous code quality test integration Main bugfixes =========== - [Windows] Process.open_files() no longer hangs. Instead it uses a thred which times out and skips the file handle in case it's taking too long to be retrieved. (patch by Jeff Tang) - [Windows] Process.name() no longer raises AccessDenied for pids owned by another user. - [Windows] Process.memory_info() no longer raises AccessDenied for pids owned by another user. - [Linux] Process.cmdline() can be truncated. - [Windows] add inet_ntop function for Windows XP to support IPv6. ------------------------------------------------------------------- Mon Jun 29 11:08:33 UTC 2015 - toddrme2178@gmail.com - update to version 3.0.1: * #632: [Linux] better error message if cannot parse process UNIX connections. * #634: [Linux] Proces.cmdline() does not include empty string arguments. * #635: [UNIX] crash on module import if 'enum' package is installed on python < 3.4. - update to version 3.0.0: * Enhancements + #250: new psutil.net_if_stats() returning NIC statistics (isup, duplex, speed, MTU). + #376: new psutil.net_if_addrs() returning all NIC addresses a-la ifconfig. + #469: on Python >= 3.4 IOPRIO_CLASS_* and *_PRIORITY_CLASS constants returned by psutil.Process' ionice() and nice() methods are enums instead of plain integers. + #581: add .gitignore. (patch by Gabi Davar) + #582: connection constants returned by psutil.net_connections() and psutil.Process.connections() were turned from int to enums on Python > 3.4. + #587: Move native extension into the package. + #589: Process.cpu_affinity() accepts any kind of iterable (set, tuple, ...), not only lists. + #594: all deprecated APIs were removed. + #599: [Windows] process name() can now be determined for all processes even when running as a limited user. + #602: pre-commit GIT hook. + #629: enhanced support for py.test and nose test discovery and tests run. + #616: [Windows] Add inet_ntop function for Windows XP. * Bug fixes + #428: [all UNIXes except Linux] correct handling of zombie processes; introduced new ZombieProcess exception class. + #512: [BSD] fix segfault in net_connections(). + #555: [Linux] psutil.users() correctly handles ":0" as an alias for "localhost" + #579: [Windows] Fixed open_files() for PID>64K. + #579: [Windows] fixed many compiler warnings. + #585: [FreeBSD] net_connections() may raise KeyError. + #586: [FreeBSD] cpu_affinity() segfaults on set in case an invalid CPU number is provided. + #593: [FreeBSD] Process().memory_maps() segfaults. + #606: Process.parent() may swallow NoSuchProcess exceptions. + #611: [SunOS] net_io_counters has send and received swapped + #614: [Linux]: cpu_count(logical=False) return the number of physical CPUs instead of physical cores. + #618: [SunOS] swap tests fail on Solaris when run as normal user + #628: [Linux] Process.name() truncates process name in case it contains spaces or parentheses. - specfile: * location of .so files changes to subdir psutil ------------------------------------------------------------------- Mon Feb 2 22:16:07 UTC 2015 - michael@stroeder.com - Update to 2.2.1: - Fixed #572 ValueError: ambiguos inode with multiple PIDs references ------------------------------------------------------------------- Tue Jan 6 23:46:40 UTC 2015 - michael@stroeder.com - Update to 2.2.0: - FreeBSD has now support for process CPU affinity - new pstree.py and pidof.py example scripts - C extension version mismatch in case the user messed up with psutil installation or with sys.path is now detected at import time - [Linux] a lot of file descriptors were left open - [Windows] use proper encoding for psutil.Process.username() and psutil.users(). - [Solaris] fixed a high-priority bug which crashed psutil on import. ------------------------------------------------------------------- Tue Nov 18 13:55:21 UTC 2014 - toddrme2178@gmail.com - Update to 2.1.3 * fix "undefined symbol: CPU_ALLOC" compilation error. ------------------------------------------------------------------- Tue Sep 30 10:32:34 UTC 2014 - toddrme2178@gmail.com - Update documentation files - Spec file cleanups - Update shebang fix - Disable broken unit tests: tests don't work without root permissions - Update dependencies. We should actually guarantee psutil and so on are installed. - Update urls - Update to version 2.1.2 * Enhancements * #407: project moved from Google Code to Github; code moved from Mercurial to Git. * #492: use tox to run tests on multiple python versions. (patch by msabramo) * #505: [Windows] distribution as wheel packages. * #511: new examples/ps.py sample code. * Bug fixes * #340: [Windows] Process.get_open_files() no longer hangs. (patch by Jeff Tang) * #501: [Windows] disk_io_counters() may return negative values. * #503: [Linux] in rare conditions Process exe(), open_files() and connections() methods can raise OSError(ESRCH) instead of NoSuchProcess. * #504: [Linux] can't build RPM packages via setup.py * #506: [Linux] python 2.4 support was broken. * #522: [Linux] Process.cpu_affinity() might return EINVAL. (patch by David Daeschler) * #529: [Windows] Process.exe() may raise unhandled WindowsError exception for PIDs 0 and 4. (patch by Jeff Tang) * #530: [Linux] psutil.disk_io_counters() may crash on old Linux distros (< 2.6.5) (patch by Yaolong Huang) * #533: [Linux] Process.memory_maps() may raise TypeError on old Linux distros. - Update to version 2.1.1 * Bug fixes * #446: [Windows] fix encoding error when using net_io_counters() on Python 3. (patch by Szigeti Gabor Niif) * #460: [Windows] net_io_counters() wraps after 4G. * #491: [Linux] psutil.net_connections() exceptions. (patch by Alexander Grothe) - Update to version 2.1.0 * Enhancements * #387: system-wide open connections a-la netstat. * Bug fixes * #421: [Solaris] psutil does not compile on SunOS 5.10 (patch by Naveed Roudsari) * #489: [Linux] psutil.disk_partitions() return an empty list. - Update to version 2.0.0 * Enhancements * #424: [Windows] installer for Python 3.X 64 bit. * #427: number of logical and physical CPUs (psutil.cpu_count()). * #447: psutil.wait_procs() timeout parameter is now optional. * #452: make Process instances hashable and usable with set()s. * #453: tests on Python < 2.7 require unittest2 module. * #459: add a make file for running tests and other repetitive tasks (also on Windows). * #463: make timeout parameter of cpu_percent* functions default to 0.0 'cause it's a common trap to introduce slowdowns. * #468: move documentation to readthedocs.com. * #477: process cpu_percent() is about 30% faster. (suggested by crusaderky) * #478: [Linux] almost all APIs are about 30% faster on Python 3.X. * #479: long deprecated psutil.error module is gone; exception classes now live in "psutil" namespace only. * Bug fixes * #193: psutil.Popen constructor can throw an exception if the spawned process terminates quickly. * #340: [Windows] process get_open_files() no longer hangs. (patch by jtang@vahna.net) * #443: [Linux] fix a potential overflow issue for Process.set_cpu_affinity() on systems with more than 64 CPUs. * #448: [Windows] get_children() and ppid() memory leak (patch by Ulrich Klank). * #457: [POSIX] pid_exists() always returns True for PID 0. * #461: namedtuples are not pickle-able. * #466: [Linux] process exe improper null bytes handling. (patch by Gautam Singh) * #470: wait_procs() might not wait. (patch by crusaderky) * #471: [Windows] process exe improper unicode handling. (patch by alex@mroja.net) * #473: psutil.Popen.wait() does not set returncode attribute. * #474: [Windows] Process.cpu_percent() is no longer capped at 100%. * #476: [Linux] encoding error for process name and cmdline. * API changes For the sake of consistency a lot of psutil APIs have been renamed. In most cases accessing the old names will work but it will cause a DeprecationWarning. * psutil.* module level constants have being replaced by functions * Renamed psutil.* functions * All psutil.Process ``get_*`` methods lost the ``get_`` prefix. get_ext_memory_info() renamed to memory_info_ex(). Assuming "p = psutil.Process()" * All psutil.Process ``set_*`` methods lost the ``set_`` prefix. Assuming "p = psutil.Process()" * Except for 'pid' all psutil.Process class properties have been turned into methods. This is the only case which there are no aliases. Assuming "p = psutil.Process()" * timeout parameter of cpu_percent* functions defaults to 0.0 instead of 0.1. * long deprecated psutil.error module is gone; exception classes now live in "psutil" namespace only. * Process instances' "retcode" attribute returned by psutil.wait_procs() has been renamed to "returncode" for consistency with subprocess.Popen. ------------------------------------------------------------------- Wed Sep 3 01:41:38 CEST 2014 - ro@suse.de - sanitize release line in specfile ------------------------------------------------------------------- Wed Nov 27 21:26:26 UTC 2013 - p.drouand@gmail.com - Update to version 1.2.1 * #348: [Windows XP] fixed "ImportError: DLL load failed" occurring on module import. * #425: [Solaris] crash on import due to failure at determining BOOT_TIME. * #443: [Linux] can't set CPU affinity with systems with more than 64 cores. - Changes from version 1.2.0 * #439: assume os.getpid() if no argument is passed to psutil.Process constructor. * #440: new psutil.wait_procs() utility function which waits for multiple processes to terminate. * #348: [Windows XP/Vista] fixed "ImportError: DLL load failed" occurring on module import. - Changes from version 1.1.3 * #442: [Linux] psutil won't compile on certain version of Linux because of missing prlimit(2) syscall. - Changes from version 1.1.2 * #442: [Linux] psutil won't compile on Debian 6.0 because of missing prlimit(2) syscall. ------------------------------------------------------------------- Mon Oct 21 12:19:35 UTC 2013 - dmueller@suse.com - update to 1.1.1: * #410: tar.gz and windows binary files are now hosted on PYPI. * #412: [Linux] get/set process resource limits. * #415: [Windows] Process.get_children() is an order of magnitude faster. * #426: [Windows] Process.name is an order of magnitude faster. * #431: [UNIX] Process.name is slightly faster because it unnecessarily retrieved also process cmdline. ------------------------------------------------------------------- Fri Jul 19 10:52:59 UTC 2013 - dmueller@suse.com - update to 1.0.1: * network_io_counters(pernic=True) no longer works as intended in 1.0.0. ------------------------------------------------------------------- Thu Jul 11 14:27:00 UTC 2013 - dmueller@suse.com - update to 1.0.0: * Process.get_connections() 'status' strings are now constants. * test suite exits with non-zero on failure. (patch by floppymaster) * extensively use unittest2 module in unit tests and provide workarounds if this is not installed on python < 2.7. * Process.get_memory_maps() may raise ValueError. * Process.get_connections() 'status' field is no longer a string but a constant object (psutil.CONN_*). * Process.get_connections() 'local_address' and 'remote_address' fields renamed to 'laddr' and 'raddr'. * psutil.network_io_counters() renamed to psutil.net_io_counters(). ------------------------------------------------------------------- Tue May 7 08:31:57 UTC 2013 - michael@stroeder.com - Update to upstream release 0.7.1: Many bug fixes, some new features and API changes ------------------------------------------------------------------- Wed Jan 2 19:44:41 UTC 2013 - toddrme2178@gmail.com - Fix building on SLES ------------------------------------------------------------------- Sat Oct 6 23:01:56 UTC 2012 - os-dev@jacraig.com - Update to 0.6.1: * process cmdline property now makes a better job at guessing the process executable from the cmdline. * process exe was resolved in case it was a symlink. * python 2.4 compatibility was broken. * process exe can now return an empty string instead of raising AccessDenied. * process exe is no longer resolved in case it's a symlink. - Tons of changes from previous versions, please see HISTORY. - Remove references to docs directory in spec file, as it no longer exists. - Remove unnecessary shebangs from python scripts to quiet rpmlint. ------------------------------------------------------------------- Fri May 25 04:29:28 UTC 2012 - highwaystar.ru@gmail.com - python3 package added - minor spec improvement ------------------------------------------------------------------- Tue Apr 24 07:44:19 UTC 2012 - saschpe@suse.de - It's not a noarch package ------------------------------------------------------------------- Fri Mar 23 09:44:42 UTC 2012 - saschpe@suse.de - Spec file cleanup: * No need for setuptools here, distribute replaces it completely * Macro simplifcation ------------------------------------------------------------------- Mon Mar 19 22:00:43 UTC 2012 - cfarrell@suse.com - First import