Hello community,

here is the log from the commit of package python3-setuptools for 
openSUSE:Factory checked in at 2015-12-23 09:57:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-setuptools (Old)
 and      /work/SRC/openSUSE:Factory/.python3-setuptools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-setuptools"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-setuptools/python3-setuptools.changes    
2015-12-16 17:42:04.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes   
    2015-12-23 09:57:18.000000000 +0100
@@ -1,0 +2,20 @@
+Mon Dec 21 19:19:56 UTC 2015 - [email protected]
+
+- update to version 19.1.1:
+  * Issue #476: Cast version to string (using default encoding) to
+    avoid creating Unicode types on Python 2 clients.
+  * Issue #477: In Powershell downloader, use explicit rendering of
+    strings, rather than rely on "repr", which can be incorrect
+    (especially on Python 2).
+
+- changes from version 19.1:
+  * Issue #215: The bootstrap script "ez_setup.py" now automatically
+    detects the latest version of setuptools (using PyPI JSON API)
+    rather than hard-coding a particular value.
+  * Issue #475: Fix incorrect usage in _translate_metadata2.
+
+- changes from version 19.0:
+  * Issue #442: Use RawConfigParser for parsing .pypirc file.
+    Interpolated values are no longer honored in .pypirc files.
+
+-------------------------------------------------------------------

Old:
----
  setuptools-18.8.1.tar.gz

New:
----
  setuptools-19.1.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-setuptools.spec ++++++
--- /var/tmp/diff_new_pack.rMvUW9/_old  2015-12-23 09:57:19.000000000 +0100
+++ /var/tmp/diff_new_pack.rMvUW9/_new  2015-12-23 09:57:19.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-setuptools
-Version:        18.8.1
+Version:        19.1.1
 Release:        0
 Url:            http://pypi.python.org/pypi/setuptools
 Summary:        Easily download, build, install, upgrade, and uninstall Python 
packages

