[Python-modules-commits] [python-psutil] 01/14: Import python-psutil_5.4.1.orig.tar.gz
Sandro Tosi
morph at moszumanska.debian.org
Sun Nov 26 01:56:09 UTC 2017
This is an automated email from the git hooks/post-receive script.
morph pushed a commit to branch master
in repository python-psutil.
commit 0d4af096fd8048c3f00a8c6392b35a4daf8c4edb
Author: Sandro Tosi <morph at debian.org>
Date: Sat Nov 25 17:09:53 2017 -0500
Import python-psutil_5.4.1.orig.tar.gz
---
.coveragerc | 35 +-
.git-pre-commit | 118 ++
.gitignore | 18 +
CREDITS | 101 +-
DEVGUIDE.rst | 68 +-
HISTORY.rst | 838 +++++++++++-
IDEAS | 24 +-
INSTALL.rst | 37 +-
MANIFEST.in | 140 +-
Makefile | 217 +--
PKG-INFO | 180 ++-
README.rst | 170 ++-
docs/Makefile | 57 +-
docs/README | 4 +-
docs/_static/css/custom.css | 518 ++++++++
docs/_static/favicon.ico | Bin 0 -> 15086 bytes
docs/_template/globaltoc.html | 12 -
docs/_template/indexcontent.html | 4 -
docs/_template/indexsidebar.html | 8 -
docs/_template/page.html | 66 -
docs/_themes/pydoctheme/static/pydoctheme.css | 197 ---
docs/_themes/pydoctheme/theme.conf | 23 -
docs/conf.py | 235 +++-
docs/index.rst | 1384 +++++++++++++++-----
docs/make.bat | 274 +++-
make.bat | 4 +-
psutil.egg-info/PKG-INFO | 180 ++-
psutil.egg-info/SOURCES.txt | 61 +-
psutil.egg-info/not-zip-safe | 1 +
psutil.egg-info/requires.txt | 3 +
psutil/DEVNOTES | 5 +
psutil/__init__.py | 549 +++++---
psutil/_common.py | 158 ++-
psutil/_psaix.py | 582 ++++++++
psutil/_psbsd.py | 92 +-
psutil/_pslinux.py | 517 ++++++--
psutil/_psosx.py | 134 +-
psutil/_psposix.py | 33 +-
psutil/_pssunos.py | 87 +-
psutil/_psutil_aix.c | 986 ++++++++++++++
psutil/_psutil_bsd.c | 220 ++--
psutil/_psutil_common.c | 111 +-
psutil/_psutil_common.h | 12 +-
psutil/_psutil_linux.c | 61 +-
psutil/_psutil_osx.c | 164 ++-
psutil/_psutil_posix.c | 107 +-
psutil/_psutil_posix.h | 3 +
psutil/_psutil_sunos.c | 378 ++++--
psutil/_psutil_windows.c | 477 ++++---
psutil/_pswindows.py | 245 ++--
psutil/arch/aix/common.c | 79 ++
psutil/arch/aix/common.h | 31 +
psutil/arch/aix/ifaddrs.c | 149 +++
psutil/arch/{solaris/v10 => aix}/ifaddrs.h | 15 +-
psutil/arch/aix/net_connections.c | 287 ++++
psutil/arch/aix/net_connections.h | 15 +
psutil/arch/aix/net_kernel_structs.h | 110 ++
psutil/arch/bsd/freebsd_socks.c | 631 ---------
psutil/arch/freebsd/proc_socks.c | 368 ++++++
.../{_psutil_posix.h => arch/freebsd/proc_socks.h} | 4 +
psutil/arch/{bsd/freebsd.c => freebsd/specific.c} | 117 +-
psutil/arch/{bsd/freebsd.h => freebsd/specific.h} | 3 +
psutil/arch/freebsd/sys_socks.c | 362 +++++
.../{bsd/freebsd_socks.h => freebsd/sys_socks.h} | 1 -
psutil/arch/{bsd/netbsd_socks.c => netbsd/socks.c} | 38 +-
psutil/arch/{bsd/netbsd_socks.h => netbsd/socks.h} | 0
psutil/arch/{bsd/netbsd.c => netbsd/specific.c} | 30 +-
psutil/arch/{bsd/netbsd.h => netbsd/specific.h} | 0
psutil/arch/{bsd/openbsd.c => openbsd/specific.c} | 61 +-
psutil/arch/{bsd/openbsd.h => openbsd/specific.h} | 0
psutil/arch/osx/process_info.c | 39 +-
psutil/arch/solaris/environ.c | 405 ++++++
psutil/arch/solaris/environ.h | 19 +
psutil/arch/solaris/v10/ifaddrs.c | 14 +-
psutil/arch/solaris/v10/ifaddrs.h | 6 +-
psutil/arch/windows/inet_ntop.c | 26 +-
psutil/arch/windows/inet_ntop.h | 11 +-
psutil/arch/windows/ntextapi.h | 12 +-
psutil/arch/windows/process_handles.c | 17 +-
psutil/arch/windows/process_handles.h | 2 +-
psutil/arch/windows/process_info.c | 499 ++++---
psutil/arch/windows/process_info.h | 14 +-
psutil/arch/windows/services.c | 111 +-
psutil/tests/README.rst | 28 +-
psutil/tests/__init__.py | 898 +++++++++----
psutil/tests/__main__.py | 96 ++
psutil/tests/runner.py | 27 -
psutil/tests/test_aix.py | 121 ++
psutil/tests/test_bsd.py | 85 +-
psutil/tests/test_connections.py | 523 ++++++++
psutil/tests/test_contracts.py | 631 +++++++++
psutil/tests/test_linux.py | 1004 +++++++++++---
psutil/tests/test_memory_leaks.py | 183 ++-
psutil/tests/test_misc.py | 466 ++++++-
psutil/tests/test_osx.py | 100 +-
psutil/tests/test_posix.py | 147 ++-
psutil/tests/test_process.py | 1321 ++++++-------------
psutil/tests/test_sunos.py | 6 +-
psutil/tests/test_system.py | 229 +++-
psutil/tests/test_unicode.py | 367 ++++++
psutil/tests/test_windows.py | 302 ++++-
scripts/battery.py | 48 +
scripts/cpu_distribution.py | 96 ++
scripts/fans.py | 36 +
scripts/ifconfig.py | 56 +-
scripts/internal/README | 2 +
scripts/internal/bench_oneshot.py | 7 +-
scripts/internal/check_broken_links.py | 259 ++++
scripts/internal/download_exes.py | 108 +-
scripts/internal/generate_manifest.py | 35 +
scripts/internal/print_announce.py | 2 +-
scripts/internal/print_timeline.py | 53 +
scripts/internal/winmake.py | 196 ++-
scripts/netstat.py | 7 +-
scripts/pidof.py | 25 +-
scripts/procinfo.py | 5 +-
scripts/sensors.py | 93 ++
scripts/temperatures.py | 48 +
scripts/who.py | 13 +-
scripts/winservices.py | 2 +-
setup.cfg | 1 -
setup.py | 148 ++-
tox.ini | 4 +-
123 files changed, 16219 insertions(+), 4933 deletions(-)
diff --git a/.coveragerc b/.coveragerc
index 6b6309b..7d3f185 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -2,32 +2,31 @@
include =
*psutil*
-
omit =
+ psutil/_compat.py
psutil/tests/*
setup.py
- psutil/_compat.py
-
exclude_lines =
- pragma: no cover
- if PY3:
+ enum.IntEnum
+ except ImportError:
+ globals().update
if __name__ == .__main__.:
- if sys.platform.startswith
if _WINDOWS:
- import enum
- if enum is not None:
+ if BSD
if enum is None:
+ if enum is not None:
+ if FREEBSD
if has_enums:
+ if LINUX
if LITTLE_ENDIAN:
- enum.IntEnum
- except ImportError:
- raise NotImplementedError
- if WINDOWS
- if OSX
- if BSD
- if FREEBSD
- if OPENBSD
if NETBSD
- if SUNOS
- if LINUX
+ if OPENBSD
+ if OSX
if ppid_map is None:
+ if PY3:
+ if SUNOS
+ if sys.platform.startswith
+ if WINDOWS
+ import enum
+ pragma: no cover
+ raise NotImplementedError
diff --git a/.git-pre-commit b/.git-pre-commit
new file mode 100755
index 0000000..c3c605e
--- /dev/null
+++ b/.git-pre-commit
@@ -0,0 +1,118 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2009 Giampaolo Rodola'. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+This gets executed on 'git commit' and rejects the commit in case the
+submitted code does not pass validation. Validation is run only against
+the *.py files which were modified in the commit. Checks:
+
+- assert no space at EOLs
+- assert not pdb.set_trace in code
+- assert no bare except clause ("except:") in code
+- assert "flake8" returns no warnings
+
+Install this with "make install-git-hooks".
+"""
+
+from __future__ import print_function
+import os
+import subprocess
+import sys
+
+
+def term_supports_colors():
+ try:
+ import curses
+ assert sys.stderr.isatty()
+ curses.setupterm()
+ assert curses.tigetnum("colors") > 0
+ except Exception:
+ return False
+ else:
+ return True
+
+
+def hilite(s, ok=True, bold=False):
+ """Return an highlighted version of 'string'."""
+ if not term_supports_colors():
+ return s
+ attr = []
+ if ok is None: # no color
+ pass
+ elif ok: # green
+ attr.append('32')
+ else: # red
+ attr.append('31')
+ if bold:
+ attr.append('1')
+ return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), s)
+
+
+def exit(msg):
+ msg = hilite(msg, ok=False)
+ print(msg, file=sys.stderr)
+ sys.exit(1)
+
+
+def sh(cmd):
+ """run cmd in a subprocess and return its output.
+ raises RuntimeError on error.
+ """
+ p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE, universal_newlines=True)
+ stdout, stderr = p.communicate()
+ if p.returncode != 0:
+ raise RuntimeError(stderr)
+ if stderr:
+ print(stderr, file=sys.stderr)
+ if stdout.endswith('\n'):
+ stdout = stdout[:-1]
+ return stdout
+
+
+def main():
+ out = sh("git diff --cached --name-only")
+ py_files = [x for x in out.split('\n') if x.endswith('.py') and
+ os.path.exists(x)]
+
+ lineno = 0
+ for path in py_files:
+ with open(path) as f:
+ for line in f:
+ lineno += 1
+ # space at end of line
+ if line.endswith(' '):
+ print("%s:%s %r" % (path, lineno, line))
+ return exit(
+ "commit aborted: space at end of line")
+ line = line.rstrip()
+ # pdb
+ if "pdb.set_trace" in line:
+ print("%s:%s %s" % (path, lineno, line))
+ return exit(
+ "commit aborted: you forgot a pdb in your python code")
+ # bare except clause
+ if "except:" in line and not line.endswith("# NOQA"):
+ print("%s:%s %s" % (path, lineno, line))
+ return exit("commit aborted: bare except clause")
+
+ # flake8
+ if py_files:
+ try:
+ import flake8 # NOQA
+ except ImportError:
+ return exit("commit aborted: flake8 is not installed; "
+ "run 'make setup-dev-env'")
+
+ # XXX: we should scape spaces and possibly other amenities here
+ ret = subprocess.call(
+ "%s -m flake8 %s" % (sys.executable, " ".join(py_files)),
+ shell=True)
+ if ret != 0:
+ return exit("commit aborted: python code is not flake8 compliant")
+
+
+main()
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..99d0d54
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,18 @@
+syntax: glob
+*.al
+*.bak
+*.egg-info
+*.la
+*.lo
+*.o
+*.orig
+*.pyc
+*.pyd
+*.rej
+*.so
+*.swp
+.cache/
+.idea/
+.tox/
+build/
+dist/
diff --git a/CREDITS b/CREDITS
index ccc4515..890b822 100644
--- a/CREDITS
+++ b/CREDITS
@@ -20,6 +20,32 @@ C: Italy
E: g.rodola at gmail.com
W: http://grodola.blogspot.com/
+Experts
+=======
+
+Github usernames of people to CC on github when in need of help.
+
+- NetBSD:
+ - 0-wiz-0, Thomas Klausner
+ - ryoqun, Ryo Onodera
+- OpenBSD:
+ - landryb, Landry Breuil
+- FreeBSD:
+ - glebius, Gleb Smirnoff (#1013)
+ - sunpoet, Po-Chuan Hsieh (pkg maintainer, #1105)
+ - kostikbel, Konstantin Belousov (#1105)
+- OSX:
+ - whitlockjc, Jeremy Whitlock
+- Windows:
+ - mrjefftang, Jeff Tang
+ - wj32, Wen Jia Liu
+ - fbenkstein, Frank Benkstein
+- SunOS:
+ - wiggin15, Arnon Yaari
+ - alxchk, Oleksii Shevchuk
+- AIX:
+ - wiggin15, Arnon Yaari (maintainer)
+
Contributors
============
@@ -29,6 +55,10 @@ E: jloden at gmail.com
D: original co-author, initial design/bootstrap and occasional bug fixes
W: http://www.jayloden.com
+N: Arnon Yaari (wiggin15)
+W: https://github.com/wiggin15
+I: 517, 607, 610, 1131, 1123, 1130, 1154, 1164
+
N: Jeff Tang
W: https://github.com/mrjefftang
I: 340, 529, 616, 653, 654, 648, 641
@@ -339,10 +369,6 @@ N: maozguttman
W: https://github.com/maozguttman
I: 659
-N: wiggin15
-W: https://github.com/wiggin15
-I: 517, 607, 610
-
N: dasumin
W: https://github.com/dasumin
I: 541
@@ -419,4 +445,69 @@ I: 919
N: Max Bélanger
W: https://github.com/maxbelanger
-I: 936
+I: 936, 1133
+
+N: Pierre Fersing
+C: France
+E: pierre.fersing at bleemeo.com
+I: 950
+
+N: Thiago Borges Abdnur
+W: https://github.com/bolaum
+I: 959
+
+N: Nicolas Hennion
+W: https://github.com/nicolargo
+I: 974
+
+N: Baruch Siach
+W: https://github.com/baruchsiach
+I: 872
+
+N: Danek Duvall
+W: https://github.com/dhduvall
+I: 1002
+
+N: Alexander Hasselhuhn
+C: Germany
+W: https://github.com/alexanha
+
+N: Himanshu Shekhar
+W: https://github.com/himanshub16
+I: 1036
+
+N: Yannick Gingras
+W: https://github.com/ygingras
+I: 1057
+
+N: Gleb Smirnoff
+W: https://github.com/glebius
+I: 1042, 1079
+
+N: Oleksii Shevchuk
+W: https://github.com/alxchk
+I: 1077, 1093, 1091
+
+N: Prodesire
+W: https://github.com/Prodesire
+I: 1138
+
+N: Sebastian Saip
+W: https://github.com/ssaip
+I: 1141
+
+N: Jakub Bacic
+W: https://github.com/jakub-bacic
+I: 1127
+
+N: Akos Kiss
+W: https://github.com/akosthekiss
+I: 1150
+
+N: Adrian Page
+W: https://github.com/adpag
+I: 1159, 1160, 1161
+
+N: Matthew Long
+W: https://github.com/matray
+I: 1167
diff --git a/DEVGUIDE.rst b/DEVGUIDE.rst
index 93dfa69..2d0af7f 100644
--- a/DEVGUIDE.rst
+++ b/DEVGUIDE.rst
@@ -8,23 +8,22 @@ If you plan on hacking on psutil this is what you're supposed to do first:
$ git clone git at github.com:giampaolo/psutil.git
-- install system deps (see `install instructions <https://github.com/giampaolo/psutil/blob/master/INSTALL.rst>`__).
-
-- install development deps; these are useful for running tests (e.g. mock,
- unittest2), building doc (e.g. sphinx), running linters (flake8), etc. ::
+- install test deps and GIT hooks::
$ make setup-dev-env
-- bear in mind that ``make`` (see `Makefile <https://github.com/giampaolo/psutil/blob/master/Makefile>`_)
+- run tests::
+
+ $ make test
+
+- bear in mind that ``make``
+ (see `Makefile <https://github.com/giampaolo/psutil/blob/master/Makefile>`_)
is the designated tool to run tests, build, install etc. and that it is also
available on Windows
(see `make.bat <https://github.com/giampaolo/psutil/blob/master/make.bat>`_).
-- bear in mind that both psutil (``make install``) and any other lib
- (``make setup-dev-env``) is installed as a limited user
- (``pip install --user ...``), so develop as such (don't use root).
-- (UNIX only) run ``make install-git-hooks``: this will reject your commits
- if python code is not PEP8 compliant.
-- run ``make test`` to run tests.
+- do not use ``sudo``; ``make install`` installs psutil as a limited user in
+ "edit" mode; also ``make setup-dev-env`` installs deps as a limited user.
+- use `make help` to see the list of available commands.
============
Coding style
@@ -43,11 +42,33 @@ Some useful make commands::
$ make install # install
$ make setup-dev-env # install useful dev libs (pyflakes, unittest2, etc.)
- $ make test # run all tests
+ $ make test # run unit tests
$ make test-memleaks # run memory leak tests
- $ make coverage # run test coverage
+ $ make test-coverage # run test coverage
$ make flake8 # run PEP8 linter
+There are some differences between ``make`` on UNIX and Windows.
+For instance, to run a specific Python version. On UNIX::
+
+ make test PYTHON=python3.5
+
+On Windows::
+
+ set PYTHON=C:\python35\python.exe && make test
+
+ # ...or:
+
+ make -p 35 test
+
+If you want to modify psutil and run a script on the fly which uses it do
+(on UNIX)::
+
+ make test TSCRIPT=foo.py
+
+On Windows::
+
+ set TSCRIPT=foo.py && make test
+
====================
Adding a new feature
====================
@@ -81,6 +102,16 @@ Typical process occurring when adding a new functionality (API):
- update ``README.rst`` (if necessary).
- make a pull request.
+===================
+Make a pull request
+===================
+
+- fork psutil
+- create your feature branch (``git checkout -b my-new-feature``)
+- commit your changes (``git commit -am 'add some feature'``)
+- push to the branch (``git push origin my-new-feature``)
+- create a new pull request
+
======================
Continuous integration
======================
@@ -101,18 +132,18 @@ Test files controlling these are
and
`appveyor.yml <https://github.com/giampaolo/psutil/blob/master/appveyor.yml>`_.
Both services run psutil test suite against all supported python version
-(2.6 - 3.5).
+(2.6 - 3.6).
Two icons in the home page (README) always show the build status:
-.. image:: https://api.travis-ci.org/giampaolo/psutil.png?branch=master
+.. image:: https://img.shields.io/travis/giampaolo/psutil/master.svg?maxAge=3600&label=Linux%20/%20OSX
:target: https://travis-ci.org/giampaolo/psutil
:alt: Linux tests (Travis)
-.. image:: https://ci.appveyor.com/api/projects/status/qdwvw7v1t915ywr5/branch/master?svg=true
+.. image:: https://img.shields.io/appveyor/ci/giampaolo/psutil/master.svg?maxAge=3600&label=Windows
:target: https://ci.appveyor.com/project/giampaolo/psutil
:alt: Windows tests (Appveyor)
-OSX, FreeBSD and Solaris are currently tested manually (sigh!).
+OSX, BSD, AIX and Solaris are currently tested manually (sigh!).
Test coverage
-------------
@@ -134,8 +165,7 @@ Documentation
- it uses `RsT syntax <http://docutils.sourceforge.net/docs/user/rst/quickref.html>`_
and it's built with `sphinx <http://sphinx-doc.org/>`_.
- doc can be built with ``make setup-dev-env; cd docs; make html``.
-- public doc is hosted on http://pythonhosted.org/psutil/.
-- it is uploaded on every new release with ``make upload-doc``.
+- public doc is hosted on http://psutil.readthedocs.io/
=======================
Releasing a new version
diff --git a/HISTORY.rst b/HISTORY.rst
index 2522332..8693bcf 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,5 +1,291 @@
*Bug tracker at https://github.com/giampaolo/psutil/issues*
+5.4.1
+=====
+
+*2017-11-08*
+
+**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)
+
+5.4.0
+=====
+
+*2017-10-12*
+
+**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)
+
+5.3.1
+=====
+
+*2017-09-10*
+
+**Enhancements**
+
+- 1124_: documentation moved to http://psutil.readthedocs.io
+
+**Bug 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.
+
+5.3.0
+=====
+
+*2017-09-01*
+
+**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()
+
+5.2.2
+=====
+
+*2017-04-10*
+
+**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.
+
+5.2.1
+=====
+
+*2017-03-24*
+
+**Bug fixes**
+
+- 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.
+
+5.2.0
+=====
+
+*2017-03-05*
+
+**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.
+
+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
+=====
+
+*2017-02-01*
+
+**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
=====
@@ -20,7 +306,6 @@
taken into account.
- 944_: [OpenBSD] psutil.pids() was omitting PID 0.
-
5.0.0
=====
@@ -38,7 +323,6 @@
raising an exception.
- 933_: [Windows] memory leak in cpu_stats() and WindowsService.description().
-
4.4.2
=====
@@ -48,7 +332,6 @@
- 931_: psutil no longer compiles on Solaris.
-
4.4.1
=====
@@ -58,7 +341,6 @@
- 927_: ``Popen.__del__`` may cause maximum recursion depth error.
-
4.4.0
=====
@@ -95,7 +377,6 @@
OSError with no exception set if process is gone.
- 916_: [OSX] fix many compilation warnings.
-
4.3.1
=====
@@ -120,7 +401,6 @@
unit (ms instead of sec).
- 870_: [Windows] Handle leak inside psutil_get_process_data.
-
4.3.0
=====
@@ -144,7 +424,6 @@
- 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.
-
4.2.0
=====
@@ -167,7 +446,6 @@
- 813_: Process.as_dict() should ignore extraneous attribute names which gets
attached to the Process instance.
-
4.1.0
=====
@@ -195,7 +473,6 @@
- 788_: [NetBSD] virtual_memory()'s buffers and shared values were set to 0.
- 790_: [OSX] psutil won't compile on OSX 10.4.
-
4.0.0
=====
@@ -239,7 +516,6 @@
broken on 2.4 kernels.
- 770_: [NetBSD] disk_io_counters() metrics didn't update.
-
3.4.2
=====
@@ -255,7 +531,6 @@
- 724_: [FreeBSD] psutil.virtual_memory().total is incorrect.
- 730_: [FreeBSD] psutil.virtual_memory() crashes.
-
3.4.1
=====
@@ -279,7 +554,6 @@
due to missing /proc/vmstat.
- 724_: [FreeBSD] virtual_memory().total is slightly incorrect.
-
3.3.0
=====
@@ -295,7 +569,6 @@
- 692_: [UNIX] Process.name() is no longer cached as it may change.
-
3.2.2
=====
@@ -314,7 +587,6 @@
- 688_: [Windows] compilation fails with MSVC 2015, Python 3.5. (patch by
Mike Sarahan)
-
3.2.1
=====
@@ -324,7 +596,6 @@
- 677_: [Linux] can't install psutil due to bug in setup.py.
-
... 29743 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-psutil.git
More information about the Python-modules-commits
mailing list