Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #2616

ANN: psutil 5.3.0 with full unicode support is out

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From "Giampaolo Rodola'" <g.rodola@gmail.com>
Newsgroups comp.lang.python.announce
Subject ANN: psutil 5.3.0 with full unicode support is out
Date Sun, 3 Sep 2017 22:58:35 +0800
Lines 155
Approved python-announce-list@python.org
Message-ID <mailman.61.1504603776.2733.python-announce-list@python.org> (permalink)
References <CAFYqXL_Ub4o7XtHW9RKQw8mVP_p9wbSVQ_x8qBpF=_QOi4dPpQ@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
X-Trace news.uni-berlin.de zR2aBLyE8PLr0FHT2Jpd/gYzQaqW4bsQNcOJdOycrBXQ==
Return-Path <g.rodola@gmail.com>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url:pypi': 0.03; 'warnings': 0.04; 'encoded': 0.05; 'memory.': 0.05; 'paths': 0.05; 'url:github': 0.05; 'apis': 0.07; 'bytes.': 0.07; 'dynamically': 0.07; 'float': 0.07; 'incorrect': 0.07; 'installed.': 0.07; 'pypy': 0.07; 'raises': 0.07; 'subject:ANN': 0.07; 'python': 0.09; 'cached': 0.09; 'default.': 0.09; 'encoding.': 0.09; 'erroneously': 0.09; 'freebsd,': 0.09; 'garbage': 0.09; 'implements': 0.09; 'ioerror': 0.09; 'iterate': 0.09; 'leaks': 0.09; 'mask': 0.09; 'oserror': 0.09; 'second.': 0.09; 'skipping': 0.09; 'sockets': 0.09; 'url:rst': 0.09; 'api': 0.10; 'exception': 0.13; 'python.': 0.13; 'files.': 0.15; 'properly': 0.15; '(instead': 0.16; '0).': 0.16; '2.1.3': 0.16; '255': 0.16; '==========': 0.16; 'argument.': 0.16; 'containers': 0.16; 'describing': 0.16; 'df,': 0.16; "doesn't\xc2\xa0": 0.16; 'fluctuation': 0.16; 'locally': 0.16; 'netbsd,': 0.16; 'openbsd': 0.16; 'processes.': 0.16; 'reflects': 0.16; 'retrieving': 0.16; 'runtimeerror': 0.16; 'sec': 0.16; 'segfault': 0.16; 'solaris,': 0.16; 'subject:unicode': 0.16; 'sunos': 0.16; 'to:name:python list': 0.16; 'url:2017': 0.16; 'version).': 0.16; 'string': 0.17; 'accepts': 0.18; 'conjunction': 0.18; 'disabled': 0.18; 'linux,': 0.18; 'pfxlen:0': 0.18; 'value.': 0.18; 'memory': 0.18; 'windows': 0.20; 'library': 0.20; 'changes': 0.20; 'all,': 0.21; 'bit': 0.21; 'versions': 0.22; 'exceptions': 0.22; 'subject:support': 0.22; "user's": 0.22; 'instead.': 0.23; 'installed': 0.24; 'connected': 0.24; 'message-id:@mail.gmail.com': 0.24; 'host': 0.25; 'command': 0.26; 'linux': 0.26; 'error.': 0.26; 'raise': 0.27; 'implemented': 0.27; '2.6': 0.27; "doesn't": 0.28; "i'm": 0.28; '64-bit': 0.29; 'assumes': 0.29; 'download:': 0.29; 'invoke': 0.29; 'relies': 0.29; 'running.': 0.29; 'to:no real name:2**1': 0.29; 'related': 0.30; 'parameters': 0.30; 'skip:u 20': 0.31; 'work.': 0.31; 'url:python': 0.32; 'received:google.com': 0.32; 'running': 0.32; 'fixed': 0.33; '3.5': 0.33; 'compile': 0.33; 'skip:/ 10': 0.33; 'windows.': 0.33; 'wrap': 0.33; 'gets': 0.33; 'announce': 0.34; 'list': 0.34; '8bit%:13': 0.34; 'two': 0.34; 'skip:& 20': 0.35; 'source': 0.35; 'instead': 0.35; 'files': 0.35; 'to:addr:googlegroups.com': 0.35; 'unicode': 0.35; 'file': 0.35; 'wrong': 0.35; 'useful': 0.36; 'class': 0.36; 'to:addr:python- list': 0.36; 'offered': 0.36; 'skip:& 10': 0.36; 'url:org': 0.36; 'alive.': 0.66; 'real': 0.67; 'home': 0.69; 'cards': 0.70; 'to:addr:python-announce-list': 0.72; 'glad': 0.77; 'as:': 0.79; '1.-': 0.84; '=====': 0.84; 'all\xc2\xa0': 0.84; 'forced': 0.84; 'nice,': 0.84; 'support.-': 0.84; 'url:master': 0.84; 'who,': 0.84; 'died.': 0.91; 'disks,': 0.91; 'leak': 0.91
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=xKB10PGSZcf5ywzJB0mtUyruHLu3EHYTqtVg+DJuQOM=; b=GfMpSlWs+reHnHWd+Hq3SVCO7orXhVp4MQgVZMzBopsi0055YGjjAHLLTsWwU3QAvl Psmh0uptc8PJWUxkvvjyFZQXluvaTDPRk04+cfo+/8po1KVWxkwjxuDvKOzPPdlHm0NS VGTUnZAv/dgISGcZMh13+1qlh6W3GiTqTVseGq23a5m1PS1M/tfSDbY/IPRsevqTwkcK FtpP2F9gOtKrN5tboPW4XmilBSv8WTBWuawWE81sziQjqIetHuo4E5ONEZduhfHfwSP8 ibfv2gOhzmTAml5b9KONn0hZCm6nsMcio0/JKVlHVWctsFPR9kn74trRjV4AGrxavNUz WlgA==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=xKB10PGSZcf5ywzJB0mtUyruHLu3EHYTqtVg+DJuQOM=; b=eiyI/PZPMtTPTdihwHIL0tzbhIsIkQZJAi3ez35MmIsPqofDGzrjmQLx9Xl6c8Ed+f zT2hd+mb7wtb/oTIilwjz0Uys5OvLfhcXpiacMCgoMY1jtJeHEJ2NstX3dvjYWK4gobC 4If2cMiefNcS8R6kVYaRJcKyGHRsYfN3iz3chp2H/FsfZ6layO34+uR+n6XuE9mVkJPe Hzh3WaQQ/uG0U/4ptHh12NY6+WdF4hc9OkD23bjXUuroZwTNprnJjUvXGoweaD/wGX4y lw5y8dL/X2hIuFlStdOqrBCzkUWbtcRmXWy6BF7l05zNRmfXTl7NXa6PDk3N4pPPs+zL Qlcw==
X-Gm-Message-State AHPjjUjtbMvITF9BYY4S/9pfDTbYc+WN3mwYlYDreWbHC1L/yj9z3IE1 g4YyQX00ylH+LX8XYYG7JwJ9WMngxYwe
X-Google-Smtp-Source ADKCNb6WxMu7h0pA1LEoAZBwfueM0D/2sLbyqJ7is/fnsgarEpFTbhs2tFUOxFIbJ6dWoRvmHju+I7lYZ3WrwOzuiQk=
X-Received by 10.36.215.195 with SMTP id y186mr4374246itg.58.1504450735606; Sun, 03 Sep 2017 07:58:55 -0700 (PDT)
X-Mailman-Approved-At Tue, 05 Sep 2017 05:29:35 -0400
X-Content-Filtered-By Mailman/MimeDel 2.1.24
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.24
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <CAFYqXL_Ub4o7XtHW9RKQw8mVP_p9wbSVQ_x8qBpF=_QOi4dPpQ@mail.gmail.com>
Xref csiph.com comp.lang.python.announce:2616