++++++ setuptools-18.8.1.tar.gz -> setuptools-19.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/.gitignore 
new/setuptools-19.1.1/.gitignore
--- old/setuptools-18.8.1/.gitignore    1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.gitignore    2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,16 @@
+# syntax: glob
+bin
+build
+dist
+include
+lib
+distribute.egg-info
+setuptools.egg-info
+.coverage
+.tox
+CHANGES (links).txt
+*.egg
+*.py[cod]
+*.swp
+*~
+.hg*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/.hgignore 
new/setuptools-19.1.1/.hgignore
--- old/setuptools-18.8.1/.hgignore     1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.hgignore     2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,16 @@
+syntax: glob
+bin
+build
+dist
+include
+lib
+distribute.egg-info
+setuptools.egg-info
+.coverage
+.tox
+CHANGES (links).txt
+*.egg
+*.py[cod]
+*.swp
+*~
+.git*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/.hgtags 
new/setuptools-19.1.1/.hgtags
--- old/setuptools-18.8.1/.hgtags       1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.hgtags       2015-12-17 01:27:31.000000000 +0100
@@ -0,0 +1,233 @@
+1010d08fd8dfd2f1496843b557b5369a0beba82a 0.6
+4d114c5f2a3ecb4a0fa552075dbbb221b19e291b 0.6.1
+41415244ee90664042d277d0b1f0f59c04ddd0e4 0.6.2
+e033bf2d3d05f4a7130f5f8f5de152c4db9ff32e 0.6.3
+e06c416e911c61771708f5afbf3f35db0e12ba71 0.6.4
+2df182df8a0224d429402de3cddccdb97af6ea21 0.6.5
+f1fb564d6d67a6340ff33df2f5a74b89753f159d 0.6.6
+71f08668d050589b92ecd164a4f5a91f3484313b 0.6.7
+445547a5729ed5517cf1a9baad595420a8831ef8 0.6.8
+669ed9388b17ec461380cc41760a9a7384fb5284 0.6.9
+669ed9388b17ec461380cc41760a9a7384fb5284 0.6.9
+ac7d9b14ac43fecb8b65de548b25773553facaee 0.6.9
+0fd5c506037880409308f2b79c6e901d21e7fe92 0.6.10
+0fd5c506037880409308f2b79c6e901d21e7fe92 0.6.10
+f18396c6e1875476279d8bbffd8e6dadcc695136 0.6.10
+e00987890c0b386f09d0f6b73d8558b72f6367f1 0.6.11
+48a97bc89e2f65fc9b78b358d7dc89ba9ec9524a 0.6.12
+dae247400d0ca1fdfaf38db275622c9bec550b08 0.6.13
+2b9d9977ea75b8eb3766bab808ef31f192d2b1bc 0.6.14
+51a9d1a1f31a4be3107d06cf088aff8e182dc633 0.6.15
+3f1ff138e947bfc1c9bcfe0037030b7bfb4ab3a5 0.6.16
+9c40f23d0bda3f3f169686e27a422f853fa4d0fa 0.6.17
+9c40f23d0bda3f3f169686e27a422f853fa4d0fa 0.6.17
+4bbc01e4709ea7425cf0c186bbaf1d928cfa2a65 0.6.17
+4bbc01e4709ea7425cf0c186bbaf1d928cfa2a65 0.6.17
+0502d5117d8304ab21084912758ed28812a5a8f1 0.6.17
+74108d7f07343556a8db94e8122221a43243f586 0.6.18
+611910892a0421633d72677979f94a25ef590d54 0.6.19
+a7cf5ae137f1646adf86ce5d6b5d8b7bd6eab69f 0.6.20
+c4a375336d552129aef174486018ed09c212d684 0.6.20
+de44acab3cfce1f5bc811d6c0fa1a88ca0e9533f 0.6.21
+1a1ab844f03e10528ae693ad3cb45064e08f49e5 0.6.23
+1a1ab844f03e10528ae693ad3cb45064e08f49e5 0.6.23
+9406c5dac8429216f1a264e6f692fdc534476acd 0.6.23
+7fd7b6e30a0effa082baed1c4103a0efa56be98c 0.6.24
+6124053afb5c98f11e146ae62049b4c232d50dc5 0.6.25
+b69f072c000237435e17b8bbb304ba6f957283eb 0.6.26
+469c3b948e41ef28752b3cdf3c7fb9618355ebf5 0.6.27
+fc379e63586ad3c6838e1bda216548ba8270b8f0 0.6.28
+4f82563d0f5d1af1fb215c0ac87f38b16bb5c42d 0.6.29
+7464fc916fa4d8308e34e45a1198512fe04c97b4 0.6.30
+17bc972d67edd96c7748061910172e1200a73efe 0.6.31
+b1a7f86b315a1f8c20036d718d6dc641bb84cac6 0.6.32
+6acac3919ae9a7dba2cbecbe3d4b31ece25d5f09 0.6.33
+23c310bf4ae8e4616e37027f08891702f5a33bc9 0.6.34
+2abe1117543be0edbafb10c7c159d1bcb1cb1b87 0.6.35
+c813a29e831f266d427d4a4bce3da97f475a8eee 0.6.36
+be6f65eea9c10ce78b6698d8c220b6e5de577292 0.6.37
+2b26ec8909bff210f47c5f8fc620bc505e1610b5 0.6.37
+f0d502a83f6c83ba38ad21c15a849c2daf389ec7 0.6.38
+d737b2039c5f92af8000f78bbc80b6a5183caa97 0.6.39
+9b2e2aa06e058c63e06c5e42a7f279ddae2dfb7d 0.7b1
+0a783fa0dceb95b5fc743e47c2d89c1523d0afb7 0.6.40
+ad107e9b4beea24516ac4e1e854696e586fe279d 0.6.41
+f30167716b659f96c5e0b7ea3d5be2bcff8c0eac 0.6.42
+8951daac6c1bc7b24c7fb054fd369f2c5b88cdb3 0.7b2
+35086ee286732b0f63d2be18d9f26f2734586e2d 0.6.43
+63e4eb2d61204f77f9b557201a0efa187b05a611 0.7b3
+73aa98aee6bbc4a9d19a334a8ac928dece7799c6 0.6.44
+53b4ac9a748aa28893aaca42c41e5e99568667bb 0.7b4
+ddca71ae5ceb9b14512dc60ea83802c10e224cf0 0.6.45
+7f2c08e9ca22023d1499c512fccc1513813b7dc4 0.7
+024dd30ed702135f5328975042566e48cc479d7d 0.7.1
+d04c05f035e3a5636006fc34f4be7e6c77035d17 0.7.2
+d212e48e0cef689acba57ed017289c027660b23c 0.7.3
+74c6c12268059986f9cc0b535399594f1d131201 0.8b1
+85640475dda0621f20e11db0995fa07f51744a98 0.7.4
+b57e5ba934767dd498669b17551678081b3047b5 0.6.46
+dd5bbc116c53d3732d22f983e7ca6d8cfabd3b08 0.7.5
+512744f3f306aea0fdde4cfd600af8b2d6e773e7 0.8b2
+8af9839a76407eebf3610fcd3e7973f1625abaa2 0.8b3
+ee2c967017024197b38e39ced852808265387a4b 0.6.47
+48d3d26cbea68e21c96e51f01092e8fdead5cd60 0.7.6
+5b3c7981a02b4a86af1b10ae16492899b515d485 0.8b4
+cae9127e0534fc46d7ddbc11f68dc88fd9311459 0.6.48
+1506fa538fff01e70424530a32a44e070720cf3c 0.7.7
+5679393794978a1d3e1e087472b8a0fdf3d8423c 0.8b5
+26f59ec0f0f69714d28a891aaad048e3b9fcd6f7 0.8b6
+f657df1f1ed46596d236376649c99a470662b4ba 0.6.49
+236de1de68b14230036147c7c9e7c09b215b53ee 0.7.8
+979d598822bc64b05fb177a2ba221e75ee5b44d3 0.8b7
+e3d70539e79f39a97f69674ab038661961a1eb43 0.8
+3078b1e566399bf0c5590f3528df03d0c23a0777 0.9
+9e5a8f734662dd36e6fd6e4ba9031d0e2d294632 0.9.1
+37444bb32e172aaacbc0aeafdf5a778ee471723d 0.9.2
+3e9d2e89de3aa499382d6be2ec8b64d2a29f7f13 0.9.3
+1aef141fc968113e4c521d1edf6ea863c4ff7e00 0.9.4
+88e3d6788facbb2dd6467a23c4f35529a5ce20a1 0.9.5
+acc6c5d61d0f82040c237ac7ea010c0fc9e67d66 0.9.6
+19965a03c1d5231c894e0fabfaf45af1fd99f484 0.9.7
+e0a6e225ad6b28471cd42cfede6e8a334bb548fb 0.9.8
+7b91ff93a30ef78634b7bb34f4a6229a5de281ee 1.0b1
+aba16323ec9382da7bc77c633990ccb3bd58d050 1.0b2
+8a98492f0d852402c93ddbbf3f07081909a9105f 1.0b3
+c385fdf1f976fb1d2a6accc9292d8eca419180fa 1.0
+d943b67fe80dbd61326014e4acedfc488adfa1c9 1.1
+2e42e86546100c9f6845b04eb31b75c5add05f78 1.1.1
+462fe5ccd8befeb2a235e8295d6d73eb3a49cc78 1.1.2
+ddf3561d6a54087745f4bf6ea2048b86195d6fe2 1.1.3
+f94c7e4fa03077e069c1c3cef93ead735559e706 1.1.4
+d9bb58331007ee3f69d31983a180f56b15c731c3 1.1.5
+5e426bdeb46b87e299422adc419f4163b6c78d13 1.1.6
+cc9b19cd0ec64e44308a852e9b9fdc6026ea2e46 1.1.7
+4c7dc4ae2440ae3e9ba26b4a12ffca3407e7030d 1.2b1
+77921bbe3931caf40474dc36e55d3d541981c749 1.2
+19873119647deae8a68e9ed683317b9ee170a8d8 1.3
+a197b626075a8c2e393a08c42a20bd2624a41092 1.3.1
+076b472a9e3f840021e9d5509878337e6e5fcd89 1.3.2
+0d1bdb99a535a2c7ed4edd37141fb0b54348b713 1.4b1
+a13f8c18ce742bc83c794b9eea57980cb94ae18a 1.4
+9a5f26d7df8ef779cb5f40cc0389343fb4c61365 1.4.1
+274cb3beba4f22d5f461b0578b6d56e171d94f2e 1.4.2
+0bb1df93c2eaa50e95ccfce18208b0cca20ebae3 2.0
+bbdba51e1bc1779728ed351529252f73543ace65 2.0.1
+5a62ac60ba31d249db1cfcff31d85ca26421be6d 2.0.2
+c49c651997ebec3b40b71139e8a6a6a15c62c848 2.1
+b5be6c2b828cb92d27f52fccc725ce86a37e9ce0 2.1.1
+ab1c2a26e06f2a2006e8e867e4d41ccf1d6cf9b2 2.2b1
+caab085e829f29679d0e47430b2761af6b20fc76 2.1.2
+39f7ef5ef22183f3eba9e05a46068e1d9fd877b0 2.2
+faba785e9b9e05ba890d0851ef1f3287c32fcac2 3.0b1
+8e8c50925f18eafb7e66fe020aa91a85b9a4b122 3.0
+cd9e857476ac70515f7436f846b593f696ac672d 3.0.1
+bad1f30ee0dfa7a2af4f428d06f62efa39ca48db 3.0.2
+47224d55ddc6bb08c1d17a219f124d0d9c524491 3.1
+07c459bea1c58ff52e0576fc29c1865d18a83b09 3.2
+b306e681a945406833fb297ae10241e2241fc22b 3.3
+78c8cfbe3e1017d1653c48f7306b2c4b4911bf1a 4.0b1
+5cb90066d98700e6d37a01d95c4a2090e730ae02 3.4
+e39de2d3eb774b70c023a1151758213cc9ed2178 3.4.1
+369f6f90f69683702cc0b72827ccf949977808b0 3.4.2
+06a56e063c327b0606f9e9690764279d424646b2 3.4.3
+0917d575d26091a184796624743825914994bf95 3.4.4
+98f29d521c3a57bae0090d2bc5597d93db95b108 3.5
+254d8c625f4620993ce2d2b21212ba01cf307fe6 3.5.1
+572201d08eadc59210f6f0f28f9dc79f906672d3 3.5.2
+e94e768594a1405efde0b79cc60549dd8a4cda9a 3.6
+292dfca15d33e72a862d044183a6ad7c06862a19 3.7b1
+49bd27eebf212c067392796bb2d0fa6d8e583586 3.7
+2fa97c06cc013a9c82f4c1219711e72238d5b6e6 3.8
+9b422fc0b8b97cdb62f02d754283f747adef7f83 3.7.1
+40744de29b848f0e88139ba91d645c08a56855e9 3.8.1
+84d936fd18a93d16c46e68ee2e39f5733f3cd863 5.0
+871bd7b4326f48860ebe0baccdaea8fe4f8f8583 5.0.1
+95996b713722376679c3168b15ab12ea8360dd5f 5.0.2
+3a948b6d01e3449b478fcdc532c44eb3cea5ee10 5.1
+f493e6c4ffd88951871110858c141385305e0077 5.2
+1f9505cfd7524ce0c83ab31d139f47b39c56ccbe 5.3
+baae103e80c307008b156e426a07eb9f486eb4f0 5.4
+ba3b08c7bffd6123e1a7d58994f15e8051a67cb7 5.4.1
+7adcf1397f6eccb9e73eda294343de2943f7c8fb 5.4.2
+68910a89f97a508a64f9f235dc64ad43d4477ea0 5.5
+949a66af4f03521e1404deda940aa951418a13d2 5.5.1
+a1fc0220bfa3581158688789f6dfdc00672eb99b 5.6
+37ed55fd310d0cd32009dc5676121e86b404a23d 5.7
+67550a8ed9f4ef49ee5a31f433adbf5a0eaeccf9 5.8
+755cbfd3743ffb186cdf7e20be8e61dbdaa22503 6.0
+bc6655b4acf205dd9f25c702955645656077398a 6.0.1
+1ae2a75724bbba56373784f185a7f235ed0f24a4 6.0.2b1
+01271e84e5125fcc4f0f368a6e21116a5722953c 6.0.2
+7ea80190d494a766c6356fce85c844703964b6cc 6.1
+df26609c2f614f5fc9110342e4003ee8bd95cf84 7.0
+850a5c155c48b6ecfbb83b961586ea359b561522 8.0b1
+7ea0e7498e4ddbf63b6929ee83c75a9207996b08 8.0
+1af3a5f24f7dd4e51d117f701918052b7de65c99 8.1b1
+d62bf4e407b3b9b5bedcc1396a9ba46f35571902 8.0.1
+1c03d512e39d5cfd711ae3ed7e316769f427e43b 8.0.2
+6c3467488123ce70b1dd009145a02f51fb78cdcc 8.0.3
+2c467afffe9fe1e14618b576fac6b4f7c412a61e 8.0.4
+3f87370b6863e5a4e831b394ef1a58e0e97a4336 8.1
+995f6d9651312cd481ca1e5ddb271cbdd0474c57 8.2
+efbe39dae0aba9a7db399f6442758ae94e315c93 8.2.1
+cd14b2a72e51c7d13873ab6c2041f901b1a7a1cd 8.3
+0eee586a153f068142c1a0df4bc2635ed2c1a1cc 9.0b1
+921e60a0f9067311571fde9ccf2f35223159d9f6 8.4
+0d7b9b63d06ab7f68bc8edd56cb2034e6395d7fc 9.0
+fa069bf2411a150c9379d31a04d1c3836e2d3027 9.0.1
+3ed27d68d3f41bb5daa2afecfa9180d5958fe9d3 9.1
+0c4d18a747a6d39bff8e194a58af949a960d674a 10.0
+4c41e2cdd70beb0da556d71f46a67734c14f2bc2 10.0.1
+26b00011ec65b8f7b4f3d51078ec0a694701a45c 10.1
+651d41db58849d4fc50e466f4dc458d448480c4e 10.2
+1f5de53c079d577ead9d80265c9e006503b16457 10.2.1
+b4b92805bc0e9802da0b597d00df4fa42b30bc40 11.0
+6cd2b18f4be2a9c188fa505b34505b32f4a4554b 11.1
+feb5971e7827483bbdeb67613126bb79ed09e6d9 11.2
+a1a6a1ac9113b90009052ca7263174a488434099 11.3
+1116e568f534ad8f4f41328a0f5fa183eb739c90 11.3.1
+55666947c9eb7e3ba78081ad6ae004807c84aede 12.0
+747018b2e35a40cb4b1c444f150f013d02197c64 12.0.1
+a177ea34bf81662b904fe3af46f3c8719a947ef1 12.0.2
+bf8c5bcacd49bf0f9648013a40ebfc8f7c727f7b 12.0.3
+73dcfc90e3eecec6baddea19302c6b342e68e2fa 12.0.4
+01fbfc9194a2bc502edd682eebbf4d2f1bc79eee 12.0.5
+7bca8938434839dbb546b8bfccd9aab7a86d851e 12.1
+5ff5c804a8fa580cff499ba0025ff2e6a5474fd0 12.2
+8d50aac3b20793954121edb300b477cc75f3ec96 12.3
+297931cb8cac7d44d970adb927efd6cb36ac3526 12.4
+df34cc18624279faffdbc729c0a11e6ab0f46572 13.0
+ae1a5c5cf78f4f9f98c054f1c8cec6168d1d19b4 13.0.1
+e22a1d613bddf311e125eecd9c1e1cad02ab5063 13.0.2
+a3a105f795f8362f26e84e9acbc237ee2d6bcca4 14.0
+9751a1671a124e30ae344d1510b9c1dbb14f2775 14.1
+07fcc3226782b979cedaaf456c7f1c5b2fdafd2c 14.1.1
+d714fb731de779a1337d2d78cd413931f1f06193 14.2
+e3c635a7d463c7713c647d1aa560f83fd8e27ef0 14.3
+608948cef7e0ab8951691b149f5b6f0184a5635e 14.3.1
+617699fd3e44e54b6f95b80bfcf78164df37f266 15.0b1
+d2c4d84867154243993876d6248aafec1fd12679 15.0
+10fde952613b7a3f650fb1f6b6ed58cbd232fa3c 15.1
+df5dc9c7aa7521f552824dee1ed1315cfe180844 15.2
+e0825f0c7d5963c498266fe3c175220c695ae83b 16.0
+8e56240961015347fed477f00ca6a0783e81d3a2 17.0
+a37bcaaeab367f2364ed8c070659d52a4c0ae38e 17.1
+4a0d01d690ff184904293e7a3244ac24ec060a73 17.1.1
+fac98a49bd984ef5accf7177674d693277bfbaef 18.0b1
+0a49ee524b0a1d67d2a11c8c22f082b57acd7ae1 18.0
+e364795c1b09c70b6abb53770e09763b52bf807d 18.0.1
+c0395f556c35d8311fdfe2bda6846b91149819cd 18.1
+1a981f2e5031f55267dc2a28fa1b42274a1b64b2 18.2
+b59320212c8371d0be9e5e6c5f7eec392124c009 18.3
+7a705b610abb1177ca169311c4ee261f3e4f0957 18.3.1
+1e120f04bcaa2421c4df0eb6678c3019ba4a82f6 18.3.2
+6203335278be7543d31790d9fba55739469a4c6c 18.4
+31dc6d2ac0f5ab766652602fe6ca716fff7180e7 18.5
+dfe190b09908f6b953209d13573063809de451b8 18.6
+804f87045a901f1dc121cf9149143d654228dc13 18.6.1
+67d07805606aead09349d5b91d7d26c68ddad2fc 18.7
+3041e1fc409be90e885968b90faba405420fc161 18.7.1
+c811801ffa1de758cf01fbf6a86e4c04ff0c0935 18.8
+fbf06fa35f93a43f044b1645a7e4ff470edb462c 18.8.1
+cc41477ecf92f221c113736fac2830bf8079d40c 19.0
+834782ce49154e9744e499e00eb392c347f9e034 19.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/.travis.yml 
new/setuptools-19.1.1/.travis.yml
--- old/setuptools-18.8.1/.travis.yml   1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/.travis.yml   2015-12-16 14:21:20.000000000 +0100
@@ -0,0 +1,25 @@
+language: python
+python:
+  - 2.6
+  - 2.7
+  - 3.3
+  - 3.4
+  - 3.5
+  - pypy
+env:
+ - ""
+ - LC_ALL=C LC_CTYPE=C
+script:
+ # avoid VersionConflict when newer version is required
+ - pip install -U pytest
+
+ # Output the env, because the travis docs just can't be trusted
+ - env
+
+ # update egg_info based on setup.py in checkout
+ - python bootstrap.py
+
+ - python setup.py test --addopts='-rs'
+
+ # test the bootstrap script
+ - python ez_setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/CHANGES.txt 
new/setuptools-19.1.1/CHANGES.txt
--- old/setuptools-18.8.1/CHANGES.txt   2015-12-13 16:47:39.000000000 +0100
+++ new/setuptools-19.1.1/CHANGES.txt   2015-12-17 01:09:19.000000000 +0100
@@ -4,6 +4,33 @@
 
 
 ------
