2021-05-28T11:51:37,836 Created temporary directory: /tmp/pip-ephem-wheel-cache-ae8s60i2 2021-05-28T11:51:37,840 Created temporary directory: /tmp/pip-req-tracker-ildazn4f 2021-05-28T11:51:37,841 Initialized build tracking at /tmp/pip-req-tracker-ildazn4f 2021-05-28T11:51:37,841 Created build tracker: /tmp/pip-req-tracker-ildazn4f 2021-05-28T11:51:37,842 Entered build tracker: /tmp/pip-req-tracker-ildazn4f 2021-05-28T11:51:37,843 Created temporary directory: /tmp/pip-wheel-hh8cdx_y 2021-05-28T11:51:37,880 1 location(s) to search for versions of vsc-install: 2021-05-28T11:51:37,880 * https://pypi.org/simple/vsc-install/ 2021-05-28T11:51:37,881 Fetching project page and analyzing links: https://pypi.org/simple/vsc-install/ 2021-05-28T11:51:37,881 Getting page https://pypi.org/simple/vsc-install/ 2021-05-28T11:51:37,883 Found index url https://pypi.org/simple 2021-05-28T11:51:38,024 Found link https://files.pythonhosted.org/packages/bf/fd/c157ef76d4cef527610493b2784ebed9697ece3546f513e732eead1c394d/vsc-install-0.9.3.tar.gz#sha256=ebbc5a389be3220f2aff06a699093d2a23bd155be5a6cac579d035923f4b3eab (from https://pypi.org/simple/vsc-install/), version: 0.9.3 2021-05-28T11:51:38,024 Found link https://files.pythonhosted.org/packages/54/37/024b515060dedee2f26f5dc2b85a52a89ae445658cb527b1a5c3cd9bac87/vsc-install-0.9.6.tar.gz#sha256=0fe0da409ce20d89572b65809f7214e328fe0ce2a903afa55e0a491a231a1df1 (from https://pypi.org/simple/vsc-install/), version: 0.9.6 2021-05-28T11:51:38,025 Found link https://files.pythonhosted.org/packages/1f/03/14ac4518bb4912bf2974c03f2ae570b9caf0aa81ce7696860bde93dede27/vsc-install-0.9.12.tar.gz#sha256=75f819946724d45ccd82ff6083b3c3e4d98922676657efc9469f8f06a9ab3e33 (from https://pypi.org/simple/vsc-install/), version: 0.9.12 2021-05-28T11:51:38,025 Found link https://files.pythonhosted.org/packages/77/ac/6ba45999c334b45f27bf6a1b605a43e60bfaac1d1ae0f4aa033482596224/vsc-install-0.9.18.tar.gz#sha256=3320bd4c78cfb2449e54a05e8164107493fc78df0fb934091c0a8ea90c350b6a (from https://pypi.org/simple/vsc-install/), version: 0.9.18 2021-05-28T11:51:38,025 Found link https://files.pythonhosted.org/packages/64/ff/d06467131a36bad417f420b7395261f1081163933a86a2ca5a97f2a1e5f1/vsc-install-0.9.19.tar.gz#sha256=0c9b24edcd850b06f3db1a608904d55018d42f5059e3ff59ad29aa40f9fd0e20 (from https://pypi.org/simple/vsc-install/), version: 0.9.19 2021-05-28T11:51:38,026 Found link https://files.pythonhosted.org/packages/43/a8/4ee40e8f4ac74107e5a56748ee6ea32bc5e73f521ccf04808fdd017ada6b/vsc-install-0.9.21.tar.gz#sha256=8e974831052252298a27401ce85c0dacf3c2daca49cb7f141cbe18e98da91ec2 (from https://pypi.org/simple/vsc-install/), version: 0.9.21 2021-05-28T11:51:38,026 Found link https://files.pythonhosted.org/packages/ab/59/51dbad508d4b441f9c21772f0e5ef8fc4f85ac292429091a930a26820105/vsc-install-0.10.2.tar.gz#sha256=c716621f262f44acd62ba0d20ef7f0ba760466df83eb7ec9fa4197d9ebfc293a (from https://pypi.org/simple/vsc-install/), version: 0.10.2 2021-05-28T11:51:38,026 Found link https://files.pythonhosted.org/packages/18/7a/c983e61bb91687ad74faab0edd7471b5e78f12cf3c71087581eedc6dd9e5/vsc-install-0.10.6.tar.gz#sha256=f101729ed6a11fb4c971e1fe19dceaf3782c0d7c9aa8c54b27ef3ba4660860f2 (from https://pypi.org/simple/vsc-install/), version: 0.10.6 2021-05-28T11:51:38,026 Found link https://files.pythonhosted.org/packages/9a/35/60ed9238f7c2154176a09330019011b2ec161bc048540e795c611bd52ae2/vsc-install-0.10.9.tar.gz#sha256=90f2c094b533ac6a99bb40900503e7da8c2e4d2fc8515057f0bbf3f570362461 (from https://pypi.org/simple/vsc-install/), version: 0.10.9 2021-05-28T11:51:38,027 Found link https://files.pythonhosted.org/packages/36/f3/37e94174235e5ec5ae6433891f9d1a32f8bc2f8daf16dc8d179dd92a2dfe/vsc-install-0.10.10.tar.gz#sha256=05e0c34fccd5ab82bcffe394c074d795c232c1735213739644852b319f61b93c (from https://pypi.org/simple/vsc-install/), version: 0.10.10 2021-05-28T11:51:38,027 Found link https://files.pythonhosted.org/packages/03/d0/291da76d7da921cf8e70dd7db79b0838e0f633655e8f2dd06093d99ce851/vsc-install-0.10.11.tar.gz#sha256=1938df49acf8de0b5b5b6c4e4362bef031f3b4359123a2b6a03e2b42e7f1ed21 (from https://pypi.org/simple/vsc-install/), version: 0.10.11 2021-05-28T11:51:38,027 Found link https://files.pythonhosted.org/packages/44/b6/ebbb5d29d81dd131e2b13f0e1026474f1b95a52e0072e88954809a017072/vsc-install-0.10.13.tar.gz#sha256=41ad822f53c282894d5b9215cc9f9903b9ef928b3070f260646d978a7f0d2829 (from https://pypi.org/simple/vsc-install/), version: 0.10.13 2021-05-28T11:51:38,028 Found link https://files.pythonhosted.org/packages/0e/83/4ed8215c5b27ba4ee4a6da3d43ce9579b67c5fe7a91f33f48991f878db13/vsc-install-0.10.15.tar.gz#sha256=ad9d2127fba527e4fa8c91882c7fbc09531dfbb8b22c8f22f59f13022c526bc6 (from https://pypi.org/simple/vsc-install/), version: 0.10.15 2021-05-28T11:51:38,028 Found link https://files.pythonhosted.org/packages/75/80/7ab6b2d9e93b19b6aac4c1b700a99e5898a11da49fc439c4b8fc861375d1/vsc-install-0.10.17.tar.gz#sha256=71498db975015a2b2c6a977bb9e80964a0573b960023ac8070b429c02a4ef57f (from https://pypi.org/simple/vsc-install/), version: 0.10.17 2021-05-28T11:51:38,028 Found link https://files.pythonhosted.org/packages/4a/1c/abb1bcd09523a7c9d52e2703f67dec4807751674c13be17e89a7602677b0/vsc-install-0.10.19.tar.gz#sha256=e7cabe1a8f39663a70b09619c0fa5a81ead9294e99837c17628608159c721ef2 (from https://pypi.org/simple/vsc-install/), version: 0.10.19 2021-05-28T11:51:38,029 Found link https://files.pythonhosted.org/packages/9c/fa/648c7484cef36f752a41f7a3d8ef1db7ed7741b0440eae87694b7de835ae/vsc-install-0.10.20.tar.gz#sha256=63c6b5268c1287c2161d802991ff6c0fac8884ace97c62da7d3f6e390a64dc39 (from https://pypi.org/simple/vsc-install/), version: 0.10.20 2021-05-28T11:51:38,029 Found link https://files.pythonhosted.org/packages/aa/d9/7dc5b88a5644975683b4df1d0a16be90f6af4598528aa68dba27f7f3c532/vsc-install-0.10.21.tar.gz#sha256=87241e60ea64d98006c5aac33f69db82521afb3e19a4b1e0cb3d241782ebe212 (from https://pypi.org/simple/vsc-install/), version: 0.10.21 2021-05-28T11:51:38,029 Found link https://files.pythonhosted.org/packages/94/54/611cb71c61aae9833ee87e7d86768e9a86b411afe9f608c15e267fe7a986/vsc-install-0.10.22.tar.gz#sha256=c128c98dd173c9a0d52e1e6c228a4aff6ed4fe20cd244acf72abf08ae198f430 (from https://pypi.org/simple/vsc-install/), version: 0.10.22 2021-05-28T11:51:38,029 Found link https://files.pythonhosted.org/packages/01/90/8edf6ca2d9185fe1512f7da91eceeca3122daeafced7289beaf144dbabef/vsc-install-0.10.23.tar.gz#sha256=99511d09bc333b2cb56640e3103f7e8e2ae9f60971cda0325f8e51117db40ad4 (from https://pypi.org/simple/vsc-install/), version: 0.10.23 2021-05-28T11:51:38,030 Found link https://files.pythonhosted.org/packages/1c/9d/ab7d449602c7053b4fec37b555b491da0ed06ac8cb1672b6edade4f37a75/vsc-install-0.10.24.tar.gz#sha256=01eb5cdad16bd4be4959eb6da49bd1200cffd7963b87a5c5b392bc59099818cf (from https://pypi.org/simple/vsc-install/), version: 0.10.24 2021-05-28T11:51:38,030 Found link https://files.pythonhosted.org/packages/ef/c7/640c6d791ba452321c0d1371b6626486bb495e0645bb896d33c78a09f810/vsc-install-0.10.25.tar.gz#sha256=744fa52b45577251d94e9298ecb115afd295f2530eba64c524f469b5e283f19c (from https://pypi.org/simple/vsc-install/), version: 0.10.25 2021-05-28T11:51:38,030 Found link https://files.pythonhosted.org/packages/82/ec/19d85d2bb91b562195d00db9ac82d7529904e7eabc0597720966bf74714f/vsc-install-0.10.26.tar.gz#sha256=f97b5ca8b171964c12347e5b814ae5266698f5ea134056f04ff752a1eb562f30 (from https://pypi.org/simple/vsc-install/), version: 0.10.26 2021-05-28T11:51:38,031 Found link https://files.pythonhosted.org/packages/a4/ef/eb43a154161abb736b596b22494dc40710a81242920222ca7252a816c9ff/vsc-install-0.10.27.tar.gz#sha256=1b152fcd494a72b24d575beece209c3018833a909aa8842267c6f56183872624 (from https://pypi.org/simple/vsc-install/), version: 0.10.27 2021-05-28T11:51:38,031 Found link https://files.pythonhosted.org/packages/37/4b/ff6409ac33f0440e47b940efa027423e38551618a10199b39022652f2c46/vsc-install-0.10.29.tar.gz#sha256=af87b05fb1f05cac82268884ed8c71c05bac6b3913544ae21750e700b691d901 (from https://pypi.org/simple/vsc-install/), version: 0.10.29 2021-05-28T11:51:38,031 Found link https://files.pythonhosted.org/packages/7a/8c/c67e08a05b6585604f56cebc41158a8d5f070a97596d1ead2732a5fbe03f/vsc-install-0.10.31.tar.gz#sha256=b8478624e4758ea7e1f449f67f0ff33b40deb23b1eee071d198a12cc8c748b79 (from https://pypi.org/simple/vsc-install/), version: 0.10.31 2021-05-28T11:51:38,032 Found link https://files.pythonhosted.org/packages/5d/ca/1c41be2964be1355e15b4a88c7eef11c13c621220e27b69b2686c23cace2/vsc-install-0.10.32.tar.gz#sha256=56f614328451d924aeb9ece0b53552b1f3c247d723e741794aa201762af61b64 (from https://pypi.org/simple/vsc-install/), version: 0.10.32 2021-05-28T11:51:38,032 Found link https://files.pythonhosted.org/packages/81/21/7c4e9359f740b223e57c77c5757136bfb98c9f3c66b53d84c3c136c9995d/vsc-install-0.11.0.tar.gz#sha256=fa080cde728f8cc672a5751e5ac28177e8ffe7f388028813f7bc880c8831451e (from https://pypi.org/simple/vsc-install/), version: 0.11.0 2021-05-28T11:51:38,032 Found link https://files.pythonhosted.org/packages/b5/2d/ba03794a9f710f5c65d0a6d296f099cd68581c9a6f78c1de2268da18fdb0/vsc-install-0.11.1.tar.gz#sha256=afbec5532f9f692c49fbefe8656975547b515eb8eb01c6ba8b85dd7af07cc1f4 (from https://pypi.org/simple/vsc-install/), version: 0.11.1 2021-05-28T11:51:38,033 Found link https://files.pythonhosted.org/packages/b6/03/becd813f5c4e8890254c79db8d2558b658f5a3ab52157bc0c077c6c9beea/vsc-install-0.11.2.tar.gz#sha256=c03ce30a54cc5be53acc55addb027d67be58386bebdd9d2274ed6429b1fc0512 (from https://pypi.org/simple/vsc-install/), version: 0.11.2 2021-05-28T11:51:38,033 Found link https://files.pythonhosted.org/packages/18/59/3274a58af6af84a87f7655735b452c06c769586ee73954f5ee15d303aa29/vsc-install-0.11.3.tar.gz#sha256=8b102ba585863769d974ad117764039ac3cea21372a3baa5cdb6b93166673ad6 (from https://pypi.org/simple/vsc-install/), version: 0.11.3 2021-05-28T11:51:38,033 Found link https://files.pythonhosted.org/packages/a5/55/584f437f785d4c2cff1cbe17f5f835c12a296f0b48f892aefa37bb5573f4/vsc-install-0.11.4.tar.gz#sha256=265089fd1f28116d82cb28b753cfca64597a75ffa0d6347daadc47bd108c8159 (from https://pypi.org/simple/vsc-install/), version: 0.11.4 2021-05-28T11:51:38,033 Found link https://files.pythonhosted.org/packages/51/80/a6761298902c4bffab4d96415092fb744fb9be1405140b39d0c442452905/vsc-install-0.11.5.tar.gz#sha256=0af9608ba374124a97e3297e5b2fc38d6b618e59de70594757e3efb6107c856c (from https://pypi.org/simple/vsc-install/), version: 0.11.5 2021-05-28T11:51:38,034 Found link https://files.pythonhosted.org/packages/48/d3/c8939fbfd072236d22a82b1e578dd8d1bd2f960ca2577ee2c17b52a6eca2/vsc-install-0.11.6.tar.gz#sha256=b1c5fc63663d5a8d65160d644eee04a61599baae104fd9149b2839c3e9d275ae (from https://pypi.org/simple/vsc-install/), version: 0.11.6 2021-05-28T11:51:38,034 Found link https://files.pythonhosted.org/packages/55/a4/0f4cec1f97273200f83d98be443cedbd18d762e628fa9dcd57caa100a750/vsc-install-0.11.7.tar.gz#sha256=9e6988ff16a73e60aa6b565bf865c08e17ab5390f4f29b199550fba82ec8cf95 (from https://pypi.org/simple/vsc-install/), version: 0.11.7 2021-05-28T11:51:38,034 Found link https://files.pythonhosted.org/packages/3a/c1/d6b482b536b7e063f222b1fc468a85ddbdfc3f76ebee57ee166427e15701/vsc-install-0.12.1.tar.gz#sha256=f0e9e26ffc1d0fe4e0cbc02b1452c8a34d19f55e080b3988c33e6babb1d87a04 (from https://pypi.org/simple/vsc-install/), version: 0.12.1 2021-05-28T11:51:38,035 Found link https://files.pythonhosted.org/packages/d1/63/3de47fb689d4b051457eafd9b9737211689de5db3b03c6ff981f9ff9a3e6/vsc-install-0.12.2.tar.gz#sha256=bdaf6e737aba65d71905db17500aadbc91621fef73f8503129299d06a992b6a6 (from https://pypi.org/simple/vsc-install/), version: 0.12.2 2021-05-28T11:51:38,035 Found link https://files.pythonhosted.org/packages/74/87/bb828f566ee3e0b58ab04e000722c1eb98884e7b96afd965a82321d8f805/vsc-install-0.12.3.tar.gz#sha256=d225a58b9fb60af334015a64801e01a07535eb3f8089165d9967a67b0f21fa62 (from https://pypi.org/simple/vsc-install/), version: 0.12.3 2021-05-28T11:51:38,035 Found link https://files.pythonhosted.org/packages/43/db/7944408c0ea9414662c8d1c948f153da88c4c2eca50556b787af5fbf0b55/vsc-install-0.12.4.tar.gz#sha256=e07e20561daaf0baf3a0f54d9cd9dcc0dfc12bd278313647fbfdc28708d1d55d (from https://pypi.org/simple/vsc-install/), version: 0.12.4 2021-05-28T11:51:38,036 Found link https://files.pythonhosted.org/packages/43/82/26c2cdbe47d5ae1f2da6376a730921d3743a0eb1848bdf6cf4748b31f52a/vsc-install-0.12.7.tar.gz#sha256=f1d0796aa6201c0d7e1c6bde591153be1b8bde2f04860494272432c1d30f18f5 (from https://pypi.org/simple/vsc-install/), version: 0.12.7 2021-05-28T11:51:38,036 Found link https://files.pythonhosted.org/packages/3e/de/e23aa0a85cbbaa46d7c579cfdbe594791951b5bd404deac07d0261598d23/vsc-install-0.12.8.tar.gz#sha256=e57ced8d063ea4062d32633dc9f14df23616270c27bc40da56540a75090a9b79 (from https://pypi.org/simple/vsc-install/), version: 0.12.8 2021-05-28T11:51:38,036 Found link https://files.pythonhosted.org/packages/0d/2d/6736e46558a3428395d0a88013933390480c468ff32a3f4f130919974505/vsc-install-0.12.9.tar.gz#sha256=495a8c27a5dd66b4c31dfbe87cb173cd16dfb91a2445296cb209c3e30945f91f (from https://pypi.org/simple/vsc-install/), version: 0.12.9 2021-05-28T11:51:38,036 Found link https://files.pythonhosted.org/packages/e5/ce/63986820c6a72dea24aaf3507a12b9e45f106fc87af56502ed7026d063f5/vsc-install-0.12.12.tar.gz#sha256=75c20bbdd5017922b4075551324ffa4c66d9d9e81b4a00f2204e2ceb6ee841eb (from https://pypi.org/simple/vsc-install/), version: 0.12.12 2021-05-28T11:51:38,037 Found link https://files.pythonhosted.org/packages/9a/6d/5937d8e077bc4989d18803a0a0c27055004da74e8c0090a3d50c6c4e2269/vsc-install-0.13.1.tar.gz#sha256=8889c2dc52b471535ae8685445617ca0b0dd6d718e20121d26be4d99028a51aa (from https://pypi.org/simple/vsc-install/), version: 0.13.1 2021-05-28T11:51:38,037 Found link https://files.pythonhosted.org/packages/e0/7d/d60905c5d3614ffad04b869b72c95919610b9ac424bd7b4d690d8ca51569/vsc-install-0.13.2.tar.gz#sha256=c84b861933f825f246f320c4746828699577485a6485cd79ae9ba5a534232e96 (from https://pypi.org/simple/vsc-install/), version: 0.13.2 2021-05-28T11:51:38,037 Found link https://files.pythonhosted.org/packages/23/53/754f0e84de266aff3bd74e658fa10a99a9d57bfc1b3d21883bd5360e4da8/vsc-install-0.13.3.tar.gz#sha256=4a684b02b7ded1707f73edc0d533d65e5d5e1e3f3971ef2884b8f5a84d84fbd9 (from https://pypi.org/simple/vsc-install/), version: 0.13.3 2021-05-28T11:51:38,038 Found link https://files.pythonhosted.org/packages/03/ad/ce7c68c85c781319f8576637bba4b97a71a98ad419ba5a689caaff466df8/vsc-install-0.13.4.tar.gz#sha256=690a878a22d453ebe144e74ba3e1b6f22682bce2aa64a82773cff393e2a3fb6d (from https://pypi.org/simple/vsc-install/), version: 0.13.4 2021-05-28T11:51:38,038 Found link https://files.pythonhosted.org/packages/53/a9/2717083cb459145d1b16058d6e1a915eb5acedc2e17b30c3c29122570572/vsc-install-0.13.5.tar.gz#sha256=7a6e135cf76dbd42ac2963a92540a38a7f7e1a6980ca16e2dee04d410bd0f864 (from https://pypi.org/simple/vsc-install/), version: 0.13.5 2021-05-28T11:51:38,038 Found link https://files.pythonhosted.org/packages/41/64/114a86f9750643fd5d3d9521c0d7adcb750b0cb67da1a36d4141b08ce8c0/vsc-install-0.13.6.tar.gz#sha256=bddbbb474f55d5d7be117ba8a9f63d3c8b2fbd7097a7744f35c625020ac26200 (from https://pypi.org/simple/vsc-install/), version: 0.13.6 2021-05-28T11:51:38,038 Found link https://files.pythonhosted.org/packages/68/56/88084429893df21159ed5e5be60d960146c4ef713d77144699b381bc47d0/vsc-install-0.14.0.tar.gz#sha256=a0f068f86f4f1b8b09cfe595a43be31cab233a62c2c9dca8b6b04eba85d7ccc3 (from https://pypi.org/simple/vsc-install/), version: 0.14.0 2021-05-28T11:51:38,039 Found link https://files.pythonhosted.org/packages/55/00/a08012936d28f8742017a10810846bab8f2d475dde460932cf4d0b6cf54a/vsc-install-0.14.2.tar.gz#sha256=d0d4f9757a857a219d899137c25979621e884ba26b4b88d65a9e28a622d24edb (from https://pypi.org/simple/vsc-install/), version: 0.14.2 2021-05-28T11:51:38,039 Found link https://files.pythonhosted.org/packages/e8/b1/a9c59f1ecb09a47d994e86e8c6a116f83052a2c6a05b6526f304ed3d5be2/vsc-install-0.14.3.tar.gz#sha256=86da7a7d550de4bea9115bfd7df333f2edd26576d75e9095cfa1c8fa7a2c1567 (from https://pypi.org/simple/vsc-install/), version: 0.14.3 2021-05-28T11:51:38,039 Found link https://files.pythonhosted.org/packages/8c/38/5fb7f2f2f341affe2fd042e5b3a50952673c3fdd3fbfc7cf0a4aea41a0a5/vsc-install-0.14.4.tar.gz#sha256=99987dc605a904d679889f23b93cdb6af6908c9081e804810c3bf893275598f9 (from https://pypi.org/simple/vsc-install/), version: 0.14.4 2021-05-28T11:51:38,040 Found link https://files.pythonhosted.org/packages/ce/44/c4f6b36f6221d33d045621b005b8474c8b4ce39a42f3c5f205db689998d8/vsc-install-0.14.5.tar.gz#sha256=157e3378ed51ad11e1b714e672bfada234a56e712f7348c6c81daec7265e75cc (from https://pypi.org/simple/vsc-install/), version: 0.14.5 2021-05-28T11:51:38,040 Found link https://files.pythonhosted.org/packages/38/0f/17a8bdc7382d7b7b4639632e3ffc3724919515e2e6a82bca625e72187f48/vsc-install-0.14.8.tar.gz#sha256=ecb57c16ff0c5ce21328630c3fe02adc6441b8ca8434819b3899456d46ef8942 (from https://pypi.org/simple/vsc-install/), version: 0.14.8 2021-05-28T11:51:38,040 Found link https://files.pythonhosted.org/packages/15/0a/8e89ae5fdaea925024751b4034692805a5fc73f917d2e10b2f353bdc2eac/vsc-install-0.14.9.tar.gz#sha256=67256c0b945b9492934f99874e4b56d374a3bbe34ca28bf12e7e4eba20a5f40c (from https://pypi.org/simple/vsc-install/), version: 0.14.9 2021-05-28T11:51:38,040 Found link https://files.pythonhosted.org/packages/23/22/5f718cedcc22e34cd07b254ef02804ded1a1b7e31678261a61ffbd7dae28/vsc-install-0.14.10.tar.gz#sha256=872ad29ee5c7de4dd200886bdf3d6f57399074bdca195664af7764d56cec726f (from https://pypi.org/simple/vsc-install/), version: 0.14.10 2021-05-28T11:51:38,041 Found link https://files.pythonhosted.org/packages/c8/b9/86c97419dba1a6cd57b7ea932ddb1542ef2d1bb8e501a2e52c8acda0276d/vsc-install-0.14.11.tar.gz#sha256=1b0a85320e0c0c5f78b9e22c0c61a38edcb26dcd4e14964e9ab0bac22c667192 (from https://pypi.org/simple/vsc-install/), version: 0.14.11 2021-05-28T11:51:38,041 Found link https://files.pythonhosted.org/packages/7a/df/e34bd7d076de7211205688fa354f7221809c336f980c13d79cb27b2ff48b/vsc-install-0.14.12.tar.gz#sha256=c1863596a9e917a07c0568bb5a3cb95d2bd89a60566cf6322f7297a06ca6ed56 (from https://pypi.org/simple/vsc-install/), version: 0.14.12 2021-05-28T11:51:38,042 Found link https://files.pythonhosted.org/packages/04/c8/ef0c19d121b1ee76b4bd0140f5a0deb28c42f7372cd06d64145f078d96c2/vsc-install-0.14.13.tar.gz#sha256=f2e814e5c6297698449008e52e6ca1b91fd7502aa42f88a1bfecf3b4023af51c (from https://pypi.org/simple/vsc-install/), version: 0.14.13 2021-05-28T11:51:38,042 Found link https://files.pythonhosted.org/packages/30/7c/6869e2b3519cca774f1e0256317e516a9bc1a56375f45fc8b4b942862c67/vsc-install-0.15.0.tar.gz#sha256=d6709feaf5451ec005381e5787a0086a35323efa4f6f0ead2b408cdffac15144 (from https://pypi.org/simple/vsc-install/), version: 0.15.0 2021-05-28T11:51:38,042 Found link https://files.pythonhosted.org/packages/df/8c/28cc83f64dbb3d9d412577217a6b0b24ef2d11f4c3b421fe2f7984e75ef0/vsc-install-0.15.1.tar.gz#sha256=11615adcda53c0c451df39d3ba8695179c45a4e7d058b8c37aabd6639454b3a7 (from https://pypi.org/simple/vsc-install/), version: 0.15.1 2021-05-28T11:51:38,043 Found link https://files.pythonhosted.org/packages/d3/49/9fa7ce8255fe506769de26959d67acba3d302380253c9b3a43989cf49c6d/vsc-install-0.15.2.tar.gz#sha256=359dd9ef4f6c301cc41a1dbf8436ee1803de2dcb66cfd0765073205b2271116e (from https://pypi.org/simple/vsc-install/), version: 0.15.2 2021-05-28T11:51:38,043 Found link https://files.pythonhosted.org/packages/85/c8/3bca9b02da6a65ca4cf68aaf42d8c227c9a58f8efa45c73505e0bb46e9d6/vsc-install-0.15.3.tar.gz#sha256=21bc4641eb19c7fb93ad077ff52324c97016e23de6f2fe1ab3f7f85b9167fcc6 (from https://pypi.org/simple/vsc-install/), version: 0.15.3 2021-05-28T11:51:38,043 Found link https://files.pythonhosted.org/packages/10/36/e56e03d8239e2bbeaa726d8256a9c3da75fdfc3b54a25eea874fe1061bdc/vsc-install-0.15.4.tar.gz#sha256=118aebf2c5a6040d47fb2310c777ec385a102db068da7a86643bbc0ebaca5028 (from https://pypi.org/simple/vsc-install/), version: 0.15.4 2021-05-28T11:51:38,043 Found link https://files.pythonhosted.org/packages/5d/c6/f8fde611982748c67427ddadae6b9cb6693d9c054514777f9cc7f6cb5be8/vsc-install-0.15.5.tar.gz#sha256=f9774fe067c51283be18af90b6279f2e206b0472b213369920dc6b8603a9d3b9 (from https://pypi.org/simple/vsc-install/), version: 0.15.5 2021-05-28T11:51:38,044 Found link https://files.pythonhosted.org/packages/c8/e1/bad7b8d8b7c9c56b4afcd19e468bceef3fbb843e61a8823d65be4077d706/vsc-install-0.15.6.tar.gz#sha256=59388abd3dbe7bb9adc2427e3e5485d49e34ee9d7701ef085fd21d32d2aec8d7 (from https://pypi.org/simple/vsc-install/), version: 0.15.6 2021-05-28T11:51:38,044 Found link https://files.pythonhosted.org/packages/2a/27/016e5d493ffc0c117bb2fc99dd01fbd10936e7a7277c68f075fe9c1d62b5/vsc-install-0.15.7.tar.gz#sha256=ae0786923d4a303a757236e42996dbbe0758fe5461198057101ded3e1220dbd4 (from https://pypi.org/simple/vsc-install/), version: 0.15.7 2021-05-28T11:51:38,044 Found link https://files.pythonhosted.org/packages/06/db/3911f7217f21b1361e70c412fb3d16c31e9e2d40846ad4cfa9bfda16a142/vsc-install-0.15.8.tar.gz#sha256=ac531066e54dee03ef2c011aa95611d8826ed26e4e2d61470c3aa8b2e971b19c (from https://pypi.org/simple/vsc-install/), version: 0.15.8 2021-05-28T11:51:38,045 Found link https://files.pythonhosted.org/packages/4d/0a/eb049869e902d62669433e60b13c7dbf5cdf42b7359a4a5085f27ef0409a/vsc-install-0.15.9.tar.gz#sha256=6cb683c75ac6482a45e82fa970b27c6fd25aa25518142fd6ffe4c8de6522bb90 (from https://pypi.org/simple/vsc-install/), version: 0.15.9 2021-05-28T11:51:38,045 Found link https://files.pythonhosted.org/packages/92/0b/58b200fcb9ceb172da19b5b8ce0281c3bd445b854e04a6d87410febf142b/vsc-install-0.15.10.tar.gz#sha256=2e17c562e21117b00cfb5d8fa67175f3d98415394071d2326bc1a98315019d1b (from https://pypi.org/simple/vsc-install/), version: 0.15.10 2021-05-28T11:51:38,045 Found link https://files.pythonhosted.org/packages/12/5d/a6bd6dcfff08ecff592fba06a4a1acd9f2d8785c3f3e27d5fc3b86e82911/vsc-install-0.15.11.tar.gz#sha256=0d13a3df4552184e0ae8c91fd089190672d9a3ac7a2a6585b9087f0cc5937f10 (from https://pypi.org/simple/vsc-install/), version: 0.15.11 2021-05-28T11:51:38,046 Found link https://files.pythonhosted.org/packages/ee/ef/50160cd20af9914b1b0b4d3f0edd7d8cf2dfc81a8f6d20519e40ca466253/vsc-install-0.15.12.tar.gz#sha256=c9a7c64587f611b7503c27744dac106c0a7a0ab572cb1eff704c5ae7e9c9253c (from https://pypi.org/simple/vsc-install/), version: 0.15.12 2021-05-28T11:51:38,046 Found link https://files.pythonhosted.org/packages/f3/90/74b8c4f04e4ebd2747b3ac559ef44d00bf602ff86ba4d0e11a59241a59e4/vsc-install-0.15.13.tar.gz#sha256=6d4ccc5c8c2d8f853ee1ede10f86a3960663cb0cbf25a152f0356fc9e89d2a68 (from https://pypi.org/simple/vsc-install/), version: 0.15.13 2021-05-28T11:51:38,046 Found link https://files.pythonhosted.org/packages/50/8b/2c3d99403d874a4dda201c6e0646132f8de4860c781b84be518b70920366/vsc-install-0.15.14.tar.gz#sha256=1ba9f3a0871955ae362ecb85c663ba9641777e7f90b3a0e9b7d4f086cdc0bbdb (from https://pypi.org/simple/vsc-install/), version: 0.15.14 2021-05-28T11:51:38,046 Found link https://files.pythonhosted.org/packages/d4/76/c0bb50c3a1426fa62e7109201189368907ed871b8b7863ea5fcfe44f6ea4/vsc-install-0.15.15.tar.gz#sha256=087ff67cc9a667aedbf93a88c30131f8adf8e62d6d85d41cd5426d7fc87c89a4 (from https://pypi.org/simple/vsc-install/), version: 0.15.15 2021-05-28T11:51:38,047 Found link https://files.pythonhosted.org/packages/1b/eb/a6844eadda1bc9a7007456aa9319955b90677d2b33ff5fdfb3687fadcbfe/vsc-install-0.15.16.tar.gz#sha256=32d25b40bf75dbd9738c168288b5612c86ee83c3a1595511218005aa34cb931b (from https://pypi.org/simple/vsc-install/), version: 0.15.16 2021-05-28T11:51:38,047 Found link https://files.pythonhosted.org/packages/8f/72/6cf648d98123955f07a8f2effd0d1fbfa037794b49d997e8a58bd47afff9/vsc-install-0.15.17.tar.gz#sha256=5d5a62167e55d06a70ea28faf28dba93defa13a9ef0b8201a0ade83d070a4225 (from https://pypi.org/simple/vsc-install/), version: 0.15.17 2021-05-28T11:51:38,047 Found link https://files.pythonhosted.org/packages/8f/c8/e2460e088abedffe8afc59284129315caf3f38487c1f9046b8f440077912/vsc-install-0.15.18.tar.gz#sha256=011706e9fa1ab6dbc9ec6445a5be5625182f80ea37234c7ddb881c2a0f4e4001 (from https://pypi.org/simple/vsc-install/), version: 0.15.18 2021-05-28T11:51:38,048 Found link https://files.pythonhosted.org/packages/15/83/035cc32efb6d334fe159a7ea1d2628d7b1192b2e9d07d776cc57dda94f2f/vsc-install-0.15.19.tar.gz#sha256=645603c0d0c472979c95ed989ab2d1d49deb0c7084cf31df485e5ad3cbac0615 (from https://pypi.org/simple/vsc-install/), version: 0.15.19 2021-05-28T11:51:38,048 Found link https://files.pythonhosted.org/packages/d4/60/5d8c162a9d324b4d5d0e702e78508a17efcbcf1b0ef42e970cc8bddfc672/vsc-install-0.16.0.tar.gz#sha256=0ed0213e79b094999b5b90b0c492dd38de3d240ff229bfbe9b775183bdc8040c (from https://pypi.org/simple/vsc-install/), version: 0.16.0 2021-05-28T11:51:38,048 Found link https://files.pythonhosted.org/packages/08/05/b4d039f80caf44ddfd64f2de28732562b9ea1a521256288ebaf6b3637897/vsc-install-0.16.1.tar.gz#sha256=58c080b50c317302271198ab29cfc069ed32dec6da7bc593aceb855eb81325da (from https://pypi.org/simple/vsc-install/), version: 0.16.1 2021-05-28T11:51:38,048 Found link https://files.pythonhosted.org/packages/bb/c7/9a7a47c0246639686e742ca9a557dd31699814e07db821fc3c2e14d32806/vsc-install-0.16.2.tar.gz#sha256=57e96293433f27c08b31170fa3901b899ad98577d4fc10234b6853c6d3001870 (from https://pypi.org/simple/vsc-install/), version: 0.16.2 2021-05-28T11:51:38,049 Found link https://files.pythonhosted.org/packages/70/08/80c39320cba0b1c518bdea36ede9d6787c9bc3e9f0b2cc8ab4e4324dc53e/vsc-install-0.16.3.tar.gz#sha256=863c5f465cd8930621ff6a2d1a37a531ecf6642196ea4ae9dd1854321e7c9f57 (from https://pypi.org/simple/vsc-install/), version: 0.16.3 2021-05-28T11:51:38,049 Found link https://files.pythonhosted.org/packages/5a/a1/737c8fd92db32b1df1718e358ac014610d521c2c15e502bcb16a9a69de6d/vsc-install-0.16.4.tar.gz#sha256=5a8c230eb28f7cc4b285faf26f9c306166d4a760b861d07e99f581723900ae87 (from https://pypi.org/simple/vsc-install/), version: 0.16.4 2021-05-28T11:51:38,049 Found link https://files.pythonhosted.org/packages/43/d9/13b830377b854a36035eb8fe42ee77c24ae1934d279840b97d5b7d86f552/vsc-install-0.17.0.tar.gz#sha256=65c4fc92a3c587583b19ba32128e9116e7313b535be11c21ce5d2cd8daeba671 (from https://pypi.org/simple/vsc-install/), version: 0.17.0 2021-05-28T11:51:38,050 Found link https://files.pythonhosted.org/packages/df/03/d9356d1c13a722e555e6a6a0adad047554a2942484b09e3127e96276bc48/vsc-install-0.17.1.tar.gz#sha256=01431ec39054fdc95b4b4bff28fb988fc36f5504e54c37cccccf5f3a76d646a5 (from https://pypi.org/simple/vsc-install/), version: 0.17.1 2021-05-28T11:51:38,050 Found link https://files.pythonhosted.org/packages/5d/80/d80a31acd08d2613331ea3c65c6550afbad7a730352c30de0aec62b711e1/vsc-install-0.17.2.tar.gz#sha256=4cf80663907cac286cc231ef3c383a77de70688c99f431468cd581a66d125a4d (from https://pypi.org/simple/vsc-install/), version: 0.17.2 2021-05-28T11:51:38,050 Found link https://files.pythonhosted.org/packages/0f/7a/5d5ebea2a8f8de2d7b6007213b084b6e2041899ea7a4686082109b2f51d2/vsc-install-0.17.3.tar.gz#sha256=e8d0b223261cbeaff7cdefd12ded792f778b76bc22fb877a78a968cb3135fa94 (from https://pypi.org/simple/vsc-install/), version: 0.17.3 2021-05-28T11:51:38,050 Found link https://files.pythonhosted.org/packages/00/79/b44b9d8feed37a7a7badbbfc9097d63c05b13e433efe41802c3decf8b177/vsc-install-0.17.5.tar.gz#sha256=a2fab82cf9f7558a97b63c0f7ac9c107ef8aaf2b169a115d9b2f4530f3970fb9 (from https://pypi.org/simple/vsc-install/), version: 0.17.5 2021-05-28T11:51:38,051 Found link https://files.pythonhosted.org/packages/f8/34/212cfe4a7ba56bae911565ef0ed622ebbe85a5d0ca80a73d979a14555823/vsc-install-0.17.6.tar.gz#sha256=745f13d8b5784ed764bd1d87a1f4b8cdb90224727dfa35207af05900e2ec2d43 (from https://pypi.org/simple/vsc-install/), version: 0.17.6 2021-05-28T11:51:38,051 Found link https://files.pythonhosted.org/packages/12/0b/d7a413e029b39406f43112aa071fff6fe25969b8e339c710479ba3a29a69/vsc-install-0.17.7.tar.gz#sha256=7b805cb8367ca161ebb9267dd6de8a2c5173f5bcc12b82855b58b23a44ec6e9c (from https://pypi.org/simple/vsc-install/), version: 0.17.7 2021-05-28T11:51:38,051 Found link https://files.pythonhosted.org/packages/1e/04/2e48faa7e12c05ecf920cf96c4e0b2c98d4680a009557d6144760107dd3f/vsc-install-0.17.8.tar.gz#sha256=165aebbe33d5efbcf242663f899f94db80f738489733513c665e49dfaf533354 (from https://pypi.org/simple/vsc-install/), version: 0.17.8 2021-05-28T11:51:38,052 Found link https://files.pythonhosted.org/packages/09/9e/52eb1b32d8335692c577d6443e74c369de5a4ea633829df94348f3c4702e/vsc-install-0.17.9.tar.gz#sha256=245e8e1daf8a7f555a1f3b5c5aa7b3b9b58bd0bc2329b5f063046a5aa8896c13 (from https://pypi.org/simple/vsc-install/), version: 0.17.9 2021-05-28T11:51:38,052 Found link https://files.pythonhosted.org/packages/b4/2d/dc1ddf65db1ac897241cc4f85e8bd725a36ff6b833886be09193a88a5f55/vsc-install-0.17.10.tar.gz#sha256=31ded283cc2a15b56a166d75d6f17b7b4a7a671accd566242276156c3e27cd71 (from https://pypi.org/simple/vsc-install/), version: 0.17.10 2021-05-28T11:51:38,052 Found link https://files.pythonhosted.org/packages/c0/90/cd52af18238de6d74a177d2199ea87421a1b00a4527a6ea97d549fb03236/vsc-install-0.17.11.tar.gz#sha256=b3b8ec7ac3e9d4350ba478ba08de18c2ccb014a897fed08893bfe73e1aab2236 (from https://pypi.org/simple/vsc-install/), version: 0.17.11 2021-05-28T11:51:38,053 Found link https://files.pythonhosted.org/packages/ec/92/311e4e67a8ec2fadcf9c08ddcfe0be30cc4d427f95e3cb6ceb884f3d126a/vsc-install-0.17.12.tar.gz#sha256=0dd20534ce0d9fe7e20fa9f82a14e0b42afa67a39315151f212825d0aea91ed0 (from https://pypi.org/simple/vsc-install/), version: 0.17.12 2021-05-28T11:51:38,053 Found link https://files.pythonhosted.org/packages/db/43/77c48e82b9fe363ac36abfe28ccf0e213cbd63784215415b78ed5c0a079e/vsc-install-0.17.13.tar.gz#sha256=68ceb4f9311582fbbd1157986352206eedad25748409c84ea226b9aa95acc7af (from https://pypi.org/simple/vsc-install/), version: 0.17.13 2021-05-28T11:51:38,053 Skipping link: not a file: https://pypi.org/simple/vsc-install/ 2021-05-28T11:51:38,082 Given no hashes to check 1 links for project 'vsc-install': discarding no candidates 2021-05-28T11:51:38,098 Collecting vsc-install==0.17.13 2021-05-28T11:51:38,101 Created temporary directory: /tmp/pip-unpack-484ybji1 2021-05-28T11:51:38,143 Downloading vsc-install-0.17.13.tar.gz (80 kB) 2021-05-28T11:51:38,261 Added vsc-install==0.17.13 from https://files.pythonhosted.org/packages/db/43/77c48e82b9fe363ac36abfe28ccf0e213cbd63784215415b78ed5c0a079e/vsc-install-0.17.13.tar.gz#sha256=68ceb4f9311582fbbd1157986352206eedad25748409c84ea226b9aa95acc7af to build tracker '/tmp/pip-req-tracker-ildazn4f' 2021-05-28T11:51:38,262 Running setup.py (path:/tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py) egg_info for package vsc-install 2021-05-28T11:51:38,263 Created temporary directory: /tmp/pip-pip-egg-info-5_apexa6 2021-05-28T11:51:38,264 Running command python setup.py egg_info 2021-05-28T11:51:40,248 INFO: This is (based on) vsc.install.shared_setup 0.17.13 2021-05-28T11:51:40,249 INFO: (using setuptools version 56.0.0 located at /usr/local/lib/python3.7/dist-packages/setuptools/__init__.py) 2021-05-28T11:51:40,249 INFO: run_tests from base dir /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda (using executable /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py) 2021-05-28T11:51:40,260 WARN: cleanup lib/vsc_install.egg-info 2021-05-28T11:51:40,268 INFO: initial packages list: dict_keys(['vsc', 'vsc.install']) 2021-05-28T11:51:40,268 INFO: generated list: dict_keys(['vsc', 'vsc.install']) 2021-05-28T11:51:40,268 INFO: generated packages list: dict_keys(['vsc', 'vsc.install']) 2021-05-28T11:51:40,269 INFO: found license /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/LICENSE with md5sum 5f30f0716dfdd0d91eb439ebec522ec2 2021-05-28T11:51:40,269 INFO: Found license name LGPLv2+ and classifier License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+) 2021-05-28T11:51:40,269 INFO: setting license LGPLv2+ 2021-05-28T11:51:40,271 INFO: found match name vsc-install in /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/PKG-INFO 2021-05-28T11:51:40,272 INFO: found match url https://github.com/hpcugent/vsc-install in /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/PKG-INFO 2021-05-28T11:51:40,273 INFO: Removing None download_url 2021-05-28T11:51:40,274 INFO: get_name_url returns {'name': 'vsc-install', 'url': 'https://github.com/hpcugent/vsc-install'} 2021-05-28T11:51:40,284 INFO: using long_description vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group 2021-05-28T11:51:40,286 INFO: generated list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] 2021-05-28T11:51:40,286 INFO: generated scripts list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] 2021-05-28T11:51:40,289 new target {'cmdclass': {'bdist_rpm': , 'egg_info': , 'install_scripts': , 'sdist': , 'test': , 'vsc_release': }, 'command_packages': ['vsc.install.shared_setup', 'shared_setup_dist_only', 'setuptools.command', 'distutils.command'], 'download_url': '', 'package_dir': {'': 'lib'}, 'setup_requires': ['setuptools'], 'test_suite': 'test', 'url': 'https://github.com/hpcugent/vsc-install', 'dependency_links': [], 'install_requires': ['setuptools < 42.0', 'mock'], 'tests_require': ['flake8 < 3.9.0', 'prospector', 'mock'], 'packages': dict_keys(['vsc', 'vsc.install']), 'classifiers': ['License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)'], 'license': 'LGPLv2+', 'description': "vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group", 'long_description': 'Description\n===========\nvsc-install provides shared setuptools functions and classes for python libraries developed by UGent\'s HPC group\n\nCommon pitfalls\n=========\nbdist_rpm will fail if your install_requires = \'setuptools\' because it will fail to find a setuptools rpm.\n```\nexport VSC_RPM_PYTHON=1\n```\nwill make sure the `python-` prefix is added to the packages in install_requires for building RPM\'s so python-setuptools will be used.\n\nAdd tests\n=========\n\nTest are python modules in the `test` directory which have subclass of `TestCase`\nand at least one method that has a name starting with `test_`\n\nYou are advised to use\n```python\nfrom vsc.install.testing import TestCase\n```\n(instead of basic `TestCase` from `unittest`).\n\nAnd any `__main__` or `suite()` is not needed (anymore).\n\nInitialise the test directory with\n\n```bash\nmkdir -p test\necho \'\' > test/__init__.py\necho \'from vsc.install.commontest import CommonTest\' > test/00-import.py\n```\n\nWhen the tests are run, `test`, `lib` and `bin` (if relevant) are added to `sys.path`,\nso no need to do so in the tets modules.\n\nRun tests\n=========\n\n```bash\npython setup.py test\n```\n\nFilter tests with `-F` (test module names) and `-f` (test method names)\n\nSee also\n\n```bash\npython setup.py test --help\n```\n\nThe dependencies are installed automatically in the `.eggs` directory. It will first try\n`github.ugent.be` and then `github.com` to install them. The same method is used as through\nwhich the original repository was cloned (http, ssh, ...). In case you need private\ndependencies, always clone with ssh.\n\nIn case following error occurs, it means there is a test module `XYZ` that cannot be imported.\n\n```txt\nFile "setup.py", line 499, in loadTestsFromModule\n testsuites = ScanningLoader.loadTestsFromModule(self, module)\nFile "build/bdist.linux-x86_64/egg/setuptools/command/test.py", line 37, in loadTestsFromModule\nFile "/usr/lib64/python2.7/unittest/loader.py", line 100, in loadTestsFromName\n parent, obj = obj, getattr(obj, part)\nAttributeError: \'module\' object has no attribute \'XYZ\'\n```\n\nYou can try get the actual import error for fixing the issue with\n```bash\npython -c \'import sys;sys.path.insert(0, "test");import XYZ;\'\n```\n\nFix failing tests\n=================\n\n* Missing / incorrect `LICENSE`\n\n * Copy the appropirate license file under `known_licenses` in the project directory and name the file `LICENSE`\n\n* Missing `README.md`\n\n * Create a `README.md` file with at least a `Description` section\n\n* Fix license headers as described in https://github.com/hpcugent/vsc-install/blob/master/lib/vsc/install/headers.py\n\n ```\n cd \n REPO_BASE_DIR=$PWD python -m vsc.install.headers path/to/file script_or_not\n ```\n\n Fix them all at once using find\n\n ```\n find ./{lib,test} -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\'\n find ./bin -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\' 1\n ```\n\n Do not forget to check the diff.\n Modules/scripts without docstring (or magic comment \'### END OF HEADER\') (incl. test modules)\n will get correct header appended to existing one. Add a docstring (or magic comment) to resolve this.\n* Python scripts (i.e. with a python shebang and installed as scripts in setup) have to use `#!/usr/bin/env python` as shebang\n* Remove any `build_rpms_settings.sh` leftovers\n* The `TARGET` dict in `setup.py` should be minimal unless you really know what you are doing (i.e. if it is truly different from defaults)\n\n * Remove `name`, `scripts`, ...\n\n* `Exception: vsc namespace packages do not allow non-shared namespace`\n\n * Add to the `__init__.py`\n\n ```python\n """\n Allow other packages to extend this namespace, zip safe setuptools style\n """\n import pkg_resources\n pkg_resources.declare_namespace(__name__)\n ```\n\n\nbare-except\n-----------\n```python\ntry:\n # something\nexcept:\n```\nThis is bad, because this except will also catch sys.exit() or Keyboardinterupts, something you\ntypically do not want, if you catch these the program will be in a weird state and then continue on,\nwhilst the person who just pressed ctrl+c is wondering what is going on and why it is not stopping.\n\nso at the very least make this\nexcept Exception (which doesn\'t catch sys.exit and KeyboardInterupt)\nand it would be appreciated if you could actually figure out what exceptions to expect and only catch those\nand let your program crash if something you did not intend happens\nbecause it helps developers catch weird errors on their side better.\n\nif you do something like\n```python\ntry:\n open(int(somestring)).write(\'important data\')\nexcept Exception:\n pass # if somestring is not an integer, we didn\'t need to write anyway, but otherwise we do\n```\nbecause you know sometimes this string does not contain an integer, so the int() call can fail\nyou should really only catch ValueError, because this will also fail when your disk is full, or you don\'t have permissions\nor xxx other reasons, and the important data will not be written out and nobody will notice anything!\n\n\n\nif not \'a\' in somelist -> if \'a\' not in somelist\n-------------------------------------------------\n\nthis isn\'t that big of a deal, but if everyone is consistent it\'s less likely to introduce bugs when a not is added or removed where it didn\'t need to.\nAlso helps code review, not in reads better, like english.\n\n\narguments-differ\n-----------------\n\nthis will give you errors if you override a function of a superclass but don\'t use the same amount of arguments,\nusing less will surely give you errors, so the linter catches this for you now\n\nunused-argument\n-----------------\nif you have a function definition witch accepts an argument that is never used in the function body this will now give an error.\nclean up your function definition, or fix the error where you actually do need to take this argument into account\n\nunused-variable\n----------------\ndefining a variable and then not using it anymore smells bad, why did you do that?\nsometimes you do things like\n```python\nout, exit_code = run_command(something)\n```\nbut you are not interested in the out, only in the exit code,\nin this case, write\n```python\n_, exit_code = run_command(something)\n```\n\nusing _ as a variable name lets pylint and other readers know you do not intend to use that output in the first place.\n\n\nreimported\n-------------\nwhen you re import a name somewhere else,\nusually this is just an import to much, or 2 imports with the same name, pay attention.\n```python\nimport six\nfrom django import six\n```\n=>\n```python\nimport six\nfrom django import six as django_six\n```\n\nredefinition of unused name\n----------------------------\nthis usually also points to something you did not expect\n```python\nfrom vsc.accountpageclient import VscGroup\n\n\nclass VscGroup(object):\n pass\n```\n\n=> do you need the import? use import as\ndid you mean to use the same name? ...\n\nRedefined builtin\n-----------------\nuse different name, for example change\n\n```python\ndef filter(b_b):\n """Function filter"""\n return b_b\n```\n=>\n```python\ndef new_filter(b_b):\n """Function filter"""\n return b_b\n```\n\nlogging-not-lazy\n----------------\n\nDon\'t use string interpolation when logging if not needed:\n\n```python\nimport logging\nname = \'world\'\nprogram =\'python\'\nlogging.info(\'Hello %s! This is %s.\' % (name, program))\n```\n=>\n```python\nimport logging\nname = \'world\'\nprogram =\'python\'\nlogging.info(\'Hello %s! This is %s.\', name, program)\n```\n\n\nFix Python 3 failing tests\n==========================\n\n* We try to follow https://docs.python.org/3/howto/pyporting.html\n* some useful info can be found here as well https://portingguide.readthedocs.io/en/latest/index.html\n\nunpacking-in-except / redefine-in-handler\n-----------------------------------------\n\nMultiple exception have to be grouped in a tuple like\n\n```python\n ...\nexcept (ExceptionOne, ExceptionTwo) ...\n ...\n```\n\n(espcially when used like `except A, B:` which should be `except (A, B):`.\n\nFixing print statement\n----------------------\n\nUse the oneliner:\n```bash\nfind lib bin -name \'*.py\' | xargs futurize -w -f libfuturize.fixes.fix_print_with_import -n\n```\nNote: You need to install `python(2)-future` if you want to use `futurize` (or you have to have the `future` Python package).\n\nMetaclass assignment\n--------------------\n\n```python\nclass Foo(Bar):\n\n __metaclass__ = Baz\n```\n=>\n```python\nfrom future.utils import with_metaclass\n\nclass Foo(with_metaclass(Baz,Bar):\n```\n\nOld raise syntax\n----------------\nPython 2’s **raise** statement was designed at a time when exceptions weren’t classes, and an exception’s _type_, _value_, and _traceback_ components were three separate objects. In Python 3, one single object includes all information about an exception.\n\n```python\nraise NameError, "Error"\n```\n=>\n```python\nraise NameError("Error")\n```\n\nor change\n```python\nraise NameError, "Error", some_traceback\n```\n=>\n```python\nraise NameError("Error")\n\ne = NameError("Error")\ne.__traceback__ = some_traceback\n```\n\nbacktick\n--------\n\n```python\nA = 2\nB = `A`\n```\n=>\n```python\nA = 2\nB = str(A)\n```\n\nOld ne operator\n---------------\n\n```python\nif 2 <> 3:\n```\n=>\n```python\nif 2 != 3:\n```\n\nOctal literal\n-------------\n\n```python\nos.chmod(foo, 0700)\n```\n=>\n```python\nos.chmod(foo, 0o700)\n```\n\nImport star module level\n------------------------\nDo not import \\*, be more specific. If it is impossible, import it in the top level (and suppress the pyflakes error F403.)\n```python\ndef coords(angle, distance):\n """Function coords"""\n from math import *\n return distance * cos(angle), distance * sin(angle)\n```\n=>\n```python\nfrom math import * # noqa: F403\ndef coords(angle, distance):\n """Function coords"""\n return distance * cos(angle), distance * sin(angle)\n```\n\nRaising string\n--------------\n```python\nraise ValueError, \'message\'\n```\n=>\n```python\nraise ValueError(\'message\')\n```\n\nIndexing exception\n------------------\n```python\nexcept IndexError as err:\n err[0]\n```\n=>\n```python\nexcept IndexError as err:\n IndexError.args[0]\n```\n\nturning off these errors\n-------------------------\n\nIf in any of these cases you think: yes, I really needed to do this,\nI\'m monkeypatching things, I\'m adding extra functionality that does indeed have an extra(default) paramenter, etc, etc\nyou can let pylint know to ignore this error in this one specific block of code\nby adding e.g. the comment `# pylint: disable=`\n\n```python\nclass Something(object):\n def dosomething(self, some, thing):\n # do something\n\nclass MyFancyThing(SomeThing):\n # pylint: disable=arguments-differ\n def dosomething(self, some, thing, fancy=None):\n # do something fancy\n```\n\nFull list with all codes is available at http://pylint-messages.wikidot.com/all-codes\n\nAuto-generated `Jenkinsfile` / `tox.ini`\n========================================\n\n`vsc-install` has support for auto-generating the `Jenkinsfile` (and accompanying `tox.ini`), via:\n\n python -m vsc.install.ci\n\nFailing check on (contents of) `Jenkinsfile` or `tox.ini`\n---------------------------------------------------------\n\nThere are dedicated tests that check whether the `Jenkinsfile` and `tox.ini` files were auto-generated\nby `vsc-install`.\n\nTo fix the tests, simply run `python -m vsc.install.ci` using the latest version of `vsc-install`\nto re-generate `Jenkinsfile` and `tox.ini`, and then commit & push the changes.\n\nIf the contents of the file that is auto-generated by the latest version of `vsc-install` is incorrect\nfor whatever reason, you can temporarily bypass the failing test by adding an a file named `Jenkinsfile.NOT_AUTOGENERATED_YET` or `tox.ini.NOT_AUTOGENERATED_YET`.\n\nThe file **must** contain the URL of a vsc-install issue, created via via https://github.com/hpcugent/vsc-install/issues/new, where the incorrectly generated file is reported.\n\nExample:\n\n echo "see https://github.com/hpcugent/vsc-install/issues/1234 for more info" > Jenkinsfile.NOT_AUTOGENERATED_YET\n\n\nRequiring JIRA issue ref in PR title\n------------------------------------\n\nTo also include a check in the `Jenkinsfile` for having a JIRA issue ref (like `[HPC-1234]`) in the pull request title,\nadd a configuration file for `python -m vsc.install.ci` named `vsc-ci.ini` like this into the repository:\n\n```ini\n[vsc-ci]\njira_issue_id_in_pr_title=1\n```\n\nRunning shellcheck\n------------------\n\nTo also run `shellcheck` in the generated `Jenkinsfile`, specify this via a `vsc-ci.ini` configuration file:\n\n```ini\n[vsc-ci]\nrun_shellcheck=1\n```\n\nAdding additional test commands to Jenkinsfile\n----------------------------------------------\n\nIf additional custom test commands (other than `shellcheck`) need to be run by the `Jenkinsfile`,\nyou can speicfy this in `vsc-ci.ini` via `additional_test_commands`.\n\nTo add a single custom test command:\n\n```ini\n[vsc-ci]\nadditional_test_commands=./more_test.sh\n```\n\nTo add multiple test commands:\n\n```ini\n[vsc-ci]\nadditional_test_commands=\n first-test-cmd\n second-test-cmd\n third-test-cmd\n```\n\nOverriding install location of scripts\n--------------------------------------\n\nIn some repositories we specify a system-wide install location for scripts via `setup.cfg`\n(see for example the `icinga-checks` repository), which causes problems when installing `vsc-install` in the tox\nenvironment.\n\nTo override the installation prefix for scripts (only in the tox environment where the tests are run),\nspecify this via a `vsc-ci.ini` configuration file:\n\n```ini\n[vsc-ci]\ninstall_scripts_prefix_override=1\n```\n\nRequiring that tests pass using Python 3\n----------------------------------------\n\nTo require that the test suite passes when run with Python 3, you must opt-in to generating a tox configuration file\n(tox.ini) that does not ignore a missing interpreter or failing tests, using a `vsc-ci.ini` configuration file like:\n\n```ini\n[vsc-ci]\npy3_tests_must_pass=1\n```\n\nOnly testing with Python 3\n--------------------------\n\nTo only test with Python 3 and skip running the tests with Python, you can set `py3_only` in ` vsc-ci.ini`:\n\n```ini\n[vsc-ci]\npy3_tests_must_pass=1\npy3_only=1\n```\n\nThis is useful for repositories where we start adding stuff that only works in Python 3.\n\n**Note:** make sure you also enable `py3_tests_must_pass`, since that\'s not enabled by default (yet)!\n\nUse \'pip3\' to install tox\n-------------------------\n\nOn systems that have Python 3 and `pip3` installed, it is recommended to opt-in to use `pip3 install` to install tox:\n\n```ini\n[vsc-ci]\npip3_install_tox=1\n```\n\nAvoid running ``pip install`` in repo checkout\n----------------------------------------------\n\nFor some repositories, running ``pip install`` to install ``tox`` from the checked out repository is problematic,\nbecause of the ``setup.cfg`` containing things that should not be picked up by ``pip``.\n\nFor those repositories, you can specify that the installation commands in the ``Jenkinsfile`` should be\nrun from ``$HOME``, via:\n\n```ini\n[vsc-ci]\nhome_install=1\n```\n\nLeveraging system (Python) packages\n-----------------------------------\n\nIf a repository requires Python packages as dependencies that are installed as OS packages (for example, ``pyslurm``),\ntox must be configured to inherit these packages in the test environment. This can be enabled via:\n\n```ini\n[vsc-ci]\ninherit_site_packages=1\n```\n', 'long_description_content_type': 'text/markdown', 'scripts': ['bin/python-noenv.sh', 'bin/python-stripped-env'], 'namespace_packages': ['vsc'], 'version': '0.17.13', 'author': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'author_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'maintainer': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'maintainer_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'name': 'vsc-install'} 2021-05-28T11:51:40,290 INFO: makesetupcfg set to True, (re)creating setup.cfg 2021-05-28T11:51:40,476 INFO: running egg_info 2021-05-28T11:51:40,476 INFO: run_tests from base dir /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda (using executable /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py) 2021-05-28T11:51:40,489 INFO: creating /tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info 2021-05-28T11:51:40,490 INFO: writing /tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/PKG-INFO 2021-05-28T11:51:40,538 INFO: writing dependency_links to /tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/dependency_links.txt 2021-05-28T11:51:40,756 INFO: writing namespace_packages to /tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/namespace_packages.txt 2021-05-28T11:51:40,759 INFO: writing requirements to /tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/requires.txt 2021-05-28T11:51:40,762 INFO: writing top-level names to /tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/top_level.txt 2021-05-28T11:51:40,768 INFO: writing manifest file '/tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/SOURCES.txt' 2021-05-28T11:51:41,017 INFO: adding license file 'LICENSE' (matched pattern 'LICEN[CS]E*') 2021-05-28T11:51:41,021 INFO: reading manifest file '/tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/SOURCES.txt' 2021-05-28T11:51:41,025 INFO: writing manifest file '/tmp/pip-pip-egg-info-5_apexa6/vsc_install.egg-info/SOURCES.txt' 2021-05-28T11:51:41,027 INFO: looking for extra dist files 2021-05-28T11:51:41,028 /usr/local/lib/python3.7/dist-packages/setuptools/dist.py:645: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead 2021-05-28T11:51:41,028 % (opt, underscore_opt)) 2021-05-28T11:51:41,028 /usr/local/lib/python3.7/dist-packages/setuptools/dist.py:645: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead 2021-05-28T11:51:41,028 % (opt, underscore_opt)) 2021-05-28T11:51:41,095 Source in /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda has version 0.17.13, which satisfies requirement vsc-install==0.17.13 from https://files.pythonhosted.org/packages/db/43/77c48e82b9fe363ac36abfe28ccf0e213cbd63784215415b78ed5c0a079e/vsc-install-0.17.13.tar.gz#sha256=68ceb4f9311582fbbd1157986352206eedad25748409c84ea226b9aa95acc7af 2021-05-28T11:51:41,097 Removed vsc-install==0.17.13 from https://files.pythonhosted.org/packages/db/43/77c48e82b9fe363ac36abfe28ccf0e213cbd63784215415b78ed5c0a079e/vsc-install-0.17.13.tar.gz#sha256=68ceb4f9311582fbbd1157986352206eedad25748409c84ea226b9aa95acc7af from build tracker '/tmp/pip-req-tracker-ildazn4f' 2021-05-28T11:51:41,105 Created temporary directory: /tmp/pip-unpack-_hf70y8w 2021-05-28T11:51:41,105 Building wheels for collected packages: vsc-install 2021-05-28T11:51:41,111 Created temporary directory: /tmp/pip-wheel-pugbwq7r 2021-05-28T11:51:41,112 Building wheel for vsc-install (setup.py): started 2021-05-28T11:51:41,112 Destination directory: /tmp/pip-wheel-pugbwq7r 2021-05-28T11:51:41,113 Running command /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py'"'"'; __file__='"'"'/tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-pugbwq7r 2021-05-28T11:51:42,305 INFO: This is (based on) vsc.install.shared_setup 0.17.13 2021-05-28T11:51:42,306 INFO: (using setuptools version 56.0.0 located at /usr/local/lib/python3.7/dist-packages/setuptools/__init__.py) 2021-05-28T11:51:42,306 INFO: run_tests from base dir /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda (using executable /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py) 2021-05-28T11:51:42,314 INFO: initial packages list: dict_keys(['vsc', 'vsc.install']) 2021-05-28T11:51:42,314 INFO: generated list: dict_keys(['vsc', 'vsc.install']) 2021-05-28T11:51:42,314 INFO: generated packages list: dict_keys(['vsc', 'vsc.install']) 2021-05-28T11:51:42,315 INFO: found license /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/LICENSE with md5sum 5f30f0716dfdd0d91eb439ebec522ec2 2021-05-28T11:51:42,315 INFO: Found license name LGPLv2+ and classifier License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+) 2021-05-28T11:51:42,315 INFO: setting license LGPLv2+ 2021-05-28T11:51:42,317 INFO: found match name vsc-install in /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/PKG-INFO 2021-05-28T11:51:42,317 INFO: found match url https://github.com/hpcugent/vsc-install in /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/PKG-INFO 2021-05-28T11:51:42,319 INFO: Removing None download_url 2021-05-28T11:51:42,319 INFO: get_name_url returns {'name': 'vsc-install', 'url': 'https://github.com/hpcugent/vsc-install'} 2021-05-28T11:51:42,327 INFO: using long_description vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group 2021-05-28T11:51:42,329 INFO: generated list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] 2021-05-28T11:51:42,329 INFO: generated scripts list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] 2021-05-28T11:51:42,331 new target {'cmdclass': {'bdist_rpm': , 'egg_info': , 'install_scripts': , 'sdist': , 'test': , 'vsc_release': }, 'command_packages': ['vsc.install.shared_setup', 'shared_setup_dist_only', 'setuptools.command', 'distutils.command'], 'download_url': '', 'package_dir': {'': 'lib'}, 'setup_requires': ['setuptools'], 'test_suite': 'test', 'url': 'https://github.com/hpcugent/vsc-install', 'dependency_links': [], 'install_requires': ['setuptools < 42.0', 'mock'], 'tests_require': ['flake8 < 3.9.0', 'prospector', 'mock'], 'packages': dict_keys(['vsc', 'vsc.install']), 'classifiers': ['License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)'], 'license': 'LGPLv2+', 'description': "vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group", 'long_description': 'Description\n===========\nvsc-install provides shared setuptools functions and classes for python libraries developed by UGent\'s HPC group\n\nCommon pitfalls\n=========\nbdist_rpm will fail if your install_requires = \'setuptools\' because it will fail to find a setuptools rpm.\n```\nexport VSC_RPM_PYTHON=1\n```\nwill make sure the `python-` prefix is added to the packages in install_requires for building RPM\'s so python-setuptools will be used.\n\nAdd tests\n=========\n\nTest are python modules in the `test` directory which have subclass of `TestCase`\nand at least one method that has a name starting with `test_`\n\nYou are advised to use\n```python\nfrom vsc.install.testing import TestCase\n```\n(instead of basic `TestCase` from `unittest`).\n\nAnd any `__main__` or `suite()` is not needed (anymore).\n\nInitialise the test directory with\n\n```bash\nmkdir -p test\necho \'\' > test/__init__.py\necho \'from vsc.install.commontest import CommonTest\' > test/00-import.py\n```\n\nWhen the tests are run, `test`, `lib` and `bin` (if relevant) are added to `sys.path`,\nso no need to do so in the tets modules.\n\nRun tests\n=========\n\n```bash\npython setup.py test\n```\n\nFilter tests with `-F` (test module names) and `-f` (test method names)\n\nSee also\n\n```bash\npython setup.py test --help\n```\n\nThe dependencies are installed automatically in the `.eggs` directory. It will first try\n`github.ugent.be` and then `github.com` to install them. The same method is used as through\nwhich the original repository was cloned (http, ssh, ...). In case you need private\ndependencies, always clone with ssh.\n\nIn case following error occurs, it means there is a test module `XYZ` that cannot be imported.\n\n```txt\nFile "setup.py", line 499, in loadTestsFromModule\n testsuites = ScanningLoader.loadTestsFromModule(self, module)\nFile "build/bdist.linux-x86_64/egg/setuptools/command/test.py", line 37, in loadTestsFromModule\nFile "/usr/lib64/python2.7/unittest/loader.py", line 100, in loadTestsFromName\n parent, obj = obj, getattr(obj, part)\nAttributeError: \'module\' object has no attribute \'XYZ\'\n```\n\nYou can try get the actual import error for fixing the issue with\n```bash\npython -c \'import sys;sys.path.insert(0, "test");import XYZ;\'\n```\n\nFix failing tests\n=================\n\n* Missing / incorrect `LICENSE`\n\n * Copy the appropirate license file under `known_licenses` in the project directory and name the file `LICENSE`\n\n* Missing `README.md`\n\n * Create a `README.md` file with at least a `Description` section\n\n* Fix license headers as described in https://github.com/hpcugent/vsc-install/blob/master/lib/vsc/install/headers.py\n\n ```\n cd \n REPO_BASE_DIR=$PWD python -m vsc.install.headers path/to/file script_or_not\n ```\n\n Fix them all at once using find\n\n ```\n find ./{lib,test} -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\'\n find ./bin -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\' 1\n ```\n\n Do not forget to check the diff.\n Modules/scripts without docstring (or magic comment \'### END OF HEADER\') (incl. test modules)\n will get correct header appended to existing one. Add a docstring (or magic comment) to resolve this.\n* Python scripts (i.e. with a python shebang and installed as scripts in setup) have to use `#!/usr/bin/env python` as shebang\n* Remove any `build_rpms_settings.sh` leftovers\n* The `TARGET` dict in `setup.py` should be minimal unless you really know what you are doing (i.e. if it is truly different from defaults)\n\n * Remove `name`, `scripts`, ...\n\n* `Exception: vsc namespace packages do not allow non-shared namespace`\n\n * Add to the `__init__.py`\n\n ```python\n """\n Allow other packages to extend this namespace, zip safe setuptools style\n """\n import pkg_resources\n pkg_resources.declare_namespace(__name__)\n ```\n\n\nbare-except\n-----------\n```python\ntry:\n # something\nexcept:\n```\nThis is bad, because this except will also catch sys.exit() or Keyboardinterupts, something you\ntypically do not want, if you catch these the program will be in a weird state and then continue on,\nwhilst the person who just pressed ctrl+c is wondering what is going on and why it is not stopping.\n\nso at the very least make this\nexcept Exception (which doesn\'t catch sys.exit and KeyboardInterupt)\nand it would be appreciated if you could actually figure out what exceptions to expect and only catch those\nand let your program crash if something you did not intend happens\nbecause it helps developers catch weird errors on their side better.\n\nif you do something like\n```python\ntry:\n open(int(somestring)).write(\'important data\')\nexcept Exception:\n pass # if somestring is not an integer, we didn\'t need to write anyway, but otherwise we do\n```\nbecause you know sometimes this string does not contain an integer, so the int() call can fail\nyou should really only catch ValueError, because this will also fail when your disk is full, or you don\'t have permissions\nor xxx other reasons, and the important data will not be written out and nobody will notice anything!\n\n\n\nif not \'a\' in somelist -> if \'a\' not in somelist\n-------------------------------------------------\n\nthis isn\'t that big of a deal, but if everyone is consistent it\'s less likely to introduce bugs when a not is added or removed where it didn\'t need to.\nAlso helps code review, not in reads better, like english.\n\n\narguments-differ\n-----------------\n\nthis will give you errors if you override a function of a superclass but don\'t use the same amount of arguments,\nusing less will surely give you errors, so the linter catches this for you now\n\nunused-argument\n-----------------\nif you have a function definition witch accepts an argument that is never used in the function body this will now give an error.\nclean up your function definition, or fix the error where you actually do need to take this argument into account\n\nunused-variable\n----------------\ndefining a variable and then not using it anymore smells bad, why did you do that?\nsometimes you do things like\n```python\nout, exit_code = run_command(something)\n```\nbut you are not interested in the out, only in the exit code,\nin this case, write\n```python\n_, exit_code = run_command(something)\n```\n\nusing _ as a variable name lets pylint and other readers know you do not intend to use that output in the first place.\n\n\nreimported\n-------------\nwhen you re import a name somewhere else,\nusually this is just an import to much, or 2 imports with the same name, pay attention.\n```python\nimport six\nfrom django import six\n```\n=>\n```python\nimport six\nfrom django import six as django_six\n```\n\nredefinition of unused name\n----------------------------\nthis usually also points to something you did not expect\n```python\nfrom vsc.accountpageclient import VscGroup\n\n\nclass VscGroup(object):\n pass\n```\n\n=> do you need the import? use import as\ndid you mean to use the same name? ...\n\nRedefined builtin\n-----------------\nuse different name, for example change\n\n```python\ndef filter(b_b):\n """Function filter"""\n return b_b\n```\n=>\n```python\ndef new_filter(b_b):\n """Function filter"""\n return b_b\n```\n\nlogging-not-lazy\n----------------\n\nDon\'t use string interpolation when logging if not needed:\n\n```python\nimport logging\nname = \'world\'\nprogram =\'python\'\nlogging.info(\'Hello %s! This is %s.\' % (name, program))\n```\n=>\n```python\nimport logging\nname = \'world\'\nprogram =\'python\'\nlogging.info(\'Hello %s! This is %s.\', name, program)\n```\n\n\nFix Python 3 failing tests\n==========================\n\n* We try to follow https://docs.python.org/3/howto/pyporting.html\n* some useful info can be found here as well https://portingguide.readthedocs.io/en/latest/index.html\n\nunpacking-in-except / redefine-in-handler\n-----------------------------------------\n\nMultiple exception have to be grouped in a tuple like\n\n```python\n ...\nexcept (ExceptionOne, ExceptionTwo) ...\n ...\n```\n\n(espcially when used like `except A, B:` which should be `except (A, B):`.\n\nFixing print statement\n----------------------\n\nUse the oneliner:\n```bash\nfind lib bin -name \'*.py\' | xargs futurize -w -f libfuturize.fixes.fix_print_with_import -n\n```\nNote: You need to install `python(2)-future` if you want to use `futurize` (or you have to have the `future` Python package).\n\nMetaclass assignment\n--------------------\n\n```python\nclass Foo(Bar):\n\n __metaclass__ = Baz\n```\n=>\n```python\nfrom future.utils import with_metaclass\n\nclass Foo(with_metaclass(Baz,Bar):\n```\n\nOld raise syntax\n----------------\nPython 2’s **raise** statement was designed at a time when exceptions weren’t classes, and an exception’s _type_, _value_, and _traceback_ components were three separate objects. In Python 3, one single object includes all information about an exception.\n\n```python\nraise NameError, "Error"\n```\n=>\n```python\nraise NameError("Error")\n```\n\nor change\n```python\nraise NameError, "Error", some_traceback\n```\n=>\n```python\nraise NameError("Error")\n\ne = NameError("Error")\ne.__traceback__ = some_traceback\n```\n\nbacktick\n--------\n\n```python\nA = 2\nB = `A`\n```\n=>\n```python\nA = 2\nB = str(A)\n```\n\nOld ne operator\n---------------\n\n```python\nif 2 <> 3:\n```\n=>\n```python\nif 2 != 3:\n```\n\nOctal literal\n-------------\n\n```python\nos.chmod(foo, 0700)\n```\n=>\n```python\nos.chmod(foo, 0o700)\n```\n\nImport star module level\n------------------------\nDo not import \\*, be more specific. If it is impossible, import it in the top level (and suppress the pyflakes error F403.)\n```python\ndef coords(angle, distance):\n """Function coords"""\n from math import *\n return distance * cos(angle), distance * sin(angle)\n```\n=>\n```python\nfrom math import * # noqa: F403\ndef coords(angle, distance):\n """Function coords"""\n return distance * cos(angle), distance * sin(angle)\n```\n\nRaising string\n--------------\n```python\nraise ValueError, \'message\'\n```\n=>\n```python\nraise ValueError(\'message\')\n```\n\nIndexing exception\n------------------\n```python\nexcept IndexError as err:\n err[0]\n```\n=>\n```python\nexcept IndexError as err:\n IndexError.args[0]\n```\n\nturning off these errors\n-------------------------\n\nIf in any of these cases you think: yes, I really needed to do this,\nI\'m monkeypatching things, I\'m adding extra functionality that does indeed have an extra(default) paramenter, etc, etc\nyou can let pylint know to ignore this error in this one specific block of code\nby adding e.g. the comment `# pylint: disable=`\n\n```python\nclass Something(object):\n def dosomething(self, some, thing):\n # do something\n\nclass MyFancyThing(SomeThing):\n # pylint: disable=arguments-differ\n def dosomething(self, some, thing, fancy=None):\n # do something fancy\n```\n\nFull list with all codes is available at http://pylint-messages.wikidot.com/all-codes\n\nAuto-generated `Jenkinsfile` / `tox.ini`\n========================================\n\n`vsc-install` has support for auto-generating the `Jenkinsfile` (and accompanying `tox.ini`), via:\n\n python -m vsc.install.ci\n\nFailing check on (contents of) `Jenkinsfile` or `tox.ini`\n---------------------------------------------------------\n\nThere are dedicated tests that check whether the `Jenkinsfile` and `tox.ini` files were auto-generated\nby `vsc-install`.\n\nTo fix the tests, simply run `python -m vsc.install.ci` using the latest version of `vsc-install`\nto re-generate `Jenkinsfile` and `tox.ini`, and then commit & push the changes.\n\nIf the contents of the file that is auto-generated by the latest version of `vsc-install` is incorrect\nfor whatever reason, you can temporarily bypass the failing test by adding an a file named `Jenkinsfile.NOT_AUTOGENERATED_YET` or `tox.ini.NOT_AUTOGENERATED_YET`.\n\nThe file **must** contain the URL of a vsc-install issue, created via via https://github.com/hpcugent/vsc-install/issues/new, where the incorrectly generated file is reported.\n\nExample:\n\n echo "see https://github.com/hpcugent/vsc-install/issues/1234 for more info" > Jenkinsfile.NOT_AUTOGENERATED_YET\n\n\nRequiring JIRA issue ref in PR title\n------------------------------------\n\nTo also include a check in the `Jenkinsfile` for having a JIRA issue ref (like `[HPC-1234]`) in the pull request title,\nadd a configuration file for `python -m vsc.install.ci` named `vsc-ci.ini` like this into the repository:\n\n```ini\n[vsc-ci]\njira_issue_id_in_pr_title=1\n```\n\nRunning shellcheck\n------------------\n\nTo also run `shellcheck` in the generated `Jenkinsfile`, specify this via a `vsc-ci.ini` configuration file:\n\n```ini\n[vsc-ci]\nrun_shellcheck=1\n```\n\nAdding additional test commands to Jenkinsfile\n----------------------------------------------\n\nIf additional custom test commands (other than `shellcheck`) need to be run by the `Jenkinsfile`,\nyou can speicfy this in `vsc-ci.ini` via `additional_test_commands`.\n\nTo add a single custom test command:\n\n```ini\n[vsc-ci]\nadditional_test_commands=./more_test.sh\n```\n\nTo add multiple test commands:\n\n```ini\n[vsc-ci]\nadditional_test_commands=\n first-test-cmd\n second-test-cmd\n third-test-cmd\n```\n\nOverriding install location of scripts\n--------------------------------------\n\nIn some repositories we specify a system-wide install location for scripts via `setup.cfg`\n(see for example the `icinga-checks` repository), which causes problems when installing `vsc-install` in the tox\nenvironment.\n\nTo override the installation prefix for scripts (only in the tox environment where the tests are run),\nspecify this via a `vsc-ci.ini` configuration file:\n\n```ini\n[vsc-ci]\ninstall_scripts_prefix_override=1\n```\n\nRequiring that tests pass using Python 3\n----------------------------------------\n\nTo require that the test suite passes when run with Python 3, you must opt-in to generating a tox configuration file\n(tox.ini) that does not ignore a missing interpreter or failing tests, using a `vsc-ci.ini` configuration file like:\n\n```ini\n[vsc-ci]\npy3_tests_must_pass=1\n```\n\nOnly testing with Python 3\n--------------------------\n\nTo only test with Python 3 and skip running the tests with Python, you can set `py3_only` in ` vsc-ci.ini`:\n\n```ini\n[vsc-ci]\npy3_tests_must_pass=1\npy3_only=1\n```\n\nThis is useful for repositories where we start adding stuff that only works in Python 3.\n\n**Note:** make sure you also enable `py3_tests_must_pass`, since that\'s not enabled by default (yet)!\n\nUse \'pip3\' to install tox\n-------------------------\n\nOn systems that have Python 3 and `pip3` installed, it is recommended to opt-in to use `pip3 install` to install tox:\n\n```ini\n[vsc-ci]\npip3_install_tox=1\n```\n\nAvoid running ``pip install`` in repo checkout\n----------------------------------------------\n\nFor some repositories, running ``pip install`` to install ``tox`` from the checked out repository is problematic,\nbecause of the ``setup.cfg`` containing things that should not be picked up by ``pip``.\n\nFor those repositories, you can specify that the installation commands in the ``Jenkinsfile`` should be\nrun from ``$HOME``, via:\n\n```ini\n[vsc-ci]\nhome_install=1\n```\n\nLeveraging system (Python) packages\n-----------------------------------\n\nIf a repository requires Python packages as dependencies that are installed as OS packages (for example, ``pyslurm``),\ntox must be configured to inherit these packages in the test environment. This can be enabled via:\n\n```ini\n[vsc-ci]\ninherit_site_packages=1\n```\n', 'long_description_content_type': 'text/markdown', 'scripts': ['bin/python-noenv.sh', 'bin/python-stripped-env'], 'namespace_packages': ['vsc'], 'version': '0.17.13', 'author': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'author_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'maintainer': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'maintainer_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'name': 'vsc-install'} 2021-05-28T11:51:42,332 INFO: makesetupcfg set to True, (re)creating setup.cfg 2021-05-28T11:51:42,398 /usr/local/lib/python3.7/dist-packages/setuptools/dist.py:645: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead 2021-05-28T11:51:42,399 % (opt, underscore_opt)) 2021-05-28T11:51:42,738 /usr/local/lib/python3.7/dist-packages/setuptools/dist.py:645: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead 2021-05-28T11:51:42,738 % (opt, underscore_opt)) 2021-05-28T11:51:42,769 INFO: running bdist_wheel 2021-05-28T11:51:42,779 INFO: running build 2021-05-28T11:51:42,780 INFO: running build_py 2021-05-28T11:51:42,781 INFO: creating build 2021-05-28T11:51:42,782 INFO: creating build/lib 2021-05-28T11:51:42,784 INFO: creating build/lib/vsc 2021-05-28T11:51:42,786 INFO: copying lib/vsc/__init__.py -> build/lib/vsc 2021-05-28T11:51:42,790 INFO: creating build/lib/vsc/install 2021-05-28T11:51:42,791 INFO: copying lib/vsc/install/testing.py -> build/lib/vsc/install 2021-05-28T11:51:42,796 INFO: copying lib/vsc/install/commontest.py -> build/lib/vsc/install 2021-05-28T11:51:42,800 INFO: copying lib/vsc/install/shared_setup.py -> build/lib/vsc/install 2021-05-28T11:51:42,814 INFO: copying lib/vsc/install/headers.py -> build/lib/vsc/install 2021-05-28T11:51:43,042 INFO: copying lib/vsc/install/methodinspector.py -> build/lib/vsc/install 2021-05-28T11:51:43,047 INFO: copying lib/vsc/install/__init__.py -> build/lib/vsc/install 2021-05-28T11:51:43,051 INFO: copying lib/vsc/install/ci.py -> build/lib/vsc/install 2021-05-28T11:51:43,059 INFO: running build_scripts 2021-05-28T11:51:43,060 INFO: creating build/scripts-3.7 2021-05-28T11:51:43,062 INFO: copying bin/python-noenv.sh -> build/scripts-3.7 2021-05-28T11:51:43,067 INFO: copying bin/python-stripped-env -> build/scripts-3.7 2021-05-28T11:51:43,069 INFO: changing mode of build/scripts-3.7/python-noenv.sh from 644 to 755 2021-05-28T11:51:43,073 INFO: installing to build/bdist.linux-armv7l/wheel 2021-05-28T11:51:43,073 INFO: running install 2021-05-28T11:51:43,075 INFO: running install_lib 2021-05-28T11:51:43,088 WARN: Skipping installation of build/bdist.linux-armv7l/wheel/vsc/__init__.py (namespace package) 2021-05-28T11:51:43,089 INFO: copying vsc/install/testing.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,095 INFO: copying vsc/install/commontest.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,099 INFO: copying vsc/install/shared_setup.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,106 INFO: copying vsc/install/headers.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,109 INFO: copying vsc/install/methodinspector.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,114 INFO: copying vsc/install/__init__.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,118 INFO: copying vsc/install/ci.py -> build/bdist.linux-armv7l/wheel/vsc/install 2021-05-28T11:51:43,124 INFO: running install_egg_info 2021-05-28T11:51:43,128 INFO: run_tests from base dir /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda (using executable /tmp/pip-wheel-hh8cdx_y/vsc-install_be4a7f404f9d4cc593c46d25a4020cda/setup.py) 2021-05-28T11:51:43,135 INFO: running egg_info 2021-05-28T11:51:43,135 INFO: creating lib/vsc_install.egg-info 2021-05-28T11:51:43,136 INFO: writing lib/vsc_install.egg-info/PKG-INFO 2021-05-28T11:51:43,141 INFO: writing dependency_links to lib/vsc_install.egg-info/dependency_links.txt 2021-05-28T11:51:43,144 INFO: writing namespace_packages to lib/vsc_install.egg-info/namespace_packages.txt 2021-05-28T11:51:43,145 INFO: writing requirements to lib/vsc_install.egg-info/requires.txt 2021-05-28T11:51:43,146 INFO: writing top-level names to lib/vsc_install.egg-info/top_level.txt 2021-05-28T11:51:43,149 INFO: writing manifest file 'lib/vsc_install.egg-info/SOURCES.txt' 2021-05-28T11:51:43,156 INFO: adding license file 'LICENSE' (matched pattern 'LICEN[CS]E*') 2021-05-28T11:51:43,160 INFO: reading manifest file 'lib/vsc_install.egg-info/SOURCES.txt' 2021-05-28T11:51:43,165 INFO: writing manifest file 'lib/vsc_install.egg-info/SOURCES.txt' 2021-05-28T11:51:43,167 INFO: looking for extra dist files 2021-05-28T11:51:43,169 INFO: Copying lib/vsc_install.egg-info to build/bdist.linux-armv7l/wheel/vsc_install-0.17.13-py3.7.egg-info 2021-05-28T11:51:43,204 INFO: Installing build/bdist.linux-armv7l/wheel/vsc_install-0.17.13-py3.7-nspkg.pth 2021-05-28T11:51:43,206 INFO: running install_scripts 2021-05-28T11:51:43,281 INFO: creating build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.data 2021-05-28T11:51:43,281 INFO: creating build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.data/scripts 2021-05-28T11:51:43,288 INFO: copying build/scripts-3.7/python-noenv.sh -> build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.data/scripts 2021-05-28T11:51:43,291 INFO: copying build/scripts-3.7/python-stripped-env -> build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.data/scripts 2021-05-28T11:51:43,300 INFO: changing mode of build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.data/scripts/python-noenv.sh to 755 2021-05-28T11:51:43,301 INFO: changing mode of build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.data/scripts/python-stripped-env to 755 2021-05-28T11:51:43,352 INFO: adding license file "LICENSE" (matched pattern "LICEN[CS]E*") 2021-05-28T11:51:43,362 INFO: creating build/bdist.linux-armv7l/wheel/vsc_install-0.17.13.dist-info/WHEEL 2021-05-28T11:51:43,367 INFO: creating '/tmp/pip-wheel-pugbwq7r/vsc_install-0.17.13-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2021-05-28T11:51:43,370 INFO: adding 'vsc_install-0.17.13-py3.7-nspkg.pth' 2021-05-28T11:51:43,374 INFO: adding 'vsc/install/__init__.py' 2021-05-28T11:51:43,377 INFO: adding 'vsc/install/ci.py' 2021-05-28T11:51:43,381 INFO: adding 'vsc/install/commontest.py' 2021-05-28T11:51:43,384 INFO: adding 'vsc/install/headers.py' 2021-05-28T11:51:43,387 INFO: adding 'vsc/install/methodinspector.py' 2021-05-28T11:51:43,401 INFO: adding 'vsc/install/shared_setup.py' 2021-05-28T11:51:43,403 INFO: adding 'vsc/install/testing.py' 2021-05-28T11:51:43,406 INFO: adding 'vsc_install-0.17.13.data/scripts/python-noenv' 2021-05-28T11:51:43,409 INFO: adding 'vsc_install-0.17.13.data/scripts/python-stripped-env' 2021-05-28T11:51:43,416 INFO: adding 'vsc_install-0.17.13.dist-info/LICENSE' 2021-05-28T11:51:43,419 INFO: adding 'vsc_install-0.17.13.dist-info/METADATA' 2021-05-28T11:51:43,420 INFO: adding 'vsc_install-0.17.13.dist-info/WHEEL' 2021-05-28T11:51:43,421 INFO: adding 'vsc_install-0.17.13.dist-info/namespace_packages.txt' 2021-05-28T11:51:43,423 INFO: adding 'vsc_install-0.17.13.dist-info/top_level.txt' 2021-05-28T11:51:43,423 INFO: adding 'vsc_install-0.17.13.dist-info/RECORD' 2021-05-28T11:51:43,426 INFO: removing build/bdist.linux-armv7l/wheel 2021-05-28T11:51:43,510 Building wheel for vsc-install (setup.py): finished with status 'done' 2021-05-28T11:51:43,514 Created wheel for vsc-install: filename=vsc_install-0.17.13-py3-none-any.whl size=59527 sha256=9c618ddc0936fac1ee086406f5aa375ab7324ab8e40aa257516cbb7b371c1182 2021-05-28T11:51:43,514 Stored in directory: /tmp/pip-ephem-wheel-cache-ae8s60i2/wheels/05/94/15/12407a01998cbd71080b79f70dfa5419d30ecbf7e32d827629 2021-05-28T11:51:43,527 Successfully built vsc-install 2021-05-28T11:51:43,534 Removed build tracker: '/tmp/pip-req-tracker-ildazn4f'