[Python-modules-team] Bug#883040: thumbor: FTBFS on hurd-i386: ZeroDivisionError calculating bytes/s
Aaron M. Ucko
ucko at debian.org
Wed Nov 29 02:27:27 UTC 2017
Source: thumbor
Version: 6.3.2-3
Severity: important
Tags: upstream
Justification: fails to build from source
User: debian-hurd at lists.debian.org
Usertags: hurd-i386
The build of thumbor for hurd-i386 (admittedly not a release
architecture) failed because six tests reported
ZeroDivisionError: float division by zero
when attempting to calculate bytes per second, per the below excerpts from
https://buildd.debian.org/status/fetch.php?pkg=thumbor&arch=hurd-i386&ver=6.3.2-3&stamp=1511660675&raw=0.
Could you please take a look?
Thanks!
------------------------------------------------------------
Requests count: 456
SUCCESS (unsafe/meta/gradient.jpg)
[...]
SUCCESS (unsafe/filters:gifv()/gradient.webp.................................................................................................S..............S................gifsicle: warning: trivial adaptive palette (only 199 colors in source)
.......gifsicle: warning: trivial adaptive palette (only 199 colors in source)
..gifsicle: warning: trivial adaptive palette (only 199 colors in source)
...........................................................................................EE........EEEE............................................................................................S......./usr/lib/python2.7/dist-packages/preggy/assertions/equality.py:26: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
return expected == topic
.................................................................................
======================================================================
ERROR: test_load_with_default_user_agent (tests.loaders.test_http_loader.HttpLoaderWithUserAgentForwardingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 132, in __call__
result = self.orig_method(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/tests/loaders/test_http_loader.py", line 246, in test_load_with_default_user_agent
result = self.wait()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 332, in wait
self.__rethrow()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 268, in __rethrow
raise_exc_info(failure)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 483, in run_callback
result = future.result()
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 232, in result
raise_exc_info(self._exc_info)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "thumbor/loaders/http_loader.py", line 93, in return_contents
context.metrics.timing('original_image.time_info.bytes_per_second', len(response.body) / response.time_info['total'])
ZeroDivisionError: float division by zero
-------------------- >> begin captured logging << --------------------
tornado.curl_httpclient: DEBUG: GET http://localhost:57701/
tornado.curl_httpclient: DEBUG: Trying 127.0.0.1...
tornado.curl_httpclient: DEBUG: TCP_NODELAY set
tornado.curl_httpclient: DEBUG: Connected to localhost (127.0.0.1) port 57701 (#0)
tornado.curl_httpclient: DEBUG: > GET / HTTP/1.1
tornado.curl_httpclient: DEBUG: > Host: localhost:57701
tornado.curl_httpclient: DEBUG: > User-Agent: DEFAULT_USER_AGENT
tornado.curl_httpclient: DEBUG: > Accept: */*
tornado.curl_httpclient: DEBUG: > Accept-Encoding: gzip,deflate
tornado.curl_httpclient: DEBUG: >
tornado.access: INFO: 200 GET / (127.0.0.1) 0.00ms
tornado.curl_httpclient: DEBUG: < HTTP/1.1 200 OK
tornado.curl_httpclient: DEBUG: < Date: Sun, 26 Nov 2017 00:55:58 GMT
tornado.curl_httpclient: DEBUG: < Content-Length: 18
tornado.curl_httpclient: DEBUG: < Etag: "9dfdcbc60ac0c04681ea095228767b5e1c389c9e"
tornado.curl_httpclient: DEBUG: < Content-Type: text/html; charset=UTF-8
tornado.curl_httpclient: DEBUG: < Server: TornadoServer/4.3
tornado.curl_httpclient: DEBUG: <
tornado.curl_httpclient: DEBUG: Connection #0 to host localhost left intact
thumbor: DEBUG: METRICS: timing: original_image.fetch.200.localhost:57701:0
thumbor: DEBUG: METRICS: inc: original_image.status.200:1
thumbor: DEBUG: METRICS: timing: original_image.time_info.redirect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.queue:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.pretransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.starttransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.connect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.total:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.namelookup:0
--------------------- >> end captured logging << ---------------------
======================================================================
ERROR: test_load_with_user_agent (tests.loaders.test_http_loader.HttpLoaderWithUserAgentForwardingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 132, in __call__
result = self.orig_method(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/tests/loaders/test_http_loader.py", line 234, in test_load_with_user_agent
result = self.wait()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 332, in wait
self.__rethrow()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 268, in __rethrow
raise_exc_info(failure)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 483, in run_callback
result = future.result()
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 232, in result
raise_exc_info(self._exc_info)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "thumbor/loaders/http_loader.py", line 93, in return_contents
context.metrics.timing('original_image.time_info.bytes_per_second', len(response.body) / response.time_info['total'])
ZeroDivisionError: float division by zero
-------------------- >> begin captured logging << --------------------
tornado.curl_httpclient: DEBUG: GET http://localhost:51385/
tornado.curl_httpclient: DEBUG: Trying 127.0.0.1...
tornado.curl_httpclient: DEBUG: TCP_NODELAY set
tornado.curl_httpclient: DEBUG: Connected to localhost (127.0.0.1) port 51385 (#0)
tornado.curl_httpclient: DEBUG: > GET / HTTP/1.1
tornado.curl_httpclient: DEBUG: > Host: localhost:51385
tornado.curl_httpclient: DEBUG: > User-Agent: test-user-agent
tornado.curl_httpclient: DEBUG: > Accept: */*
tornado.curl_httpclient: DEBUG: > Accept-Encoding: gzip,deflate
tornado.curl_httpclient: DEBUG: >
tornado.access: INFO: 200 GET / (127.0.0.1) 0.00ms
tornado.curl_httpclient: DEBUG: < HTTP/1.1 200 OK
tornado.curl_httpclient: DEBUG: < Date: Sun, 26 Nov 2017 00:55:58 GMT
tornado.curl_httpclient: DEBUG: < Content-Length: 15
tornado.curl_httpclient: DEBUG: < Etag: "3324258de928c9df71296246fb58f4b0a696f482"
tornado.curl_httpclient: DEBUG: < Content-Type: text/html; charset=UTF-8
tornado.curl_httpclient: DEBUG: < Server: TornadoServer/4.3
tornado.curl_httpclient: DEBUG: <
tornado.curl_httpclient: DEBUG: Connection #0 to host localhost left intact
thumbor: DEBUG: METRICS: timing: original_image.fetch.200.localhost:51385:0
thumbor: DEBUG: METRICS: inc: original_image.status.200:1
thumbor: DEBUG: METRICS: timing: original_image.time_info.redirect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.queue:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.pretransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.starttransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.connect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.total:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.namelookup:0
--------------------- >> end captured logging << ---------------------
======================================================================
ERROR: test_load_with_default_user_agent (tests.loaders.test_https_loader.HttpLoaderWithUserAgentForwardingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 132, in __call__
result = self.orig_method(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/tests/loaders/test_https_loader.py", line 227, in test_load_with_default_user_agent
result = self.wait()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 332, in wait
self.__rethrow()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 268, in __rethrow
raise_exc_info(failure)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 483, in run_callback
result = future.result()
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 232, in result
raise_exc_info(self._exc_info)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "thumbor/loaders/http_loader.py", line 93, in return_contents
context.metrics.timing('original_image.time_info.bytes_per_second', len(response.body) / response.time_info['total'])
ZeroDivisionError: float division by zero
-------------------- >> begin captured logging << --------------------
tornado.curl_httpclient: DEBUG: GET http://localhost:53294/
tornado.curl_httpclient: DEBUG: Trying 127.0.0.1...
tornado.curl_httpclient: DEBUG: TCP_NODELAY set
tornado.curl_httpclient: DEBUG: Connected to localhost (127.0.0.1) port 53294 (#0)
tornado.curl_httpclient: DEBUG: > GET / HTTP/1.1
tornado.curl_httpclient: DEBUG: > Host: localhost:53294
tornado.curl_httpclient: DEBUG: > User-Agent: DEFAULT_USER_AGENT
tornado.curl_httpclient: DEBUG: > Accept: */*
tornado.curl_httpclient: DEBUG: > Accept-Encoding: gzip,deflate
tornado.curl_httpclient: DEBUG: >
tornado.access: INFO: 200 GET / (127.0.0.1) 0.00ms
tornado.curl_httpclient: DEBUG: < HTTP/1.1 200 OK
tornado.curl_httpclient: DEBUG: < Date: Sun, 26 Nov 2017 00:55:58 GMT
tornado.curl_httpclient: DEBUG: < Content-Length: 18
tornado.curl_httpclient: DEBUG: < Etag: "9dfdcbc60ac0c04681ea095228767b5e1c389c9e"
tornado.curl_httpclient: DEBUG: < Content-Type: text/html; charset=UTF-8
tornado.curl_httpclient: DEBUG: < Server: TornadoServer/4.3
tornado.curl_httpclient: DEBUG: <
tornado.curl_httpclient: DEBUG: Connection #0 to host localhost left intact
thumbor: DEBUG: METRICS: timing: original_image.fetch.200.localhost:53294:0
thumbor: DEBUG: METRICS: inc: original_image.status.200:1
thumbor: DEBUG: METRICS: timing: original_image.time_info.redirect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.queue:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.pretransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.starttransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.connect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.total:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.namelookup:0
--------------------- >> end captured logging << ---------------------
======================================================================
ERROR: test_load_with_user_agent (tests.loaders.test_https_loader.HttpLoaderWithUserAgentForwardingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 132, in __call__
result = self.orig_method(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/tests/loaders/test_https_loader.py", line 215, in test_load_with_user_agent
result = self.wait()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 332, in wait
self.__rethrow()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 268, in __rethrow
raise_exc_info(failure)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 483, in run_callback
result = future.result()
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 232, in result
raise_exc_info(self._exc_info)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "thumbor/loaders/http_loader.py", line 93, in return_contents
context.metrics.timing('original_image.time_info.bytes_per_second', len(response.body) / response.time_info['total'])
ZeroDivisionError: float division by zero
-------------------- >> begin captured logging << --------------------
tornado.curl_httpclient: DEBUG: GET http://localhost:52202/
tornado.curl_httpclient: DEBUG: Trying 127.0.0.1...
tornado.curl_httpclient: DEBUG: TCP_NODELAY set
tornado.curl_httpclient: DEBUG: Connected to localhost (127.0.0.1) port 52202 (#0)
tornado.curl_httpclient: DEBUG: > GET / HTTP/1.1
tornado.curl_httpclient: DEBUG: > Host: localhost:52202
tornado.curl_httpclient: DEBUG: > User-Agent: test-user-agent
tornado.curl_httpclient: DEBUG: > Accept: */*
tornado.curl_httpclient: DEBUG: > Accept-Encoding: gzip,deflate
tornado.curl_httpclient: DEBUG: >
tornado.access: INFO: 200 GET / (127.0.0.1) 0.00ms
tornado.curl_httpclient: DEBUG: < HTTP/1.1 200 OK
tornado.curl_httpclient: DEBUG: < Date: Sun, 26 Nov 2017 00:55:58 GMT
tornado.curl_httpclient: DEBUG: < Content-Length: 15
tornado.curl_httpclient: DEBUG: < Etag: "3324258de928c9df71296246fb58f4b0a696f482"
tornado.curl_httpclient: DEBUG: < Content-Type: text/html; charset=UTF-8
tornado.curl_httpclient: DEBUG: < Server: TornadoServer/4.3
tornado.curl_httpclient: DEBUG: <
tornado.curl_httpclient: DEBUG: Connection #0 to host localhost left intact
thumbor: DEBUG: METRICS: timing: original_image.fetch.200.localhost:52202:10
thumbor: DEBUG: METRICS: inc: original_image.status.200:1
thumbor: DEBUG: METRICS: timing: original_image.time_info.redirect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.queue:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.pretransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.starttransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.connect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.total:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.namelookup:0
--------------------- >> end captured logging << ---------------------
======================================================================
ERROR: test_load_with_callback (tests.loaders.test_https_loader.HttpsLoaderTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 132, in __call__
result = self.orig_method(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/tests/loaders/test_https_loader.py", line 173, in test_load_with_callback
result = self.wait()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 332, in wait
self.__rethrow()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 268, in __rethrow
raise_exc_info(failure)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 483, in run_callback
result = future.result()
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 232, in result
raise_exc_info(self._exc_info)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "thumbor/loaders/http_loader.py", line 93, in return_contents
context.metrics.timing('original_image.time_info.bytes_per_second', len(response.body) / response.time_info['total'])
ZeroDivisionError: float division by zero
-------------------- >> begin captured logging << --------------------
tornado.curl_httpclient: DEBUG: GET http://localhost:45819/
tornado.curl_httpclient: DEBUG: Trying 127.0.0.1...
tornado.curl_httpclient: DEBUG: TCP_NODELAY set
tornado.curl_httpclient: DEBUG: Connected to localhost (127.0.0.1) port 45819 (#0)
tornado.curl_httpclient: DEBUG: > GET / HTTP/1.1
tornado.curl_httpclient: DEBUG: > Host: localhost:45819
tornado.curl_httpclient: DEBUG: > User-Agent: Thumbor/6.3.2
tornado.curl_httpclient: DEBUG: > Accept: */*
tornado.curl_httpclient: DEBUG: > Accept-Encoding: gzip,deflate
tornado.curl_httpclient: DEBUG: >
tornado.access: INFO: 200 GET / (127.0.0.1) 0.00ms
tornado.curl_httpclient: DEBUG: < HTTP/1.1 200 OK
tornado.curl_httpclient: DEBUG: < Date: Sun, 26 Nov 2017 00:55:58 GMT
tornado.curl_httpclient: DEBUG: < Content-Length: 5
tornado.curl_httpclient: DEBUG: < Etag: "f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0"
tornado.curl_httpclient: DEBUG: < Content-Type: text/html; charset=UTF-8
tornado.curl_httpclient: DEBUG: < Server: TornadoServer/4.3
tornado.curl_httpclient: DEBUG: <
tornado.curl_httpclient: DEBUG: Connection #0 to host localhost left intact
thumbor: DEBUG: METRICS: timing: original_image.fetch.200.localhost:45819:0
thumbor: DEBUG: METRICS: inc: original_image.status.200:1
thumbor: DEBUG: METRICS: timing: original_image.time_info.redirect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.queue:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.pretransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.starttransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.connect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.total:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.namelookup:0
--------------------- >> end captured logging << ---------------------
======================================================================
ERROR: test_load_with_curl (tests.loaders.test_https_loader.HttpsLoaderTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 132, in __call__
result = self.orig_method(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_2.7/build/tests/loaders/test_https_loader.py", line 185, in test_load_with_curl
result = self.wait()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 332, in wait
self.__rethrow()
File "/usr/lib/python2.7/dist-packages/tornado/testing.py", line 268, in __rethrow
raise_exc_info(failure)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 483, in run_callback
result = future.result()
File "/usr/lib/python2.7/dist-packages/tornado/concurrent.py", line 232, in result
raise_exc_info(self._exc_info)
File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
ret = fn(*args, **kwargs)
File "thumbor/loaders/http_loader.py", line 93, in return_contents
context.metrics.timing('original_image.time_info.bytes_per_second', len(response.body) / response.time_info['total'])
ZeroDivisionError: float division by zero
-------------------- >> begin captured logging << --------------------
tornado.curl_httpclient: DEBUG: GET http://localhost:40135/
tornado.curl_httpclient: DEBUG: Trying 127.0.0.1...
tornado.curl_httpclient: DEBUG: TCP_NODELAY set
tornado.curl_httpclient: DEBUG: Connected to localhost (127.0.0.1) port 40135 (#0)
tornado.curl_httpclient: DEBUG: > GET / HTTP/1.1
tornado.curl_httpclient: DEBUG: > Host: localhost:40135
tornado.curl_httpclient: DEBUG: > User-Agent: Thumbor/6.3.2
tornado.curl_httpclient: DEBUG: > Accept: */*
tornado.curl_httpclient: DEBUG: > Accept-Encoding: gzip,deflate
tornado.curl_httpclient: DEBUG: >
tornado.access: INFO: 200 GET / (127.0.0.1) 0.00ms
tornado.curl_httpclient: DEBUG: < HTTP/1.1 200 OK
tornado.curl_httpclient: DEBUG: < Date: Sun, 26 Nov 2017 00:55:58 GMT
tornado.curl_httpclient: DEBUG: < Content-Length: 5
tornado.curl_httpclient: DEBUG: < Etag: "f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0"
tornado.curl_httpclient: DEBUG: < Content-Type: text/html; charset=UTF-8
tornado.curl_httpclient: DEBUG: < Server: TornadoServer/4.3
tornado.curl_httpclient: DEBUG: <
tornado.curl_httpclient: DEBUG: Connection #0 to host localhost left intact
thumbor: DEBUG: METRICS: timing: original_image.fetch.200.localhost:40135:10
thumbor: DEBUG: METRICS: inc: original_image.status.200:1
thumbor: DEBUG: METRICS: timing: original_image.time_info.redirect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.queue:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.pretransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.starttransfer:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.connect:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.total:0
thumbor: DEBUG: METRICS: timing: original_image.time_info.namelookup:0
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 424 tests in 25.180s
FAILED (SKIP=3, errors=6)
--
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?amu@monk.mit.edu
More information about the Python-modules-team
mailing list