Show key headers only | View raw


Hello all,
I'm glad to announce the release of psutil 5.3.0:
https://github.com/giampaolo/psutil
A blogpost describing the main changes is available here:
http://grodola.blogspot.com/2017/09/psutil-530-with-full-unicode-support-is.html

About
=====

psutil (process and system utilities) is a cross-platform library for
retrieving information on running processes and system utilization (CPU,
memory, disks, network) in Python. It is useful mainly for system
monitoring, profiling and limiting process resources and management of
running processes. It implements many functionalities offered by command
line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free,
nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It
currently supports Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD and
NetBSD, both 32-bit and 64-bit architectures, with Python versions from 2.6
to 3.5 (users of Python 2.4 and 2.5 may use 2.1.3 version). PyPy is also
known to work.

What's new
==========

**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()

*2017-04-10*

Links
=====

- Home page: https://github.com/giampaolo/psutil
- Download: https://pypi.python.org/pypi/psutil
- Documentation: http://pythonhosted.org/psutil
- What's new: https://github.com/giampaolo/psutil/blob/master/HISTORY.rst

--

Giampaolo - http://grodola.blogspot.com

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: psutil 5.3.0 with full unicode support is out "Giampaolo Rodola'" <g.rodola@gmail.com> - 2017-09-03 22:58 +0800

csiph-web