[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