{"action":"closed","number":31,"pull_request":{"url":"https://api.github.com/repos/Dallinger/psiTurk/pulls/31","id":92497312,"html_url":"https://github.com/Dallinger/psiTurk/pull/31","diff_url":"https://github.com/Dallinger/psiTurk/pull/31.diff","patch_url":"https://github.com/Dallinger/psiTurk/pull/31.patch","issue_url":"https://api.github.com/repos/Dallinger/psiTurk/issues/31","number":31,"state":"closed","locked":false,"title":"Update psutil to 5.0.0","user":{"login":"pyup-bot","id":16239342,"avatar_url":"https://avatars.githubusercontent.com/u/16239342?v=3","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"body":"\nThere's a new version of [psutil](https://pypi.python.org/pypi/psutil) available.\nYou are currently using **1.2.1**. I have updated it to **5.0.0**\n\n\n\nThese links might come in handy:  <a href=\"http://pypi.python.org/pypi/psutil\">PyPI</a> | <a href=\"https://pyup.io/changelogs/psutil/\">Changelog</a> | <a href=\"https://github.com/giampaolo/psutil\">Repo</a> | <a href=\"http://pythonhosted.org/psutil/\">Docs</a> \n\n\n\n### Changelog\n> \n>### 5.0.0\n\n>=====\n\n>*2016-11-06*\n\n>**Enhncements**\n\n>- 799_: new Process.oneshot() context manager making Process methods around\n>  +2x faster in general and from +2x to +6x faster on Windows.\n>- 943_: better error message in case of version conflict on import.\n\n>**Bug fixes**\n\n>- 932_: [NetBSD] net_connections() and Process.connections() may fail without\n>  raising an exception.\n>- 933_: [Windows] memory leak in cpu_stats() and WindowsService.description().\n\n\n\n\n>### 4.4.2\n\n>=====\n\n>*2016-10-26*\n\n>**Bug fixes**\n\n>- 931_: psutil no longer compiles on Solaris.\n\n\n\n\n>### 4.4.1\n\n>=====\n\n>*2016-10-25*\n\n>**Bug fixes**\n\n>- 927_: ``Popen.__del__`` may cause maximum recursion depth error.\n\n\n\n\n>### 4.4.0\n\n>=====\n\n>*2016-10-23*\n\n>**Enhancements**\n\n>- 874_: [Windows] net_if_addrs() returns also the netmask.\n>- 887_: [Linux] virtual_memory()&#39;s &#39;available&#39; and &#39;used&#39; values are more\n>  precise and match &quot;free&quot; cmdline utility.  &quot;available&quot; also takes into\n>  account LCX containers preventing &quot;available&quot; to overflow &quot;total&quot;.\n>- 891_: procinfo.py script has been updated and provides a lot more info.\n\n>**Bug fixes**\n\n>- 514_: [OSX] possibly fix Process.memory_maps() segfault (critical!).\n>- 783_: [OSX] Process.status() may erroneously return &quot;running&quot; for zombie\n>  processes.\n>- 798_: [Windows] Process.open_files() returns and empty list on Windows 10.\n>- 825_: [Linux] cpu_affinity; fix possible double close and use of unopened\n>  socket.\n>- 880_: [Windows] Handle race condition inside psutil_net_connections.\n>- 885_: ValueError is raised if a negative integer is passed to cpu_percent()\n>  functions.\n>- 892_: [Linux] Process.cpu_affinity([-1]) raise SystemError with no error\n>  set; now ValueError is raised.\n>- 906_: [BSD] disk_partitions(all=False) returned an empty list. Now the\n>  argument is ignored and all partitions are always returned.\n>- 907_: [FreeBSD] Process.exe() may fail with OSError(ENOENT).\n>- 908_: [OSX, BSD] different process methods could errounesuly mask the real\n>  error for high-privileged PIDs and raise NoSuchProcess and AccessDenied\n>  instead of OSError and RuntimeError.\n>- 909_: [OSX] Process open_files() and connections() methods may raise\n>  OSError with no exception set if process is gone.\n>- 916_: [OSX] fix many compilation warnings.\n\n\n\n\n>### 4.3.1\n\n>=====\n\n>*2016-09-01*\n\n>**Enhancements**\n\n>- 881_: &quot;make install&quot; now works also when using a virtual env.\n\n>**Bug fixes**\n\n>- 854_: Process.as_dict() raises ValueError if passed an erroneous attrs name.\n>- 857_: [SunOS] Process cpu_times(), cpu_percent(), threads() amd memory_maps()\n>  may raise RuntimeError if attempting to query a 64bit process with a 32bit\n>  python. &quot;Null&quot; values are returned as a fallback.\n>- 858_: Process.as_dict() should not return memory_info_ex() because it&#39;s\n>  deprecated.\n>- 863_: [Windows] memory_map truncates addresses above 32 bits\n>- 866_: [Windows] win_service_iter() and services in general are not able to\n>  handle unicode service names / descriptions.\n>- 869_: [Windows] Process.wait() may raise TimeoutExpired with wrong timeout\n>  unit (ms instead of sec).\n>- 870_: [Windows] Handle leak inside psutil_get_process_data.\n\n\n\n\n>### 4.3.0\n\n>=====\n\n>*2016-06-18*\n\n>**Enhancements**\n\n>- 819_: [Linux] different speedup improvements:\n>  Process.ppid() is 20% faster\n>  Process.status() is 28% faster\n>  Process.name() is 25% faster\n>  Process.num_threads is 20% faster on Python 3\n\n>**Bug fixes**\n\n>- 810_: [Windows] Windows wheels are incompatible with pip 7.1.2.\n>- 812_: [NetBSD] fix compilation on NetBSD-5.x.\n>- 823_: [NetBSD] virtual_memory() raises TypeError on Python 3.\n>- 829_: [UNIX] psutil.disk_usage() percent field takes root reserved space\n>  into account.\n>- 816_: [Windows] fixed net_io_counter() values wrapping after 4.3GB in\n>  Windows Vista (NT 6.0) and above using 64bit values from newer win APIs.\n\n\n\n\n>### 4.2.0\n\n>=====\n\n>*2016-05-14*\n\n>**Enhancements**\n\n>- 795_: [Windows] new APIs to deal with Windows services: win_service_iter()\n>  and win_service_get().\n>- 800_: [Linux] psutil.virtual_memory() returns a new &quot;shared&quot; memory field.\n>- 819_: [Linux] speedup /proc parsing:\n>  - Process.ppid() is 20% faster\n>  - Process.status() is 28% faster\n>  - Process.name() is 25% faster\n>  - Process.num_threads is 20% faster on Python 3\n\n>**Bug fixes**\n\n>- 797_: [Linux] net_if_stats() may raise OSError for certain NIC cards.\n>- 813_: Process.as_dict() should ignore extraneous attribute names which gets\n>  attached to the Process instance.\n\n\n\n\n>### 4.1.0\n\n>=====\n\n>*2016-03-12*\n\n>**Enhancements**\n\n>- 777_: [Linux] Process.open_files() on Linux return 3 new fields: position,\n>  mode and flags.\n>- 779_: Process.cpu_times() returns two new fields, &#39;children_user&#39; and\n>  &#39;children_system&#39; (always set to 0 on OSX and Windows).\n>- 789_: [Windows] psutil.cpu_times() return two new fields: &quot;interrupt&quot; and\n>  &quot;dpc&quot;. Same for psutil.cpu_times_percent().\n>- 792_: new psutil.cpu_stats() function returning number of CPU ctx switches\n>  interrupts, soft interrupts and syscalls.\n\n>**Bug fixes**\n\n>- 774_: [FreeBSD] net_io_counters() dropout is no longer set to 0 if the kernel\n>  provides it.\n>- 776_: [Linux] Process.cpu_affinity() may erroneously raise NoSuchProcess.\n>  (patch by wxwright)\n>- 780_: [OSX] psutil does not compile with some gcc versions.\n>- 786_: net_if_addrs() may report incomplete MAC addresses.\n>- 788_: [NetBSD] virtual_memory()&#39;s buffers and shared values were set to 0.\n>- 790_: [OSX] psutil won&#39;t compile on OSX 10.4.\n\n\n\n\n>### 4.0.0\n\n>=====\n\n>*2016-02-17*\n\n>**Enhancements**\n\n>- 523_: [Linux, FreeBSD] disk_io_counters() return a new &quot;busy_time&quot; field.\n>- 660_: [Windows] make.bat is smarter in finding alternative VS install\n>  locations.  (patch by mpderbec)\n>- 732_: Process.environ().  (patch by Frank Benkstein)\n>- 753_: [Linux, OSX, Windows] Process USS and PSS (Linux) &quot;real&quot; memory stats.\n>  (patch by Eric Rahm)\n>- 755_: Process.memory_percent() &quot;memtype&quot; parameter.\n>- 758_: tests now live in psutil namespace.\n>- 760_: expose OS constants (psutil.LINUX, psutil.OSX, etc.)\n>- 756_: [Linux] disk_io_counters() return 2 new fields: read_merged_count and\n>  write_merged_count.\n>- 762_: new scripts/procsmem.py script.\n\n>**Bug fixes**\n\n>- 685_: [Linux] virtual_memory() provides wrong results on systems with a lot\n>  of physical memory.\n>- 704_: [Solaris] psutil does not compile on Solaris sparc.\n>- 734_: on Python 3 invalid UTF-8 data is not correctly handled for process\n>  name(), cwd(), exe(), cmdline() and open_files() methods resulting in\n>  UnicodeDecodeError exceptions. &#39;surrogateescape&#39; error handler is now\n>  used as a workaround for replacing the corrupted data.\n>- 737_: [Windows] when the bitness of psutil and the target process was\n>  different cmdline() and cwd() could return a wrong result or incorrectly\n>  report an AccessDenied error.\n>- 741_: [OpenBSD] psutil does not compile on mips64.\n>- 751_: [Linux] fixed call to Py_DECREF on possible Null object.\n>- 754_: [Linux] cmdline() can be wrong in case of zombie process.\n>- 759_: [Linux] Process.memory_maps() may return paths ending with &quot; (deleted)&quot;\n>- 761_: [Windows] psutil.boot_time() wraps to 0 after 49 days.\n>- 764_: [NetBSD] fix compilation on NetBSD-6.x.\n>- 766_: [Linux] net_connections() can&#39;t handle malformed /proc/net/unix file.\n>- 767_: [Linux] disk_io_counters() may raise ValueError on 2.6 kernels and it&#39;s\n>  broken on 2.4 kernels.\n>- 770_: [NetBSD] disk_io_counters() metrics didn&#39;t update.\n\n\n\n\n>### 3.4.2\n\n>=====\n\n>*2016-01-20*\n\n>**Enhancements**\n\n>- 728_: [Solaris] exposed psutil.PROCFS_PATH constant to change the default\n>  location of /proc filesystem.\n\n>**Bug fixes**\n\n>- 724_: [FreeBSD] psutil.virtual_memory().total is incorrect.\n>- 730_: [FreeBSD] psutil.virtual_memory() crashes.\n\n\n\n\n>### 3.4.1\n\n>=====\n\n>*2016-01-15*\n\n>**Enhancements**\n\n>- 557_: [NetBSD] added NetBSD support.  (contributed by Ryo Onodera and\n>  Thomas Klausner)\n>- 708_: [Linux] psutil.net_connections() and Process.connections() on Python 2\n>  can be up to 3x faster in case of many connections.\n>  Also psutil.Process.memory_maps() is slightly faster.\n>- 718_: process_iter() is now thread safe.\n\n>**Bug fixes**\n\n>- 714_: [OpenBSD] virtual_memory().cached value was always set to 0.\n>- 715_: don&#39;t crash at import time if cpu_times() fail for some reason.\n>- 717_: [Linux] Process.open_files fails if deleted files still visible.\n>- 722_: [Linux] swap_memory() no longer crashes if sin/sout can&#39;t be determined\n>  due to missing /proc/vmstat.\n>- 724_: [FreeBSD] virtual_memory().total is slightly incorrect.\n\n\n\n\n>### 3.3.0\n\n>=====\n\n>*2015-11-25*\n\n>**Enhancements**\n\n>- 558_: [Linux] exposed psutil.PROCFS_PATH constant to change the default\n>  location of /proc filesystem.\n>- 615_: [OpenBSD] added OpenBSD support.  (contributed by Landry Breuil)\n\n>**Bug fixes**\n\n>- 692_: [UNIX] Process.name() is no longer cached as it may change.\n\n\n\n\n>### 3.2.2\n\n>=====\n\n>*2015-10-04*\n\n>**Bug fixes**\n\n>- 517_: [SunOS] net_io_counters failed to detect network interfaces\n>  correctly on Solaris 10\n>- 541_: [FreeBSD] disk_io_counters r/w times were expressed in seconds instead\n>  of milliseconds.  (patch by dasumin)\n>- 610_: [SunOS] fix build and tests on Solaris 10\n>- 623_: [Linux] process or system connections raises ValueError if IPv6 is not\n>  supported by the system.\n>- 678_: [Linux] can&#39;t install psutil due to bug in setup.py.\n>- 688_: [Windows] compilation fails with MSVC 2015, Python 3.5. (patch by\n>  Mike Sarahan)\n\n\n\n\n>### 3.2.1\n\n>=====\n\n>*2015-09-03*\n\n>**Bug fixes**\n\n>- 677_: [Linux] can&#39;t install psutil due to bug in setup.py.\n\n\n\n\n>### 3.2.0\n\n>=====\n\n>*2015-09-02*\n\n>**Enhancements**\n\n>- 644_: [Windows] added support for CTRL_C_EVENT and CTRL_BREAK_EVENT signals\n>  to use with Process.send_signal().\n>- 648_: CI test integration for OSX. (patch by Jeff Tang)\n>- 663_: [UNIX] net_if_addrs() now returns point-to-point (VPNs) addresses.\n>- 655_: [Windows] different issues regarding unicode handling were fixed. On\n>  Python 2 all APIs returning a string will now return an encoded version of it\n>  by using sys.getfilesystemencoding() codec. The APIs involved are:\n>  - psutil.net_if_addrs()\n>  - psutil.net_if_stats()\n>  - psutil.net_io_counters()\n>  - psutil.Process.cmdline()\n>  - psutil.Process.name()\n>  - psutil.Process.username()\n>  - psutil.users()\n\n>**Bug fixes**\n\n>- 513_: [Linux] fixed integer overflow for RLIM_INFINITY.\n>- 641_: [Windows] fixed many compilation warnings.  (patch by Jeff Tang)\n>- 652_: [Windows] net_if_addrs() UnicodeDecodeError in case of non-ASCII NIC\n>  names.\n>- 655_: [Windows] net_if_stats() UnicodeDecodeError in case of non-ASCII NIC\n>  names.\n>- 659_: [Linux] compilation error on Suse 10. (patch by maozguttman)\n>- 664_: [Linux] compilation error on Alpine Linux. (patch by Bart van Kleef)\n>- 670_: [Windows] segfgault of net_if_addrs() in case of non-ASCII NIC names.\n>  (patch by sk6249)\n>- 672_: [Windows] compilation fails if using Windows SDK v8.0. (patch by\n>  Steven Winfield)\n>- 675_: [Linux] net_connections(); UnicodeDecodeError may occur when listing\n>  UNIX sockets.\n\n\n\n\n>### 3.1.1\n\n>=====\n\n>*2015-07-15*\n\n>**Bug fixes**\n\n>- 603_: [Linux] ionice_set value range is incorrect.  (patch by spacewander)\n>- 645_: [Linux] psutil.cpu_times_percent() may produce negative results.\n>- 656_: &#39;from psutil import *&#39; does not work.\n\n\n\n\n>### 3.1.0\n\n>=====\n\n>*2015-07-15*\n\n>**Enhancements**\n\n>- 534_: [Linux] disk_partitions() added support for ZFS filesystems.\n>- 646_: continuous tests integration for Windows with\n>  https://ci.appveyor.com/project/giampaolo/psutil.\n>- 647_: new dev guide:\n>  https://github.com/giampaolo/psutil/blob/master/DEVGUIDE.rst\n>- 651_: continuous code quality test integration with\n>  https://scrutinizer-ci.com/g/giampaolo/psutil/\n\n>**Bug fixes**\n\n>- 340_: [Windows] Process.open_files() no longer hangs. Instead it uses a\n>  thred which times out and skips the file handle in case it&#39;s taking too long\n>  to be retrieved.  (patch by Jeff Tang, PR 597)\n>- 627_: [Windows] Process.name() no longer raises AccessDenied for pids owned\n>  by another user.\n>- 636_: [Windows] Process.memory_info() raise AccessDenied.\n>- 637_: [UNIX] raise exception if trying to send signal to Process PID 0 as it\n>  will affect os.getpid()&#39;s process group instead of PID 0.\n>- 639_: [Linux] Process.cmdline() can be truncated.\n>- 640_: [Linux] *connections functions may swallow errors and return an\n>  incomplete list of connnections.\n>- 642_: repr() of exceptions is incorrect.\n>- 653_: [Windows] Add inet_ntop function for Windows XP to support IPv6.\n>- 641_: [Windows] Replace deprecated string functions with safe equivalents.\n\n\n\n\n>### 3.0.1\n\n>=====\n\n>*2015-06-18*\n\n>**Bug fixes**\n\n>- 632_: [Linux] better error message if cannot parse process UNIX connections.\n>- 634_: [Linux] Proces.cmdline() does not include empty string arguments.\n>- 635_: [UNIX] crash on module import if &#39;enum&#39; package is installed on python\n>  &lt; 3.4.\n\n\n\n\n>### 3.0.0\n\n>=====\n\n>*2015-06-13*\n\n>**Enhancements**\n\n>- 250_: new psutil.net_if_stats() returning NIC statistics (isup, duplex,\n>  speed, MTU).\n>- 376_: new psutil.net_if_addrs() returning all NIC addresses a-la ifconfig.\n>- 469_: on Python &gt;= 3.4 ``IOPRIO_CLASS_*`` and ``*_PRIORITY_CLASS`` constants\n>  returned by psutil.Process&#39; ionice() and nice() methods are enums instead of\n>  plain integers.\n>- 581_: add .gitignore. (patch by Gabi Davar)\n>- 582_: connection constants returned by psutil.net_connections() and\n>  psutil.Process.connections() were turned from int to enums on Python &gt; 3.4.\n>- 587_: Move native extension into the package.\n>- 589_: Process.cpu_affinity() accepts any kind of iterable (set, tuple, ...),\n>  not only lists.\n>- 594_: all deprecated APIs were removed.\n>- 599_: [Windows] process name() can now be determined for all processes even\n>  when running as a limited user.\n>- 602_: pre-commit GIT hook.\n>- 629_: enhanced support for py.test and nose test discovery and tests run.\n>- 616_: [Windows] Add inet_ntop function for Windows XP.\n\n>**Bug fixes**\n\n>- 428_: [all UNIXes except Linux] correct handling of zombie processes;\n>  introduced new ZombieProcess exception class.\n>- 512_: [BSD] fix segfault in net_connections().\n>- 555_: [Linux] psutil.users() correctly handles &quot;:0&quot; as an alias for\n>  &quot;localhost&quot;\n>- 579_: [Windows] Fixed open_files() for PID&gt;64K.\n>- 579_: [Windows] fixed many compiler warnings.\n>- 585_: [FreeBSD] net_connections() may raise KeyError.\n>- 586_: [FreeBSD] cpu_affinity() segfaults on set in case an invalid CPU\n>  number is provided.\n>- 593_: [FreeBSD] Process().memory_maps() segfaults.\n>- 606_: Process.parent() may swallow NoSuchProcess exceptions.\n>- 611_: [SunOS] net_io_counters has send and received swapped\n>- 614_: [Linux]: cpu_count(logical=False) return the number of physical CPUs\n>  instead of physical cores.\n>- 618_: [SunOS] swap tests fail on Solaris when run as normal user\n>- 628_: [Linux] Process.name() truncates process name in case it contains\n>  spaces or parentheses.\n\n\n\n\n>### 2.2.1\n\n>=====\n\n>*2015-02-02*\n\n>**Bug fixes**\n\n>- 496_: [Linux] fix &quot;ValueError: ambiguos inode with multiple PIDs references&quot;\n>  (patch by Bruno Binet)\n\n\n\n\n>### 2.2.0\n\n>=====\n\n>*2015-01-06*\n\n>**Enhancements**\n\n>- 521_: drop support for Python 2.4 and 2.5.\n>- 553_: new examples/pstree.py script.\n>- 564_: C extension version mismatch in case the user messed up with psutil\n>  installation or with sys.path is now detected at import time.\n>- 568_: New examples/pidof.py script.\n>- 569_: [FreeBSD] add support for process CPU affinity.\n\n>**Bug fixes**\n\n>- 496_: [Solaris] can&#39;t import psutil.\n>- 547_: [UNIX] Process.username() may raise KeyError if UID can&#39;t be resolved.\n>- 551_: [Windows] get rid of the unicode hack for net_io_counters() NIC names.\n>- 556_: [Linux] lots of file handles were left open.\n>- 561_: [Linux] net_connections() might skip some legitimate UNIX sockets.\n>  (patch by spacewander)\n>- 565_: [Windows] use proper encoding for psutil.Process.username() and\n>  psutil.users(). (patch by Sylvain Mouquet)\n>- 567_: [Linux] in the alternative implementation of CPU affinity PyList_Append\n>  and Py_BuildValue return values are not checked.\n>- 569_: [FreeBSD] fix memory leak in psutil.cpu_count(logical=False).\n>- 571_: [Linux] Process.open_files() might swallow AccessDenied exceptions and\n>  return an incomplete list of open files.\n\n\n\n\n>### 2.1.3\n\n>=====\n\n>*2014-09-26*\n\n>- 536_: [Linux]: fix &quot;undefined symbol: CPU_ALLOC&quot; compilation error.\n\n\n\n\n>### 2.1.2\n\n>=====\n\n>*2014-09-21*\n\n>**Enhancements**\n\n>- 407_: project moved from Google Code to Github; code moved from Mercurial\n>  to Git.\n>- 492_: use tox to run tests on multiple python versions.  (patch by msabramo)\n>- 505_: [Windows] distribution as wheel packages.\n>- 511_: new examples/ps.py sample code.\n\n>**Bug fixes**\n\n>- 340_: [Windows] Process.get_open_files() no longer hangs.  (patch by\n>  Jeff Tang)\n>- 501_: [Windows] disk_io_counters() may return negative values.\n>- 503_: [Linux] in rare conditions Process exe(), open_files() and\n>  connections() methods can raise OSError(ESRCH) instead of NoSuchProcess.\n>- 504_: [Linux] can&#39;t build RPM packages via setup.py\n>- 506_: [Linux] python 2.4 support was broken.\n>- 522_: [Linux] Process.cpu_affinity() might return EINVAL.  (patch by David\n>  Daeschler)\n>- 529_: [Windows] Process.exe() may raise unhandled WindowsError exception\n>  for PIDs 0 and 4.  (patch by Jeff Tang)\n>- 530_: [Linux] psutil.disk_io_counters() may crash on old Linux distros\n>  (&lt; 2.6.5)  (patch by Yaolong Huang)\n>- 533_: [Linux] Process.memory_maps() may raise TypeError on old Linux distros.\n\n\n\n\n>### 2.1.1\n\n>=====\n\n>*2014-04-30*\n\n>**Bug fixes**\n\n>- 446_: [Windows] fix encoding error when using net_io_counters() on Python 3.\n>  (patch by Szigeti Gabor Niif)\n>- 460_: [Windows] net_io_counters() wraps after 4G.\n>- 491_: [Linux] psutil.net_connections() exceptions. (patch by Alexander Grothe)\n\n\n\n\n>### 2.1.0\n\n>=====\n\n>*2014-04-08*\n\n>**Enhancements**\n\n>- 387_: system-wide open connections a-la netstat.\n\n>**Bug fixes**\n\n>- 421_: [Solaris] psutil does not compile on SunOS 5.10 (patch by Naveed\n>  Roudsari)\n>- 489_: [Linux] psutil.disk_partitions() return an empty list.\n\n\n\n\n>### 2.0.0\n\n>=====\n\n>*2014-03-10*\n\n>**Enhancements**\n\n>- 424_: [Windows] installer for Python 3.X 64 bit.\n>- 427_: number of logical and physical CPUs (psutil.cpu_count()).\n>- 447_: psutil.wait_procs() timeout parameter is now optional.\n>- 452_: make Process instances hashable and usable with set()s.\n>- 453_: tests on Python &lt; 2.7 require unittest2 module.\n>- 459_: add a make file for running tests and other repetitive tasks (also\n>  on Windows).\n>- 463_: make timeout parameter of cpu_percent* functions default to 0.0 &#39;cause\n>  it&#39;s a common trap to introduce slowdowns.\n>- 468_: move documentation to readthedocs.com.\n>- 477_: process cpu_percent() is about 30% faster.  (suggested by crusaderky)\n>- 478_: [Linux] almost all APIs are about 30% faster on Python 3.X.\n>- 479_: long deprecated psutil.error module is gone; exception classes now\n>  live in &quot;psutil&quot; namespace only.\n\n>**Bug fixes**\n\n>- 193_: psutil.Popen constructor can throw an exception if the spawned process\n>  terminates quickly.\n>- 340_: [Windows] process get_open_files() no longer hangs.  (patch by\n>  jtangvahna.net)\n>- 443_: [Linux] fix a potential overflow issue for Process.set_cpu_affinity()\n>  on systems with more than 64 CPUs.\n>- 448_: [Windows] get_children() and ppid() memory leak (patch by Ulrich\n>  Klank).\n>- 457_: [POSIX] pid_exists() always returns True for PID 0.\n>- 461_: namedtuples are not pickle-able.\n>- 466_: [Linux] process exe improper null bytes handling.  (patch by\n>  Gautam Singh)\n>- 470_: wait_procs() might not wait.  (patch by crusaderky)\n>- 471_: [Windows] process exe improper unicode handling. (patch by\n>  alexmroja.net)\n>- 473_: psutil.Popen.wait() does not set returncode attribute.\n>- 474_: [Windows] Process.cpu_percent() is no longer capped at 100%.\n>- 476_: [Linux] encoding error for process name and cmdline.\n\n>**API changes**\n\n>For the sake of consistency a lot of psutil APIs have been renamed.\n>In most cases accessing the old names will work but it will cause a\n>DeprecationWarning.\n\n>- psutil.* module level constants have being replaced by functions:\n\n>  +-----------------------+-------------------------------+\n>  | Old name              | Replacement                   |\n>  +=======================+===============================+\n>  | psutil.NUM_CPUS       | psutil.cpu_cpunt()            |\n>  +-----------------------+-------------------------------+\n>  | psutil.BOOT_TIME      | psutil.boot_time()            |\n>  +-----------------------+-------------------------------+\n>  | psutil.TOTAL_PHYMEM   | psutil.virtual_memory().total |\n>  +-----------------------+-------------------------------+\n\n>- Renamed psutil.* functions:\n\n>  +--------------------------+-------------------------------+\n>  | Old name                 | Replacement                   |\n>  +==========================+===============================+\n>  | - psutil.get_pid_list()  | psutil.pids()                 |\n>  +--------------------------+-------------------------------+\n>  | - psutil.get_users()     | psutil.users()                |\n>  +--------------------------+-------------------------------+\n>  | - psutil.get_boot_time() | psutil.boot_time()            |\n>  +--------------------------+-------------------------------+\n\n>- All psutil.Process ``get_*`` methods lost the ``get_`` prefix.\n>  get_ext_memory_info() renamed to memory_info_ex().\n>  Assuming &quot;p = psutil.Process()&quot;:\n\n>  +--------------------------+----------------------+\n>  | Old name                 | Replacement          |\n>  +==========================+======================+\n>  | p.get_children()         | p.children()         |\n>  +--------------------------+----------------------+\n>  | p.get_connections()      | p.connections()      |\n>  +--------------------------+----------------------+\n>  | p.get_cpu_affinity()     | p.cpu_affinity()     |\n>  +--------------------------+----------------------+\n>  | p.get_cpu_percent()      | p.cpu_percent()      |\n>  +--------------------------+----------------------+\n>  | p.get_cpu_times()        | p.cpu_times()        |\n>  +--------------------------+----------------------+\n>  | p.get_ext_memory_info()  | p.memory_info_ex()   |\n>  +--------------------------+----------------------+\n>  | p.get_io_counters()      | p.io_counters()      |\n>  +--------------------------+----------------------+\n>  | p.get_ionice()           | p.ionice()           |\n>  +--------------------------+----------------------+\n>  | p.get_memory_info()      | p.memory_info()      |\n>  +--------------------------+----------------------+\n>  | p.get_memory_maps()      | p.memory_maps()      |\n>  +--------------------------+----------------------+\n>  | p.get_memory_percent()   | p.memory_percent()   |\n>  +--------------------------+----------------------+\n>  | p.get_nice()             | p.nice()             |\n>  +--------------------------+----------------------+\n>  | p.get_num_ctx_switches() | p.num_ctx_switches() |\n>  +--------------------------+----------------------+\n>  | p.get_num_fds()          | p.num_fds()          |\n>  +--------------------------+----------------------+\n>  | p.get_num_threads()      | p.num_threads()      |\n>  +--------------------------+----------------------+\n>  | p.get_open_files()       | p.open_files()       |\n>  +--------------------------+----------------------+\n>  | p.get_rlimit()           | p.rlimit()           |\n>  +--------------------------+----------------------+\n>  | p.get_threads()          | p.threads()          |\n>  +--------------------------+----------------------+\n>  | p.getcwd()               | p.cwd()              |\n>  +--------------------------+----------------------+\n\n>- All psutil.Process ``set_*`` methods lost the ``set_`` prefix.\n>  Assuming &quot;p = psutil.Process()&quot;:\n\n>  +----------------------+---------------------------------+\n>  | Old name             | Replacement                     |\n>  +======================+=================================+\n>  | p.set_nice()         | p.nice(value)                   |\n>  +----------------------+---------------------------------+\n>  | p.set_ionice()       | p.ionice(ioclass, value=None)   |\n>  +----------------------+---------------------------------+\n>  | p.set_cpu_affinity() | p.cpu_affinity(cpus)            |\n>  +----------------------+---------------------------------+\n>  | p.set_rlimit()       | p.rlimit(resource, limits=None) |\n>  +----------------------+---------------------------------+\n\n>- Except for &#39;pid&#39; all psutil.Process class properties have been turned into\n>  methods. This is the only case which there are no aliases.\n>  Assuming &quot;p = psutil.Process()&quot;:\n\n>  +---------------+-----------------+\n>  | Old name      | Replacement     |\n>  +===============+=================+\n>  | p.name        | p.name()        |\n>  +---------------+-----------------+\n>  | p.parent      | p.parent()      |\n>  +---------------+-----------------+\n>  | p.ppid        | p.ppid()        |\n>  +---------------+-----------------+\n>  | p.exe         | p.exe()         |\n>  +---------------+-----------------+\n>  | p.cmdline     | p.cmdline()     |\n>  +---------------+-----------------+\n>  | p.status      | p.status()      |\n>  +---------------+-----------------+\n>  | p.uids        | p.uids()        |\n>  +---------------+-----------------+\n>  | p.gids        | p.gids()        |\n>  +---------------+-----------------+\n>  | p.username    | p.username()    |\n>  +---------------+-----------------+\n>  | p.create_time | p.create_time() |\n>  +---------------+-----------------+\n\n>- timeout parameter of cpu_percent* functions defaults to 0.0 instead of 0.1.\n>- long deprecated psutil.error module is gone; exception classes now live in\n>  &quot;psutil&quot; namespace only.\n>- Process instances&#39; &quot;retcode&quot; attribute returned by psutil.wait_procs() has\n>  been renamed to &quot;returncode&quot; for consistency with subprocess.Popen.\n\n\n\n\n\n\n\n\n*Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.*\n\nHappy merging! 🤖\n","created_at":"2016-11-06T18:34:25Z","updated_at":"2016-12-21T01:43:05Z","closed_at":"2016-12-21T01:43:05Z","merged_at":null,"merge_commit_sha":"f4d30671770c6f59e24f404e051d0ff9a7f73c13","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Dallinger/psiTurk/pulls/31/commits","review_comments_url":"https://api.github.com/repos/Dallinger/psiTurk/pulls/31/comments","review_comment_url":"https://api.github.com/repos/Dallinger/psiTurk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Dallinger/psiTurk/issues/31/comments","statuses_url":"https://api.github.com/repos/Dallinger/psiTurk/statuses/b3223ddce90561b8d1d10bc1949cb7677c0388c0","head":{"label":"Dallinger:pyup-update-psutil-1.2.1-to-5.0.0","ref":"pyup-update-psutil-1.2.1-to-5.0.0","sha":"b3223ddce90561b8d1d10bc1949cb7677c0388c0","user":{"login":"Dallinger","id":19244232,"avatar_url":"https://avatars.githubusercontent.com/u/19244232?v=3","gravatar_id":"","url":"https://api.github.com/users/Dallinger","html_url":"https://github.com/Dallinger","followers_url":"https://api.github.com/users/Dallinger/followers","following_url":"https://api.github.com/users/Dallinger/following{/other_user}","gists_url":"https://api.github.com/users/Dallinger/gists{/gist_id}","starred_url":"https://api.github.com/users/Dallinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dallinger/subscriptions","organizations_url":"https://api.github.com/users/Dallinger/orgs","repos_url":"https://api.github.com/users/Dallinger/repos","events_url":"https://api.github.com/users/Dallinger/events{/privacy}","received_events_url":"https://api.github.com/users/Dallinger/received_events","type":"Organization","site_admin":false},"repo":{"id":70120389,"name":"psiTurk","full_name":"Dallinger/psiTurk","owner":{"login":"Dallinger","id":19244232,"avatar_url":"https://avatars.githubusercontent.com/u/19244232?v=3","gravatar_id":"","url":"https://api.github.com/users/Dallinger","html_url":"https://github.com/Dallinger","followers_url":"https://api.github.com/users/Dallinger/followers","following_url":"https://api.github.com/users/Dallinger/following{/other_user}","gists_url":"https://api.github.com/users/Dallinger/gists{/gist_id}","starred_url":"https://api.github.com/users/Dallinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dallinger/subscriptions","organizations_url":"https://api.github.com/users/Dallinger/orgs","repos_url":"https://api.github.com/users/Dallinger/repos","events_url":"https://api.github.com/users/Dallinger/events{/privacy}","received_events_url":"https://api.github.com/users/Dallinger/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Dallinger/psiTurk","description":"An open platform for science on Amazon Mechanical Turk.","fork":true,"url":"https://api.github.com/repos/Dallinger/psiTurk","forks_url":"https://api.github.com/repos/Dallinger/psiTurk/forks","keys_url":"https://api.github.com/repos/Dallinger/psiTurk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Dallinger/psiTurk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Dallinger/psiTurk/teams","hooks_url":"https://api.github.com/repos/Dallinger/psiTurk/hooks","issue_events_url":"https://api.github.com/repos/Dallinger/psiTurk/issues/events{/number}","events_url":"https://api.github.com/repos/Dallinger/psiTurk/events","assignees_url":"https://api.github.com/repos/Dallinger/psiTurk/assignees{/user}","branches_url":"https://api.github.com/repos/Dallinger/psiTurk/branches{/branch}","tags_url":"https://api.github.com/repos/Dallinger/psiTurk/tags","blobs_url":"https://api.github.com/repos/Dallinger/psiTurk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Dallinger/psiTurk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Dallinger/psiTurk/git/refs{/sha}","trees_url":"https://api.github.com/repos/Dallinger/psiTurk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Dallinger/psiTurk/statuses/{sha}","languages_url":"https://api.github.com/repos/Dallinger/psiTurk/languages","stargazers_url":"https://api.github.com/repos/Dallinger/psiTurk/stargazers","contributors_url":"https://api.github.com/repos/Dallinger/psiTurk/contributors","subscribers_url":"https://api.github.com/repos/Dallinger/psiTurk/subscribers","subscription_url":"https://api.github.com/repos/Dallinger/psiTurk/subscription","commits_url":"https://api.github.com/repos/Dallinger/psiTurk/commits{/sha}","git_commits_url":"https://api.github.com/repos/Dallinger/psiTurk/git/commits{/sha}","comments_url":"https://api.github.com/repos/Dallinger/psiTurk/comments{/number}","issue_comment_url":"https://api.github.com/repos/Dallinger/psiTurk/issues/comments{/number}","contents_url":"https://api.github.com/repos/Dallinger/psiTurk/contents/{+path}","compare_url":"https://api.github.com/repos/Dallinger/psiTurk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Dallinger/psiTurk/merges","archive_url":"https://api.github.com/repos/Dallinger/psiTurk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Dallinger/psiTurk/downloads","issues_url":"https://api.github.com/repos/Dallinger/psiTurk/issues{/number}","pulls_url":"https://api.github.com/repos/Dallinger/psiTurk/pulls{/number}","milestones_url":"https://api.github.com/repos/Dallinger/psiTurk/milestones{/number}","notifications_url":"https://api.github.com/repos/Dallinger/psiTurk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Dallinger/psiTurk/labels{/name}","releases_url":"https://api.github.com/repos/Dallinger/psiTurk/releases{/id}","deployments_url":"https://api.github.com/repos/Dallinger/psiTurk/deployments","created_at":"2016-10-06T03:46:17Z","updated_at":"2016-10-06T03:46:18Z","pushed_at":"2016-12-21T01:43:01Z","git_url":"git://github.com/Dallinger/psiTurk.git","ssh_url":"git@github.com:Dallinger/psiTurk.git","clone_url":"https://github.com/Dallinger/psiTurk.git","svn_url":"https://github.com/Dallinger/psiTurk","homepage":"https://psiturk.org","size":11726,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":16,"forks":0,"open_issues":16,"watchers":0,"default_branch":"master"}},"base":{"label":"Dallinger:dallinger","ref":"dallinger","sha":"bfb8ed203e479b3a7ed60948a51f2fbb949afae0","user":{"login":"Dallinger","id":19244232,"avatar_url":"https://avatars.githubusercontent.com/u/19244232?v=3","gravatar_id":"","url":"https://api.github.com/users/Dallinger","html_url":"https://github.com/Dallinger","followers_url":"https://api.github.com/users/Dallinger/followers","following_url":"https://api.github.com/users/Dallinger/following{/other_user}","gists_url":"https://api.github.com/users/Dallinger/gists{/gist_id}","starred_url":"https://api.github.com/users/Dallinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dallinger/subscriptions","organizations_url":"https://api.github.com/users/Dallinger/orgs","repos_url":"https://api.github.com/users/Dallinger/repos","events_url":"https://api.github.com/users/Dallinger/events{/privacy}","received_events_url":"https://api.github.com/users/Dallinger/received_events","type":"Organization","site_admin":false},"repo":{"id":70120389,"name":"psiTurk","full_name":"Dallinger/psiTurk","owner":{"login":"Dallinger","id":19244232,"avatar_url":"https://avatars.githubusercontent.com/u/19244232?v=3","gravatar_id":"","url":"https://api.github.com/users/Dallinger","html_url":"https://github.com/Dallinger","followers_url":"https://api.github.com/users/Dallinger/followers","following_url":"https://api.github.com/users/Dallinger/following{/other_user}","gists_url":"https://api.github.com/users/Dallinger/gists{/gist_id}","starred_url":"https://api.github.com/users/Dallinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dallinger/subscriptions","organizations_url":"https://api.github.com/users/Dallinger/orgs","repos_url":"https://api.github.com/users/Dallinger/repos","events_url":"https://api.github.com/users/Dallinger/events{/privacy}","received_events_url":"https://api.github.com/users/Dallinger/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Dallinger/psiTurk","description":"An open platform for science on Amazon Mechanical Turk.","fork":true,"url":"https://api.github.com/repos/Dallinger/psiTurk","forks_url":"https://api.github.com/repos/Dallinger/psiTurk/forks","keys_url":"https://api.github.com/repos/Dallinger/psiTurk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Dallinger/psiTurk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Dallinger/psiTurk/teams","hooks_url":"https://api.github.com/repos/Dallinger/psiTurk/hooks","issue_events_url":"https://api.github.com/repos/Dallinger/psiTurk/issues/events{/number}","events_url":"https://api.github.com/repos/Dallinger/psiTurk/events","assignees_url":"https://api.github.com/repos/Dallinger/psiTurk/assignees{/user}","branches_url":"https://api.github.com/repos/Dallinger/psiTurk/branches{/branch}","tags_url":"https://api.github.com/repos/Dallinger/psiTurk/tags","blobs_url":"https://api.github.com/repos/Dallinger/psiTurk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Dallinger/psiTurk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Dallinger/psiTurk/git/refs{/sha}","trees_url":"https://api.github.com/repos/Dallinger/psiTurk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Dallinger/psiTurk/statuses/{sha}","languages_url":"https://api.github.com/repos/Dallinger/psiTurk/languages","stargazers_url":"https://api.github.com/repos/Dallinger/psiTurk/stargazers","contributors_url":"https://api.github.com/repos/Dallinger/psiTurk/contributors","subscribers_url":"https://api.github.com/repos/Dallinger/psiTurk/subscribers","subscription_url":"https://api.github.com/repos/Dallinger/psiTurk/subscription","commits_url":"https://api.github.com/repos/Dallinger/psiTurk/commits{/sha}","git_commits_url":"https://api.github.com/repos/Dallinger/psiTurk/git/commits{/sha}","comments_url":"https://api.github.com/repos/Dallinger/psiTurk/comments{/number}","issue_comment_url":"https://api.github.com/repos/Dallinger/psiTurk/issues/comments{/number}","contents_url":"https://api.github.com/repos/Dallinger/psiTurk/contents/{+path}","compare_url":"https://api.github.com/repos/Dallinger/psiTurk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Dallinger/psiTurk/merges","archive_url":"https://api.github.com/repos/Dallinger/psiTurk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Dallinger/psiTurk/downloads","issues_url":"https://api.github.com/repos/Dallinger/psiTurk/issues{/number}","pulls_url":"https://api.github.com/repos/Dallinger/psiTurk/pulls{/number}","milestones_url":"https://api.github.com/repos/Dallinger/psiTurk/milestones{/number}","notifications_url":"https://api.github.com/repos/Dallinger/psiTurk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Dallinger/psiTurk/labels{/name}","releases_url":"https://api.github.com/repos/Dallinger/psiTurk/releases{/id}","deployments_url":"https://api.github.com/repos/Dallinger/psiTurk/deployments","created_at":"2016-10-06T03:46:17Z","updated_at":"2016-10-06T03:46:18Z","pushed_at":"2016-12-21T01:43:01Z","git_url":"git://github.com/Dallinger/psiTurk.git","ssh_url":"git@github.com:Dallinger/psiTurk.git","clone_url":"https://github.com/Dallinger/psiTurk.git","svn_url":"https://github.com/Dallinger/psiTurk","homepage":"https://psiturk.org","size":11726,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":16,"forks":0,"open_issues":16,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Dallinger/psiTurk/pulls/31"},"html":{"href":"https://github.com/Dallinger/psiTurk/pull/31"},"issue":{"href":"https://api.github.com/repos/Dallinger/psiTurk/issues/31"},"comments":{"href":"https://api.github.com/repos/Dallinger/psiTurk/issues/31/comments"},"review_comments":{"href":"https://api.github.com/repos/Dallinger/psiTurk/pulls/31/comments"},"review_comment":{"href":"https://api.github.com/repos/Dallinger/psiTurk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Dallinger/psiTurk/pulls/31/commits"},"statuses":{"href":"https://api.github.com/repos/Dallinger/psiTurk/statuses/b3223ddce90561b8d1d10bc1949cb7677c0388c0"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":0,"commits":1,"additions":1,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"pyup-bot"}}