+19.1.1
+------
+
+* Issue #476: Cast version to string (using default encoding)
+  to avoid creating Unicode types on Python 2 clients.
+* Issue #477: In Powershell downloader, use explicit rendering
+  of strings, rather than rely on ``repr``, which can be
+  incorrect (especially on Python 2).
+
+----
+19.1
+----
+
+* Issue #215: The bootstrap script ``ez_setup.py`` now
+  automatically detects
+  the latest version of setuptools (using PyPI JSON API) rather
+  than hard-coding a particular value.
+* Issue #475: Fix incorrect usage in _translate_metadata2.
+
+----
+19.0
+----
+
+* Issue #442: Use RawConfigParser for parsing .pypirc file.
+  Interpolated values are no longer honored in .pypirc files.
+
+------
 18.8.1
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/Makefile 
new/setuptools-19.1.1/Makefile
--- old/setuptools-18.8.1/Makefile      1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/Makefile      2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,7 @@
+empty:
+       exit 1
+
+update-vendored:
+       rm -rf pkg_resources/_vendor/packaging
+       pip install -r pkg_resources/_vendor/vendored.txt -t 
pkg_resources/_vendor/
+       rm -rf pkg_resources/_vendor/*.{egg,dist}-info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/PKG-INFO 
new/setuptools-19.1.1/PKG-INFO
--- old/setuptools-18.8.1/PKG-INFO      2015-12-13 17:57:44.000000000 +0100
+++ new/setuptools-19.1.1/PKG-INFO      2015-12-17 01:27:34.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: setuptools
-Version: 18.8.1
+Version: 19.1.1
 Summary: Easily download, build, install, upgrade, and uninstall Python 
packages
 Home-page: https://bitbucket.org/pypa/setuptools
 Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/ez_setup.py 
new/setuptools-19.1.1/ez_setup.py
--- old/setuptools-18.8.1/ez_setup.py   2015-12-13 17:57:40.000000000 +0100
+++ new/setuptools-19.1.1/ez_setup.py   2015-12-17 01:10:20.000000000 +0100
@@ -16,7 +16,8 @@
 import platform
 import textwrap
 import contextlib
-import warnings
+import json
+import codecs
 
 from distutils import log
 
@@ -30,7 +31,8 @@
 except ImportError:
     USER_SITE = None
 
-DEFAULT_VERSION = "18.8.1"
+LATEST = object()
+DEFAULT_VERSION = LATEST
 DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/";
 DEFAULT_SAVE_DIR = os.curdir
 
@@ -140,6 +142,7 @@
     Return None. Raise SystemExit if the requested version
     or later cannot be installed.
     """
+    version = _resolve_version(version)
     to_dir = os.path.abspath(to_dir)
 
     # prior to importing, capture the module state for
@@ -222,8 +225,8 @@
     ps_cmd = (
         "[System.Net.WebRequest]::DefaultWebProxy.Credentials = "
         "[System.Net.CredentialCache]::DefaultCredentials; "
-        "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)"
-        % vars()
+        '(new-object System.Net.WebClient).DownloadFile("%(url)s", 
"%(target)s")'
+        % locals()
     )
     cmd = [
         'powershell',
@@ -321,6 +324,7 @@
     ``downloader_factory`` should be a function taking no arguments and
     returning a function for downloading a URL to a target.
     """
+    version = _resolve_version(version)
     # making sure we use the absolute path
     to_dir = os.path.abspath(to_dir)
     zip_name = "setuptools-%s.zip" % version
@@ -333,6 +337,26 @@
     return os.path.realpath(saveto)
 
 
+def _resolve_version(version):
+    """
+    Resolve LATEST version
+    """
+    if version is not LATEST:
+        return version
+
+    resp = urlopen('https://pypi.python.org/pypi/setuptools/json')
+    with contextlib.closing(resp):
+        try:
+            charset = resp.info().get_content_charset()
+        except Exception:
+            # Python 2 compat; assume UTF-8
+            charset = 'UTF-8'
+        reader = codecs.getreader(charset)
+        doc = json.load(reader(resp))
+
+    return str(doc['info']['version'])
+
+
 def _build_install_args(options):
     """
     Build the arguments to 'python setup.py install' on the setuptools package.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/pkg_resources/__init__.py 
new/setuptools-19.1.1/pkg_resources/__init__.py
--- old/setuptools-18.8.1/pkg_resources/__init__.py     2015-12-09 
08:34:40.000000000 +0100
+++ new/setuptools-19.1.1/pkg_resources/__init__.py     2015-12-16 
14:21:20.000000000 +0100
@@ -1537,7 +1537,7 @@
         """
         return dict(
             (key.replace('.', '_'), value)
-            for key, value in env
+            for key, value in env.items()
         )
 
     @classmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/release.py 
new/setuptools-19.1.1/release.py
--- old/setuptools-18.8.1/release.py    2015-11-30 17:24:31.000000000 +0100
+++ new/setuptools-19.1.1/release.py    2015-12-16 14:25:24.000000000 +0100
@@ -4,24 +4,13 @@
 """
 
 import os
-import subprocess
 
 import pkg_resources
 
 pkg_resources.require('jaraco.packaging>=2.0')
 pkg_resources.require('wheel')
 
-
-def before_upload():
-    BootstrapBookmark.add()
-
-
-def after_push():
-    BootstrapBookmark.push()
-
-files_with_versions = (
-    'ez_setup.py', 'setuptools/version.py',
-)
+files_with_versions = 'setuptools/version.py',
 
 # bdist_wheel must be included or pip will break
 dist_commands = 'sdist', 'bdist_wheel'
@@ -29,22 +18,3 @@
 test_info = "Travis-CI tests: http://travis-ci.org/#!/jaraco/setuptools";
 
 os.environ["SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES"] = "1"
-
-class BootstrapBookmark:
-    name = 'bootstrap'
-
-    @classmethod
-    def add(cls):
-        cmd = ['hg', 'bookmark', '-i', cls.name, '-f']
-        subprocess.Popen(cmd)
-
-    @classmethod
-    def push(cls):
-        """
-        Push the bootstrap bookmark
-        """
-        push_command = ['hg', 'push', '-B', cls.name]
-        # don't use check_call here because mercurial will return a non-zero
-        # code even if it succeeds at pushing the bookmark (because there are
-        # no changesets to be pushed). !dm mercurial
-        subprocess.call(push_command)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools-18.8.1/scripts/upload-old-releases-as-zip.py 
new/setuptools-19.1.1/scripts/upload-old-releases-as-zip.py
--- old/setuptools-18.8.1/scripts/upload-old-releases-as-zip.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/scripts/upload-old-releases-as-zip.py 2015-11-30 
17:24:31.000000000 +0100
@@ -0,0 +1,242 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# declare and require dependencies
+__requires__ = [
+    'twine',
+]; __import__('pkg_resources')
+
+import errno
+import glob
+import hashlib
+import json
+import os
+import shutil
+import tarfile
+import codecs
+import urllib.request
+import urllib.parse
+import urllib.error
+from distutils.version import LooseVersion
+
+from twine.commands import upload
+
+
+OK = '\033[92m'
+FAIL = '\033[91m'
+END = '\033[0m'
+DISTRIBUTION = "setuptools"
+
+
+class SetuptoolsOldReleasesWithoutZip:
+    """docstring for SetuptoolsOldReleases"""
+
+    def __init__(self):
+        self.dirpath = './dist'
+        os.makedirs(self.dirpath, exist_ok=True)
+        print("Downloading %s releases..." % DISTRIBUTION)
+        print("All releases will be downloaded to %s" % self.dirpath)
+        self.data_json_setuptools = self.get_json_data(DISTRIBUTION)
+        self.valid_releases_numbers = sorted([
+            release
+            for release in self.data_json_setuptools['releases']
+            # This condition is motivated by 13.0 release, which
+            # comes as "13.0": [], in the json
+            if self.data_json_setuptools['releases'][release]
+        ], key=LooseVersion)
+        self.total_downloaded_ok = 0
+
+    def get_json_data(self, package_name):
+        """
+        "releases": {
+            "0.7.2": [
+                {
+                    "has_sig": false,
+                    "upload_time": "2013-06-09T16:10:00",
+                    "comment_text": "",
+                    "python_version": "source",
+                    "url": 
"https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz";, 
 # NOQA
+                    "md5_digest": "de44cd90f8a1c713d6c2bff67bbca65d",
+                    "downloads": 159014,
+                    "filename": "setuptools-0.7.2.tar.gz",
+                    "packagetype": "sdist",
+                    "size": 633077
+                }
+            ],
+            "0.7.3": [
+                {
+                    "has_sig": false,
+                    "upload_time": "2013-06-18T21:08:56",
+                    "comment_text": "",
+                    "python_version": "source",
+                    "url": 
"https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.3.tar.gz";, 
 # NOQA
+                    "md5_digest": "c854adacbf9067d330a847f06f7a8eba",
+                    "downloads": 30594,
+                    "filename": "setuptools-0.7.3.tar.gz",
+                    "packagetype": "sdist",
+                    "size": 751152
+                }
+            ],
+            "12.3": [
+                {
+                    "has_sig": false,
+                    "upload_time": "2015-02-26T19:15:51",
+                    "comment_text": "",
+                    "python_version": "3.4",
+                    "url": 
"https://pypi.python.org/packages/3.4/s/setuptools/setuptools-12.3-py2.py3-none-any.whl";,
  # NOQA
+                    "md5_digest": "31f51a38497a70efadf5ce8d4c2211ab",
+                    "downloads": 288451,
+                    "filename": "setuptools-12.3-py2.py3-none-any.whl",
+                    "packagetype": "bdist_wheel",
+                    "size": 501904
+                },
+                {
+                    "has_sig": false,
+                    "upload_time": "2015-02-26T19:15:43",
+                    "comment_text": "",
+                    "python_version": "source",
+                    "url": 
"https://pypi.python.org/packages/source/s/setuptools/setuptools-12.3.tar.gz";,  
# NOQA
+                    "md5_digest": "67614b6d560fa4f240e99cd553ec7f32",
+                    "downloads": 110109,
+                    "filename": "setuptools-12.3.tar.gz",
+                    "packagetype": "sdist",
+                    "size": 635025
+                },
+                {
+                    "has_sig": false,
+                    "upload_time": "2015-02-26T19:15:47",
+                    "comment_text": "",
+                    "python_version": "source",
+                    "url": 
"https://pypi.python.org/packages/source/s/setuptools/setuptools-12.3.zip";,  # 
NOQA
+                    "md5_digest": "abc799e7db6e7281535bf342bfc41a12",
+                    "downloads": 67539,
+                    "filename": "setuptools-12.3.zip",
+                    "packagetype": "sdist",
+                    "size": 678783
+                }
+            ],
+        """
+        url = "https://pypi.python.org/pypi/%s/json"; % (package_name,)
+        resp = urllib.request.urlopen(urllib.request.Request(url))
+        charset = resp.info().get_content_charset()
+        reader = codecs.getreader(charset)(resp)
+        data = json.load(reader)
+
+        # Mainly for debug.
+        json_filename = "%s/%s.json" % (self.dirpath, DISTRIBUTION)
+        with open(json_filename, 'w') as outfile:
+            json.dump(
+                data,
+                outfile,
+                sort_keys=True,
+                indent=4,
+                separators=(',', ': '),
+            )
+
+        return data
+
+    def get_setuptools_releases_without_zip_counterpart(self):
+        # Get set(all_valid_releases) - set(releases_with_zip), so now we have
+        # the releases without zip.
+        return set(self.valid_releases_numbers) - set([
+            release
+            for release in self.valid_releases_numbers
+                for same_version_release_dict in 
self.data_json_setuptools['releases'][release]  # NOQA
+                if 'zip' in same_version_release_dict['filename']
+       ])
+
+    def download_setuptools_releases_without_zip_counterpart(self):
+        try:
+            releases_without_zip = 
self.get_setuptools_releases_without_zip_counterpart()  # NOQA
+            failed_md5_releases = []
+            # This is a "strange" loop, going through all releases and
+            # testing only the release I need to download, but I thought it
+            # would be mouch more readable than trying to iterate through
+            # releases I need and get into traverse hell values inside dicts
+            # inside dicts of the json to get the distribution's url to
+            # download.
+            for release in self.valid_releases_numbers:
+                if release in releases_without_zip:
+                    for same_version_release_dict in 
self.data_json_setuptools['releases'][release]:  # NOQA
+                        if 'tar.gz' in same_version_release_dict['filename']:
+                            print("Downloading %s..." % release)
+                            local_file = '%s/%s' % (
+                                self.dirpath,
+                                same_version_release_dict["filename"]
+                            )
+                            urllib.request.urlretrieve(
+                                same_version_release_dict["url"],
+                                local_file
+                            )
+                            targz = open(local_file, 'rb').read()
+                            hexdigest = hashlib.md5(targz).hexdigest()
+                            if (hexdigest != 
same_version_release_dict['md5_digest']):  # NOQA
+                                print(FAIL + "FAIL: md5 for %s didn't match!" 
% release + END)  # NOQA
+                                failed_md5_releases.append(release)
+                            else:
+                                self.total_downloaded_ok += 1
+            print('Total releases without zip: %s' % len(releases_without_zip))
+            print('Total downloaded: %s' % self.total_downloaded_ok)
+            if failed_md5_releases:
+                msg = FAIL + (
+                    "FAIL: these releases %s failed the md5 check!" %
+                    ','.join(failed_md5_releases)
+                ) + END
+                raise Exception(msg)
+            elif self.total_downloaded_ok != len(releases_without_zip):
+                msg = FAIL + (
+                    "FAIL: Unknown error occured. Please check the logs."
+                ) + END
+                raise Exception(msg)
+            else:
+                print(OK + "All releases downloaded and md5 checked." + END)
+
+        except OSError as e:
+            if e.errno != errno.EEXIST:
+                raise e
+
+    def convert_targz_to_zip(self):
+        print("Converting the tar.gz to zip...")
+        files = glob.glob('%s/*.tar.gz' % self.dirpath)
+        total_converted = 0
+        for targz in sorted(files, key=LooseVersion):
+            # Extract and remove tar.
+            tar = tarfile.open(targz)
+            tar.extractall(path=self.dirpath)
+            tar.close()
+            os.remove(targz)
+
+            # Zip the extracted tar.
+            setuptools_folder_path = targz.replace('.tar.gz', '')
+            setuptools_folder_name = setuptools_folder_path.split("/")[-1]
+            print(setuptools_folder_name)
+            shutil.make_archive(
+                setuptools_folder_path,
+                'zip',
+                self.dirpath,
+                setuptools_folder_name
+            )
+            # Exclude extracted tar folder.
+            shutil.rmtree(setuptools_folder_path.replace('.zip', ''))
+            total_converted += 1
+        print('Total converted: %s' % total_converted)
+        if self.total_downloaded_ok != total_converted:
+            msg = FAIL + (
+                "FAIL: Total number of downloaded releases is different"
+                " from converted ones. Please check the logs."
+            ) + END
+            raise Exception(msg)
+        print("Done with the tar.gz->zip. Check folder %s." % main.dirpath)
+
+    def upload_zips_to_pypi(self):
+        print('Uploading to pypi...')
+        zips = sorted(glob.glob('%s/*.zip' % self.dirpath), key=LooseVersion)
+        print("simulated upload of", zips); return
+        upload.upload(dists=zips)
+
+
+if __name__ == '__main__':
+    main = SetuptoolsOldReleasesWithoutZip()
+    main.download_setuptools_releases_without_zip_counterpart()
+    main.convert_targz_to_zip()
+    main.upload_zips_to_pypi()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools/command/easy_install.py 
new/setuptools-19.1.1/setuptools/command/easy_install.py
--- old/setuptools-18.8.1/setuptools/command/easy_install.py    2015-12-02 
04:00:35.000000000 +0100
+++ new/setuptools-19.1.1/setuptools/command/easy_install.py    2015-12-14 
10:55:09.000000000 +0100
@@ -1402,7 +1402,7 @@
 def extract_wininst_cfg(dist_filename):
     """Extract configuration data from a bdist_wininst .exe
 
-    Returns a ConfigParser.RawConfigParser, or None
+    Returns a configparser.RawConfigParser, or None
     """
     f = open(dist_filename, 'rb')
     try:
@@ -1415,7 +1415,7 @@
             return None
         f.seek(prepended - 12)
 
-        from setuptools.compat import StringIO, ConfigParser
+        from setuptools.compat import StringIO, configparser
         import struct
 
         tag, cfglen, bmlen = struct.unpack("<iii", f.read(12))
@@ -1423,7 +1423,7 @@
             return None  # not a valid tag
 
         f.seek(prepended - (12 + cfglen))
-        cfg = ConfigParser.RawConfigParser(
+        cfg = configparser.RawConfigParser(
             {'version': '', 'target_version': ''})
         try:
             part = f.read(cfglen)
@@ -1433,7 +1433,7 @@
             #  be text, so decode it.
             config = config.decode(sys.getfilesystemencoding())
             cfg.readfp(StringIO(config))
-        except ConfigParser.Error:
+        except configparser.Error:
             return None
         if not cfg.has_section('metadata') or not cfg.has_section('Setup'):
             return None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools/command/setopt.py 
new/setuptools-19.1.1/setuptools/command/setopt.py
--- old/setuptools-18.8.1/setuptools/command/setopt.py  2015-11-30 
17:24:31.000000000 +0100
+++ new/setuptools-19.1.1/setuptools/command/setopt.py  2015-12-14 
10:55:23.000000000 +0100
@@ -37,10 +37,10 @@
     while a dictionary lists settings to be changed or deleted in that section.
     A setting of ``None`` means to delete that setting.
     """
-    from setuptools.compat import ConfigParser
+    from setuptools.compat import configparser
 
     log.debug("Reading configuration from %s", filename)
-    opts = ConfigParser.RawConfigParser()
+    opts = configparser.RawConfigParser()
     opts.read([filename])
     for section, options in settings.items():
         if options is None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools/compat.py 
new/setuptools-19.1.1/setuptools/compat.py
--- old/setuptools-18.8.1/setuptools/compat.py  2015-12-11 16:27:39.000000000 
+0100
+++ new/setuptools-19.1.1/setuptools/compat.py  2015-12-14 10:54:09.000000000 
+0100
@@ -7,7 +7,7 @@
 if PY2:
     basestring = basestring
     import __builtin__ as builtins
-    import ConfigParser
+    import ConfigParser as configparser
     from StringIO import StringIO
     BytesIO = StringIO
     func_code = lambda o: o.func_code
@@ -38,7 +38,7 @@
 if PY3:
     basestring = str
     import builtins
-    import configparser as ConfigParser
+    import configparser
     from io import StringIO, BytesIO
     func_code = lambda o: o.__code__
     func_globals = lambda o: o.__globals__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools/dist.py 
new/setuptools-19.1.1/setuptools/dist.py
--- old/setuptools-18.8.1/setuptools/dist.py    2015-11-30 17:24:31.000000000 
+0100
+++ new/setuptools-19.1.1/setuptools/dist.py    2015-12-14 10:17:06.000000000 
+0100
@@ -267,8 +267,7 @@
         if attrs and 'setup_requires' in attrs:
             self.fetch_build_eggs(attrs['setup_requires'])
         for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
-            if not hasattr(self,ep.name):
-                setattr(self,ep.name,None)
+            vars(self).setdefault(ep.name, None)
         _Distribution.__init__(self,attrs)
         if isinstance(self.metadata.version, numbers.Number):
             # Some people apparently take "version number" too literally :)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools/package_index.py 
new/setuptools-19.1.1/setuptools/package_index.py
--- old/setuptools-18.8.1/setuptools/package_index.py   2015-12-11 
16:37:00.000000000 +0100
+++ new/setuptools-19.1.1/setuptools/package_index.py   2015-12-14 
11:32:34.000000000 +0100
@@ -20,7 +20,7 @@
 from setuptools.compat import (
     urllib2, httplib, StringIO, HTTPError, urlparse, urlunparse, unquote,
     splituser, url2pathname, name2codepoint, unichr, urljoin, urlsplit,
-    urlunsplit, ConfigParser, filter, map,
+    urlunsplit, configparser, filter, map,
 )
 from setuptools.compat import filterfalse
 from fnmatch import translate
@@ -945,14 +945,14 @@
     def __str__(self):
         return '%(username)s:%(password)s' % vars(self)
 
-class PyPIConfig(ConfigParser.ConfigParser):
+class PyPIConfig(configparser.RawConfigParser):
 
     def __init__(self):
         """
         Load from ~/.pypirc
         """
         defaults = dict.fromkeys(['username', 'password', 'repository'], '')
-        ConfigParser.ConfigParser.__init__(self, defaults)
+        configparser.RawConfigParser.__init__(self, defaults)
 
         rc = os.path.join(os.path.expanduser('~'), '.pypirc')
         if os.path.exists(rc):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/setuptools-18.8.1/setuptools/tests/test_packageindex.py 
new/setuptools-19.1.1/setuptools/tests/test_packageindex.py
--- old/setuptools-18.8.1/setuptools/tests/test_packageindex.py 2015-11-30 
17:24:31.000000000 +0100
+++ new/setuptools-19.1.1/setuptools/tests/test_packageindex.py 2015-12-14 
11:32:41.000000000 +0100
@@ -1,7 +1,11 @@
+from __future__ import absolute_import
+
 import sys
+import os
 import distutils.errors
 
 from setuptools.compat import httplib, HTTPError, unicode, pathname2url
+from .textwrap import DALS
 
 import pkg_resources
 import setuptools.package_index
@@ -201,3 +205,20 @@
             'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478')
         rep = checker.report(lambda x: x, 'My message about %s')
         assert rep == 'My message about md5'
+
+
+class TestPyPIConfig:
+    def test_percent_in_password(self, tmpdir, monkeypatch):
+        monkeypatch.setitem(os.environ, 'HOME', str(tmpdir))
+        pypirc = tmpdir / '.pypirc'
+        with pypirc.open('w') as strm:
+            strm.write(DALS("""
+                [pypi]
+                repository=https://pypi.python.org
+                username=jaraco
+                password=pity%
+            """))
+        cfg = setuptools.package_index.PyPIConfig()
+        cred = cfg.creds_by_repository['https://pypi.python.org']
+        assert cred.username == 'jaraco'
+        assert cred.password == 'pity%'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools/version.py 
new/setuptools-19.1.1/setuptools/version.py
--- old/setuptools-18.8.1/setuptools/version.py 2015-12-13 17:57:40.000000000 
+0100
+++ new/setuptools-19.1.1/setuptools/version.py 2015-12-17 01:27:28.000000000 
+0100
@@ -1 +1 @@
-__version__ = '18.8.1'
+__version__ = '19.1.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools.egg-info/PKG-INFO 
new/setuptools-19.1.1/setuptools.egg-info/PKG-INFO
--- old/setuptools-18.8.1/setuptools.egg-info/PKG-INFO  2015-12-13 
17:57:43.000000000 +0100
+++ new/setuptools-19.1.1/setuptools.egg-info/PKG-INFO  2015-12-17 
01:27:32.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: setuptools
-Version: 18.8.1
+Version: 19.1.1
 Summary: Easily download, build, install, upgrade, and uninstall Python 
packages
 Home-page: https://bitbucket.org/pypa/setuptools
 Author: Python Packaging Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/setuptools.egg-info/SOURCES.txt 
new/setuptools-19.1.1/setuptools.egg-info/SOURCES.txt
--- old/setuptools-18.8.1/setuptools.egg-info/SOURCES.txt       2015-12-13 
17:57:44.000000000 +0100
+++ new/setuptools-19.1.1/setuptools.egg-info/SOURCES.txt       2015-12-17 
01:27:33.000000000 +0100
@@ -1,5 +1,10 @@
+.gitignore
+.hgignore
+.hgtags
+.travis.yml
 CHANGES.txt
 MANIFEST.in
+Makefile
 README.txt
 bootstrap.py
 conftest.py
@@ -11,6 +16,7 @@
 release.py
 setup.cfg
 setup.py
+tox.ini
 _markerlib/__init__.py
 _markerlib/markers.py
 docs/Makefile
@@ -44,6 +50,7 @@
 pkg_resources/tests/test_markers.py
 pkg_resources/tests/test_pkg_resources.py
 pkg_resources/tests/test_resources.py
+scripts/upload-old-releases-as-zip.py
 setuptools/__init__.py
 setuptools/archive_util.py
 setuptools/cli-32.exe
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/setuptools-18.8.1/tox.ini 
new/setuptools-19.1.1/tox.ini
--- old/setuptools-18.8.1/tox.ini       1970-01-01 01:00:00.000000000 +0100
+++ new/setuptools-19.1.1/tox.ini       2015-11-30 17:24:31.000000000 +0100
@@ -0,0 +1,5 @@
+[tox]
+envlist = py26,py27,py31,py32,py33,py34
+
+[testenv]
+commands=python setup.py test


Reply via email to