Hello community, here is the log from the commit of package python-psutil for openSUSE:Factory checked in at 2017-05-20 10:09:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-psutil (Old) and /work/SRC/openSUSE:Factory/.python-psutil.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-psutil" Sat May 20 10:09:43 2017 rev:34 rq:494951 version:5.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-psutil/python-psutil.changes 2017-03-24 02:22:31.816630124 +0100 +++ /work/SRC/openSUSE:Factory/.python-psutil.new/python-psutil.changes 2017-05-20 10:09:55.947511650 +0200 @@ -1,0 +2,21 @@ +Sat Apr 29 16:13:29 UTC 2017 - mich...@stroeder.com + +- update to version 5.2.2 + +**Bug fixes** +- 1000_: fixed some setup.py warnings. +- 1002_: [SunOS] remove C macro which will not be available on new Solaris + versions. (patch by Danek Duvall) +- 1004_: [Linux] Process.io_counters() may raise ValueError. +- 1006_: [Linux] cpu_freq() may return None on some Linux versions does not + support the function; now the function is not declared instead. +- 1009_: [Linux] sensors_temperatures() may raise OSError. +- 1010_: [Linux] virtual_memory() may raise ValueError on Ubuntu 14.04. +- 981_: [Linux] cpu_freq() may return an empty list. +- 993_: [Windows] Process.memory_maps() on Python 3 may raise + UnicodeDecodeError. +- 996_: [Linux] sensors_temperatures() may not show all temperatures. +- 997_: [FreeBSD] virtual_memory() may fail due to missing sysctl parameter on + FreeBSD 12. + +------------------------------------------------------------------- Old: ---- psutil-5.2.0.tar.gz New: ---- psutil-5.2.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-psutil.spec ++++++ --- /var/tmp/diff_new_pack.985eEO/_old 2017-05-20 10:09:57.075352291 +0200 +++ /var/tmp/diff_new_pack.985eEO/_new 2017-05-20 10:09:57.079351726 +0200 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-psutil -Version: 5.2.0 +Version: 5.2.2 Release: 0 Summary: A process utilities module for Python License: BSD-3-Clause ++++++ psutil-5.2.0.tar.gz -> psutil-5.2.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/CREDITS new/psutil-5.2.2/CREDITS --- old/psutil-5.2.0/CREDITS 2017-03-04 06:57:29.000000000 +0100 +++ new/psutil-5.2.2/CREDITS 2017-03-28 21:06:08.000000000 +0200 @@ -437,3 +437,7 @@ N: Baruch Siach W: https://github.com/baruchsiach I: 872 + +N: Danek Duvall +W: https://github.com/dhduvall +I: 1002 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/HISTORY.rst new/psutil-5.2.2/HISTORY.rst --- old/psutil-5.2.0/HISTORY.rst 2017-03-05 05:43:38.000000000 +0100 +++ new/psutil-5.2.2/HISTORY.rst 2017-04-10 19:17:18.000000000 +0200 @@ -1,5 +1,35 @@ *Bug tracker at https://github.com/giampaolo/psutil/issues* +*2017-04-10* + +5.2.2 +===== + +**Bug fixes** + +- 1000_: fixed some setup.py warnings. +- 1002_: [SunOS] remove C macro which will not be available on new Solaris + versions. (patch by Danek Duvall) +- 1004_: [Linux] Process.io_counters() may raise ValueError. +- 1006_: [Linux] cpu_freq() may return None on some Linux versions does not + support the function; now the function is not declared instead. +- 1009_: [Linux] sensors_temperatures() may raise OSError. +- 1010_: [Linux] virtual_memory() may raise ValueError on Ubuntu 14.04. + +*2017-03-24* + +5.2.1 +===== + +**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. + *2017-03-05* 5.2.0 @@ -2680,3 +2710,303 @@ .. _1198: https://github.com/giampaolo/psutil/issues/1198 .. _1199: https://github.com/giampaolo/psutil/issues/1199 .. _1200: https://github.com/giampaolo/psutil/issues/1200 +.. _1201: https://github.com/giampaolo/psutil/issues/1201 +.. _1202: https://github.com/giampaolo/psutil/issues/1202 +.. _1203: https://github.com/giampaolo/psutil/issues/1203 +.. _1204: https://github.com/giampaolo/psutil/issues/1204 +.. _1205: https://github.com/giampaolo/psutil/issues/1205 +.. _1206: https://github.com/giampaolo/psutil/issues/1206 +.. _1207: https://github.com/giampaolo/psutil/issues/1207 +.. _1208: https://github.com/giampaolo/psutil/issues/1208 +.. _1209: https://github.com/giampaolo/psutil/issues/1209 +.. _1210: https://github.com/giampaolo/psutil/issues/1210 +.. _1211: https://github.com/giampaolo/psutil/issues/1211 +.. _1212: https://github.com/giampaolo/psutil/issues/1212 +.. _1213: https://github.com/giampaolo/psutil/issues/1213 +.. _1214: https://github.com/giampaolo/psutil/issues/1214 +.. _1215: https://github.com/giampaolo/psutil/issues/1215 +.. _1216: https://github.com/giampaolo/psutil/issues/1216 +.. _1217: https://github.com/giampaolo/psutil/issues/1217 +.. _1218: https://github.com/giampaolo/psutil/issues/1218 +.. _1219: https://github.com/giampaolo/psutil/issues/1219 +.. _1220: https://github.com/giampaolo/psutil/issues/1220 +.. _1221: https://github.com/giampaolo/psutil/issues/1221 +.. _1222: https://github.com/giampaolo/psutil/issues/1222 +.. _1223: https://github.com/giampaolo/psutil/issues/1223 +.. _1224: https://github.com/giampaolo/psutil/issues/1224 +.. _1225: https://github.com/giampaolo/psutil/issues/1225 +.. _1226: https://github.com/giampaolo/psutil/issues/1226 +.. _1227: https://github.com/giampaolo/psutil/issues/1227 +.. _1228: https://github.com/giampaolo/psutil/issues/1228 +.. _1229: https://github.com/giampaolo/psutil/issues/1229 +.. _1230: https://github.com/giampaolo/psutil/issues/1230 +.. _1231: https://github.com/giampaolo/psutil/issues/1231 +.. _1232: https://github.com/giampaolo/psutil/issues/1232 +.. _1233: https://github.com/giampaolo/psutil/issues/1233 +.. _1234: https://github.com/giampaolo/psutil/issues/1234 +.. _1235: https://github.com/giampaolo/psutil/issues/1235 +.. _1236: https://github.com/giampaolo/psutil/issues/1236 +.. _1237: https://github.com/giampaolo/psutil/issues/1237 +.. _1238: https://github.com/giampaolo/psutil/issues/1238 +.. _1239: https://github.com/giampaolo/psutil/issues/1239 +.. _1240: https://github.com/giampaolo/psutil/issues/1240 +.. _1241: https://github.com/giampaolo/psutil/issues/1241 +.. _1242: https://github.com/giampaolo/psutil/issues/1242 +.. _1243: https://github.com/giampaolo/psutil/issues/1243 +.. _1244: https://github.com/giampaolo/psutil/issues/1244 +.. _1245: https://github.com/giampaolo/psutil/issues/1245 +.. _1246: https://github.com/giampaolo/psutil/issues/1246 +.. _1247: https://github.com/giampaolo/psutil/issues/1247 +.. _1248: https://github.com/giampaolo/psutil/issues/1248 +.. _1249: https://github.com/giampaolo/psutil/issues/1249 +.. _1250: https://github.com/giampaolo/psutil/issues/1250 +.. _1251: https://github.com/giampaolo/psutil/issues/1251 +.. _1252: https://github.com/giampaolo/psutil/issues/1252 +.. _1253: https://github.com/giampaolo/psutil/issues/1253 +.. _1254: https://github.com/giampaolo/psutil/issues/1254 +.. _1255: https://github.com/giampaolo/psutil/issues/1255 +.. _1256: https://github.com/giampaolo/psutil/issues/1256 +.. _1257: https://github.com/giampaolo/psutil/issues/1257 +.. _1258: https://github.com/giampaolo/psutil/issues/1258 +.. _1259: https://github.com/giampaolo/psutil/issues/1259 +.. _1260: https://github.com/giampaolo/psutil/issues/1260 +.. _1261: https://github.com/giampaolo/psutil/issues/1261 +.. _1262: https://github.com/giampaolo/psutil/issues/1262 +.. _1263: https://github.com/giampaolo/psutil/issues/1263 +.. _1264: https://github.com/giampaolo/psutil/issues/1264 +.. _1265: https://github.com/giampaolo/psutil/issues/1265 +.. _1266: https://github.com/giampaolo/psutil/issues/1266 +.. _1267: https://github.com/giampaolo/psutil/issues/1267 +.. _1268: https://github.com/giampaolo/psutil/issues/1268 +.. _1269: https://github.com/giampaolo/psutil/issues/1269 +.. _1270: https://github.com/giampaolo/psutil/issues/1270 +.. _1271: https://github.com/giampaolo/psutil/issues/1271 +.. _1272: https://github.com/giampaolo/psutil/issues/1272 +.. _1273: https://github.com/giampaolo/psutil/issues/1273 +.. _1274: https://github.com/giampaolo/psutil/issues/1274 +.. _1275: https://github.com/giampaolo/psutil/issues/1275 +.. _1276: https://github.com/giampaolo/psutil/issues/1276 +.. _1277: https://github.com/giampaolo/psutil/issues/1277 +.. _1278: https://github.com/giampaolo/psutil/issues/1278 +.. _1279: https://github.com/giampaolo/psutil/issues/1279 +.. _1280: https://github.com/giampaolo/psutil/issues/1280 +.. _1281: https://github.com/giampaolo/psutil/issues/1281 +.. _1282: https://github.com/giampaolo/psutil/issues/1282 +.. _1283: https://github.com/giampaolo/psutil/issues/1283 +.. _1284: https://github.com/giampaolo/psutil/issues/1284 +.. _1285: https://github.com/giampaolo/psutil/issues/1285 +.. _1286: https://github.com/giampaolo/psutil/issues/1286 +.. _1287: https://github.com/giampaolo/psutil/issues/1287 +.. _1288: https://github.com/giampaolo/psutil/issues/1288 +.. _1289: https://github.com/giampaolo/psutil/issues/1289 +.. _1290: https://github.com/giampaolo/psutil/issues/1290 +.. _1291: https://github.com/giampaolo/psutil/issues/1291 +.. _1292: https://github.com/giampaolo/psutil/issues/1292 +.. _1293: https://github.com/giampaolo/psutil/issues/1293 +.. _1294: https://github.com/giampaolo/psutil/issues/1294 +.. _1295: https://github.com/giampaolo/psutil/issues/1295 +.. _1296: https://github.com/giampaolo/psutil/issues/1296 +.. _1297: https://github.com/giampaolo/psutil/issues/1297 +.. _1298: https://github.com/giampaolo/psutil/issues/1298 +.. _1299: https://github.com/giampaolo/psutil/issues/1299 +.. _1300: https://github.com/giampaolo/psutil/issues/1300 +.. _1301: https://github.com/giampaolo/psutil/issues/1301 +.. _1302: https://github.com/giampaolo/psutil/issues/1302 +.. _1303: https://github.com/giampaolo/psutil/issues/1303 +.. _1304: https://github.com/giampaolo/psutil/issues/1304 +.. _1305: https://github.com/giampaolo/psutil/issues/1305 +.. _1306: https://github.com/giampaolo/psutil/issues/1306 +.. _1307: https://github.com/giampaolo/psutil/issues/1307 +.. _1308: https://github.com/giampaolo/psutil/issues/1308 +.. _1309: https://github.com/giampaolo/psutil/issues/1309 +.. _1310: https://github.com/giampaolo/psutil/issues/1310 +.. _1311: https://github.com/giampaolo/psutil/issues/1311 +.. _1312: https://github.com/giampaolo/psutil/issues/1312 +.. _1313: https://github.com/giampaolo/psutil/issues/1313 +.. _1314: https://github.com/giampaolo/psutil/issues/1314 +.. _1315: https://github.com/giampaolo/psutil/issues/1315 +.. _1316: https://github.com/giampaolo/psutil/issues/1316 +.. _1317: https://github.com/giampaolo/psutil/issues/1317 +.. _1318: https://github.com/giampaolo/psutil/issues/1318 +.. _1319: https://github.com/giampaolo/psutil/issues/1319 +.. _1320: https://github.com/giampaolo/psutil/issues/1320 +.. _1321: https://github.com/giampaolo/psutil/issues/1321 +.. _1322: https://github.com/giampaolo/psutil/issues/1322 +.. _1323: https://github.com/giampaolo/psutil/issues/1323 +.. _1324: https://github.com/giampaolo/psutil/issues/1324 +.. _1325: https://github.com/giampaolo/psutil/issues/1325 +.. _1326: https://github.com/giampaolo/psutil/issues/1326 +.. _1327: https://github.com/giampaolo/psutil/issues/1327 +.. _1328: https://github.com/giampaolo/psutil/issues/1328 +.. _1329: https://github.com/giampaolo/psutil/issues/1329 +.. _1330: https://github.com/giampaolo/psutil/issues/1330 +.. _1331: https://github.com/giampaolo/psutil/issues/1331 +.. _1332: https://github.com/giampaolo/psutil/issues/1332 +.. _1333: https://github.com/giampaolo/psutil/issues/1333 +.. _1334: https://github.com/giampaolo/psutil/issues/1334 +.. _1335: https://github.com/giampaolo/psutil/issues/1335 +.. _1336: https://github.com/giampaolo/psutil/issues/1336 +.. _1337: https://github.com/giampaolo/psutil/issues/1337 +.. _1338: https://github.com/giampaolo/psutil/issues/1338 +.. _1339: https://github.com/giampaolo/psutil/issues/1339 +.. _1340: https://github.com/giampaolo/psutil/issues/1340 +.. _1341: https://github.com/giampaolo/psutil/issues/1341 +.. _1342: https://github.com/giampaolo/psutil/issues/1342 +.. _1343: https://github.com/giampaolo/psutil/issues/1343 +.. _1344: https://github.com/giampaolo/psutil/issues/1344 +.. _1345: https://github.com/giampaolo/psutil/issues/1345 +.. _1346: https://github.com/giampaolo/psutil/issues/1346 +.. _1347: https://github.com/giampaolo/psutil/issues/1347 +.. _1348: https://github.com/giampaolo/psutil/issues/1348 +.. _1349: https://github.com/giampaolo/psutil/issues/1349 +.. _1350: https://github.com/giampaolo/psutil/issues/1350 +.. _1351: https://github.com/giampaolo/psutil/issues/1351 +.. _1352: https://github.com/giampaolo/psutil/issues/1352 +.. _1353: https://github.com/giampaolo/psutil/issues/1353 +.. _1354: https://github.com/giampaolo/psutil/issues/1354 +.. _1355: https://github.com/giampaolo/psutil/issues/1355 +.. _1356: https://github.com/giampaolo/psutil/issues/1356 +.. _1357: https://github.com/giampaolo/psutil/issues/1357 +.. _1358: https://github.com/giampaolo/psutil/issues/1358 +.. _1359: https://github.com/giampaolo/psutil/issues/1359 +.. _1360: https://github.com/giampaolo/psutil/issues/1360 +.. _1361: https://github.com/giampaolo/psutil/issues/1361 +.. _1362: https://github.com/giampaolo/psutil/issues/1362 +.. _1363: https://github.com/giampaolo/psutil/issues/1363 +.. _1364: https://github.com/giampaolo/psutil/issues/1364 +.. _1365: https://github.com/giampaolo/psutil/issues/1365 +.. _1366: https://github.com/giampaolo/psutil/issues/1366 +.. _1367: https://github.com/giampaolo/psutil/issues/1367 +.. _1368: https://github.com/giampaolo/psutil/issues/1368 +.. _1369: https://github.com/giampaolo/psutil/issues/1369 +.. _1370: https://github.com/giampaolo/psutil/issues/1370 +.. _1371: https://github.com/giampaolo/psutil/issues/1371 +.. _1372: https://github.com/giampaolo/psutil/issues/1372 +.. _1373: https://github.com/giampaolo/psutil/issues/1373 +.. _1374: https://github.com/giampaolo/psutil/issues/1374 +.. _1375: https://github.com/giampaolo/psutil/issues/1375 +.. _1376: https://github.com/giampaolo/psutil/issues/1376 +.. _1377: https://github.com/giampaolo/psutil/issues/1377 +.. _1378: https://github.com/giampaolo/psutil/issues/1378 +.. _1379: https://github.com/giampaolo/psutil/issues/1379 +.. _1380: https://github.com/giampaolo/psutil/issues/1380 +.. _1381: https://github.com/giampaolo/psutil/issues/1381 +.. _1382: https://github.com/giampaolo/psutil/issues/1382 +.. _1383: https://github.com/giampaolo/psutil/issues/1383 +.. _1384: https://github.com/giampaolo/psutil/issues/1384 +.. _1385: https://github.com/giampaolo/psutil/issues/1385 +.. _1386: https://github.com/giampaolo/psutil/issues/1386 +.. _1387: https://github.com/giampaolo/psutil/issues/1387 +.. _1388: https://github.com/giampaolo/psutil/issues/1388 +.. _1389: https://github.com/giampaolo/psutil/issues/1389 +.. _1390: https://github.com/giampaolo/psutil/issues/1390 +.. _1391: https://github.com/giampaolo/psutil/issues/1391 +.. _1392: https://github.com/giampaolo/psutil/issues/1392 +.. _1393: https://github.com/giampaolo/psutil/issues/1393 +.. _1394: https://github.com/giampaolo/psutil/issues/1394 +.. _1395: https://github.com/giampaolo/psutil/issues/1395 +.. _1396: https://github.com/giampaolo/psutil/issues/1396 +.. _1397: https://github.com/giampaolo/psutil/issues/1397 +.. _1398: https://github.com/giampaolo/psutil/issues/1398 +.. _1399: https://github.com/giampaolo/psutil/issues/1399 +.. _1400: https://github.com/giampaolo/psutil/issues/1400 +.. _1401: https://github.com/giampaolo/psutil/issues/1401 +.. _1402: https://github.com/giampaolo/psutil/issues/1402 +.. _1403: https://github.com/giampaolo/psutil/issues/1403 +.. _1404: https://github.com/giampaolo/psutil/issues/1404 +.. _1405: https://github.com/giampaolo/psutil/issues/1405 +.. _1406: https://github.com/giampaolo/psutil/issues/1406 +.. _1407: https://github.com/giampaolo/psutil/issues/1407 +.. _1408: https://github.com/giampaolo/psutil/issues/1408 +.. _1409: https://github.com/giampaolo/psutil/issues/1409 +.. _1410: https://github.com/giampaolo/psutil/issues/1410 +.. _1411: https://github.com/giampaolo/psutil/issues/1411 +.. _1412: https://github.com/giampaolo/psutil/issues/1412 +.. _1413: https://github.com/giampaolo/psutil/issues/1413 +.. _1414: https://github.com/giampaolo/psutil/issues/1414 +.. _1415: https://github.com/giampaolo/psutil/issues/1415 +.. _1416: https://github.com/giampaolo/psutil/issues/1416 +.. _1417: https://github.com/giampaolo/psutil/issues/1417 +.. _1418: https://github.com/giampaolo/psutil/issues/1418 +.. _1419: https://github.com/giampaolo/psutil/issues/1419 +.. _1420: https://github.com/giampaolo/psutil/issues/1420 +.. _1421: https://github.com/giampaolo/psutil/issues/1421 +.. _1422: https://github.com/giampaolo/psutil/issues/1422 +.. _1423: https://github.com/giampaolo/psutil/issues/1423 +.. _1424: https://github.com/giampaolo/psutil/issues/1424 +.. _1425: https://github.com/giampaolo/psutil/issues/1425 +.. _1426: https://github.com/giampaolo/psutil/issues/1426 +.. _1427: https://github.com/giampaolo/psutil/issues/1427 +.. _1428: https://github.com/giampaolo/psutil/issues/1428 +.. _1429: https://github.com/giampaolo/psutil/issues/1429 +.. _1430: https://github.com/giampaolo/psutil/issues/1430 +.. _1431: https://github.com/giampaolo/psutil/issues/1431 +.. _1432: https://github.com/giampaolo/psutil/issues/1432 +.. _1433: https://github.com/giampaolo/psutil/issues/1433 +.. _1434: https://github.com/giampaolo/psutil/issues/1434 +.. _1435: https://github.com/giampaolo/psutil/issues/1435 +.. _1436: https://github.com/giampaolo/psutil/issues/1436 +.. _1437: https://github.com/giampaolo/psutil/issues/1437 +.. _1438: https://github.com/giampaolo/psutil/issues/1438 +.. _1439: https://github.com/giampaolo/psutil/issues/1439 +.. _1440: https://github.com/giampaolo/psutil/issues/1440 +.. _1441: https://github.com/giampaolo/psutil/issues/1441 +.. _1442: https://github.com/giampaolo/psutil/issues/1442 +.. _1443: https://github.com/giampaolo/psutil/issues/1443 +.. _1444: https://github.com/giampaolo/psutil/issues/1444 +.. _1445: https://github.com/giampaolo/psutil/issues/1445 +.. _1446: https://github.com/giampaolo/psutil/issues/1446 +.. _1447: https://github.com/giampaolo/psutil/issues/1447 +.. _1448: https://github.com/giampaolo/psutil/issues/1448 +.. _1449: https://github.com/giampaolo/psutil/issues/1449 +.. _1450: https://github.com/giampaolo/psutil/issues/1450 +.. _1451: https://github.com/giampaolo/psutil/issues/1451 +.. _1452: https://github.com/giampaolo/psutil/issues/1452 +.. _1453: https://github.com/giampaolo/psutil/issues/1453 +.. _1454: https://github.com/giampaolo/psutil/issues/1454 +.. _1455: https://github.com/giampaolo/psutil/issues/1455 +.. _1456: https://github.com/giampaolo/psutil/issues/1456 +.. _1457: https://github.com/giampaolo/psutil/issues/1457 +.. _1458: https://github.com/giampaolo/psutil/issues/1458 +.. _1459: https://github.com/giampaolo/psutil/issues/1459 +.. _1460: https://github.com/giampaolo/psutil/issues/1460 +.. _1461: https://github.com/giampaolo/psutil/issues/1461 +.. _1462: https://github.com/giampaolo/psutil/issues/1462 +.. _1463: https://github.com/giampaolo/psutil/issues/1463 +.. _1464: https://github.com/giampaolo/psutil/issues/1464 +.. _1465: https://github.com/giampaolo/psutil/issues/1465 +.. _1466: https://github.com/giampaolo/psutil/issues/1466 +.. _1467: https://github.com/giampaolo/psutil/issues/1467 +.. _1468: https://github.com/giampaolo/psutil/issues/1468 +.. _1469: https://github.com/giampaolo/psutil/issues/1469 +.. _1470: https://github.com/giampaolo/psutil/issues/1470 +.. _1471: https://github.com/giampaolo/psutil/issues/1471 +.. _1472: https://github.com/giampaolo/psutil/issues/1472 +.. _1473: https://github.com/giampaolo/psutil/issues/1473 +.. _1474: https://github.com/giampaolo/psutil/issues/1474 +.. _1475: https://github.com/giampaolo/psutil/issues/1475 +.. _1476: https://github.com/giampaolo/psutil/issues/1476 +.. _1477: https://github.com/giampaolo/psutil/issues/1477 +.. _1478: https://github.com/giampaolo/psutil/issues/1478 +.. _1479: https://github.com/giampaolo/psutil/issues/1479 +.. _1480: https://github.com/giampaolo/psutil/issues/1480 +.. _1481: https://github.com/giampaolo/psutil/issues/1481 +.. _1482: https://github.com/giampaolo/psutil/issues/1482 +.. _1483: https://github.com/giampaolo/psutil/issues/1483 +.. _1484: https://github.com/giampaolo/psutil/issues/1484 +.. _1485: https://github.com/giampaolo/psutil/issues/1485 +.. _1486: https://github.com/giampaolo/psutil/issues/1486 +.. _1487: https://github.com/giampaolo/psutil/issues/1487 +.. _1488: https://github.com/giampaolo/psutil/issues/1488 +.. _1489: https://github.com/giampaolo/psutil/issues/1489 +.. _1490: https://github.com/giampaolo/psutil/issues/1490 +.. _1491: https://github.com/giampaolo/psutil/issues/1491 +.. _1492: https://github.com/giampaolo/psutil/issues/1492 +.. _1493: https://github.com/giampaolo/psutil/issues/1493 +.. _1494: https://github.com/giampaolo/psutil/issues/1494 +.. _1495: https://github.com/giampaolo/psutil/issues/1495 +.. _1496: https://github.com/giampaolo/psutil/issues/1496 +.. _1497: https://github.com/giampaolo/psutil/issues/1497 +.. _1498: https://github.com/giampaolo/psutil/issues/1498 +.. _1499: https://github.com/giampaolo/psutil/issues/1499 +.. _1500: https://github.com/giampaolo/psutil/issues/1500 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/IDEAS new/psutil-5.2.2/IDEAS --- old/psutil-5.2.0/IDEAS 2017-02-13 18:26:37.000000000 +0100 +++ new/psutil-5.2.2/IDEAS 2017-04-06 17:19:38.000000000 +0200 @@ -9,8 +9,9 @@ PLATFORMS ========= -- #355 (patch): Android -- #605 (branch): AIX +- #355: Android (with patch) +- #605: AIX (with branch) +- #82: Cygwin (PR at #998) - #276: GNU/Hurd - DragonFlyBSD - HP-UX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/Makefile new/psutil-5.2.2/Makefile --- old/psutil-5.2.0/Makefile 2017-02-13 18:26:37.000000000 +0100 +++ new/psutil-5.2.2/Makefile 2017-03-26 10:09:27.000000000 +0200 @@ -217,7 +217,6 @@ assert ver in history, '%r not in HISTORY.rst' % ver; \ assert 'XXXX' not in history; \ " - ${MAKE} setup-dev-env # mainly to update sphinx and install twine ${MAKE} win-download-exes $(PYTHON) setup.py sdist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/PKG-INFO new/psutil-5.2.2/PKG-INFO --- old/psutil-5.2.0/PKG-INFO 2017-03-05 05:48:57.000000000 +0100 +++ new/psutil-5.2.2/PKG-INFO 2017-04-10 19:19:30.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: psutil -Version: 5.2.0 +Version: 5.2.2 Summary: psutil is a cross-platform library for retrieving information onrunning processes and system utilization (CPU, memory, disks, network)in Python. Home-page: https://github.com/giampaolo/psutil Author: Giampaolo Rodola @@ -49,7 +49,7 @@ psutil (process and system utilities) is a cross-platform library for retrieving information on **running processes** and **system utilization** - (CPU, memory, disks, networkm sensors) in Python. + (CPU, memory, disks, network, sensors) in Python. It is useful mainly for **system monitoring**, **profiling and limiting process resources** and **management of running processes**. It implements many functionalities offered by command line tools such as: @@ -58,7 +58,7 @@ It currently supports **Linux**, **Windows**, **OSX**, **Sun Solaris**, **FreeBSD**, **OpenBSD** and **NetBSD**, both **32-bit** and **64-bit** architectures, with Python versions from **2.6 - to 3.5** (users of Python 2.4 and 2.5 may use + to 3.6** (users of Python 2.4 and 2.5 may use `2.1.3 <https://pypi.python.org/pypi?name=psutil&version=2.1.3&:action=files>`__ version). `PyPy <http://pypy.org/>`__ is also known to work. @@ -81,7 +81,7 @@ ===================== At the time of writing there are over - `4200 open source projects <https://libraries.io/pypi/psutil/dependent_repositories?page=1>`__ + `4900 open source projects <https://libraries.io/pypi/psutil/dependent_repositories?page=1>`__ on github which depend from psutil. Here's some I find particularly interesting: @@ -101,6 +101,7 @@ - Node: https://github.com/christkv/node-psutil - Rust: https://github.com/borntyping/rust-psutil - Ruby: https://github.com/spacewander/posixpsutil + - Nim: https://github.com/johnscillieri/psutil-nim ============== Example usages @@ -314,7 +315,7 @@ ...] >>> >>> p.io_counters() - pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632) + pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632, read_chars=456232, write_chars=517543) >>> >>> p.open_files() [popenfile(path='/home/giampaolo/svn/psutil/setup.py', fd=3, position=0, mode='r', flags=32768), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/README.rst new/psutil-5.2.2/README.rst --- old/psutil-5.2.0/README.rst 2017-02-14 11:33:49.000000000 +0100 +++ new/psutil-5.2.2/README.rst 2017-04-05 12:35:23.000000000 +0200 @@ -41,7 +41,7 @@ psutil (process and system utilities) is a cross-platform library for retrieving information on **running processes** and **system utilization** -(CPU, memory, disks, networkm sensors) in Python. +(CPU, memory, disks, network, sensors) in Python. It is useful mainly for **system monitoring**, **profiling and limiting process resources** and **management of running processes**. It implements many functionalities offered by command line tools such as: @@ -50,7 +50,7 @@ It currently supports **Linux**, **Windows**, **OSX**, **Sun Solaris**, **FreeBSD**, **OpenBSD** and **NetBSD**, both **32-bit** and **64-bit** architectures, with Python versions from **2.6 -to 3.5** (users of Python 2.4 and 2.5 may use +to 3.6** (users of Python 2.4 and 2.5 may use `2.1.3 <https://pypi.python.org/pypi?name=psutil&version=2.1.3&:action=files>`__ version). `PyPy <http://pypy.org/>`__ is also known to work. @@ -73,7 +73,7 @@ ===================== At the time of writing there are over -`4200 open source projects <https://libraries.io/pypi/psutil/dependent_repositories?page=1>`__ +`4900 open source projects <https://libraries.io/pypi/psutil/dependent_repositories?page=1>`__ on github which depend from psutil. Here's some I find particularly interesting: @@ -93,6 +93,7 @@ - Node: https://github.com/christkv/node-psutil - Rust: https://github.com/borntyping/rust-psutil - Ruby: https://github.com/spacewander/posixpsutil +- Nim: https://github.com/johnscillieri/psutil-nim ============== Example usages @@ -306,7 +307,7 @@ ...] >>> >>> p.io_counters() - pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632) + pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632, read_chars=456232, write_chars=517543) >>> >>> p.open_files() [popenfile(path='/home/giampaolo/svn/psutil/setup.py', fd=3, position=0, mode='r', flags=32768), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/docs/index.rst new/psutil-5.2.2/docs/index.rst --- old/psutil-5.2.0/docs/index.rst 2017-03-05 05:45:10.000000000 +0100 +++ new/psutil-5.2.2/docs/index.rst 2017-04-10 19:17:36.000000000 +0200 @@ -334,9 +334,9 @@ .. function:: disk_usage(path) - Return disk usage statistics about the given *path* as a named tuple including - **total**, **used** and **free** space expressed in bytes, plus the - **percentage** usage. + Return disk usage statistics about the partition which contains the given + *path* as a named tuple including **total**, **used** and **free** space + expressed in bytes, plus the **percentage** usage. `OSError <http://docs.python.org/3/library/exceptions.html#OSError>`__ is raised if *path* does not exist. Starting from `Python 3.3 <http://bugs.python.org/issue12442>`__ this is @@ -2189,6 +2189,9 @@ Timeline ======== +- 2017-04-17: `5.2.2 <https://pypi.python.org/pypi?name=psutil&version=5.2.2&:action=files>`__ - `what's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#522>`__ +- 2017-03-24: `5.2.1 <https://pypi.python.org/pypi?name=psutil&version=5.2.1&:action=files>`__ - `what's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#521>`__ +- 2017-03-05: `5.2.0 <https://pypi.python.org/pypi?name=psutil&version=5.2.0&:action=files>`__ - `what's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#520>`__ - 2017-02-07: `5.1.3 <https://pypi.python.org/pypi?name=psutil&version=5.1.3&:action=files>`__ - `what's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#513>`__ - 2017-02-03: `5.1.2 <https://pypi.python.org/pypi?name=psutil&version=5.1.2&:action=files>`__ - `what's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#512>`__ - 2017-02-03: `5.1.1 <https://pypi.python.org/pypi?name=psutil&version=5.1.1&:action=files>`__ - `what's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#511>`__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/__init__.py new/psutil-5.2.2/psutil/__init__.py --- old/psutil-5.2.0/psutil/__init__.py 2017-03-04 10:30:05.000000000 +0100 +++ new/psutil-5.2.2/psutil/__init__.py 2017-03-26 10:09:27.000000000 +0200 @@ -192,7 +192,7 @@ ] __all__.extend(_psplatform.__extra__all__) __author__ = "Giampaolo Rodola'" -__version__ = "5.2.0" +__version__ = "5.2.2" version_info = tuple([int(num) for num in __version__.split('.')]) AF_LINK = _psplatform.AF_LINK POWER_TIME_UNLIMITED = _common.POWER_TIME_UNLIMITED @@ -1898,7 +1898,7 @@ else: num_cpus = float(len(ret)) if num_cpus == 0: - return [] + return None elif num_cpus == 1: return ret[0] else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/_pslinux.py new/psutil-5.2.2/psutil/_pslinux.py --- old/psutil-5.2.0/psutil/_pslinux.py 2017-03-04 10:13:39.000000000 +0100 +++ new/psutil-5.2.2/psutil/_pslinux.py 2017-04-10 19:13:39.000000000 +0200 @@ -396,8 +396,12 @@ # returned by sysinfo(2); as such we assume they are always there. total = mems[b'MemTotal:'] free = mems[b'MemFree:'] - buffers = mems[b'Buffers:'] - + try: + buffers = mems[b'Buffers:'] + except KeyError: + # https://github.com/giampaolo/psutil/issues/1010 + buffers = 0 + missing_fields.append('buffers') try: cached = mems[b"Cached:"] except KeyError: @@ -636,8 +640,8 @@ ctx_switches, interrupts, soft_interrupts, syscalls) -if os.path.exists("/sys/devices/system/cpu/cpufreq"): - +if os.path.exists("/sys/devices/system/cpu/cpufreq") or \ + os.path.exists("/sys/devices/system/cpu/cpu0/cpufreq"): def cpu_freq(): """Return frequency metrics for all CPUs. Contrarily to other OSes, Linux updates these values in @@ -647,11 +651,17 @@ # http://unix.stackexchange.com/a/87537/168884 ret = [] ls = glob.glob("/sys/devices/system/cpu/cpufreq/policy*") - # Sort the list so that '10' comes after '2'. This should - # ensure the CPU order is consistent with other CPU functions - # having a 'percpu' argument and returning results for multiple - # CPUs (cpu_times(), cpu_percent(), cpu_times_percent()). - ls.sort(key=lambda x: int(os.path.basename(x)[6:])) + if ls: + # Sort the list so that '10' comes after '2'. This should + # ensure the CPU order is consistent with other CPU functions + # having a 'percpu' argument and returning results for multiple + # CPUs (cpu_times(), cpu_percent(), cpu_times_percent()). + ls.sort(key=lambda x: int(os.path.basename(x)[6:])) + else: + # https://github.com/giampaolo/psutil/issues/981 + ls = glob.glob("/sys/devices/system/cpu/cpu[0-9]*/cpufreq") + ls.sort(key=lambda x: int(re.search('[0-9]+', x).group(0))) + for path in ls: curr = int(cat(os.path.join(path, "scaling_cur_freq"))) / 1000 max_ = int(cat(os.path.join(path, "scaling_max_freq"))) / 1000 @@ -1097,19 +1107,27 @@ """ ret = collections.defaultdict(list) basenames = glob.glob('/sys/class/hwmon/hwmon*/temp*_*') - if not basenames: - # CentOS has an intermediate /device directory: - # https://github.com/giampaolo/psutil/issues/971 - basenames = glob.glob('/sys/class/hwmon/hwmon*/device/temp*_*') - + # CentOS has an intermediate /device directory: + # https://github.com/giampaolo/psutil/issues/971 + # https://github.com/nicolargo/glances/issues/1060 + basenames.extend(glob.glob('/sys/class/hwmon/hwmon*/device/temp*_*')) basenames = sorted(set([x.split('_')[0] for x in basenames])) + for base in basenames: unit_name = cat(os.path.join(os.path.dirname(base), 'name'), binary=False) - label = cat(base + '_label', fallback='', binary=False) - current = float(cat(base + '_input')) / 1000.0 high = cat(base + '_max', fallback=None) critical = cat(base + '_crit', fallback=None) + label = cat(base + '_label', fallback='', binary=False) + try: + current = float(cat(base + '_input')) / 1000.0 + except OSError as err: + # https://github.com/giampaolo/psutil/issues/1009 + if err.errno == errno.EIO: + warnings.warn("ignoring %r" % err, RuntimeWarning) + continue + else: + raise if high is not None: high = float(high) / 1000.0 @@ -1442,8 +1460,13 @@ fields = {} with open_binary(fname) as f: for line in f: - name, value = line.split(b': ') - fields[name] = int(value) + # https://github.com/giampaolo/psutil/issues/1004 + line = line.strip() + if line: + name, value = line.split(b': ') + fields[name] = int(value) + if not fields: + raise RuntimeError("%s file was empty" % fname) return pio( fields[b'syscr'], # read syscalls fields[b'syscw'], # write syscalls diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/_psutil_sunos.c new/psutil-5.2.2/psutil/_psutil_sunos.c --- old/psutil-5.2.0/psutil/_psutil_sunos.c 2017-02-13 18:26:37.000000000 +0100 +++ new/psutil-5.2.2/psutil/_psutil_sunos.c 2017-03-28 21:04:06.000000000 +0200 @@ -713,9 +713,7 @@ sprintf(perms, "%c%c%c%c%c%c", p->pr_mflags & MA_READ ? 'r' : '-', p->pr_mflags & MA_WRITE ? 'w' : '-', p->pr_mflags & MA_EXEC ? 'x' : '-', - p->pr_mflags & MA_SHARED ? 's' : '-', - p->pr_mflags & MA_NORESERVE ? 'R' : '-', - p->pr_mflags & MA_RESERVED1 ? '*' : ' '); + p->pr_mflags & MA_SHARED ? 's' : '-'); // name if (strlen(p->pr_mapname) > 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/_psutil_windows.c new/psutil-5.2.2/psutil/_psutil_windows.c --- old/psutil-5.2.0/psutil/_psutil_windows.c 2017-03-04 06:57:29.000000000 +0100 +++ new/psutil-5.2.2/psutil/_psutil_windows.c 2017-03-26 10:09:27.000000000 +0200 @@ -2873,6 +2873,7 @@ LPVOID maxAddr; PyObject *py_retlist = PyList_New(0); PyObject *py_tuple = NULL; + PyObject *py_str = NULL; if (py_retlist == NULL) return NULL; @@ -2896,17 +2897,28 @@ if (GetMappedFileNameA(hProcess, baseAddress, mappedFileName, sizeof(mappedFileName))) { + +#if PY_MAJOR_VERSION >= 3 + py_str = PyUnicode_Decode( + mappedFileName, _tcslen(mappedFileName), + Py_FileSystemDefaultEncoding, "surrogateescape"); +#else + py_str = Py_BuildValue("s", mappedFileName); +#endif + if (py_str == NULL) + goto error; + #ifdef _WIN64 py_tuple = Py_BuildValue( - "(KssI)", + "(KsOI)", (unsigned long long)baseAddress, #else py_tuple = Py_BuildValue( - "(kssI)", + "(ksOI)", (unsigned long)baseAddress, #endif get_region_protection_string(basicInfo.Protect), - mappedFileName, + py_str, basicInfo.RegionSize); if (!py_tuple) @@ -2924,6 +2936,7 @@ error: Py_XDECREF(py_tuple); + Py_XDECREF(py_str); Py_DECREF(py_retlist); if (hProcess != NULL) CloseHandle(hProcess); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/arch/bsd/freebsd.c new/psutil-5.2.2/psutil/arch/bsd/freebsd.c --- old/psutil-5.2.0/psutil/arch/bsd/freebsd.c 2017-02-13 18:26:37.000000000 +0100 +++ new/psutil-5.2.2/psutil/arch/bsd/freebsd.c 2017-03-26 10:09:27.000000000 +0200 @@ -468,8 +468,9 @@ goto error; if (sysctlbyname("vm.stats.vm.v_wire_count", &wired, &size, NULL, 0)) goto error; + // https://github.com/giampaolo/psutil/issues/997 if (sysctlbyname("vm.stats.vm.v_cache_count", &cached, &size, NULL, 0)) - goto error; + cached = 0; if (sysctlbyname("vm.stats.vm.v_free_count", &free, &size, NULL, 0)) goto error; if (sysctlbyname("vfs.bufspace", &buffers, &buffers_size, NULL, 0)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/tests/test_linux.py new/psutil-5.2.2/psutil/tests/test_linux.py --- old/psutil-5.2.0/psutil/tests/test_linux.py 2017-03-04 10:17:11.000000000 +0100 +++ new/psutil-5.2.2/psutil/tests/test_linux.py 2017-04-09 17:39:12.000000000 +0200 @@ -10,6 +10,7 @@ import collections import contextlib import errno +import glob import io import os import pprint @@ -171,6 +172,7 @@ free_value, psutil_value, delta=MEMORY_TOLERANCE, msg='%s %s \n%s' % (free_value, psutil_value, free.output)) + @unittest.skipIf(TRAVIS, "unreliable on TRAVIS") @retry_before_failing() def test_free(self): # _, _, free_value, _ = free_physmem() @@ -536,6 +538,28 @@ self.assertIsNone(psutil._pslinux.cpu_count_physical()) assert m.called + def test_cpu_freq_no_result(self): + with mock.patch("psutil._pslinux.glob.glob", return_value=[]): + self.assertIsNone(psutil.cpu_freq()) + + @unittest.skipIf(TRAVIS, "fails on Travis") + def test_cpu_freq_use_second_file(self): + # https://github.com/giampaolo/psutil/issues/981 + def glob_mock(pattern): + if pattern.startswith("/sys/devices/system/cpu/cpufreq/policy"): + flags.append(None) + return [] + else: + flags.append(None) + return orig_glob(pattern) + + flags = [] + orig_glob = glob.glob + with mock.patch("psutil._pslinux.glob.glob", side_effect=glob_mock, + create=True): + assert psutil.cpu_freq() + self.assertEqual(len(flags), 2) + # ===================================================================== # --- system CPU stats @@ -1043,7 +1067,10 @@ out = sh("acpi -b") if 'unknown' in out.lower(): return unittest.skip("acpi output not reliable") - plugged = "Charging" in out.split('\n')[0] + if 'discharging at zero rate' in out: + plugged = True + else: + plugged = "Charging" in out.split('\n')[0] self.assertEqual(psutil.sensors_battery().power_plugged, plugged) def test_emulate_power_plugged(self): @@ -1174,6 +1201,26 @@ assert m.called +@unittest.skipUnless(LINUX, "LINUX only") +class TestSensorsTemperatures(unittest.TestCase): + + @unittest.skipIf(TRAVIS, "unreliable on TRAVIS") + def test_emulate_eio_error(self): + def open_mock(name, *args, **kwargs): + if name.endswith("_input"): + raise OSError(errno.EIO, "") + else: + return orig_open(name, *args, **kwargs) + + orig_open = open + patch_point = 'builtins.open' if PY3 else '__builtin__.open' + with mock.patch(patch_point, side_effect=open_mock) as m: + with warnings.catch_warnings(record=True) as ws: + self.assertEqual(psutil.sensors_temperatures(), {}) + assert m.called + self.assertIn("ignoring", str(ws[0].message)) + + # ===================================================================== # --- test process # ===================================================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil/tests/test_process.py new/psutil-5.2.2/psutil/tests/test_process.py --- old/psutil-5.2.0/psutil/tests/test_process.py 2017-03-04 06:57:29.000000000 +0100 +++ new/psutil-5.2.2/psutil/tests/test_process.py 2017-03-26 13:34:00.000000000 +0200 @@ -360,6 +360,9 @@ # sanity check for i in range(len(io2)): + if BSD and i >= 2: + # On BSD read_bytes and write_bytes are always set to -1. + continue self.assertGreaterEqual(io2[i], 0) self.assertGreaterEqual(io2[i], 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil.egg-info/PKG-INFO new/psutil-5.2.2/psutil.egg-info/PKG-INFO --- old/psutil-5.2.0/psutil.egg-info/PKG-INFO 2017-03-05 05:48:56.000000000 +0100 +++ new/psutil-5.2.2/psutil.egg-info/PKG-INFO 2017-04-10 19:19:30.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: psutil -Version: 5.2.0 +Version: 5.2.2 Summary: psutil is a cross-platform library for retrieving information onrunning processes and system utilization (CPU, memory, disks, network)in Python. Home-page: https://github.com/giampaolo/psutil Author: Giampaolo Rodola @@ -49,7 +49,7 @@ psutil (process and system utilities) is a cross-platform library for retrieving information on **running processes** and **system utilization** - (CPU, memory, disks, networkm sensors) in Python. + (CPU, memory, disks, network, sensors) in Python. It is useful mainly for **system monitoring**, **profiling and limiting process resources** and **management of running processes**. It implements many functionalities offered by command line tools such as: @@ -58,7 +58,7 @@ It currently supports **Linux**, **Windows**, **OSX**, **Sun Solaris**, **FreeBSD**, **OpenBSD** and **NetBSD**, both **32-bit** and **64-bit** architectures, with Python versions from **2.6 - to 3.5** (users of Python 2.4 and 2.5 may use + to 3.6** (users of Python 2.4 and 2.5 may use `2.1.3 <https://pypi.python.org/pypi?name=psutil&version=2.1.3&:action=files>`__ version). `PyPy <http://pypy.org/>`__ is also known to work. @@ -81,7 +81,7 @@ ===================== At the time of writing there are over - `4200 open source projects <https://libraries.io/pypi/psutil/dependent_repositories?page=1>`__ + `4900 open source projects <https://libraries.io/pypi/psutil/dependent_repositories?page=1>`__ on github which depend from psutil. Here's some I find particularly interesting: @@ -101,6 +101,7 @@ - Node: https://github.com/christkv/node-psutil - Rust: https://github.com/borntyping/rust-psutil - Ruby: https://github.com/spacewander/posixpsutil + - Nim: https://github.com/johnscillieri/psutil-nim ============== Example usages @@ -314,7 +315,7 @@ ...] >>> >>> p.io_counters() - pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632) + pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632, read_chars=456232, write_chars=517543) >>> >>> p.open_files() [popenfile(path='/home/giampaolo/svn/psutil/setup.py', fd=3, position=0, mode='r', flags=32768), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil.egg-info/SOURCES.txt new/psutil-5.2.2/psutil.egg-info/SOURCES.txt --- old/psutil-5.2.0/psutil.egg-info/SOURCES.txt 2017-03-05 05:48:56.000000000 +0100 +++ new/psutil-5.2.2/psutil.egg-info/SOURCES.txt 2017-04-10 19:19:30.000000000 +0200 @@ -45,6 +45,7 @@ psutil.egg-info/PKG-INFO psutil.egg-info/SOURCES.txt psutil.egg-info/dependency_links.txt +psutil.egg-info/not-zip-safe psutil.egg-info/top_level.txt psutil/arch/bsd/freebsd.c psutil/arch/bsd/freebsd.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/psutil.egg-info/not-zip-safe new/psutil-5.2.2/psutil.egg-info/not-zip-safe --- old/psutil-5.2.0/psutil.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100 +++ new/psutil-5.2.2/psutil.egg-info/not-zip-safe 2017-04-10 19:17:48.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/scripts/sensors.py new/psutil-5.2.2/scripts/sensors.py --- old/psutil-5.2.0/scripts/sensors.py 2017-03-05 05:48:13.000000000 +0100 +++ new/psutil-5.2.2/scripts/sensors.py 2017-04-08 12:38:13.000000000 +0200 @@ -58,7 +58,7 @@ if not any((temps, fans, battery)): return sys.exit("can't read any temperature, fans or battery info") - names = set(temps.keys() + fans.keys()) + names = set(list(temps.keys()) + list(fans.keys())) for name in names: print(name) # Temperatures. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psutil-5.2.0/setup.py new/psutil-5.2.2/setup.py --- old/psutil-5.2.0/setup.py 2017-02-13 18:26:37.000000000 +0100 +++ new/psutil-5.2.2/setup.py 2017-03-26 10:09:27.000000000 +0200 @@ -272,6 +272,7 @@ ext_modules=extensions, test_suite="psutil.tests.runner.get_suite", tests_require=['ipaddress', 'mock', 'unittest2'], + zip_safe=False, # http://stackoverflow.com/questions/19548957 # see: python setup.py register --list-classifiers classifiers=[ 'Development Status :: 5 - Production/Stable',