numpy 1.9.2__zip → 1.10.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1593) hide show
  1. numpy-1.10.0.post2/INSTALL.txt +200 -0
  2. numpy-1.10.0.post2/LICENSE.txt +30 -0
  3. numpy-1.10.0.post2/MANIFEST.in +31 -0
  4. numpy-1.10.0.post2/PKG-INFO +47 -0
  5. numpy-1.10.0.post2/cnew.txt +117 -0
  6. numpy-1.10.0.post2/cold.txt +44 -0
  7. numpy-1.10.0.post2/committers.txt +160 -0
  8. numpy-1.10.0.post2/cpre.txt +283 -0
  9. numpy-1.10.0.post2/crel.txt +161 -0
  10. numpy-1.10.0.post2/doc/release/1.10.0-notes.rst +439 -0
  11. numpy-1.10.0.post2/doc/scipy-sphinx-theme/.git +1 -0
  12. numpy-1.10.0.post2/doc/source/conf.py +331 -0
  13. numpy-1.10.0.post2/doc/source/dev/development_environment.rst +211 -0
  14. numpy-1.10.0.post2/doc/source/dev/gitwash/development_workflow.rst +534 -0
  15. numpy-1.10.0.post2/doc/source/dev/gitwash/git_links.inc +95 -0
  16. numpy-1.10.0.post2/doc/source/dev/gitwash/index.rst +14 -0
  17. numpy-1.10.0.post2/doc/source/dev/index.rst +11 -0
  18. numpy-1.10.0.post2/doc/source/reference/arrays.classes.rst +490 -0
  19. numpy-1.10.0.post2/doc/source/reference/arrays.dtypes.rst +536 -0
  20. numpy-1.10.0.post2/doc/source/reference/arrays.indexing.rst +549 -0
  21. numpy-1.10.0.post2/doc/source/reference/arrays.interface.rst +337 -0
  22. numpy-1.10.0.post2/doc/source/reference/arrays.ndarray.rst +622 -0
  23. numpy-1.10.0.post2/doc/source/reference/arrays.scalars.rst +291 -0
  24. numpy-1.10.0.post2/doc/source/reference/c-api.array.rst +3393 -0
  25. numpy-1.10.0.post2/doc/source/reference/c-api.config.rst +103 -0
  26. numpy-1.10.0.post2/doc/source/reference/c-api.coremath.rst +420 -0
  27. numpy-1.10.0.post2/doc/source/reference/c-api.dtype.rst +376 -0
  28. numpy-1.10.0.post2/doc/source/reference/c-api.generalized-ufuncs.rst +191 -0
  29. numpy-1.10.0.post2/doc/source/reference/c-api.iterator.rst +1300 -0
  30. numpy-1.10.0.post2/doc/source/reference/c-api.types-and-structures.rst +1240 -0
  31. numpy-1.10.0.post2/doc/source/reference/c-api.ufunc.rst +413 -0
  32. numpy-1.10.0.post2/doc/source/reference/index.rst +43 -0
  33. numpy-1.10.0.post2/doc/source/reference/internals.code-explanations.rst +615 -0
  34. numpy-1.10.0.post2/doc/source/reference/routines.array-manipulation.rst +115 -0
  35. numpy-1.10.0.post2/doc/source/reference/routines.io.rst +78 -0
  36. numpy-1.10.0.post2/doc/source/reference/routines.linalg.rst +91 -0
  37. numpy-1.10.0.post2/doc/source/reference/routines.ma.rst +407 -0
  38. numpy-1.10.0.post2/doc/source/reference/routines.sort.rst +41 -0
  39. numpy-1.10.0.post2/doc/source/reference/routines.statistics.rst +57 -0
  40. numpy-1.10.0.post2/doc/source/reference/swig.interface-file.rst +1066 -0
  41. numpy-1.10.0.post2/doc/source/reference/swig.testing.rst +167 -0
  42. numpy-1.10.0.post2/doc/source/reference/ufuncs.rst +666 -0
  43. numpy-1.10.0.post2/doc/source/release.rst +20 -0
  44. numpy-1.10.0.post2/doc/source/user/basics.io.genfromtxt.rst +531 -0
  45. numpy-1.10.0.post2/doc/source/user/basics.rec.rst +7 -0
  46. numpy-1.10.0.post2/doc/source/user/c-info.beyond-basics.rst +560 -0
  47. numpy-1.10.0.post2/doc/source/user/c-info.how-to-extend.rst +642 -0
  48. numpy-1.10.0.post2/doc/source/user/c-info.python-as-glue.rst +1177 -0
  49. numpy-1.10.0.post2/doc/source/user/c-info.ufunc-tutorial.rst +1211 -0
  50. numpy-1.10.0.post2/doc/source/user/install.rst +194 -0
  51. numpy-1.10.0.post2/doc/sphinxext/.git +1 -0
  52. numpy-1.10.0.post2/numpy/__init__.py +227 -0
  53. numpy-1.10.0.post2/numpy/_build_utils/README +8 -0
  54. numpy-1.10.0.post2/numpy/_build_utils/apple_accelerate.py +21 -0
  55. numpy-1.10.0.post2/numpy/_build_utils/common.py +138 -0
  56. numpy-1.10.0.post2/numpy/_build_utils/src/apple_sgemv_fix.c +227 -0
  57. numpy-1.10.0.post2/numpy/_build_utils/waf.py +531 -0
  58. numpy-1.10.0.post2/numpy/_import_tools.py +353 -0
  59. numpy-1.10.0.post2/numpy/add_newdocs.py +7611 -0
  60. numpy-1.10.0.post2/numpy/compat/_inspect.py +194 -0
  61. numpy-1.10.0.post2/numpy/compat/py3k.py +88 -0
  62. numpy-1.10.0.post2/numpy/compat/setup.py +12 -0
  63. numpy-1.10.0.post2/numpy/core/__init__.py +89 -0
  64. numpy-1.10.0.post2/numpy/core/_internal.py +761 -0
  65. numpy-1.10.0.post2/numpy/core/_methods.py +133 -0
  66. numpy-1.10.0.post2/numpy/core/arrayprint.py +760 -0
  67. numpy-1.10.0.post2/numpy/core/code_generators/cversions.txt +34 -0
  68. numpy-1.10.0.post2/numpy/core/code_generators/generate_ufunc_api.py +219 -0
  69. numpy-1.10.0.post2/numpy/core/code_generators/generate_umath.py +1017 -0
  70. numpy-1.10.0.post2/numpy/core/code_generators/numpy_api.py +415 -0
  71. numpy-1.10.0.post2/numpy/core/code_generators/ufunc_docstrings.py +3442 -0
  72. numpy-1.10.0.post2/numpy/core/defchararray.py +2689 -0
  73. numpy-1.10.0.post2/numpy/core/fromnumeric.py +3089 -0
  74. numpy-1.10.0.post2/numpy/core/function_base.py +203 -0
  75. numpy-1.10.0.post2/numpy/core/getlimits.py +308 -0
  76. numpy-1.10.0.post2/numpy/core/include/numpy/ndarrayobject.h +246 -0
  77. numpy-1.10.0.post2/numpy/core/include/numpy/ndarraytypes.h +1797 -0
  78. numpy-1.10.0.post2/numpy/core/include/numpy/npy_3kcompat.h +448 -0
  79. numpy-1.10.0.post2/numpy/core/include/numpy/npy_common.h +1051 -0
  80. numpy-1.10.0.post2/numpy/core/include/numpy/npy_cpu.h +92 -0
  81. numpy-1.10.0.post2/numpy/core/include/numpy/npy_endian.h +61 -0
  82. numpy-1.10.0.post2/numpy/core/include/numpy/npy_math.h +525 -0
  83. numpy-1.10.0.post2/numpy/core/include/numpy/numpyconfig.h +36 -0
  84. numpy-1.10.0.post2/numpy/core/machar.py +342 -0
  85. numpy-1.10.0.post2/numpy/core/memmap.py +311 -0
  86. numpy-1.10.0.post2/numpy/core/numeric.py +2893 -0
  87. numpy-1.10.0.post2/numpy/core/numerictypes.py +1036 -0
  88. numpy-1.10.0.post2/numpy/core/records.py +846 -0
  89. numpy-1.10.0.post2/numpy/core/setup.py +983 -0
  90. numpy-1.10.0.post2/numpy/core/setup_common.py +352 -0
  91. numpy-1.10.0.post2/numpy/core/shape_base.py +350 -0
  92. numpy-1.10.0.post2/numpy/core/src/multiarray/alloc.c +244 -0
  93. numpy-1.10.0.post2/numpy/core/src/multiarray/arrayobject.c +1858 -0
  94. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.c.src +4738 -0
  95. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.h +37 -0
  96. numpy-1.10.0.post2/numpy/core/src/multiarray/buffer.c +981 -0
  97. numpy-1.10.0.post2/numpy/core/src/multiarray/calculation.c +1224 -0
  98. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.c +812 -0
  99. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.h +10 -0
  100. numpy-1.10.0.post2/numpy/core/src/multiarray/common.c +911 -0
  101. numpy-1.10.0.post2/numpy/core/src/multiarray/common.h +250 -0
  102. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.c +1664 -0
  103. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.h +24 -0
  104. numpy-1.10.0.post2/numpy/core/src/multiarray/conversion_utils.c +1217 -0
  105. numpy-1.10.0.post2/numpy/core/src/multiarray/convert.c +590 -0
  106. numpy-1.10.0.post2/numpy/core/src/multiarray/convert_datatype.c +2155 -0
  107. numpy-1.10.0.post2/numpy/core/src/multiarray/ctors.c +3838 -0
  108. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime.c +3821 -0
  109. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busday.c +1322 -0
  110. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busdaycal.c +552 -0
  111. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_strings.c +1772 -0
  112. numpy-1.10.0.post2/numpy/core/src/multiarray/descriptor.c +3719 -0
  113. numpy-1.10.0.post2/numpy/core/src/multiarray/dtype_transfer.c +4239 -0
  114. numpy-1.10.0.post2/numpy/core/src/multiarray/einsum.c.src +3005 -0
  115. numpy-1.10.0.post2/numpy/core/src/multiarray/getset.c +986 -0
  116. numpy-1.10.0.post2/numpy/core/src/multiarray/hashdescr.c +318 -0
  117. numpy-1.10.0.post2/numpy/core/src/multiarray/item_selection.c +2413 -0
  118. numpy-1.10.0.post2/numpy/core/src/multiarray/iterators.c +2192 -0
  119. numpy-1.10.0.post2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +1769 -0
  120. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.c +3380 -0
  121. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.h +77 -0
  122. numpy-1.10.0.post2/numpy/core/src/multiarray/methods.c +2514 -0
  123. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarray_tests.c.src +1035 -0
  124. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.c +4628 -0
  125. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.h +15 -0
  126. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_api.c +2809 -0
  127. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_constr.c +3160 -0
  128. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_pywrap.c +2499 -0
  129. numpy-1.10.0.post2/numpy/core/src/multiarray/number.c +1106 -0
  130. numpy-1.10.0.post2/numpy/core/src/multiarray/number.h +77 -0
  131. numpy-1.10.0.post2/numpy/core/src/multiarray/numpymemoryview.c +308 -0
  132. numpy-1.10.0.post2/numpy/core/src/multiarray/numpyos.c +683 -0
  133. numpy-1.10.0.post2/numpy/core/src/multiarray/scalarapi.c +870 -0
  134. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.c.src +4343 -0
  135. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.h +55 -0
  136. numpy-1.10.0.post2/numpy/core/src/multiarray/shape.c +1131 -0
  137. numpy-1.10.0.post2/numpy/core/src/multiarray/ucsnarrow.c +174 -0
  138. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.c +180 -0
  139. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.h +18 -0
  140. numpy-1.10.0.post2/numpy/core/src/npymath/ieee754.c.src +808 -0
  141. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math.c.src +597 -0
  142. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_complex.c.src +1788 -0
  143. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_private.h +544 -0
  144. numpy-1.10.0.post2/numpy/core/src/npysort/heapsort.c.src +402 -0
  145. numpy-1.10.0.post2/numpy/core/src/npysort/mergesort.c.src +488 -0
  146. numpy-1.10.0.post2/numpy/core/src/npysort/npysort_common.h +360 -0
  147. numpy-1.10.0.post2/numpy/core/src/npysort/quicksort.c.src +523 -0
  148. numpy-1.10.0.post2/numpy/core/src/npysort/selection.c.src +426 -0
  149. numpy-1.10.0.post2/numpy/core/src/private/npy_cblas.h +584 -0
  150. numpy-1.10.0.post2/numpy/core/src/private/npy_config.h +101 -0
  151. numpy-1.10.0.post2/numpy/core/src/private/npy_import.h +32 -0
  152. numpy-1.10.0.post2/numpy/core/src/private/npy_partition.h.src +122 -0
  153. numpy-1.10.0.post2/numpy/core/src/private/npy_sort.h +196 -0
  154. numpy-1.10.0.post2/numpy/core/src/private/templ_common.h.src +43 -0
  155. numpy-1.10.0.post2/numpy/core/src/private/ufunc_override.h +397 -0
  156. numpy-1.10.0.post2/numpy/core/src/umath/funcs.inc.src +356 -0
  157. numpy-1.10.0.post2/numpy/core/src/umath/loops.c.src +2675 -0
  158. numpy-1.10.0.post2/numpy/core/src/umath/loops.h.src +497 -0
  159. numpy-1.10.0.post2/numpy/core/src/umath/operand_flag_tests.c.src +105 -0
  160. numpy-1.10.0.post2/numpy/core/src/umath/scalarmath.c.src +1738 -0
  161. numpy-1.10.0.post2/numpy/core/src/umath/simd.inc.src +903 -0
  162. numpy-1.10.0.post2/numpy/core/src/umath/test_rational.c.src +1404 -0
  163. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_object.c +5703 -0
  164. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_type_resolution.c +2159 -0
  165. numpy-1.10.0.post2/numpy/core/src/umath/umath_tests.c.src +392 -0
  166. numpy-1.10.0.post2/numpy/core/src/umath/umathmodule.c +443 -0
  167. numpy-1.10.0.post2/numpy/core/tests/test_abc.py +47 -0
  168. numpy-1.10.0.post2/numpy/core/tests/test_api.py +515 -0
  169. numpy-1.10.0.post2/numpy/core/tests/test_arrayprint.py +171 -0
  170. numpy-1.10.0.post2/numpy/core/tests/test_datetime.py +1820 -0
  171. numpy-1.10.0.post2/numpy/core/tests/test_defchararray.py +703 -0
  172. numpy-1.10.0.post2/numpy/core/tests/test_deprecations.py +619 -0
  173. numpy-1.10.0.post2/numpy/core/tests/test_dtype.py +578 -0
  174. numpy-1.10.0.post2/numpy/core/tests/test_einsum.py +627 -0
  175. numpy-1.10.0.post2/numpy/core/tests/test_errstate.py +52 -0
  176. numpy-1.10.0.post2/numpy/core/tests/test_function_base.py +142 -0
  177. numpy-1.10.0.post2/numpy/core/tests/test_getlimits.py +77 -0
  178. numpy-1.10.0.post2/numpy/core/tests/test_half.py +436 -0
  179. numpy-1.10.0.post2/numpy/core/tests/test_indexerrors.py +126 -0
  180. numpy-1.10.0.post2/numpy/core/tests/test_indexing.py +1047 -0
  181. numpy-1.10.0.post2/numpy/core/tests/test_item_selection.py +73 -0
  182. numpy-1.10.0.post2/numpy/core/tests/test_machar.py +29 -0
  183. numpy-1.10.0.post2/numpy/core/tests/test_memmap.py +130 -0
  184. numpy-1.10.0.post2/numpy/core/tests/test_multiarray.py +5924 -0
  185. numpy-1.10.0.post2/numpy/core/tests/test_multiarray_assignment.py +84 -0
  186. numpy-1.10.0.post2/numpy/core/tests/test_nditer.py +2638 -0
  187. numpy-1.10.0.post2/numpy/core/tests/test_numeric.py +2204 -0
  188. numpy-1.10.0.post2/numpy/core/tests/test_numerictypes.py +382 -0
  189. numpy-1.10.0.post2/numpy/core/tests/test_print.py +248 -0
  190. numpy-1.10.0.post2/numpy/core/tests/test_records.py +299 -0
  191. numpy-1.10.0.post2/numpy/core/tests/test_regression.py +2177 -0
  192. numpy-1.10.0.post2/numpy/core/tests/test_scalarinherit.py +41 -0
  193. numpy-1.10.0.post2/numpy/core/tests/test_scalarmath.py +316 -0
  194. numpy-1.10.0.post2/numpy/core/tests/test_shape_base.py +319 -0
  195. numpy-1.10.0.post2/numpy/core/tests/test_ufunc.py +1227 -0
  196. numpy-1.10.0.post2/numpy/core/tests/test_umath.py +1933 -0
  197. numpy-1.10.0.post2/numpy/core/tests/test_umath_complex.py +538 -0
  198. numpy-1.10.0.post2/numpy/core/tests/test_unicode.py +360 -0
  199. numpy-1.10.0.post2/numpy/distutils/__init__.py +23 -0
  200. numpy-1.10.0.post2/numpy/distutils/ccompiler.py +690 -0
  201. numpy-1.10.0.post2/numpy/distutils/command/autodist.py +94 -0
  202. numpy-1.10.0.post2/numpy/distutils/command/build.py +47 -0
  203. numpy-1.10.0.post2/numpy/distutils/command/build_clib.py +295 -0
  204. numpy-1.10.0.post2/numpy/distutils/command/build_ext.py +522 -0
  205. numpy-1.10.0.post2/numpy/distutils/command/config.py +437 -0
  206. numpy-1.10.0.post2/numpy/distutils/exec_command.py +651 -0
  207. numpy-1.10.0.post2/numpy/distutils/fcompiler/compaq.py +128 -0
  208. numpy-1.10.0.post2/numpy/distutils/fcompiler/gnu.py +403 -0
  209. numpy-1.10.0.post2/numpy/distutils/fcompiler/intel.py +217 -0
  210. numpy-1.10.0.post2/numpy/distutils/fcompiler/pg.py +63 -0
  211. numpy-1.10.0.post2/numpy/distutils/fcompiler/sun.py +55 -0
  212. numpy-1.10.0.post2/numpy/distutils/intelccompiler.py +95 -0
  213. numpy-1.10.0.post2/numpy/distutils/lib2def.py +116 -0
  214. numpy-1.10.0.post2/numpy/distutils/mingw32ccompiler.py +599 -0
  215. numpy-1.10.0.post2/numpy/distutils/misc_util.py +2306 -0
  216. numpy-1.10.0.post2/numpy/distutils/msvc9compiler.py +23 -0
  217. numpy-1.10.0.post2/numpy/distutils/msvccompiler.py +17 -0
  218. numpy-1.10.0.post2/numpy/distutils/npy_pkg_config.py +451 -0
  219. numpy-1.10.0.post2/numpy/distutils/system_info.py +2397 -0
  220. numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +12 -0
  221. numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +11 -0
  222. numpy-1.10.0.post2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +11 -0
  223. numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +13 -0
  224. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/__init__.py +1 -0
  225. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example.py +17 -0
  226. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example2.py +15 -0
  227. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_gnu.py +60 -0
  228. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_intel.py +36 -0
  229. numpy-1.10.0.post2/numpy/distutils/tests/test_misc_util.py +79 -0
  230. numpy-1.10.0.post2/numpy/distutils/tests/test_npy_pkg_config.py +102 -0
  231. numpy-1.10.0.post2/numpy/distutils/tests/test_system_info.py +209 -0
  232. numpy-1.10.0.post2/numpy/distutils/unixccompiler.py +125 -0
  233. numpy-1.10.0.post2/numpy/doc/byteswapping.py +156 -0
  234. numpy-1.10.0.post2/numpy/doc/creation.py +144 -0
  235. numpy-1.10.0.post2/numpy/doc/glossary.py +423 -0
  236. numpy-1.10.0.post2/numpy/doc/indexing.py +439 -0
  237. numpy-1.10.0.post2/numpy/doc/structured_arrays.py +290 -0
  238. numpy-1.10.0.post2/numpy/f2py/__init__.py +49 -0
  239. numpy-1.10.0.post2/numpy/f2py/__main__.py +25 -0
  240. numpy-1.10.0.post2/numpy/f2py/auxfuncs.py +858 -0
  241. numpy-1.10.0.post2/numpy/f2py/capi_maps.py +851 -0
  242. numpy-1.10.0.post2/numpy/f2py/cb_rules.py +554 -0
  243. numpy-1.10.0.post2/numpy/f2py/cfuncs.py +1261 -0
  244. numpy-1.10.0.post2/numpy/f2py/common_rules.py +150 -0
  245. numpy-1.10.0.post2/numpy/f2py/crackfortran.py +3314 -0
  246. numpy-1.10.0.post2/numpy/f2py/diagnose.py +156 -0
  247. numpy-1.10.0.post2/numpy/f2py/f2py2e.py +656 -0
  248. numpy-1.10.0.post2/numpy/f2py/f2py_testing.py +48 -0
  249. numpy-1.10.0.post2/numpy/f2py/f90mod_rules.py +272 -0
  250. numpy-1.10.0.post2/numpy/f2py/func2subr.py +299 -0
  251. numpy-1.10.0.post2/numpy/f2py/rules.py +1475 -0
  252. numpy-1.10.0.post2/numpy/f2py/setup.py +117 -0
  253. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.c +1037 -0
  254. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.h +162 -0
  255. numpy-1.10.0.post2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +223 -0
  256. numpy-1.10.0.post2/numpy/f2py/tests/test_array_from_pyobj.py +593 -0
  257. numpy-1.10.0.post2/numpy/f2py/tests/test_assumed_shape.py +35 -0
  258. numpy-1.10.0.post2/numpy/f2py/tests/test_callback.py +136 -0
  259. numpy-1.10.0.post2/numpy/f2py/tests/test_kind.py +36 -0
  260. numpy-1.10.0.post2/numpy/f2py/tests/test_mixed.py +40 -0
  261. numpy-1.10.0.post2/numpy/f2py/tests/test_regression.py +34 -0
  262. numpy-1.10.0.post2/numpy/f2py/tests/test_return_character.py +148 -0
  263. numpy-1.10.0.post2/numpy/f2py/tests/test_return_complex.py +170 -0
  264. numpy-1.10.0.post2/numpy/f2py/tests/test_return_integer.py +180 -0
  265. numpy-1.10.0.post2/numpy/f2py/tests/test_return_logical.py +189 -0
  266. numpy-1.10.0.post2/numpy/f2py/tests/test_return_real.py +206 -0
  267. numpy-1.10.0.post2/numpy/f2py/tests/test_size.py +44 -0
  268. numpy-1.10.0.post2/numpy/f2py/tests/util.py +367 -0
  269. numpy-1.10.0.post2/numpy/f2py/use_rules.py +115 -0
  270. numpy-1.10.0.post2/numpy/fft/fftpack.c +1501 -0
  271. numpy-1.10.0.post2/numpy/fft/fftpack.h +28 -0
  272. numpy-1.10.0.post2/numpy/fft/fftpack.py +1241 -0
  273. numpy-1.10.0.post2/numpy/fft/fftpack_litemodule.c +363 -0
  274. numpy-1.10.0.post2/numpy/fft/info.py +187 -0
  275. numpy-1.10.0.post2/numpy/fft/setup.py +19 -0
  276. numpy-1.10.0.post2/numpy/fft/tests/test_fftpack.py +166 -0
  277. numpy-1.10.0.post2/numpy/fft/tests/test_helper.py +78 -0
  278. numpy-1.10.0.post2/numpy/lib/_iotools.py +917 -0
  279. numpy-1.10.0.post2/numpy/lib/arraypad.py +1497 -0
  280. numpy-1.10.0.post2/numpy/lib/arraysetops.py +480 -0
  281. numpy-1.10.0.post2/numpy/lib/arrayterator.py +226 -0
  282. numpy-1.10.0.post2/numpy/lib/financial.py +737 -0
  283. numpy-1.10.0.post2/numpy/lib/format.py +814 -0
  284. numpy-1.10.0.post2/numpy/lib/function_base.py +4150 -0
  285. numpy-1.10.0.post2/numpy/lib/index_tricks.py +874 -0
  286. numpy-1.10.0.post2/numpy/lib/info.py +152 -0
  287. numpy-1.10.0.post2/numpy/lib/nanfunctions.py +1237 -0
  288. numpy-1.10.0.post2/numpy/lib/npyio.py +1992 -0
  289. numpy-1.10.0.post2/numpy/lib/polynomial.py +1277 -0
  290. numpy-1.10.0.post2/numpy/lib/recfunctions.py +1003 -0
  291. numpy-1.10.0.post2/numpy/lib/setup.py +12 -0
  292. numpy-1.10.0.post2/numpy/lib/shape_base.py +872 -0
  293. numpy-1.10.0.post2/numpy/lib/stride_tricks.py +200 -0
  294. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npy +0 -0
  295. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npz +0 -0
  296. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npy +0 -0
  297. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npz +0 -0
  298. numpy-1.10.0.post2/numpy/lib/tests/test__iotools.py +348 -0
  299. numpy-1.10.0.post2/numpy/lib/tests/test__version.py +70 -0
  300. numpy-1.10.0.post2/numpy/lib/tests/test_arraypad.py +1047 -0
  301. numpy-1.10.0.post2/numpy/lib/tests/test_arraysetops.py +309 -0
  302. numpy-1.10.0.post2/numpy/lib/tests/test_financial.py +163 -0
  303. numpy-1.10.0.post2/numpy/lib/tests/test_format.py +841 -0
  304. numpy-1.10.0.post2/numpy/lib/tests/test_function_base.py +2555 -0
  305. numpy-1.10.0.post2/numpy/lib/tests/test_index_tricks.py +326 -0
  306. numpy-1.10.0.post2/numpy/lib/tests/test_io.py +1916 -0
  307. numpy-1.10.0.post2/numpy/lib/tests/test_nanfunctions.py +707 -0
  308. numpy-1.10.0.post2/numpy/lib/tests/test_packbits.py +26 -0
  309. numpy-1.10.0.post2/numpy/lib/tests/test_polynomial.py +188 -0
  310. numpy-1.10.0.post2/numpy/lib/tests/test_recfunctions.py +734 -0
  311. numpy-1.10.0.post2/numpy/lib/tests/test_shape_base.py +386 -0
  312. numpy-1.10.0.post2/numpy/lib/tests/test_stride_tricks.py +405 -0
  313. numpy-1.10.0.post2/numpy/lib/tests/test_twodim_base.py +535 -0
  314. numpy-1.10.0.post2/numpy/lib/tests/test_type_check.py +332 -0
  315. numpy-1.10.0.post2/numpy/lib/twodim_base.py +1007 -0
  316. numpy-1.10.0.post2/numpy/lib/type_check.py +596 -0
  317. numpy-1.10.0.post2/numpy/lib/utils.py +1122 -0
  318. numpy-1.10.0.post2/numpy/linalg/lapack_lite/python_xerbla.c +46 -0
  319. numpy-1.10.0.post2/numpy/linalg/lapack_litemodule.c +358 -0
  320. numpy-1.10.0.post2/numpy/linalg/linalg.py +2406 -0
  321. numpy-1.10.0.post2/numpy/linalg/tests/test_build.py +59 -0
  322. numpy-1.10.0.post2/numpy/linalg/tests/test_linalg.py +1351 -0
  323. numpy-1.10.0.post2/numpy/linalg/tests/test_regression.py +95 -0
  324. numpy-1.10.0.post2/numpy/linalg/umath_linalg.c.src +3236 -0
  325. numpy-1.10.0.post2/numpy/ma/__init__.py +56 -0
  326. numpy-1.10.0.post2/numpy/ma/bench.py +131 -0
  327. numpy-1.10.0.post2/numpy/ma/core.py +7608 -0
  328. numpy-1.10.0.post2/numpy/ma/extras.py +1953 -0
  329. numpy-1.10.0.post2/numpy/ma/mrecords.py +796 -0
  330. numpy-1.10.0.post2/numpy/ma/setup.py +13 -0
  331. numpy-1.10.0.post2/numpy/ma/tests/test_core.py +4100 -0
  332. numpy-1.10.0.post2/numpy/ma/tests/test_extras.py +1132 -0
  333. numpy-1.10.0.post2/numpy/ma/tests/test_mrecords.py +520 -0
  334. numpy-1.10.0.post2/numpy/ma/tests/test_old_ma.py +879 -0
  335. numpy-1.10.0.post2/numpy/ma/tests/test_regression.py +80 -0
  336. numpy-1.10.0.post2/numpy/ma/tests/test_subclassing.py +338 -0
  337. numpy-1.10.0.post2/numpy/ma/testutils.py +289 -0
  338. numpy-1.10.0.post2/numpy/ma/timer_comparison.py +440 -0
  339. numpy-1.10.0.post2/numpy/matlib.py +358 -0
  340. numpy-1.10.0.post2/numpy/matrixlib/defmatrix.py +1232 -0
  341. numpy-1.10.0.post2/numpy/matrixlib/tests/test_defmatrix.py +449 -0
  342. numpy-1.10.0.post2/numpy/matrixlib/tests/test_multiarray.py +23 -0
  343. numpy-1.10.0.post2/numpy/matrixlib/tests/test_numeric.py +23 -0
  344. numpy-1.10.0.post2/numpy/matrixlib/tests/test_regression.py +37 -0
  345. numpy-1.10.0.post2/numpy/polynomial/_polybase.py +962 -0
  346. numpy-1.10.0.post2/numpy/polynomial/chebyshev.py +2056 -0
  347. numpy-1.10.0.post2/numpy/polynomial/hermite.py +1831 -0
  348. numpy-1.10.0.post2/numpy/polynomial/hermite_e.py +1828 -0
  349. numpy-1.10.0.post2/numpy/polynomial/laguerre.py +1780 -0
  350. numpy-1.10.0.post2/numpy/polynomial/legendre.py +1808 -0
  351. numpy-1.10.0.post2/numpy/polynomial/polyutils.py +403 -0
  352. numpy-1.10.0.post2/numpy/random/mtrand/distributions.c +912 -0
  353. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.c +34805 -0
  354. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.pyx +4766 -0
  355. numpy-1.10.0.post2/numpy/random/setup.py +61 -0
  356. numpy-1.10.0.post2/numpy/random/tests/test_random.py +723 -0
  357. numpy-1.10.0.post2/numpy/random/tests/test_regression.py +117 -0
  358. numpy-1.10.0.post2/numpy/setup.py +29 -0
  359. numpy-1.10.0.post2/numpy/testing/__init__.py +15 -0
  360. numpy-1.10.0.post2/numpy/testing/decorators.py +271 -0
  361. numpy-1.10.0.post2/numpy/testing/noseclasses.py +353 -0
  362. numpy-1.10.0.post2/numpy/testing/nosetester.py +511 -0
  363. numpy-1.10.0.post2/numpy/testing/print_coercion_tables.py +91 -0
  364. numpy-1.10.0.post2/numpy/testing/setup.py +20 -0
  365. numpy-1.10.0.post2/numpy/testing/tests/test_decorators.py +182 -0
  366. numpy-1.10.0.post2/numpy/testing/tests/test_utils.py +781 -0
  367. numpy-1.10.0.post2/numpy/testing/utils.py +1831 -0
  368. numpy-1.10.0.post2/numpy/tests/test_ctypeslib.py +106 -0
  369. numpy-1.10.0.post2/numpy/tests/test_matlib.py +55 -0
  370. numpy-1.10.0.post2/numpy/tests/test_scripts.py +69 -0
  371. numpy-1.10.0.post2/numpy/version.py +10 -0
  372. numpy-1.10.0.post2/setup.py +260 -0
  373. numpy-1.10.0.post2/site.cfg.example +193 -0
  374. numpy-1.10.0.post2/tmp.txt +789 -0
  375. numpy-1.10.0.post2/tools/swig/README +145 -0
  376. numpy-1.10.0.post2/tools/swig/numpy.i +3161 -0
  377. numpy-1.10.0.post2/tools/swig/test/Array.i +135 -0
  378. numpy-1.10.0.post2/tools/swig/test/ArrayZ.cxx +131 -0
  379. numpy-1.10.0.post2/tools/swig/test/ArrayZ.h +56 -0
  380. numpy-1.10.0.post2/tools/swig/test/Flat.cxx +36 -0
  381. numpy-1.10.0.post2/tools/swig/test/Flat.h +34 -0
  382. numpy-1.10.0.post2/tools/swig/test/Flat.i +36 -0
  383. numpy-1.10.0.post2/tools/swig/test/Makefile +37 -0
  384. numpy-1.10.0.post2/tools/swig/test/setup.py +71 -0
  385. numpy-1.10.0.post2/tools/swig/test/testArray.py +385 -0
  386. numpy-1.10.0.post2/tools/swig/test/testFarray.py +159 -0
  387. numpy-1.10.0.post2/tools/swig/test/testFlat.py +200 -0
  388. numpy-1.10.0.post2/tools/swig/test/testFortran.py +173 -0
  389. numpy-1.10.0.post2/tools/swig/test/testMatrix.py +362 -0
  390. numpy-1.10.0.post2/tools/swig/test/testSuperTensor.py +388 -0
  391. numpy-1.10.0.post2/tools/swig/test/testTensor.py +402 -0
  392. numpy-1.10.0.post2/tools/swig/test/testVector.py +381 -0
  393. numpy-1.9.2/INSTALL.txt +0 -138
  394. numpy-1.9.2/LICENSE.txt +0 -30
  395. numpy-1.9.2/MANIFEST.in +0 -26
  396. numpy-1.9.2/PKG-INFO +0 -39
  397. numpy-1.9.2/doc/scipy-sphinx-theme/.git +0 -1
  398. numpy-1.9.2/doc/source/conf.py +0 -331
  399. numpy-1.9.2/doc/source/dev/gitwash/branch_list.png +0 -0
  400. numpy-1.9.2/doc/source/dev/gitwash/branch_list_compare.png +0 -0
  401. numpy-1.9.2/doc/source/dev/gitwash/development_workflow.rst +0 -568
  402. numpy-1.9.2/doc/source/dev/gitwash/git_links.inc +0 -88
  403. numpy-1.9.2/doc/source/dev/gitwash/index.rst +0 -14
  404. numpy-1.9.2/doc/source/dev/index.rst +0 -10
  405. numpy-1.9.2/doc/source/reference/arrays.classes.rst +0 -427
  406. numpy-1.9.2/doc/source/reference/arrays.dtypes.rst +0 -534
  407. numpy-1.9.2/doc/source/reference/arrays.indexing.rst +0 -550
  408. numpy-1.9.2/doc/source/reference/arrays.interface.rst +0 -336
  409. numpy-1.9.2/doc/source/reference/arrays.ndarray.rst +0 -609
  410. numpy-1.9.2/doc/source/reference/arrays.scalars.rst +0 -291
  411. numpy-1.9.2/doc/source/reference/c-api.array.rst +0 -3362
  412. numpy-1.9.2/doc/source/reference/c-api.config.rst +0 -103
  413. numpy-1.9.2/doc/source/reference/c-api.coremath.rst +0 -420
  414. numpy-1.9.2/doc/source/reference/c-api.dtype.rst +0 -376
  415. numpy-1.9.2/doc/source/reference/c-api.generalized-ufuncs.rst +0 -171
  416. numpy-1.9.2/doc/source/reference/c-api.iterator.rst +0 -1298
  417. numpy-1.9.2/doc/source/reference/c-api.types-and-structures.rst +0 -1204
  418. numpy-1.9.2/doc/source/reference/c-api.ufunc.rst +0 -399
  419. numpy-1.9.2/doc/source/reference/index.rst +0 -44
  420. numpy-1.9.2/doc/source/reference/internals.code-explanations.rst +0 -666
  421. numpy-1.9.2/doc/source/reference/routines.array-manipulation.rst +0 -113
  422. numpy-1.9.2/doc/source/reference/routines.io.rst +0 -74
  423. numpy-1.9.2/doc/source/reference/routines.linalg.rst +0 -88
  424. numpy-1.9.2/doc/source/reference/routines.ma.rst +0 -405
  425. numpy-1.9.2/doc/source/reference/routines.sort.rst +0 -42
  426. numpy-1.9.2/doc/source/reference/routines.statistics.rst +0 -55
  427. numpy-1.9.2/doc/source/reference/swig.interface-file.rst +0 -1055
  428. numpy-1.9.2/doc/source/reference/swig.testing.rst +0 -166
  429. numpy-1.9.2/doc/source/reference/ufuncs.rst +0 -651
  430. numpy-1.9.2/doc/source/release.rst +0 -19
  431. numpy-1.9.2/doc/source/user/basics.io.genfromtxt.rst +0 -531
  432. numpy-1.9.2/doc/source/user/basics.rec.rst +0 -7
  433. numpy-1.9.2/doc/source/user/c-info.beyond-basics.rst +0 -560
  434. numpy-1.9.2/doc/source/user/c-info.how-to-extend.rst +0 -642
  435. numpy-1.9.2/doc/source/user/c-info.python-as-glue.rst +0 -1528
  436. numpy-1.9.2/doc/source/user/c-info.ufunc-tutorial.rst +0 -1211
  437. numpy-1.9.2/doc/source/user/install.rst +0 -180
  438. numpy-1.9.2/doc/sphinxext/.git +0 -1
  439. numpy-1.9.2/numpy/__init__.py +0 -216
  440. numpy-1.9.2/numpy/_import_tools.py +0 -348
  441. numpy-1.9.2/numpy/add_newdocs.py +0 -7518
  442. numpy-1.9.2/numpy/compat/_inspect.py +0 -221
  443. numpy-1.9.2/numpy/compat/py3k.py +0 -89
  444. numpy-1.9.2/numpy/compat/setup.py +0 -12
  445. numpy-1.9.2/numpy/core/__init__.py +0 -78
  446. numpy-1.9.2/numpy/core/_internal.py +0 -570
  447. numpy-1.9.2/numpy/core/_methods.py +0 -134
  448. numpy-1.9.2/numpy/core/arrayprint.py +0 -752
  449. numpy-1.9.2/numpy/core/blasdot/_dotblas.c +0 -1255
  450. numpy-1.9.2/numpy/core/blasdot/apple_sgemv_patch.c +0 -216
  451. numpy-1.9.2/numpy/core/blasdot/cblas.h +0 -578
  452. numpy-1.9.2/numpy/core/code_generators/cversions.txt +0 -31
  453. numpy-1.9.2/numpy/core/code_generators/generate_ufunc_api.py +0 -219
  454. numpy-1.9.2/numpy/core/code_generators/generate_umath.py +0 -972
  455. numpy-1.9.2/numpy/core/code_generators/numpy_api.py +0 -412
  456. numpy-1.9.2/numpy/core/code_generators/ufunc_docstrings.py +0 -3419
  457. numpy-1.9.2/numpy/core/defchararray.py +0 -2687
  458. numpy-1.9.2/numpy/core/fromnumeric.py +0 -2938
  459. numpy-1.9.2/numpy/core/function_base.py +0 -190
  460. numpy-1.9.2/numpy/core/getlimits.py +0 -306
  461. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.c +0 -38
  462. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.h +0 -224
  463. numpy-1.9.2/numpy/core/include/numpy/ndarrayobject.h +0 -237
  464. numpy-1.9.2/numpy/core/include/numpy/ndarraytypes.h +0 -1820
  465. numpy-1.9.2/numpy/core/include/numpy/npy_3kcompat.h +0 -506
  466. numpy-1.9.2/numpy/core/include/numpy/npy_common.h +0 -1038
  467. numpy-1.9.2/numpy/core/include/numpy/npy_cpu.h +0 -122
  468. numpy-1.9.2/numpy/core/include/numpy/npy_endian.h +0 -49
  469. numpy-1.9.2/numpy/core/include/numpy/npy_math.h +0 -479
  470. numpy-1.9.2/numpy/core/include/numpy/numpyconfig.h +0 -35
  471. numpy-1.9.2/numpy/core/machar.py +0 -338
  472. numpy-1.9.2/numpy/core/memmap.py +0 -308
  473. numpy-1.9.2/numpy/core/numeric.py +0 -2842
  474. numpy-1.9.2/numpy/core/numerictypes.py +0 -1042
  475. numpy-1.9.2/numpy/core/records.py +0 -804
  476. numpy-1.9.2/numpy/core/setup.py +0 -1016
  477. numpy-1.9.2/numpy/core/setup_common.py +0 -321
  478. numpy-1.9.2/numpy/core/shape_base.py +0 -277
  479. numpy-1.9.2/numpy/core/src/multiarray/alloc.c +0 -241
  480. numpy-1.9.2/numpy/core/src/multiarray/arrayobject.c +0 -1791
  481. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.c.src +0 -4372
  482. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.h +0 -13
  483. numpy-1.9.2/numpy/core/src/multiarray/buffer.c +0 -954
  484. numpy-1.9.2/numpy/core/src/multiarray/calculation.c +0 -1229
  485. numpy-1.9.2/numpy/core/src/multiarray/common.c +0 -798
  486. numpy-1.9.2/numpy/core/src/multiarray/common.h +0 -328
  487. numpy-1.9.2/numpy/core/src/multiarray/conversion_utils.c +0 -1240
  488. numpy-1.9.2/numpy/core/src/multiarray/convert.c +0 -589
  489. numpy-1.9.2/numpy/core/src/multiarray/convert_datatype.c +0 -2199
  490. numpy-1.9.2/numpy/core/src/multiarray/ctors.c +0 -3785
  491. numpy-1.9.2/numpy/core/src/multiarray/datetime.c +0 -3823
  492. numpy-1.9.2/numpy/core/src/multiarray/datetime_busday.c +0 -1322
  493. numpy-1.9.2/numpy/core/src/multiarray/datetime_busdaycal.c +0 -552
  494. numpy-1.9.2/numpy/core/src/multiarray/datetime_strings.c +0 -1772
  495. numpy-1.9.2/numpy/core/src/multiarray/descriptor.c +0 -3658
  496. numpy-1.9.2/numpy/core/src/multiarray/dtype_transfer.c +0 -4232
  497. numpy-1.9.2/numpy/core/src/multiarray/einsum.c.src +0 -3013
  498. numpy-1.9.2/numpy/core/src/multiarray/getset.c +0 -984
  499. numpy-1.9.2/numpy/core/src/multiarray/hashdescr.c +0 -319
  500. numpy-1.9.2/numpy/core/src/multiarray/item_selection.c +0 -2711
  501. numpy-1.9.2/numpy/core/src/multiarray/iterators.c +0 -2160
  502. numpy-1.9.2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +0 -1767
  503. numpy-1.9.2/numpy/core/src/multiarray/mapping.c +0 -3316
  504. numpy-1.9.2/numpy/core/src/multiarray/mapping.h +0 -73
  505. numpy-1.9.2/numpy/core/src/multiarray/methods.c +0 -2497
  506. numpy-1.9.2/numpy/core/src/multiarray/multiarray_tests.c.src +0 -977
  507. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.c +0 -4202
  508. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.h +0 -4
  509. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule_onefile.c +0 -58
  510. numpy-1.9.2/numpy/core/src/multiarray/nditer_api.c +0 -2809
  511. numpy-1.9.2/numpy/core/src/multiarray/nditer_constr.c +0 -3159
  512. numpy-1.9.2/numpy/core/src/multiarray/nditer_pywrap.c +0 -2492
  513. numpy-1.9.2/numpy/core/src/multiarray/number.c +0 -1057
  514. numpy-1.9.2/numpy/core/src/multiarray/number.h +0 -76
  515. numpy-1.9.2/numpy/core/src/multiarray/numpymemoryview.c +0 -309
  516. numpy-1.9.2/numpy/core/src/multiarray/numpyos.c +0 -683
  517. numpy-1.9.2/numpy/core/src/multiarray/scalarapi.c +0 -861
  518. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.c.src +0 -4270
  519. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.h +0 -52
  520. numpy-1.9.2/numpy/core/src/multiarray/shape.c +0 -1141
  521. numpy-1.9.2/numpy/core/src/multiarray/ucsnarrow.c +0 -173
  522. numpy-1.9.2/numpy/core/src/npymath/ieee754.c.src +0 -814
  523. numpy-1.9.2/numpy/core/src/npymath/npy_math.c.src +0 -527
  524. numpy-1.9.2/numpy/core/src/npymath/npy_math_complex.c.src +0 -291
  525. numpy-1.9.2/numpy/core/src/npymath/npy_math_private.h +0 -539
  526. numpy-1.9.2/numpy/core/src/npysort/heapsort.c.src +0 -341
  527. numpy-1.9.2/numpy/core/src/npysort/mergesort.c.src +0 -428
  528. numpy-1.9.2/numpy/core/src/npysort/npysort_common.h +0 -367
  529. numpy-1.9.2/numpy/core/src/npysort/quicksort.c.src +0 -363
  530. numpy-1.9.2/numpy/core/src/npysort/selection.c.src +0 -474
  531. numpy-1.9.2/numpy/core/src/private/npy_config.h +0 -44
  532. numpy-1.9.2/numpy/core/src/private/npy_partition.h.src +0 -138
  533. numpy-1.9.2/numpy/core/src/private/npy_sort.h +0 -194
  534. numpy-1.9.2/numpy/core/src/private/scalarmathmodule.h.src +0 -42
  535. numpy-1.9.2/numpy/core/src/private/ufunc_override.h +0 -384
  536. numpy-1.9.2/numpy/core/src/scalarmathmodule.c.src +0 -1980
  537. numpy-1.9.2/numpy/core/src/umath/funcs.inc.src +0 -715
  538. numpy-1.9.2/numpy/core/src/umath/loops.c.src +0 -2654
  539. numpy-1.9.2/numpy/core/src/umath/loops.h.src +0 -501
  540. numpy-1.9.2/numpy/core/src/umath/operand_flag_tests.c.src +0 -105
  541. numpy-1.9.2/numpy/core/src/umath/simd.inc.src +0 -881
  542. numpy-1.9.2/numpy/core/src/umath/test_rational.c.src +0 -1404
  543. numpy-1.9.2/numpy/core/src/umath/ufunc_object.c +0 -5520
  544. numpy-1.9.2/numpy/core/src/umath/ufunc_type_resolution.c +0 -2164
  545. numpy-1.9.2/numpy/core/src/umath/umath_tests.c.src +0 -341
  546. numpy-1.9.2/numpy/core/src/umath/umathmodule.c +0 -561
  547. numpy-1.9.2/numpy/core/src/umath/umathmodule_onefile.c +0 -6
  548. numpy-1.9.2/numpy/core/tests/test_abc.py +0 -45
  549. numpy-1.9.2/numpy/core/tests/test_api.py +0 -514
  550. numpy-1.9.2/numpy/core/tests/test_arrayprint.py +0 -167
  551. numpy-1.9.2/numpy/core/tests/test_blasdot.py +0 -249
  552. numpy-1.9.2/numpy/core/tests/test_datetime.py +0 -1781
  553. numpy-1.9.2/numpy/core/tests/test_defchararray.py +0 -642
  554. numpy-1.9.2/numpy/core/tests/test_deprecations.py +0 -512
  555. numpy-1.9.2/numpy/core/tests/test_dtype.py +0 -542
  556. numpy-1.9.2/numpy/core/tests/test_einsum.py +0 -583
  557. numpy-1.9.2/numpy/core/tests/test_errstate.py +0 -51
  558. numpy-1.9.2/numpy/core/tests/test_function_base.py +0 -111
  559. numpy-1.9.2/numpy/core/tests/test_getlimits.py +0 -86
  560. numpy-1.9.2/numpy/core/tests/test_half.py +0 -439
  561. numpy-1.9.2/numpy/core/tests/test_indexerrors.py +0 -127
  562. numpy-1.9.2/numpy/core/tests/test_indexing.py +0 -1014
  563. numpy-1.9.2/numpy/core/tests/test_item_selection.py +0 -70
  564. numpy-1.9.2/numpy/core/tests/test_machar.py +0 -30
  565. numpy-1.9.2/numpy/core/tests/test_memmap.py +0 -127
  566. numpy-1.9.2/numpy/core/tests/test_multiarray.py +0 -4645
  567. numpy-1.9.2/numpy/core/tests/test_multiarray_assignment.py +0 -80
  568. numpy-1.9.2/numpy/core/tests/test_nditer.py +0 -2630
  569. numpy-1.9.2/numpy/core/tests/test_numeric.py +0 -2117
  570. numpy-1.9.2/numpy/core/tests/test_numerictypes.py +0 -377
  571. numpy-1.9.2/numpy/core/tests/test_print.py +0 -245
  572. numpy-1.9.2/numpy/core/tests/test_records.py +0 -185
  573. numpy-1.9.2/numpy/core/tests/test_regression.py +0 -2108
  574. numpy-1.9.2/numpy/core/tests/test_scalarinherit.py +0 -34
  575. numpy-1.9.2/numpy/core/tests/test_scalarmath.py +0 -275
  576. numpy-1.9.2/numpy/core/tests/test_shape_base.py +0 -250
  577. numpy-1.9.2/numpy/core/tests/test_ufunc.py +0 -1153
  578. numpy-1.9.2/numpy/core/tests/test_umath.py +0 -1695
  579. numpy-1.9.2/numpy/core/tests/test_umath_complex.py +0 -537
  580. numpy-1.9.2/numpy/core/tests/test_unicode.py +0 -357
  581. numpy-1.9.2/numpy/distutils/__init__.py +0 -39
  582. numpy-1.9.2/numpy/distutils/ccompiler.py +0 -656
  583. numpy-1.9.2/numpy/distutils/command/autodist.py +0 -43
  584. numpy-1.9.2/numpy/distutils/command/build.py +0 -39
  585. numpy-1.9.2/numpy/distutils/command/build_clib.py +0 -284
  586. numpy-1.9.2/numpy/distutils/command/build_ext.py +0 -503
  587. numpy-1.9.2/numpy/distutils/command/config.py +0 -476
  588. numpy-1.9.2/numpy/distutils/exec_command.py +0 -618
  589. numpy-1.9.2/numpy/distutils/fcompiler/compaq.py +0 -128
  590. numpy-1.9.2/numpy/distutils/fcompiler/gnu.py +0 -390
  591. numpy-1.9.2/numpy/distutils/fcompiler/intel.py +0 -205
  592. numpy-1.9.2/numpy/distutils/fcompiler/pg.py +0 -60
  593. numpy-1.9.2/numpy/distutils/fcompiler/sun.py +0 -52
  594. numpy-1.9.2/numpy/distutils/intelccompiler.py +0 -45
  595. numpy-1.9.2/numpy/distutils/lib2def.py +0 -116
  596. numpy-1.9.2/numpy/distutils/mingw32ccompiler.py +0 -582
  597. numpy-1.9.2/numpy/distutils/misc_util.py +0 -2271
  598. numpy-1.9.2/numpy/distutils/npy_pkg_config.py +0 -464
  599. numpy-1.9.2/numpy/distutils/system_info.py +0 -2319
  600. numpy-1.9.2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +0 -13
  601. numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +0 -12
  602. numpy-1.9.2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +0 -12
  603. numpy-1.9.2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +0 -14
  604. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example.py +0 -18
  605. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example2.py +0 -16
  606. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_gnu.py +0 -53
  607. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_intel.py +0 -36
  608. numpy-1.9.2/numpy/distutils/tests/test_misc_util.py +0 -75
  609. numpy-1.9.2/numpy/distutils/tests/test_npy_pkg_config.py +0 -98
  610. numpy-1.9.2/numpy/distutils/unixccompiler.py +0 -113
  611. numpy-1.9.2/numpy/doc/byteswapping.py +0 -147
  612. numpy-1.9.2/numpy/doc/creation.py +0 -144
  613. numpy-1.9.2/numpy/doc/glossary.py +0 -418
  614. numpy-1.9.2/numpy/doc/indexing.py +0 -437
  615. numpy-1.9.2/numpy/doc/structured_arrays.py +0 -223
  616. numpy-1.9.2/numpy/f2py/__init__.py +0 -49
  617. numpy-1.9.2/numpy/f2py/auxfuncs.py +0 -711
  618. numpy-1.9.2/numpy/f2py/capi_maps.py +0 -773
  619. numpy-1.9.2/numpy/f2py/cb_rules.py +0 -539
  620. numpy-1.9.2/numpy/f2py/cfuncs.py +0 -1224
  621. numpy-1.9.2/numpy/f2py/common_rules.py +0 -132
  622. numpy-1.9.2/numpy/f2py/crackfortran.py +0 -2870
  623. numpy-1.9.2/numpy/f2py/diagnose.py +0 -149
  624. numpy-1.9.2/numpy/f2py/f2py2e.py +0 -598
  625. numpy-1.9.2/numpy/f2py/f2py_testing.py +0 -46
  626. numpy-1.9.2/numpy/f2py/f90mod_rules.py +0 -246
  627. numpy-1.9.2/numpy/f2py/func2subr.py +0 -291
  628. numpy-1.9.2/numpy/f2py/rules.py +0 -1448
  629. numpy-1.9.2/numpy/f2py/setup.py +0 -129
  630. numpy-1.9.2/numpy/f2py/src/fortranobject.c +0 -972
  631. numpy-1.9.2/numpy/f2py/src/fortranobject.h +0 -162
  632. numpy-1.9.2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +0 -223
  633. numpy-1.9.2/numpy/f2py/tests/test_array_from_pyobj.py +0 -559
  634. numpy-1.9.2/numpy/f2py/tests/test_assumed_shape.py +0 -37
  635. numpy-1.9.2/numpy/f2py/tests/test_callback.py +0 -132
  636. numpy-1.9.2/numpy/f2py/tests/test_kind.py +0 -36
  637. numpy-1.9.2/numpy/f2py/tests/test_mixed.py +0 -41
  638. numpy-1.9.2/numpy/f2py/tests/test_regression.py +0 -32
  639. numpy-1.9.2/numpy/f2py/tests/test_return_character.py +0 -142
  640. numpy-1.9.2/numpy/f2py/tests/test_return_complex.py +0 -169
  641. numpy-1.9.2/numpy/f2py/tests/test_return_integer.py +0 -178
  642. numpy-1.9.2/numpy/f2py/tests/test_return_logical.py +0 -187
  643. numpy-1.9.2/numpy/f2py/tests/test_return_real.py +0 -203
  644. numpy-1.9.2/numpy/f2py/tests/test_size.py +0 -47
  645. numpy-1.9.2/numpy/f2py/tests/util.py +0 -353
  646. numpy-1.9.2/numpy/f2py/use_rules.py +0 -109
  647. numpy-1.9.2/numpy/fft/fftpack.c +0 -1501
  648. numpy-1.9.2/numpy/fft/fftpack.h +0 -28
  649. numpy-1.9.2/numpy/fft/fftpack.py +0 -1169
  650. numpy-1.9.2/numpy/fft/fftpack_litemodule.c +0 -371
  651. numpy-1.9.2/numpy/fft/info.py +0 -179
  652. numpy-1.9.2/numpy/fft/setup.py +0 -20
  653. numpy-1.9.2/numpy/fft/tests/test_fftpack.py +0 -75
  654. numpy-1.9.2/numpy/fft/tests/test_helper.py +0 -78
  655. numpy-1.9.2/numpy/lib/_iotools.py +0 -891
  656. numpy-1.9.2/numpy/lib/arraypad.py +0 -1475
  657. numpy-1.9.2/numpy/lib/arraysetops.py +0 -464
  658. numpy-1.9.2/numpy/lib/arrayterator.py +0 -226
  659. numpy-1.9.2/numpy/lib/financial.py +0 -737
  660. numpy-1.9.2/numpy/lib/format.py +0 -771
  661. numpy-1.9.2/numpy/lib/function_base.py +0 -3884
  662. numpy-1.9.2/numpy/lib/index_tricks.py +0 -869
  663. numpy-1.9.2/numpy/lib/info.py +0 -151
  664. numpy-1.9.2/numpy/lib/nanfunctions.py +0 -1158
  665. numpy-1.9.2/numpy/lib/npyio.py +0 -1918
  666. numpy-1.9.2/numpy/lib/polynomial.py +0 -1271
  667. numpy-1.9.2/numpy/lib/recfunctions.py +0 -1003
  668. numpy-1.9.2/numpy/lib/setup.py +0 -23
  669. numpy-1.9.2/numpy/lib/shape_base.py +0 -865
  670. numpy-1.9.2/numpy/lib/src/_compiled_base.c +0 -1761
  671. numpy-1.9.2/numpy/lib/stride_tricks.py +0 -123
  672. numpy-1.9.2/numpy/lib/tests/test__iotools.py +0 -326
  673. numpy-1.9.2/numpy/lib/tests/test__version.py +0 -57
  674. numpy-1.9.2/numpy/lib/tests/test_arraypad.py +0 -560
  675. numpy-1.9.2/numpy/lib/tests/test_arraysetops.py +0 -301
  676. numpy-1.9.2/numpy/lib/tests/test_financial.py +0 -160
  677. numpy-1.9.2/numpy/lib/tests/test_format.py +0 -716
  678. numpy-1.9.2/numpy/lib/tests/test_function_base.py +0 -2145
  679. numpy-1.9.2/numpy/lib/tests/test_index_tricks.py +0 -289
  680. numpy-1.9.2/numpy/lib/tests/test_io.py +0 -1754
  681. numpy-1.9.2/numpy/lib/tests/test_nanfunctions.py +0 -774
  682. numpy-1.9.2/numpy/lib/tests/test_polynomial.py +0 -177
  683. numpy-1.9.2/numpy/lib/tests/test_recfunctions.py +0 -705
  684. numpy-1.9.2/numpy/lib/tests/test_shape_base.py +0 -368
  685. numpy-1.9.2/numpy/lib/tests/test_stride_tricks.py +0 -238
  686. numpy-1.9.2/numpy/lib/tests/test_twodim_base.py +0 -504
  687. numpy-1.9.2/numpy/lib/tests/test_type_check.py +0 -328
  688. numpy-1.9.2/numpy/lib/twodim_base.py +0 -1003
  689. numpy-1.9.2/numpy/lib/type_check.py +0 -605
  690. numpy-1.9.2/numpy/lib/utils.py +0 -1176
  691. numpy-1.9.2/numpy/linalg/lapack_lite/python_xerbla.c +0 -47
  692. numpy-1.9.2/numpy/linalg/lapack_litemodule.c +0 -362
  693. numpy-1.9.2/numpy/linalg/linalg.py +0 -2136
  694. numpy-1.9.2/numpy/linalg/tests/test_build.py +0 -53
  695. numpy-1.9.2/numpy/linalg/tests/test_linalg.py +0 -1156
  696. numpy-1.9.2/numpy/linalg/tests/test_regression.py +0 -90
  697. numpy-1.9.2/numpy/linalg/umath_linalg.c.src +0 -3210
  698. numpy-1.9.2/numpy/ma/__init__.py +0 -58
  699. numpy-1.9.2/numpy/ma/bench.py +0 -166
  700. numpy-1.9.2/numpy/ma/core.py +0 -7374
  701. numpy-1.9.2/numpy/ma/extras.py +0 -1932
  702. numpy-1.9.2/numpy/ma/mrecords.py +0 -734
  703. numpy-1.9.2/numpy/ma/setup.py +0 -20
  704. numpy-1.9.2/numpy/ma/tests/test_core.py +0 -3706
  705. numpy-1.9.2/numpy/ma/tests/test_extras.py +0 -954
  706. numpy-1.9.2/numpy/ma/tests/test_mrecords.py +0 -521
  707. numpy-1.9.2/numpy/ma/tests/test_old_ma.py +0 -869
  708. numpy-1.9.2/numpy/ma/tests/test_regression.py +0 -75
  709. numpy-1.9.2/numpy/ma/tests/test_subclassing.py +0 -236
  710. numpy-1.9.2/numpy/ma/testutils.py +0 -240
  711. numpy-1.9.2/numpy/ma/timer_comparison.py +0 -459
  712. numpy-1.9.2/numpy/matlib.py +0 -358
  713. numpy-1.9.2/numpy/matrixlib/defmatrix.py +0 -1094
  714. numpy-1.9.2/numpy/matrixlib/tests/test_defmatrix.py +0 -400
  715. numpy-1.9.2/numpy/matrixlib/tests/test_multiarray.py +0 -18
  716. numpy-1.9.2/numpy/matrixlib/tests/test_numeric.py +0 -10
  717. numpy-1.9.2/numpy/matrixlib/tests/test_regression.py +0 -34
  718. numpy-1.9.2/numpy/polynomial/_polybase.py +0 -962
  719. numpy-1.9.2/numpy/polynomial/chebyshev.py +0 -2056
  720. numpy-1.9.2/numpy/polynomial/hermite.py +0 -1789
  721. numpy-1.9.2/numpy/polynomial/hermite_e.py +0 -1786
  722. numpy-1.9.2/numpy/polynomial/laguerre.py +0 -1781
  723. numpy-1.9.2/numpy/polynomial/legendre.py +0 -1809
  724. numpy-1.9.2/numpy/polynomial/polytemplate.py +0 -927
  725. numpy-1.9.2/numpy/polynomial/polyutils.py +0 -403
  726. numpy-1.9.2/numpy/random/mtrand/distributions.c +0 -892
  727. numpy-1.9.2/numpy/random/mtrand/mtrand.c +0 -31204
  728. numpy-1.9.2/numpy/random/mtrand/mtrand.pyx +0 -4706
  729. numpy-1.9.2/numpy/random/setup.py +0 -74
  730. numpy-1.9.2/numpy/random/tests/test_random.py +0 -707
  731. numpy-1.9.2/numpy/random/tests/test_regression.py +0 -86
  732. numpy-1.9.2/numpy/setup.py +0 -27
  733. numpy-1.9.2/numpy/testing/__init__.py +0 -16
  734. numpy-1.9.2/numpy/testing/decorators.py +0 -271
  735. numpy-1.9.2/numpy/testing/noseclasses.py +0 -353
  736. numpy-1.9.2/numpy/testing/nosetester.py +0 -504
  737. numpy-1.9.2/numpy/testing/print_coercion_tables.py +0 -89
  738. numpy-1.9.2/numpy/testing/setup.py +0 -20
  739. numpy-1.9.2/numpy/testing/tests/test_decorators.py +0 -185
  740. numpy-1.9.2/numpy/testing/tests/test_utils.py +0 -558
  741. numpy-1.9.2/numpy/testing/utils.py +0 -1715
  742. numpy-1.9.2/numpy/tests/test_ctypeslib.py +0 -102
  743. numpy-1.9.2/numpy/tests/test_matlib.py +0 -55
  744. numpy-1.9.2/numpy/version.py +0 -10
  745. numpy-1.9.2/setup.py +0 -251
  746. numpy-1.9.2/site.cfg.example +0 -157
  747. numpy-1.9.2/tools/swig/README +0 -135
  748. numpy-1.9.2/tools/swig/numpy.i +0 -3085
  749. numpy-1.9.2/tools/swig/test/Array.i +0 -102
  750. numpy-1.9.2/tools/swig/test/Makefile +0 -34
  751. numpy-1.9.2/tools/swig/test/setup.py +0 -64
  752. numpy-1.9.2/tools/swig/test/testArray.py +0 -284
  753. numpy-1.9.2/tools/swig/test/testFarray.py +0 -159
  754. numpy-1.9.2/tools/swig/test/testFortran.py +0 -173
  755. numpy-1.9.2/tools/swig/test/testMatrix.py +0 -362
  756. numpy-1.9.2/tools/swig/test/testSuperTensor.py +0 -388
  757. numpy-1.9.2/tools/swig/test/testTensor.py +0 -402
  758. numpy-1.9.2/tools/swig/test/testVector.py +0 -381
  759. {numpy-1.9.2 → numpy-1.10.0.post2}/BENTO_BUILD.txt +0 -0
  760. {numpy-1.9.2 → numpy-1.10.0.post2}/COMPATIBILITY +0 -0
  761. {numpy-1.9.2 → numpy-1.10.0.post2}/DEV_README.txt +0 -0
  762. {numpy-1.9.2 → numpy-1.10.0.post2}/README.txt +0 -0
  763. {numpy-1.9.2 → numpy-1.10.0.post2}/THANKS.txt +0 -0
  764. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/Makefile +0 -0
  765. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/BUGS.txt +0 -0
  766. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/FAQ.txt +0 -0
  767. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/HISTORY.txt +0 -0
  768. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Makefile +0 -0
  769. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/OLDNEWS.txt +0 -0
  770. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/README.txt +0 -0
  771. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-1.x.txt +0 -0
  772. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-2.x.txt +0 -0
  773. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-3.x.txt +0 -0
  774. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-4.x.txt +0 -0
  775. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TESTING.txt +0 -0
  776. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/THANKS.txt +0 -0
  777. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TODO.txt +0 -0
  778. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/apps.tex +0 -0
  779. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/bugs.tex +0 -0
  780. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/collectinput.py +0 -0
  781. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/commands.tex +0 -0
  782. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/default.css +0 -0
  783. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/docutils.conf +0 -0
  784. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/arr.f +0 -0
  785. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/bar.f +0 -0
  786. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foo.f +0 -0
  787. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar-smart.f90 +0 -0
  788. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar.f90 +0 -0
  789. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobarmodule.tex +0 -0
  790. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/runme +0 -0
  791. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py.1 +0 -0
  792. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py2e.tex +0 -0
  793. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/README.txt +0 -0
  794. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/aerostructure.jpg +0 -0
  795. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/flow.jpg +0 -0
  796. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_html.sh +0 -0
  797. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_pdf.sh +0 -0
  798. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_ps.sh +0 -0
  799. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1.f +0 -0
  800. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1mess.txt +0 -0
  801. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1session.txt +0 -0
  802. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foo.pyf +0 -0
  803. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foom.pyf +0 -0
  804. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/structure.jpg +0 -0
  805. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/fortranobject.tex +0 -0
  806. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/hello.f +0 -0
  807. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/index.html +0 -0
  808. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/intro.tex +0 -0
  809. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/array_from_pyobj.c +0 -0
  810. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/bar.c +0 -0
  811. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/foo.f +0 -0
  812. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fortran_array_from_pyobj.txt +0 -0
  813. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fun.pyf +0 -0
  814. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/run.pyf +0 -0
  815. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/transpose.txt +0 -0
  816. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarrays.txt +0 -0
  817. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/notes.tex +0 -0
  818. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/oldnews.html +0 -0
  819. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/options.tex +0 -0
  820. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pyforttest.pyf +0 -0
  821. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pytest.py +0 -0
  822. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/python9.tex +0 -0
  823. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/signaturefile.tex +0 -0
  824. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple.f +0 -0
  825. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple_session.dat +0 -0
  826. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/using_F_compiler.txt +0 -0
  827. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/win32_notes.txt +0 -0
  828. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/postprocess.py +0 -0
  829. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.3.0-notes.rst +0 -0
  830. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.4.0-notes.rst +0 -0
  831. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.5.0-notes.rst +0 -0
  832. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.0-notes.rst +0 -0
  833. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.1-notes.rst +0 -0
  834. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.2-notes.rst +0 -0
  835. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.0-notes.rst +0 -0
  836. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.1-notes.rst +0 -0
  837. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.2-notes.rst +0 -0
  838. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.0-notes.rst +0 -0
  839. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.1-notes.rst +0 -0
  840. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.2-notes.rst +0 -0
  841. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.0-notes.rst +0 -0
  842. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.1-notes.rst +0 -0
  843. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.2-notes.rst +0 -0
  844. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/time_based_proposal.rst +0 -0
  845. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.gitignore +0 -0
  846. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/Makefile +0 -0
  847. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/README.rst +0 -0
  848. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_static/scipyshiny_small.png +0 -0
  849. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/layout.html +0 -0
  850. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/searchbox.html +0 -0
  851. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/sourcelink.html +0 -0
  852. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/extend.css +0 -0
  853. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/pygments.css +0 -0
  854. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/scipy-central.css +0 -0
  855. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-bootstrap.css +0 -0
  856. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-extend.css +0 -0
  857. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/all-icons.svg +0 -0
  858. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/contents.png +0 -0
  859. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/create-new-account-icon.png +0 -0
  860. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon-shrunk.png +0 -0
  861. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.png +0 -0
  862. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.svg +0 -0
  863. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiniest.png +0 -0
  864. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiny.png +0 -0
  865. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon.png +0 -0
  866. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ad.png +0 -0
  867. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ae.png +0 -0
  868. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-af.png +0 -0
  869. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ag.png +0 -0
  870. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ai.png +0 -0
  871. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-al.png +0 -0
  872. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-am.png +0 -0
  873. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ao.png +0 -0
  874. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aq.png +0 -0
  875. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ar.png +0 -0
  876. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-as.png +0 -0
  877. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-at.png +0 -0
  878. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-au.png +0 -0
  879. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aw.png +0 -0
  880. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-az.png +0 -0
  881. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ba.png +0 -0
  882. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bb.png +0 -0
  883. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bd.png +0 -0
  884. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-be.png +0 -0
  885. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bf.png +0 -0
  886. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bg.png +0 -0
  887. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bh.png +0 -0
  888. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bi.png +0 -0
  889. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bj.png +0 -0
  890. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bl.png +0 -0
  891. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bm.png +0 -0
  892. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bn.png +0 -0
  893. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bo.png +0 -0
  894. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-br.png +0 -0
  895. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bs.png +0 -0
  896. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bt.png +0 -0
  897. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bw.png +0 -0
  898. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-by.png +0 -0
  899. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bz.png +0 -0
  900. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ca.png +0 -0
  901. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cc.png +0 -0
  902. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cd.png +0 -0
  903. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cf.png +0 -0
  904. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cg.png +0 -0
  905. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ch.png +0 -0
  906. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ci.png +0 -0
  907. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ck.png +0 -0
  908. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cl.png +0 -0
  909. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cm.png +0 -0
  910. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cn.png +0 -0
  911. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-co.png +0 -0
  912. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cr.png +0 -0
  913. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cu.png +0 -0
  914. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cv.png +0 -0
  915. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cw.png +0 -0
  916. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cx.png +0 -0
  917. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cy.png +0 -0
  918. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cz.png +0 -0
  919. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-de.png +0 -0
  920. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dj.png +0 -0
  921. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dk.png +0 -0
  922. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dm.png +0 -0
  923. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-do.png +0 -0
  924. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dz.png +0 -0
  925. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ec.png +0 -0
  926. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ee.png +0 -0
  927. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-eg.png +0 -0
  928. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-er.png +0 -0
  929. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-es.png +0 -0
  930. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-et.png +0 -0
  931. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fi.png +0 -0
  932. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fj.png +0 -0
  933. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fk.png +0 -0
  934. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fm.png +0 -0
  935. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fo.png +0 -0
  936. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fr.png +0 -0
  937. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ga.png +0 -0
  938. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gb.png +0 -0
  939. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gd.png +0 -0
  940. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ge.png +0 -0
  941. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gf.png +0 -0
  942. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gg.png +0 -0
  943. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gh.png +0 -0
  944. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gi.png +0 -0
  945. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gl.png +0 -0
  946. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gm.png +0 -0
  947. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gn.png +0 -0
  948. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gq.png +0 -0
  949. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gr.png +0 -0
  950. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gs.png +0 -0
  951. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gt.png +0 -0
  952. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gu.png +0 -0
  953. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gw.png +0 -0
  954. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gy.png +0 -0
  955. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hk.png +0 -0
  956. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hm.png +0 -0
  957. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hn.png +0 -0
  958. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hr.png +0 -0
  959. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ht.png +0 -0
  960. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hu.png +0 -0
  961. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-id.png +0 -0
  962. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ie.png +0 -0
  963. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-il.png +0 -0
  964. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-im.png +0 -0
  965. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-in.png +0 -0
  966. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-io.png +0 -0
  967. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-iq.png +0 -0
  968. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ir.png +0 -0
  969. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-is.png +0 -0
  970. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-it.png +0 -0
  971. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-je.png +0 -0
  972. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jm.png +0 -0
  973. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jo.png +0 -0
  974. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jp.png +0 -0
  975. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ke.png +0 -0
  976. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kg.png +0 -0
  977. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kh.png +0 -0
  978. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ki.png +0 -0
  979. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-km.png +0 -0
  980. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kn.png +0 -0
  981. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kp.png +0 -0
  982. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kr.png +0 -0
  983. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kw.png +0 -0
  984. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ky.png +0 -0
  985. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kz.png +0 -0
  986. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-la.png +0 -0
  987. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lb.png +0 -0
  988. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lc.png +0 -0
  989. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-li.png +0 -0
  990. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lk.png +0 -0
  991. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lr.png +0 -0
  992. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ls.png +0 -0
  993. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lt.png +0 -0
  994. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lu.png +0 -0
  995. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lv.png +0 -0
  996. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ly.png +0 -0
  997. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ma.png +0 -0
  998. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mc.png +0 -0
  999. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-md.png +0 -0
  1000. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-me.png +0 -0
  1001. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mf.png +0 -0
  1002. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mg.png +0 -0
  1003. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mh.png +0 -0
  1004. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mk.png +0 -0
  1005. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ml.png +0 -0
  1006. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mm.png +0 -0
  1007. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mn.png +0 -0
  1008. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mo.png +0 -0
  1009. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mp.png +0 -0
  1010. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mq.png +0 -0
  1011. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mr.png +0 -0
  1012. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ms.png +0 -0
  1013. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mt.png +0 -0
  1014. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mu.png +0 -0
  1015. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mv.png +0 -0
  1016. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mw.png +0 -0
  1017. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mx.png +0 -0
  1018. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-my.png +0 -0
  1019. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mz.png +0 -0
  1020. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-na.png +0 -0
  1021. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nc.png +0 -0
  1022. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ne.png +0 -0
  1023. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nf.png +0 -0
  1024. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ng.png +0 -0
  1025. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ni.png +0 -0
  1026. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nl.png +0 -0
  1027. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-no.png +0 -0
  1028. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-np.png +0 -0
  1029. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nr.png +0 -0
  1030. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nu.png +0 -0
  1031. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nz.png +0 -0
  1032. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-om.png +0 -0
  1033. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pa.png +0 -0
  1034. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pe.png +0 -0
  1035. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pf.png +0 -0
  1036. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pg.png +0 -0
  1037. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ph.png +0 -0
  1038. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pk.png +0 -0
  1039. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pl.png +0 -0
  1040. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pm.png +0 -0
  1041. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pn.png +0 -0
  1042. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pr.png +0 -0
  1043. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ps.png +0 -0
  1044. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pt.png +0 -0
  1045. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pw.png +0 -0
  1046. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-py.png +0 -0
  1047. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-qa.png +0 -0
  1048. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-re.png +0 -0
  1049. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ro.png +0 -0
  1050. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rs.png +0 -0
  1051. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ru.png +0 -0
  1052. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rw.png +0 -0
  1053. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sa.png +0 -0
  1054. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sb.png +0 -0
  1055. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sc.png +0 -0
  1056. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sd.png +0 -0
  1057. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-se.png +0 -0
  1058. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sg.png +0 -0
  1059. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sh.png +0 -0
  1060. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-si.png +0 -0
  1061. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sj.png +0 -0
  1062. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sk.png +0 -0
  1063. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sl.png +0 -0
  1064. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sm.png +0 -0
  1065. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sn.png +0 -0
  1066. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-so.png +0 -0
  1067. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sr.png +0 -0
  1068. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-st.png +0 -0
  1069. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sv.png +0 -0
  1070. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sy.png +0 -0
  1071. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sz.png +0 -0
  1072. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tc.png +0 -0
  1073. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-td.png +0 -0
  1074. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tf.png +0 -0
  1075. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tg.png +0 -0
  1076. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-th.png +0 -0
  1077. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tj.png +0 -0
  1078. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tk.png +0 -0
  1079. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tl.png +0 -0
  1080. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tm.png +0 -0
  1081. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tn.png +0 -0
  1082. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-to.png +0 -0
  1083. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tr.png +0 -0
  1084. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tt.png +0 -0
  1085. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tv.png +0 -0
  1086. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tw.png +0 -0
  1087. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tz.png +0 -0
  1088. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ua.png +0 -0
  1089. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ug.png +0 -0
  1090. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-um.png +0 -0
  1091. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-us.png +0 -0
  1092. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uy.png +0 -0
  1093. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uz.png +0 -0
  1094. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-va.png +0 -0
  1095. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vc.png +0 -0
  1096. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ve.png +0 -0
  1097. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vg.png +0 -0
  1098. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vi.png +0 -0
  1099. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vn.png +0 -0
  1100. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vu.png +0 -0
  1101. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-wf.png +0 -0
  1102. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ws.png +0 -0
  1103. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ye.png +0 -0
  1104. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-za.png +0 -0
  1105. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zm.png +0 -0
  1106. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zw.png +0 -0
  1107. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings-white.png +0 -0
  1108. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings.png +0 -0
  1109. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/important-icon.png +0 -0
  1110. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/information-icon.png +0 -0
  1111. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/internet-web-browser.png +0 -0
  1112. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon-shrunk.png +0 -0
  1113. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.png +0 -0
  1114. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.svg +0 -0
  1115. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon-tiny.png +0 -0
  1116. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon.png +0 -0
  1117. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/navigation.png +0 -0
  1118. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon-tiny.png +0 -0
  1119. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon.png +0 -0
  1120. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy-logo.png +0 -0
  1121. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy_org_logo.gif +0 -0
  1122. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipycentral_logo.png +0 -0
  1123. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipyshiny_small.png +0 -0
  1124. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/send-email-icon.png +0 -0
  1125. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon-shrunk.png +0 -0
  1126. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.png +0 -0
  1127. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.svg +0 -0
  1128. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiniest.png +0 -0
  1129. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiny.png +0 -0
  1130. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon.png +0 -0
  1131. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/transparent-pixel.gif +0 -0
  1132. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/ui-anim_basic_16x16.gif +0 -0
  1133. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/js/copybutton.js +0 -0
  1134. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/accordion.less +0 -0
  1135. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/alerts.less +0 -0
  1136. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/bootstrap.less +0 -0
  1137. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/breadcrumbs.less +0 -0
  1138. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/button-groups.less +0 -0
  1139. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/buttons.less +0 -0
  1140. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/carousel.less +0 -0
  1141. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/close.less +0 -0
  1142. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/code.less +0 -0
  1143. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/component-animations.less +0 -0
  1144. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/dropdowns.less +0 -0
  1145. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/forms.less +0 -0
  1146. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/grid.less +0 -0
  1147. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/hero-unit.less +0 -0
  1148. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/labels-badges.less +0 -0
  1149. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/layouts.less +0 -0
  1150. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/media.less +0 -0
  1151. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/mixins.less +0 -0
  1152. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/modals.less +0 -0
  1153. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navbar.less +0 -0
  1154. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navs.less +0 -0
  1155. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pager.less +0 -0
  1156. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pagination.less +0 -0
  1157. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/popovers.less +0 -0
  1158. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/progress-bars.less +0 -0
  1159. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/reset.less +0 -0
  1160. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-1200px-min.less +0 -0
  1161. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-767px-max.less +0 -0
  1162. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-768px-979px.less +0 -0
  1163. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-navbar.less +0 -0
  1164. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-utilities.less +0 -0
  1165. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive.less +0 -0
  1166. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/scaffolding.less +0 -0
  1167. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/sprites.less +0 -0
  1168. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tables.less +0 -0
  1169. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/thumbnails.less +0 -0
  1170. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tooltip.less +0 -0
  1171. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/type.less +0 -0
  1172. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/utilities.less +0 -0
  1173. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/variables.less +0 -0
  1174. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/wells.less +0 -0
  1175. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-bootstrap.less +0 -0
  1176. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-content.less +0 -0
  1177. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-extend.less +0 -0
  1178. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-footer.less +0 -0
  1179. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-header.less +0 -0
  1180. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-rightsidebar.less +0 -0
  1181. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-utils.less +0 -0
  1182. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/scipy.css_t +0 -0
  1183. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/theme.conf +0 -0
  1184. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/conf.py +0 -0
  1185. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/index.rst +0 -0
  1186. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc.rst +0 -0
  1187. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_2.rst +0 -0
  1188. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_3.rst +0 -0
  1189. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_4.rst +0 -0
  1190. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_optimize.rst +0 -0
  1191. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/autosummary/class.rst +0 -0
  1192. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexcontent.html +0 -0
  1193. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexsidebar.html +0 -0
  1194. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/layout.html +0 -0
  1195. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/about.rst +0 -0
  1196. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/bugs.rst +0 -0
  1197. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/contents.rst +0 -0
  1198. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/configure_git.rst +0 -0
  1199. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/development_setup.rst +0 -0
  1200. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/dot2_dot3.rst +0 -0
  1201. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/following_latest.rst +0 -0
  1202. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/forking_button.png +0 -0
  1203. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_development.rst +0 -0
  1204. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_intro.rst +0 -0
  1205. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_resources.rst +0 -0
  1206. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/pull_button.png +0 -0
  1207. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash_links.txt +0 -0
  1208. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/advanced.rst +0 -0
  1209. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr.f90 +0 -0
  1210. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr_session.dat +0 -0
  1211. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array.f +0 -0
  1212. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array_session.dat +0 -0
  1213. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate.f +0 -0
  1214. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate_session.dat +0 -0
  1215. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback.f +0 -0
  1216. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback2.pyf +0 -0
  1217. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback_session.dat +0 -0
  1218. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common.f +0 -0
  1219. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common_session.dat +0 -0
  1220. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/compile_session.dat +0 -0
  1221. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/distutils.rst +0 -0
  1222. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback.f +0 -0
  1223. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback_session.dat +0 -0
  1224. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.f +0 -0
  1225. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.pyf +0 -0
  1226. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib2.pyf +0 -0
  1227. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib3.f +0 -0
  1228. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype.f +0 -0
  1229. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype_session.dat +0 -0
  1230. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/getting-started.rst +0 -0
  1231. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/index.rst +0 -0
  1232. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata.f90 +0 -0
  1233. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata_session.dat +0 -0
  1234. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/python-usage.rst +0 -0
  1235. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/run_main_session.dat +0 -0
  1236. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar.f +0 -0
  1237. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar_session.dat +0 -0
  1238. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/setup_example.py +0 -0
  1239. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/signature-file.rst +0 -0
  1240. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam.pyf +0 -0
  1241. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam_session.dat +0 -0
  1242. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string.f +0 -0
  1243. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string_session.dat +0 -0
  1244. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/usage.rst +0 -0
  1245. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var.pyf +0 -0
  1246. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var_session.dat +0 -0
  1247. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/glossary.rst +0 -0
  1248. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/license.rst +0 -0
  1249. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal.rst +0 -0
  1250. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal3.rst +0 -0
  1251. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/deferred-ufunc-evaluation.rst +0 -0
  1252. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/generalized-ufuncs.rst +0 -0
  1253. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/groupby_additions.rst +0 -0
  1254. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/index.rst +0 -0
  1255. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/math_config_clean.rst +0 -0
  1256. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/missing-data.rst +0 -0
  1257. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/new-iterator-ufunc.rst +0 -0
  1258. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/newbugtracker.rst +0 -0
  1259. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/npy-format.rst +0 -0
  1260. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/structured_array_extensions.rst +0 -0
  1261. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/ufunc-overrides.rst +0 -0
  1262. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/warnfix.rst +0 -0
  1263. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.datetime.rst +0 -0
  1264. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.nditer.rst +0 -0
  1265. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.rst +0 -0
  1266. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.deprecations.rst +0 -0
  1267. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.rst +0 -0
  1268. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/distutils.rst +0 -0
  1269. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.dia +0 -0
  1270. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.pdf +0 -0
  1271. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.png +0 -0
  1272. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.fig +0 -0
  1273. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.pdf +0 -0
  1274. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.png +0 -0
  1275. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/internals.rst +0 -0
  1276. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.baseclass.rst +0 -0
  1277. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.generic.rst +0 -0
  1278. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.rst +0 -0
  1279. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.array-creation.rst +0 -0
  1280. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.bitwise.rst +0 -0
  1281. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.char.rst +0 -0
  1282. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.ctypeslib.rst +0 -0
  1283. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.datetime.rst +0 -0
  1284. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dtype.rst +0 -0
  1285. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dual.rst +0 -0
  1286. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.emath.rst +0 -0
  1287. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.err.rst +0 -0
  1288. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.fft.rst +0 -0
  1289. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.financial.rst +0 -0
  1290. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.functional.rst +0 -0
  1291. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.help.rst +0 -0
  1292. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.indexing.rst +0 -0
  1293. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.logic.rst +0 -0
  1294. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.math.rst +0 -0
  1295. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.matlib.rst +0 -0
  1296. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.numarray.rst +0 -0
  1297. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.oldnumeric.rst +0 -0
  1298. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.other.rst +0 -0
  1299. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.padding.rst +0 -0
  1300. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.chebyshev.rst +0 -0
  1301. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.classes.rst +0 -0
  1302. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite.rst +0 -0
  1303. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite_e.rst +0 -0
  1304. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.laguerre.rst +0 -0
  1305. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.legendre.rst +0 -0
  1306. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.package.rst +0 -0
  1307. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.poly1d.rst +0 -0
  1308. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.polynomial.rst +0 -0
  1309. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.rst +0 -0
  1310. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.random.rst +0 -0
  1311. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.rst +0 -0
  1312. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.set.rst +0 -0
  1313. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.testing.rst +0 -0
  1314. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.window.rst +0 -0
  1315. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/swig.rst +0 -0
  1316. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.broadcasting.rst +0 -0
  1317. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.byteswapping.rst +0 -0
  1318. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.creation.rst +0 -0
  1319. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.indexing.rst +0 -0
  1320. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.io.rst +0 -0
  1321. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.rst +0 -0
  1322. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.subclassing.rst +0 -0
  1323. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.types.rst +0 -0
  1324. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/c-info.rst +0 -0
  1325. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/howtofind.rst +0 -0
  1326. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/index.rst +0 -0
  1327. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/introduction.rst +0 -0
  1328. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/misc.rst +0 -0
  1329. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/performance.rst +0 -0
  1330. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/whatisnumpy.rst +0 -0
  1331. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.gitignore +0 -0
  1332. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.travis.yml +0 -0
  1333. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/LICENSE.txt +0 -0
  1334. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/MANIFEST.in +0 -0
  1335. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/README.rst +0 -0
  1336. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/__init__.py +0 -0
  1337. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/comment_eater.py +0 -0
  1338. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/compiler_unparse.py +0 -0
  1339. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape.py +0 -0
  1340. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape_sphinx.py +0 -0
  1341. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/linkcode.py +0 -0
  1342. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/numpydoc.py +0 -0
  1343. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/phantom_import.py +0 -0
  1344. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/plot_directive.py +0 -0
  1345. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_docscrape.py +0 -0
  1346. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_linkcode.py +0 -0
  1347. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_phantom_import.py +0 -0
  1348. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_plot_directive.py +0 -0
  1349. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_traitsdoc.py +0 -0
  1350. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/traitsdoc.py +0 -0
  1351. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/setup.py +0 -0
  1352. {numpy-1.9.2/numpy/core/code_generators → numpy-1.10.0.post2/numpy/_build_utils}/__init__.py +0 -0
  1353. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/compat/__init__.py +0 -0
  1354. {numpy-1.9.2/numpy/distutils/tests/f2py_ext → numpy-1.10.0.post2/numpy/core/code_generators}/__init__.py +0 -0
  1355. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/genapi.py +0 -0
  1356. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/generate_numpy_api.py +0 -0
  1357. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/cversions.py +0 -0
  1358. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_neighborhood_iterator_imp.h +0 -0
  1359. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_numpyconfig.h.in +0 -0
  1360. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayobject.h +0 -0
  1361. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayscalars.h +0 -0
  1362. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/halffloat.h +0 -0
  1363. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/noprefix.h +0 -0
  1364. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_1_7_deprecated_api.h +0 -0
  1365. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_interrupt.h +0 -0
  1366. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_no_deprecated_api.h +0 -0
  1367. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_os.h +0 -0
  1368. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/old_defines.h +0 -0
  1369. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/oldnumeric.h +0 -0
  1370. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/ufuncobject.h +0 -0
  1371. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/utils.h +0 -0
  1372. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/info.py +0 -0
  1373. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/mlib.ini.in +0 -0
  1374. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/npymath.ini.in +0 -0
  1375. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/dummymodule.c +0 -0
  1376. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/_datetime.h +0 -0
  1377. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/alloc.h +0 -0
  1378. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.c +0 -0
  1379. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.h +0 -0
  1380. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_array.c +0 -0
  1381. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_scalar.c +0 -0
  1382. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/arrayobject.h +0 -0
  1383. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/buffer.h +0 -0
  1384. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/calculation.h +0 -0
  1385. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/conversion_utils.h +0 -0
  1386. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert.h +0 -0
  1387. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert_datatype.h +0 -0
  1388. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ctors.h +0 -0
  1389. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busday.h +0 -0
  1390. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busdaycal.h +0 -0
  1391. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_strings.h +0 -0
  1392. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/descriptor.h +0 -0
  1393. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/flagsobject.c +0 -0
  1394. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/getset.h +0 -0
  1395. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/hashdescr.h +0 -0
  1396. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/item_selection.h +0 -0
  1397. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/iterators.h +0 -0
  1398. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/methods.h +0 -0
  1399. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_impl.h +0 -0
  1400. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_pywrap.h +0 -0
  1401. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_templ.c.src +0 -0
  1402. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpymemoryview.h +0 -0
  1403. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpyos.h +0 -0
  1404. {numpy-1.9.2/numpy/core/blasdot → numpy-1.10.0.post2/numpy/core/src/multiarray}/python_xerbla.c +0 -0
  1405. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.c +0 -0
  1406. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.h +0 -0
  1407. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.c +0 -0
  1408. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.h +0 -0
  1409. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/shape.h +0 -0
  1410. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ucsnarrow.h +0 -0
  1411. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.c +0 -0
  1412. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.h +0 -0
  1413. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/_signbit.c +0 -0
  1414. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/halffloat.c +0 -0
  1415. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/npy_math_common.h +0 -0
  1416. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npysort/binsearch.c.src +0 -0
  1417. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/lowlevel_strided_loops.h +0 -0
  1418. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_binsearch.h.src +0 -0
  1419. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_fpmath.h +0 -0
  1420. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_pycompat.h +0 -0
  1421. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.c +0 -0
  1422. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.h +0 -0
  1423. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/struct_ufunc_test.c.src +0 -0
  1424. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_object.h +0 -0
  1425. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_type_resolution.h +0 -0
  1426. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/astype_copy.pkl +0 -0
  1427. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/recarray_from_file.fits +0 -0
  1428. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/test_scalarprint.py +0 -0
  1429. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ctypeslib.py +0 -0
  1430. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/__version__.py +0 -0
  1431. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/__init__.py +0 -0
  1432. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/bdist_rpm.py +0 -0
  1433. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_py.py +0 -0
  1434. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_scripts.py +0 -0
  1435. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_src.py +0 -0
  1436. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/config_compiler.py +0 -0
  1437. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/develop.py +0 -0
  1438. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/egg_info.py +0 -0
  1439. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install.py +0 -0
  1440. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_clib.py +0 -0
  1441. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_data.py +0 -0
  1442. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_headers.py +0 -0
  1443. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/sdist.py +0 -0
  1444. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/compat.py +0 -0
  1445. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/conv_template.py +0 -0
  1446. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/core.py +0 -0
  1447. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/cpuinfo.py +0 -0
  1448. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/environment.py +0 -0
  1449. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/extension.py +0 -0
  1450. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/__init__.py +0 -0
  1451. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/absoft.py +0 -0
  1452. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/g95.py +0 -0
  1453. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/hpux.py +0 -0
  1454. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/ibm.py +0 -0
  1455. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/lahey.py +0 -0
  1456. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/mips.py +0 -0
  1457. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/nag.py +0 -0
  1458. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/none.py +0 -0
  1459. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/pathf95.py +0 -0
  1460. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/vast.py +0 -0
  1461. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/from_template.py +0 -0
  1462. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/info.py +0 -0
  1463. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/line_endings.py +0 -0
  1464. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/log.py +0 -0
  1465. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/mingw/gfortran_vs2003_hack.c +0 -0
  1466. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/numpy_distribution.py +0 -0
  1467. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/pathccompiler.py +0 -0
  1468. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/setup.py +0 -0
  1469. {numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext}/__init__.py +0 -0
  1470. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/setup.py +0 -0
  1471. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib1.f +0 -0
  1472. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib2.pyf +0 -0
  1473. {numpy-1.9.2/numpy/distutils/tests/gen_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext}/__init__.py +0 -0
  1474. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/include/body.f90 +0 -0
  1475. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/setup.py +0 -0
  1476. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/src/foo_free.f90 +0 -0
  1477. {numpy-1.9.2/numpy/distutils/tests/pyrex_ext → numpy-1.10.0.post2/numpy/distutils/tests/gen_ext}/__init__.py +0 -0
  1478. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/gen_ext/setup.py +0 -0
  1479. {numpy-1.9.2/numpy/distutils/tests/swig_ext → numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext}/__init__.py +0 -0
  1480. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/primes.pyx +0 -0
  1481. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/setup.py +0 -0
  1482. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/setup.py +0 -0
  1483. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/setup.py +0 -0
  1484. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.c +0 -0
  1485. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.i +0 -0
  1486. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.cc +0 -0
  1487. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.h +0 -0
  1488. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.i +0 -0
  1489. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/test_exec_command.py +0 -0
  1490. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/__init__.py +0 -0
  1491. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/basics.py +0 -0
  1492. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/broadcasting.py +0 -0
  1493. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/constants.py +0 -0
  1494. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/howtofind.py +0 -0
  1495. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/internals.py +0 -0
  1496. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/io.py +0 -0
  1497. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/jargon.py +0 -0
  1498. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/methods_vs_functions.py +0 -0
  1499. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/misc.py +0 -0
  1500. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/performance.py +0 -0
  1501. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/subclassing.py +0 -0
  1502. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/ufuncs.py +0 -0
  1503. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/dual.py +0 -0
  1504. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/__version__.py +0 -0
  1505. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/info.py +0 -0
  1506. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +0 -0
  1507. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_free.f90 +0 -0
  1508. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +0 -0
  1509. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_use.f90 +0 -0
  1510. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/precision.f90 +0 -0
  1511. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/kind/foo.f90 +0 -0
  1512. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo.f +0 -0
  1513. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_fixed.f90 +0 -0
  1514. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_free.f90 +0 -0
  1515. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/regression/inout.f90 +0 -0
  1516. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/size/foo.f90 +0 -0
  1517. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/__init__.py +0 -0
  1518. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/helper.py +0 -0
  1519. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/__init__.py +0 -0
  1520. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_datasource.py +0 -0
  1521. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_version.py +0 -0
  1522. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/scimath.py +0 -0
  1523. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/python3.npy +0 -0
  1524. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/win64python2.npy +0 -0
  1525. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test__datasource.py +0 -0
  1526. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_arrayterator.py +0 -0
  1527. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_regression.py +0 -0
  1528. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_ufunclike.py +0 -0
  1529. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_utils.py +0 -0
  1530. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/ufunclike.py +0 -0
  1531. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/user_array.py +0 -0
  1532. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/__init__.py +0 -0
  1533. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/info.py +0 -0
  1534. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/blas_lite.c +0 -0
  1535. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlamch.c +0 -0
  1536. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlapack_lite.c +0 -0
  1537. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c.h +0 -0
  1538. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c_lite.c +0 -0
  1539. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/zlapack_lite.c +0 -0
  1540. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/setup.py +0 -0
  1541. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/tests/test_deprecations.py +0 -0
  1542. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ma/version.py +0 -0
  1543. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/__init__.py +0 -0
  1544. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/setup.py +0 -0
  1545. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/__init__.py +0 -0
  1546. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/polynomial.py +0 -0
  1547. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/setup.py +0 -0
  1548. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_chebyshev.py +0 -0
  1549. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_classes.py +0 -0
  1550. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite.py +0 -0
  1551. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite_e.py +0 -0
  1552. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_laguerre.py +0 -0
  1553. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_legendre.py +0 -0
  1554. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polynomial.py +0 -0
  1555. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polyutils.py +0 -0
  1556. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_printing.py +0 -0
  1557. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/__init__.py +0 -0
  1558. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/info.py +0 -0
  1559. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/Python.pxi +0 -0
  1560. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/distributions.h +0 -0
  1561. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/generate_mtrand_c.py +0 -0
  1562. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.c +0 -0
  1563. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.h +0 -0
  1564. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/mtrand_py_helper.h +0 -0
  1565. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/numpy.pxd +0 -0
  1566. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.c +0 -0
  1567. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.h +0 -0
  1568. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/testing/tests/test_doctesting.py +0 -0
  1569. {numpy-1.9.2 → numpy-1.10.0.post2}/setupegg.py +0 -0
  1570. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/Makefile +0 -0
  1571. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/pyfragments.swg +0 -0
  1572. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.cxx +0 -0
  1573. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.h +0 -0
  1574. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.cxx +0 -0
  1575. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.h +0 -0
  1576. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.cxx +0 -0
  1577. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.h +0 -0
  1578. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.i +0 -0
  1579. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.cxx +0 -0
  1580. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.h +0 -0
  1581. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.i +0 -0
  1582. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.cxx +0 -0
  1583. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.h +0 -0
  1584. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.i +0 -0
  1585. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.cxx +0 -0
  1586. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.h +0 -0
  1587. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.i +0 -0
  1588. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.cxx +0 -0
  1589. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.h +0 -0
  1590. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.i +0 -0
  1591. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.cxx +0 -0
  1592. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.h +0 -0
  1593. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.i +0 -0
@@ -0,0 +1,2306 @@
1
+ from __future__ import division, absolute_import, print_function
2
+
3
+ import os
4
+ import re
5
+ import sys
6
+ import imp
7
+ import copy
8
+ import glob
9
+ import atexit
10
+ import tempfile
11
+ import subprocess
12
+ import shutil
13
+
14
+ import distutils
15
+ from distutils.errors import DistutilsError
16
+ try:
17
+ from threading import local as tlocal
18
+ except ImportError:
19
+ from dummy_threading import local as tlocal
20
+
21
+ try:
22
+ set
23
+ except NameError:
24
+ from sets import Set as set
25
+
26
+ from numpy.distutils.compat import get_exception
27
+
28
+ __all__ = ['Configuration', 'get_numpy_include_dirs', 'default_config_dict',
29
+ 'dict_append', 'appendpath', 'generate_config_py',
30
+ 'get_cmd', 'allpath', 'get_mathlibs',
31
+ 'terminal_has_colors', 'red_text', 'green_text', 'yellow_text',
32
+ 'blue_text', 'cyan_text', 'cyg2win32', 'mingw32', 'all_strings',
33
+ 'has_f_sources', 'has_cxx_sources', 'filter_sources',
34
+ 'get_dependencies', 'is_local_src_dir', 'get_ext_source_files',
35
+ 'get_script_files', 'get_lib_source_files', 'get_data_files',
36
+ 'dot_join', 'get_frame', 'minrelpath', 'njoin',
37
+ 'is_sequence', 'is_string', 'as_list', 'gpaths', 'get_language',
38
+ 'quote_args', 'get_build_architecture', 'get_info', 'get_pkg_info',
39
+ 'get_num_build_jobs']
40
+
41
+ class InstallableLib(object):
42
+ """
43
+ Container to hold information on an installable library.
44
+
45
+ Parameters
46
+ ----------
47
+ name : str
48
+ Name of the installed library.
49
+ build_info : dict
50
+ Dictionary holding build information.
51
+ target_dir : str
52
+ Absolute path specifying where to install the library.
53
+
54
+ See Also
55
+ --------
56
+ Configuration.add_installed_library
57
+
58
+ Notes
59
+ -----
60
+ The three parameters are stored as attributes with the same names.
61
+
62
+ """
63
+ def __init__(self, name, build_info, target_dir):
64
+ self.name = name
65
+ self.build_info = build_info
66
+ self.target_dir = target_dir
67
+
68
+
69
+ def get_num_build_jobs():
70
+ """
71
+ Get number of parallel build jobs set by the --parallel command line
72
+ argument of setup.py
73
+ If the command did not receive a setting the environment variable
74
+ NPY_NUM_BUILD_JOBS checked and if that is unset it returns 1.
75
+
76
+ Returns
77
+ -------
78
+ out : int
79
+ number of parallel jobs that can be run
80
+
81
+ """
82
+ from numpy.distutils.core import get_distribution
83
+ envjobs = int(os.environ.get("NPY_NUM_BUILD_JOBS", 1))
84
+ dist = get_distribution()
85
+ # may be None during configuration
86
+ if dist is None:
87
+ return envjobs
88
+
89
+ # any of these three may have the job set, take the largest
90
+ cmdattr = (getattr(dist.get_command_obj('build'), 'parallel', None),
91
+ getattr(dist.get_command_obj('build_ext'), 'parallel', None),
92
+ getattr(dist.get_command_obj('build_clib'), 'parallel', None))
93
+ if all(x is None for x in cmdattr):
94
+ return envjobs
95
+ else:
96
+ return max(x for x in cmdattr if x is not None)
97
+
98
+ def quote_args(args):
99
+ # don't used _nt_quote_args as it does not check if
100
+ # args items already have quotes or not.
101
+ args = list(args)
102
+ for i in range(len(args)):
103
+ a = args[i]
104
+ if ' ' in a and a[0] not in '"\'':
105
+ args[i] = '"%s"' % (a)
106
+ return args
107
+
108
+ def allpath(name):
109
+ "Convert a /-separated pathname to one using the OS's path separator."
110
+ splitted = name.split('/')
111
+ return os.path.join(*splitted)
112
+
113
+ def rel_path(path, parent_path):
114
+ """Return path relative to parent_path.
115
+ """
116
+ pd = os.path.abspath(parent_path)
117
+ apath = os.path.abspath(path)
118
+ if len(apath)<len(pd):
119
+ return path
120
+ if apath==pd:
121
+ return ''
122
+ if pd == apath[:len(pd)]:
123
+ assert apath[len(pd)] in [os.sep], repr((path, apath[len(pd)]))
124
+ path = apath[len(pd)+1:]
125
+ return path
126
+
127
+ def get_path_from_frame(frame, parent_path=None):
128
+ """Return path of the module given a frame object from the call stack.
129
+
130
+ Returned path is relative to parent_path when given,
131
+ otherwise it is absolute path.
132
+ """
133
+
134
+ # First, try to find if the file name is in the frame.
135
+ try:
136
+ caller_file = eval('__file__', frame.f_globals, frame.f_locals)
137
+ d = os.path.dirname(os.path.abspath(caller_file))
138
+ except NameError:
139
+ # __file__ is not defined, so let's try __name__. We try this second
140
+ # because setuptools spoofs __name__ to be '__main__' even though
141
+ # sys.modules['__main__'] might be something else, like easy_install(1).
142
+ caller_name = eval('__name__', frame.f_globals, frame.f_locals)
143
+ __import__(caller_name)
144
+ mod = sys.modules[caller_name]
145
+ if hasattr(mod, '__file__'):
146
+ d = os.path.dirname(os.path.abspath(mod.__file__))
147
+ else:
148
+ # we're probably running setup.py as execfile("setup.py")
149
+ # (likely we're building an egg)
150
+ d = os.path.abspath('.')
151
+ # hmm, should we use sys.argv[0] like in __builtin__ case?
152
+
153
+ if parent_path is not None:
154
+ d = rel_path(d, parent_path)
155
+
156
+ return d or '.'
157
+
158
+ def njoin(*path):
159
+ """Join two or more pathname components +
160
+ - convert a /-separated pathname to one using the OS's path separator.
161
+ - resolve `..` and `.` from path.
162
+
163
+ Either passing n arguments as in njoin('a','b'), or a sequence
164
+ of n names as in njoin(['a','b']) is handled, or a mixture of such arguments.
165
+ """
166
+ paths = []
167
+ for p in path:
168
+ if is_sequence(p):
169
+ # njoin(['a', 'b'], 'c')
170
+ paths.append(njoin(*p))
171
+ else:
172
+ assert is_string(p)
173
+ paths.append(p)
174
+ path = paths
175
+ if not path:
176
+ # njoin()
177
+ joined = ''
178
+ else:
179
+ # njoin('a', 'b')
180
+ joined = os.path.join(*path)
181
+ if os.path.sep != '/':
182
+ joined = joined.replace('/', os.path.sep)
183
+ return minrelpath(joined)
184
+
185
+ def get_mathlibs(path=None):
186
+ """Return the MATHLIB line from numpyconfig.h
187
+ """
188
+ if path is not None:
189
+ config_file = os.path.join(path, '_numpyconfig.h')
190
+ else:
191
+ # Look for the file in each of the numpy include directories.
192
+ dirs = get_numpy_include_dirs()
193
+ for path in dirs:
194
+ fn = os.path.join(path, '_numpyconfig.h')
195
+ if os.path.exists(fn):
196
+ config_file = fn
197
+ break
198
+ else:
199
+ raise DistutilsError('_numpyconfig.h not found in numpy include '
200
+ 'dirs %r' % (dirs,))
201
+
202
+ fid = open(config_file)
203
+ mathlibs = []
204
+ s = '#define MATHLIB'
205
+ for line in fid:
206
+ if line.startswith(s):
207
+ value = line[len(s):].strip()
208
+ if value:
209
+ mathlibs.extend(value.split(','))
210
+ fid.close()
211
+ return mathlibs
212
+
213
+ def minrelpath(path):
214
+ """Resolve `..` and '.' from path.
215
+ """
216
+ if not is_string(path):
217
+ return path
218
+ if '.' not in path:
219
+ return path
220
+ l = path.split(os.sep)
221
+ while l:
222
+ try:
223
+ i = l.index('.', 1)
224
+ except ValueError:
225
+ break
226
+ del l[i]
227
+ j = 1
228
+ while l:
229
+ try:
230
+ i = l.index('..', j)
231
+ except ValueError:
232
+ break
233
+ if l[i-1]=='..':
234
+ j += 1
235
+ else:
236
+ del l[i], l[i-1]
237
+ j = 1
238
+ if not l:
239
+ return ''
240
+ return os.sep.join(l)
241
+
242
+ def _fix_paths(paths, local_path, include_non_existing):
243
+ assert is_sequence(paths), repr(type(paths))
244
+ new_paths = []
245
+ assert not is_string(paths), repr(paths)
246
+ for n in paths:
247
+ if is_string(n):
248
+ if '*' in n or '?' in n:
249
+ p = glob.glob(n)
250
+ p2 = glob.glob(njoin(local_path, n))
251
+ if p2:
252
+ new_paths.extend(p2)
253
+ elif p:
254
+ new_paths.extend(p)
255
+ else:
256
+ if include_non_existing:
257
+ new_paths.append(n)
258
+ print('could not resolve pattern in %r: %r' %
259
+ (local_path, n))
260
+ else:
261
+ n2 = njoin(local_path, n)
262
+ if os.path.exists(n2):
263
+ new_paths.append(n2)
264
+ else:
265
+ if os.path.exists(n):
266
+ new_paths.append(n)
267
+ elif include_non_existing:
268
+ new_paths.append(n)
269
+ if not os.path.exists(n):
270
+ print('non-existing path in %r: %r' %
271
+ (local_path, n))
272
+
273
+ elif is_sequence(n):
274
+ new_paths.extend(_fix_paths(n, local_path, include_non_existing))
275
+ else:
276
+ new_paths.append(n)
277
+ return [minrelpath(p) for p in new_paths]
278
+
279
+ def gpaths(paths, local_path='', include_non_existing=True):
280
+ """Apply glob to paths and prepend local_path if needed.
281
+ """
282
+ if is_string(paths):
283
+ paths = (paths,)
284
+ return _fix_paths(paths, local_path, include_non_existing)
285
+
286
+
287
+ def clean_up_temporary_directory():
288
+ tdata = tlocal()
289
+ _temporary_directory = getattr(tdata, 'tempdir', None)
290
+ if not _temporary_directory:
291
+ return
292
+ try:
293
+ shutil.rmtree(_temporary_directory)
294
+ except OSError:
295
+ pass
296
+ _temporary_directory = None
297
+
298
+ def make_temp_file(suffix='', prefix='', text=True):
299
+ tdata = tlocal()
300
+ if not hasattr(tdata, 'tempdir'):
301
+ tdata.tempdir = tempfile.mkdtemp()
302
+ atexit.register(clean_up_temporary_directory)
303
+ fid, name = tempfile.mkstemp(suffix=suffix,
304
+ prefix=prefix,
305
+ dir=tdata.tempdir,
306
+ text=text)
307
+ fo = os.fdopen(fid, 'w')
308
+ return fo, name
309
+
310
+ # Hooks for colored terminal output.
311
+ # See also http://www.livinglogic.de/Python/ansistyle
312
+ def terminal_has_colors():
313
+ if sys.platform=='cygwin' and 'USE_COLOR' not in os.environ:
314
+ # Avoid importing curses that causes illegal operation
315
+ # with a message:
316
+ # PYTHON2 caused an invalid page fault in
317
+ # module CYGNURSES7.DLL as 015f:18bbfc28
318
+ # Details: Python 2.3.3 [GCC 3.3.1 (cygming special)]
319
+ # ssh to Win32 machine from debian
320
+ # curses.version is 2.2
321
+ # CYGWIN_98-4.10, release 1.5.7(0.109/3/2))
322
+ return 0
323
+ if hasattr(sys.stdout, 'isatty') and sys.stdout.isatty():
324
+ try:
325
+ import curses
326
+ curses.setupterm()
327
+ if (curses.tigetnum("colors") >= 0
328
+ and curses.tigetnum("pairs") >= 0
329
+ and ((curses.tigetstr("setf") is not None
330
+ and curses.tigetstr("setb") is not None)
331
+ or (curses.tigetstr("setaf") is not None
332
+ and curses.tigetstr("setab") is not None)
333
+ or curses.tigetstr("scp") is not None)):
334
+ return 1
335
+ except Exception:
336
+ pass
337
+ return 0
338
+
339
+ if terminal_has_colors():
340
+ _colour_codes = dict(black=0, red=1, green=2, yellow=3,
341
+ blue=4, magenta=5, cyan=6, white=7, default=9)
342
+ def colour_text(s, fg=None, bg=None, bold=False):
343
+ seq = []
344
+ if bold:
345
+ seq.append('1')
346
+ if fg:
347
+ fgcode = 30 + _colour_codes.get(fg.lower(), 0)
348
+ seq.append(str(fgcode))
349
+ if bg:
350
+ bgcode = 40 + _colour_codes.get(fg.lower(), 7)
351
+ seq.append(str(bgcode))
352
+ if seq:
353
+ return '\x1b[%sm%s\x1b[0m' % (';'.join(seq), s)
354
+ else:
355
+ return s
356
+ else:
357
+ def colour_text(s, fg=None, bg=None):
358
+ return s
359
+
360
+ def default_text(s):
361
+ return colour_text(s, 'default')
362
+ def red_text(s):
363
+ return colour_text(s, 'red')
364
+ def green_text(s):
365
+ return colour_text(s, 'green')
366
+ def yellow_text(s):
367
+ return colour_text(s, 'yellow')
368
+ def cyan_text(s):
369
+ return colour_text(s, 'cyan')
370
+ def blue_text(s):
371
+ return colour_text(s, 'blue')
372
+
373
+ #########################
374
+
375
+ def cyg2win32(path):
376
+ if sys.platform=='cygwin' and path.startswith('/cygdrive'):
377
+ path = path[10] + ':' + os.path.normcase(path[11:])
378
+ return path
379
+
380
+ def mingw32():
381
+ """Return true when using mingw32 environment.
382
+ """
383
+ if sys.platform=='win32':
384
+ if os.environ.get('OSTYPE', '')=='msys':
385
+ return True
386
+ if os.environ.get('MSYSTEM', '')=='MINGW32':
387
+ return True
388
+ return False
389
+
390
+ def msvc_runtime_library():
391
+ "Return name of MSVC runtime library if Python was built with MSVC >= 7"
392
+ msc_pos = sys.version.find('MSC v.')
393
+ if msc_pos != -1:
394
+ msc_ver = sys.version[msc_pos+6:msc_pos+10]
395
+ lib = {'1300': 'msvcr70', # MSVC 7.0
396
+ '1310': 'msvcr71', # MSVC 7.1
397
+ '1400': 'msvcr80', # MSVC 8
398
+ '1500': 'msvcr90', # MSVC 9 (VS 2008)
399
+ '1600': 'msvcr100', # MSVC 10 (aka 2010)
400
+ }.get(msc_ver, None)
401
+ else:
402
+ lib = None
403
+ return lib
404
+
405
+
406
+ #########################
407
+
408
+ #XXX need support for .C that is also C++
409
+ cxx_ext_match = re.compile(r'.*[.](cpp|cxx|cc)\Z', re.I).match
410
+ fortran_ext_match = re.compile(r'.*[.](f90|f95|f77|for|ftn|f)\Z', re.I).match
411
+ f90_ext_match = re.compile(r'.*[.](f90|f95)\Z', re.I).match
412
+ f90_module_name_match = re.compile(r'\s*module\s*(?P<name>[\w_]+)', re.I).match
413
+ def _get_f90_modules(source):
414
+ """Return a list of Fortran f90 module names that
415
+ given source file defines.
416
+ """
417
+ if not f90_ext_match(source):
418
+ return []
419
+ modules = []
420
+ f = open(source, 'r')
421
+ for line in f:
422
+ m = f90_module_name_match(line)
423
+ if m:
424
+ name = m.group('name')
425
+ modules.append(name)
426
+ # break # XXX can we assume that there is one module per file?
427
+ f.close()
428
+ return modules
429
+
430
+ def is_string(s):
431
+ return isinstance(s, str)
432
+
433
+ def all_strings(lst):
434
+ """Return True if all items in lst are string objects. """
435
+ for item in lst:
436
+ if not is_string(item):
437
+ return False
438
+ return True
439
+
440
+ def is_sequence(seq):
441
+ if is_string(seq):
442
+ return False
443
+ try:
444
+ len(seq)
445
+ except:
446
+ return False
447
+ return True
448
+
449
+ def is_glob_pattern(s):
450
+ return is_string(s) and ('*' in s or '?' is s)
451
+
452
+ def as_list(seq):
453
+ if is_sequence(seq):
454
+ return list(seq)
455
+ else:
456
+ return [seq]
457
+
458
+ def get_language(sources):
459
+ # not used in numpy/scipy packages, use build_ext.detect_language instead
460
+ """Determine language value (c,f77,f90) from sources """
461
+ language = None
462
+ for source in sources:
463
+ if isinstance(source, str):
464
+ if f90_ext_match(source):
465
+ language = 'f90'
466
+ break
467
+ elif fortran_ext_match(source):
468
+ language = 'f77'
469
+ return language
470
+
471
+ def has_f_sources(sources):
472
+ """Return True if sources contains Fortran files """
473
+ for source in sources:
474
+ if fortran_ext_match(source):
475
+ return True
476
+ return False
477
+
478
+ def has_cxx_sources(sources):
479
+ """Return True if sources contains C++ files """
480
+ for source in sources:
481
+ if cxx_ext_match(source):
482
+ return True
483
+ return False
484
+
485
+ def filter_sources(sources):
486
+ """Return four lists of filenames containing
487
+ C, C++, Fortran, and Fortran 90 module sources,
488
+ respectively.
489
+ """
490
+ c_sources = []
491
+ cxx_sources = []
492
+ f_sources = []
493
+ fmodule_sources = []
494
+ for source in sources:
495
+ if fortran_ext_match(source):
496
+ modules = _get_f90_modules(source)
497
+ if modules:
498
+ fmodule_sources.append(source)
499
+ else:
500
+ f_sources.append(source)
501
+ elif cxx_ext_match(source):
502
+ cxx_sources.append(source)
503
+ else:
504
+ c_sources.append(source)
505
+ return c_sources, cxx_sources, f_sources, fmodule_sources
506
+
507
+
508
+ def _get_headers(directory_list):
509
+ # get *.h files from list of directories
510
+ headers = []
511
+ for d in directory_list:
512
+ head = glob.glob(os.path.join(d, "*.h")) #XXX: *.hpp files??
513
+ headers.extend(head)
514
+ return headers
515
+
516
+ def _get_directories(list_of_sources):
517
+ # get unique directories from list of sources.
518
+ direcs = []
519
+ for f in list_of_sources:
520
+ d = os.path.split(f)
521
+ if d[0] != '' and not d[0] in direcs:
522
+ direcs.append(d[0])
523
+ return direcs
524
+
525
+ def get_dependencies(sources):
526
+ #XXX scan sources for include statements
527
+ return _get_headers(_get_directories(sources))
528
+
529
+ def is_local_src_dir(directory):
530
+ """Return true if directory is local directory.
531
+ """
532
+ if not is_string(directory):
533
+ return False
534
+ abs_dir = os.path.abspath(directory)
535
+ c = os.path.commonprefix([os.getcwd(), abs_dir])
536
+ new_dir = abs_dir[len(c):].split(os.sep)
537
+ if new_dir and not new_dir[0]:
538
+ new_dir = new_dir[1:]
539
+ if new_dir and new_dir[0]=='build':
540
+ return False
541
+ new_dir = os.sep.join(new_dir)
542
+ return os.path.isdir(new_dir)
543
+
544
+ def general_source_files(top_path):
545
+ pruned_directories = {'CVS':1, '.svn':1, 'build':1}
546
+ prune_file_pat = re.compile(r'(?:[~#]|\.py[co]|\.o)$')
547
+ for dirpath, dirnames, filenames in os.walk(top_path, topdown=True):
548
+ pruned = [ d for d in dirnames if d not in pruned_directories ]
549
+ dirnames[:] = pruned
550
+ for f in filenames:
551
+ if not prune_file_pat.search(f):
552
+ yield os.path.join(dirpath, f)
553
+
554
+ def general_source_directories_files(top_path):
555
+ """Return a directory name relative to top_path and
556
+ files contained.
557
+ """
558
+ pruned_directories = ['CVS', '.svn', 'build']
559
+ prune_file_pat = re.compile(r'(?:[~#]|\.py[co]|\.o)$')
560
+ for dirpath, dirnames, filenames in os.walk(top_path, topdown=True):
561
+ pruned = [ d for d in dirnames if d not in pruned_directories ]
562
+ dirnames[:] = pruned
563
+ for d in dirnames:
564
+ dpath = os.path.join(dirpath, d)
565
+ rpath = rel_path(dpath, top_path)
566
+ files = []
567
+ for f in os.listdir(dpath):
568
+ fn = os.path.join(dpath, f)
569
+ if os.path.isfile(fn) and not prune_file_pat.search(fn):
570
+ files.append(fn)
571
+ yield rpath, files
572
+ dpath = top_path
573
+ rpath = rel_path(dpath, top_path)
574
+ filenames = [os.path.join(dpath, f) for f in os.listdir(dpath) \
575
+ if not prune_file_pat.search(f)]
576
+ files = [f for f in filenames if os.path.isfile(f)]
577
+ yield rpath, files
578
+
579
+
580
+ def get_ext_source_files(ext):
581
+ # Get sources and any include files in the same directory.
582
+ filenames = []
583
+ sources = [_m for _m in ext.sources if is_string(_m)]
584
+ filenames.extend(sources)
585
+ filenames.extend(get_dependencies(sources))
586
+ for d in ext.depends:
587
+ if is_local_src_dir(d):
588
+ filenames.extend(list(general_source_files(d)))
589
+ elif os.path.isfile(d):
590
+ filenames.append(d)
591
+ return filenames
592
+
593
+ def get_script_files(scripts):
594
+ scripts = [_m for _m in scripts if is_string(_m)]
595
+ return scripts
596
+
597
+ def get_lib_source_files(lib):
598
+ filenames = []
599
+ sources = lib[1].get('sources', [])
600
+ sources = [_m for _m in sources if is_string(_m)]
601
+ filenames.extend(sources)
602
+ filenames.extend(get_dependencies(sources))
603
+ depends = lib[1].get('depends', [])
604
+ for d in depends:
605
+ if is_local_src_dir(d):
606
+ filenames.extend(list(general_source_files(d)))
607
+ elif os.path.isfile(d):
608
+ filenames.append(d)
609
+ return filenames
610
+
611
+ def get_shared_lib_extension(is_python_ext=False):
612
+ """Return the correct file extension for shared libraries.
613
+
614
+ Parameters
615
+ ----------
616
+ is_python_ext : bool, optional
617
+ Whether the shared library is a Python extension. Default is False.
618
+
619
+ Returns
620
+ -------
621
+ so_ext : str
622
+ The shared library extension.
623
+
624
+ Notes
625
+ -----
626
+ For Python shared libs, `so_ext` will typically be '.so' on Linux and OS X,
627
+ and '.pyd' on Windows. For Python >= 3.2 `so_ext` has a tag prepended on
628
+ POSIX systems according to PEP 3149. For Python 3.2 this is implemented on
629
+ Linux, but not on OS X.
630
+
631
+ """
632
+ confvars = distutils.sysconfig.get_config_vars()
633
+ # SO is deprecated in 3.3.1, use EXT_SUFFIX instead
634
+ so_ext = confvars.get('EXT_SUFFIX', None)
635
+ if so_ext is None:
636
+ so_ext = confvars.get('SO', '')
637
+
638
+ if not is_python_ext:
639
+ # hardcode known values, config vars (including SHLIB_SUFFIX) are
640
+ # unreliable (see #3182)
641
+ # darwin, windows and debug linux are wrong in 3.3.1 and older
642
+ if (sys.platform.startswith('linux') or
643
+ sys.platform.startswith('gnukfreebsd')):
644
+ so_ext = '.so'
645
+ elif sys.platform.startswith('darwin'):
646
+ so_ext = '.dylib'
647
+ elif sys.platform.startswith('win'):
648
+ so_ext = '.dll'
649
+ else:
650
+ # fall back to config vars for unknown platforms
651
+ # fix long extension for Python >=3.2, see PEP 3149.
652
+ if 'SOABI' in confvars:
653
+ # Does nothing unless SOABI config var exists
654
+ so_ext = so_ext.replace('.' + confvars.get('SOABI'), '', 1)
655
+
656
+ return so_ext
657
+
658
+ def get_data_files(data):
659
+ if is_string(data):
660
+ return [data]
661
+ sources = data[1]
662
+ filenames = []
663
+ for s in sources:
664
+ if hasattr(s, '__call__'):
665
+ continue
666
+ if is_local_src_dir(s):
667
+ filenames.extend(list(general_source_files(s)))
668
+ elif is_string(s):
669
+ if os.path.isfile(s):
670
+ filenames.append(s)
671
+ else:
672
+ print('Not existing data file:', s)
673
+ else:
674
+ raise TypeError(repr(s))
675
+ return filenames
676
+
677
+ def dot_join(*args):
678
+ return '.'.join([a for a in args if a])
679
+
680
+ def get_frame(level=0):
681
+ """Return frame object from call stack with given level.
682
+ """
683
+ try:
684
+ return sys._getframe(level+1)
685
+ except AttributeError:
686
+ frame = sys.exc_info()[2].tb_frame
687
+ for _ in range(level+1):
688
+ frame = frame.f_back
689
+ return frame
690
+
691
+
692
+ ######################
693
+
694
+ class Configuration(object):
695
+
696
+ _list_keys = ['packages', 'ext_modules', 'data_files', 'include_dirs',
697
+ 'libraries', 'headers', 'scripts', 'py_modules',
698
+ 'installed_libraries', 'define_macros']
699
+ _dict_keys = ['package_dir', 'installed_pkg_config']
700
+ _extra_keys = ['name', 'version']
701
+
702
+ numpy_include_dirs = []
703
+
704
+ def __init__(self,
705
+ package_name=None,
706
+ parent_name=None,
707
+ top_path=None,
708
+ package_path=None,
709
+ caller_level=1,
710
+ setup_name='setup.py',
711
+ **attrs):
712
+ """Construct configuration instance of a package.
713
+
714
+ package_name -- name of the package
715
+ Ex.: 'distutils'
716
+ parent_name -- name of the parent package
717
+ Ex.: 'numpy'
718
+ top_path -- directory of the toplevel package
719
+ Ex.: the directory where the numpy package source sits
720
+ package_path -- directory of package. Will be computed by magic from the
721
+ directory of the caller module if not specified
722
+ Ex.: the directory where numpy.distutils is
723
+ caller_level -- frame level to caller namespace, internal parameter.
724
+ """
725
+ self.name = dot_join(parent_name, package_name)
726
+ self.version = None
727
+
728
+ caller_frame = get_frame(caller_level)
729
+ self.local_path = get_path_from_frame(caller_frame, top_path)
730
+ # local_path -- directory of a file (usually setup.py) that
731
+ # defines a configuration() function.
732
+ # local_path -- directory of a file (usually setup.py) that
733
+ # defines a configuration() function.
734
+ if top_path is None:
735
+ top_path = self.local_path
736
+ self.local_path = ''
737
+ if package_path is None:
738
+ package_path = self.local_path
739
+ elif os.path.isdir(njoin(self.local_path, package_path)):
740
+ package_path = njoin(self.local_path, package_path)
741
+ if not os.path.isdir(package_path or '.'):
742
+ raise ValueError("%r is not a directory" % (package_path,))
743
+ self.top_path = top_path
744
+ self.package_path = package_path
745
+ # this is the relative path in the installed package
746
+ self.path_in_package = os.path.join(*self.name.split('.'))
747
+
748
+ self.list_keys = self._list_keys[:]
749
+ self.dict_keys = self._dict_keys[:]
750
+
751
+ for n in self.list_keys:
752
+ v = copy.copy(attrs.get(n, []))
753
+ setattr(self, n, as_list(v))
754
+
755
+ for n in self.dict_keys:
756
+ v = copy.copy(attrs.get(n, {}))
757
+ setattr(self, n, v)
758
+
759
+ known_keys = self.list_keys + self.dict_keys
760
+ self.extra_keys = self._extra_keys[:]
761
+ for n in attrs.keys():
762
+ if n in known_keys:
763
+ continue
764
+ a = attrs[n]
765
+ setattr(self, n, a)
766
+ if isinstance(a, list):
767
+ self.list_keys.append(n)
768
+ elif isinstance(a, dict):
769
+ self.dict_keys.append(n)
770
+ else:
771
+ self.extra_keys.append(n)
772
+
773
+ if os.path.exists(njoin(package_path, '__init__.py')):
774
+ self.packages.append(self.name)
775
+ self.package_dir[self.name] = package_path
776
+
777
+ self.options = dict(
778
+ ignore_setup_xxx_py = False,
779
+ assume_default_configuration = False,
780
+ delegate_options_to_subpackages = False,
781
+ quiet = False,
782
+ )
783
+
784
+ caller_instance = None
785
+ for i in range(1, 3):
786
+ try:
787
+ f = get_frame(i)
788
+ except ValueError:
789
+ break
790
+ try:
791
+ caller_instance = eval('self', f.f_globals, f.f_locals)
792
+ break
793
+ except NameError:
794
+ pass
795
+ if isinstance(caller_instance, self.__class__):
796
+ if caller_instance.options['delegate_options_to_subpackages']:
797
+ self.set_options(**caller_instance.options)
798
+
799
+ self.setup_name = setup_name
800
+
801
+ def todict(self):
802
+ """
803
+ Return a dictionary compatible with the keyword arguments of distutils
804
+ setup function.
805
+
806
+ Examples
807
+ --------
808
+ >>> setup(**config.todict()) #doctest: +SKIP
809
+ """
810
+
811
+ self._optimize_data_files()
812
+ d = {}
813
+ known_keys = self.list_keys + self.dict_keys + self.extra_keys
814
+ for n in known_keys:
815
+ a = getattr(self, n)
816
+ if a:
817
+ d[n] = a
818
+ return d
819
+
820
+ def info(self, message):
821
+ if not self.options['quiet']:
822
+ print(message)
823
+
824
+ def warn(self, message):
825
+ sys.stderr.write('Warning: %s' % (message,))
826
+
827
+ def set_options(self, **options):
828
+ """
829
+ Configure Configuration instance.
830
+
831
+ The following options are available:
832
+ - ignore_setup_xxx_py
833
+ - assume_default_configuration
834
+ - delegate_options_to_subpackages
835
+ - quiet
836
+
837
+ """
838
+ for key, value in options.items():
839
+ if key in self.options:
840
+ self.options[key] = value
841
+ else:
842
+ raise ValueError('Unknown option: '+key)
843
+
844
+ def get_distribution(self):
845
+ """Return the distutils distribution object for self."""
846
+ from numpy.distutils.core import get_distribution
847
+ return get_distribution()
848
+
849
+ def _wildcard_get_subpackage(self, subpackage_name,
850
+ parent_name,
851
+ caller_level = 1):
852
+ l = subpackage_name.split('.')
853
+ subpackage_path = njoin([self.local_path]+l)
854
+ dirs = [_m for _m in glob.glob(subpackage_path) if os.path.isdir(_m)]
855
+ config_list = []
856
+ for d in dirs:
857
+ if not os.path.isfile(njoin(d, '__init__.py')):
858
+ continue
859
+ if 'build' in d.split(os.sep):
860
+ continue
861
+ n = '.'.join(d.split(os.sep)[-len(l):])
862
+ c = self.get_subpackage(n,
863
+ parent_name = parent_name,
864
+ caller_level = caller_level+1)
865
+ config_list.extend(c)
866
+ return config_list
867
+
868
+ def _get_configuration_from_setup_py(self, setup_py,
869
+ subpackage_name,
870
+ subpackage_path,
871
+ parent_name,
872
+ caller_level = 1):
873
+ # In case setup_py imports local modules:
874
+ sys.path.insert(0, os.path.dirname(setup_py))
875
+ try:
876
+ fo_setup_py = open(setup_py, 'U')
877
+ setup_name = os.path.splitext(os.path.basename(setup_py))[0]
878
+ n = dot_join(self.name, subpackage_name, setup_name)
879
+ setup_module = imp.load_module('_'.join(n.split('.')),
880
+ fo_setup_py,
881
+ setup_py,
882
+ ('.py', 'U', 1))
883
+ fo_setup_py.close()
884
+ if not hasattr(setup_module, 'configuration'):
885
+ if not self.options['assume_default_configuration']:
886
+ self.warn('Assuming default configuration '\
887
+ '(%s does not define configuration())'\
888
+ % (setup_module))
889
+ config = Configuration(subpackage_name, parent_name,
890
+ self.top_path, subpackage_path,
891
+ caller_level = caller_level + 1)
892
+ else:
893
+ pn = dot_join(*([parent_name] + subpackage_name.split('.')[:-1]))
894
+ args = (pn,)
895
+ def fix_args_py2(args):
896
+ if setup_module.configuration.__code__.co_argcount > 1:
897
+ args = args + (self.top_path,)
898
+ return args
899
+ def fix_args_py3(args):
900
+ if setup_module.configuration.__code__.co_argcount > 1:
901
+ args = args + (self.top_path,)
902
+ return args
903
+ if sys.version_info[0] < 3:
904
+ args = fix_args_py2(args)
905
+ else:
906
+ args = fix_args_py3(args)
907
+ config = setup_module.configuration(*args)
908
+ if config.name!=dot_join(parent_name, subpackage_name):
909
+ self.warn('Subpackage %r configuration returned as %r' % \
910
+ (dot_join(parent_name, subpackage_name), config.name))
911
+ finally:
912
+ del sys.path[0]
913
+ return config
914
+
915
+ def get_subpackage(self,subpackage_name,
916
+ subpackage_path=None,
917
+ parent_name=None,
918
+ caller_level = 1):
919
+ """Return list of subpackage configurations.
920
+
921
+ Parameters
922
+ ----------
923
+ subpackage_name : str or None
924
+ Name of the subpackage to get the configuration. '*' in
925
+ subpackage_name is handled as a wildcard.
926
+ subpackage_path : str
927
+ If None, then the path is assumed to be the local path plus the
928
+ subpackage_name. If a setup.py file is not found in the
929
+ subpackage_path, then a default configuration is used.
930
+ parent_name : str
931
+ Parent name.
932
+ """
933
+ if subpackage_name is None:
934
+ if subpackage_path is None:
935
+ raise ValueError(
936
+ "either subpackage_name or subpackage_path must be specified")
937
+ subpackage_name = os.path.basename(subpackage_path)
938
+
939
+ # handle wildcards
940
+ l = subpackage_name.split('.')
941
+ if subpackage_path is None and '*' in subpackage_name:
942
+ return self._wildcard_get_subpackage(subpackage_name,
943
+ parent_name,
944
+ caller_level = caller_level+1)
945
+ assert '*' not in subpackage_name, repr((subpackage_name, subpackage_path, parent_name))
946
+ if subpackage_path is None:
947
+ subpackage_path = njoin([self.local_path] + l)
948
+ else:
949
+ subpackage_path = njoin([subpackage_path] + l[:-1])
950
+ subpackage_path = self.paths([subpackage_path])[0]
951
+ setup_py = njoin(subpackage_path, self.setup_name)
952
+ if not self.options['ignore_setup_xxx_py']:
953
+ if not os.path.isfile(setup_py):
954
+ setup_py = njoin(subpackage_path,
955
+ 'setup_%s.py' % (subpackage_name))
956
+ if not os.path.isfile(setup_py):
957
+ if not self.options['assume_default_configuration']:
958
+ self.warn('Assuming default configuration '\
959
+ '(%s/{setup_%s,setup}.py was not found)' \
960
+ % (os.path.dirname(setup_py), subpackage_name))
961
+ config = Configuration(subpackage_name, parent_name,
962
+ self.top_path, subpackage_path,
963
+ caller_level = caller_level+1)
964
+ else:
965
+ config = self._get_configuration_from_setup_py(
966
+ setup_py,
967
+ subpackage_name,
968
+ subpackage_path,
969
+ parent_name,
970
+ caller_level = caller_level + 1)
971
+ if config:
972
+ return [config]
973
+ else:
974
+ return []
975
+
976
+ def add_subpackage(self,subpackage_name,
977
+ subpackage_path=None,
978
+ standalone = False):
979
+ """Add a sub-package to the current Configuration instance.
980
+
981
+ This is useful in a setup.py script for adding sub-packages to a
982
+ package.
983
+
984
+ Parameters
985
+ ----------
986
+ subpackage_name : str
987
+ name of the subpackage
988
+ subpackage_path : str
989
+ if given, the subpackage path such as the subpackage is in
990
+ subpackage_path / subpackage_name. If None,the subpackage is
991
+ assumed to be located in the local path / subpackage_name.
992
+ standalone : bool
993
+ """
994
+
995
+ if standalone:
996
+ parent_name = None
997
+ else:
998
+ parent_name = self.name
999
+ config_list = self.get_subpackage(subpackage_name, subpackage_path,
1000
+ parent_name = parent_name,
1001
+ caller_level = 2)
1002
+ if not config_list:
1003
+ self.warn('No configuration returned, assuming unavailable.')
1004
+ for config in config_list:
1005
+ d = config
1006
+ if isinstance(config, Configuration):
1007
+ d = config.todict()
1008
+ assert isinstance(d, dict), repr(type(d))
1009
+
1010
+ self.info('Appending %s configuration to %s' \
1011
+ % (d.get('name'), self.name))
1012
+ self.dict_append(**d)
1013
+
1014
+ dist = self.get_distribution()
1015
+ if dist is not None:
1016
+ self.warn('distutils distribution has been initialized,'\
1017
+ ' it may be too late to add a subpackage '+ subpackage_name)
1018
+
1019
+ def add_data_dir(self, data_path):
1020
+ """Recursively add files under data_path to data_files list.
1021
+
1022
+ Recursively add files under data_path to the list of data_files to be
1023
+ installed (and distributed). The data_path can be either a relative
1024
+ path-name, or an absolute path-name, or a 2-tuple where the first
1025
+ argument shows where in the install directory the data directory
1026
+ should be installed to.
1027
+
1028
+ Parameters
1029
+ ----------
1030
+ data_path : seq or str
1031
+ Argument can be either
1032
+
1033
+ * 2-sequence (<datadir suffix>, <path to data directory>)
1034
+ * path to data directory where python datadir suffix defaults
1035
+ to package dir.
1036
+
1037
+ Notes
1038
+ -----
1039
+ Rules for installation paths:
1040
+ foo/bar -> (foo/bar, foo/bar) -> parent/foo/bar
1041
+ (gun, foo/bar) -> parent/gun
1042
+ foo/* -> (foo/a, foo/a), (foo/b, foo/b) -> parent/foo/a, parent/foo/b
1043
+ (gun, foo/*) -> (gun, foo/a), (gun, foo/b) -> gun
1044
+ (gun/*, foo/*) -> parent/gun/a, parent/gun/b
1045
+ /foo/bar -> (bar, /foo/bar) -> parent/bar
1046
+ (gun, /foo/bar) -> parent/gun
1047
+ (fun/*/gun/*, sun/foo/bar) -> parent/fun/foo/gun/bar
1048
+
1049
+ Examples
1050
+ --------
1051
+ For example suppose the source directory contains fun/foo.dat and
1052
+ fun/bar/car.dat::
1053
+
1054
+ >>> self.add_data_dir('fun') #doctest: +SKIP
1055
+ >>> self.add_data_dir(('sun', 'fun')) #doctest: +SKIP
1056
+ >>> self.add_data_dir(('gun', '/full/path/to/fun'))#doctest: +SKIP
1057
+
1058
+ Will install data-files to the locations::
1059
+
1060
+ <package install directory>/
1061
+ fun/
1062
+ foo.dat
1063
+ bar/
1064
+ car.dat
1065
+ sun/
1066
+ foo.dat
1067
+ bar/
1068
+ car.dat
1069
+ gun/
1070
+ foo.dat
1071
+ car.dat
1072
+ """
1073
+ if is_sequence(data_path):
1074
+ d, data_path = data_path
1075
+ else:
1076
+ d = None
1077
+ if is_sequence(data_path):
1078
+ [self.add_data_dir((d, p)) for p in data_path]
1079
+ return
1080
+ if not is_string(data_path):
1081
+ raise TypeError("not a string: %r" % (data_path,))
1082
+ if d is None:
1083
+ if os.path.isabs(data_path):
1084
+ return self.add_data_dir((os.path.basename(data_path), data_path))
1085
+ return self.add_data_dir((data_path, data_path))
1086
+ paths = self.paths(data_path, include_non_existing=False)
1087
+ if is_glob_pattern(data_path):
1088
+ if is_glob_pattern(d):
1089
+ pattern_list = allpath(d).split(os.sep)
1090
+ pattern_list.reverse()
1091
+ # /a/*//b/ -> /a/*/b
1092
+ rl = list(range(len(pattern_list)-1)); rl.reverse()
1093
+ for i in rl:
1094
+ if not pattern_list[i]:
1095
+ del pattern_list[i]
1096
+ #
1097
+ for path in paths:
1098
+ if not os.path.isdir(path):
1099
+ print('Not a directory, skipping', path)
1100
+ continue
1101
+ rpath = rel_path(path, self.local_path)
1102
+ path_list = rpath.split(os.sep)
1103
+ path_list.reverse()
1104
+ target_list = []
1105
+ i = 0
1106
+ for s in pattern_list:
1107
+ if is_glob_pattern(s):
1108
+ if i>=len(path_list):
1109
+ raise ValueError('cannot fill pattern %r with %r' \
1110
+ % (d, path))
1111
+ target_list.append(path_list[i])
1112
+ else:
1113
+ assert s==path_list[i], repr((s, path_list[i], data_path, d, path, rpath))
1114
+ target_list.append(s)
1115
+ i += 1
1116
+ if path_list[i:]:
1117
+ self.warn('mismatch of pattern_list=%s and path_list=%s'\
1118
+ % (pattern_list, path_list))
1119
+ target_list.reverse()
1120
+ self.add_data_dir((os.sep.join(target_list), path))
1121
+ else:
1122
+ for path in paths:
1123
+ self.add_data_dir((d, path))
1124
+ return
1125
+ assert not is_glob_pattern(d), repr(d)
1126
+
1127
+ dist = self.get_distribution()
1128
+ if dist is not None and dist.data_files is not None:
1129
+ data_files = dist.data_files
1130
+ else:
1131
+ data_files = self.data_files
1132
+
1133
+ for path in paths:
1134
+ for d1, f in list(general_source_directories_files(path)):
1135
+ target_path = os.path.join(self.path_in_package, d, d1)
1136
+ data_files.append((target_path, f))
1137
+
1138
+ def _optimize_data_files(self):
1139
+ data_dict = {}
1140
+ for p, files in self.data_files:
1141
+ if p not in data_dict:
1142
+ data_dict[p] = set()
1143
+ for f in files:
1144
+ data_dict[p].add(f)
1145
+ self.data_files[:] = [(p, list(files)) for p, files in data_dict.items()]
1146
+
1147
+ def add_data_files(self,*files):
1148
+ """Add data files to configuration data_files.
1149
+
1150
+ Parameters
1151
+ ----------
1152
+ files : sequence
1153
+ Argument(s) can be either
1154
+
1155
+ * 2-sequence (<datadir prefix>,<path to data file(s)>)
1156
+ * paths to data files where python datadir prefix defaults
1157
+ to package dir.
1158
+
1159
+ Notes
1160
+ -----
1161
+ The form of each element of the files sequence is very flexible
1162
+ allowing many combinations of where to get the files from the package
1163
+ and where they should ultimately be installed on the system. The most
1164
+ basic usage is for an element of the files argument sequence to be a
1165
+ simple filename. This will cause that file from the local path to be
1166
+ installed to the installation path of the self.name package (package
1167
+ path). The file argument can also be a relative path in which case the
1168
+ entire relative path will be installed into the package directory.
1169
+ Finally, the file can be an absolute path name in which case the file
1170
+ will be found at the absolute path name but installed to the package
1171
+ path.
1172
+
1173
+ This basic behavior can be augmented by passing a 2-tuple in as the
1174
+ file argument. The first element of the tuple should specify the
1175
+ relative path (under the package install directory) where the
1176
+ remaining sequence of files should be installed to (it has nothing to
1177
+ do with the file-names in the source distribution). The second element
1178
+ of the tuple is the sequence of files that should be installed. The
1179
+ files in this sequence can be filenames, relative paths, or absolute
1180
+ paths. For absolute paths the file will be installed in the top-level
1181
+ package installation directory (regardless of the first argument).
1182
+ Filenames and relative path names will be installed in the package
1183
+ install directory under the path name given as the first element of
1184
+ the tuple.
1185
+
1186
+ Rules for installation paths:
1187
+
1188
+ #. file.txt -> (., file.txt)-> parent/file.txt
1189
+ #. foo/file.txt -> (foo, foo/file.txt) -> parent/foo/file.txt
1190
+ #. /foo/bar/file.txt -> (., /foo/bar/file.txt) -> parent/file.txt
1191
+ #. *.txt -> parent/a.txt, parent/b.txt
1192
+ #. foo/*.txt -> parent/foo/a.txt, parent/foo/b.txt
1193
+ #. */*.txt -> (*, */*.txt) -> parent/c/a.txt, parent/d/b.txt
1194
+ #. (sun, file.txt) -> parent/sun/file.txt
1195
+ #. (sun, bar/file.txt) -> parent/sun/file.txt
1196
+ #. (sun, /foo/bar/file.txt) -> parent/sun/file.txt
1197
+ #. (sun, *.txt) -> parent/sun/a.txt, parent/sun/b.txt
1198
+ #. (sun, bar/*.txt) -> parent/sun/a.txt, parent/sun/b.txt
1199
+ #. (sun/*, */*.txt) -> parent/sun/c/a.txt, parent/d/b.txt
1200
+
1201
+ An additional feature is that the path to a data-file can actually be
1202
+ a function that takes no arguments and returns the actual path(s) to
1203
+ the data-files. This is useful when the data files are generated while
1204
+ building the package.
1205
+
1206
+ Examples
1207
+ --------
1208
+ Add files to the list of data_files to be included with the package.
1209
+
1210
+ >>> self.add_data_files('foo.dat',
1211
+ ... ('fun', ['gun.dat', 'nun/pun.dat', '/tmp/sun.dat']),
1212
+ ... 'bar/cat.dat',
1213
+ ... '/full/path/to/can.dat') #doctest: +SKIP
1214
+
1215
+ will install these data files to::
1216
+
1217
+ <package install directory>/
1218
+ foo.dat
1219
+ fun/
1220
+ gun.dat
1221
+ nun/
1222
+ pun.dat
1223
+ sun.dat
1224
+ bar/
1225
+ car.dat
1226
+ can.dat
1227
+
1228
+ where <package install directory> is the package (or sub-package)
1229
+ directory such as '/usr/lib/python2.4/site-packages/mypackage' ('C:
1230
+ \\Python2.4 \\Lib \\site-packages \\mypackage') or
1231
+ '/usr/lib/python2.4/site- packages/mypackage/mysubpackage' ('C:
1232
+ \\Python2.4 \\Lib \\site-packages \\mypackage \\mysubpackage').
1233
+ """
1234
+
1235
+ if len(files)>1:
1236
+ for f in files:
1237
+ self.add_data_files(f)
1238
+ return
1239
+ assert len(files)==1
1240
+ if is_sequence(files[0]):
1241
+ d, files = files[0]
1242
+ else:
1243
+ d = None
1244
+ if is_string(files):
1245
+ filepat = files
1246
+ elif is_sequence(files):
1247
+ if len(files)==1:
1248
+ filepat = files[0]
1249
+ else:
1250
+ for f in files:
1251
+ self.add_data_files((d, f))
1252
+ return
1253
+ else:
1254
+ raise TypeError(repr(type(files)))
1255
+
1256
+ if d is None:
1257
+ if hasattr(filepat, '__call__'):
1258
+ d = ''
1259
+ elif os.path.isabs(filepat):
1260
+ d = ''
1261
+ else:
1262
+ d = os.path.dirname(filepat)
1263
+ self.add_data_files((d, files))
1264
+ return
1265
+
1266
+ paths = self.paths(filepat, include_non_existing=False)
1267
+ if is_glob_pattern(filepat):
1268
+ if is_glob_pattern(d):
1269
+ pattern_list = d.split(os.sep)
1270
+ pattern_list.reverse()
1271
+ for path in paths:
1272
+ path_list = path.split(os.sep)
1273
+ path_list.reverse()
1274
+ path_list.pop() # filename
1275
+ target_list = []
1276
+ i = 0
1277
+ for s in pattern_list:
1278
+ if is_glob_pattern(s):
1279
+ target_list.append(path_list[i])
1280
+ i += 1
1281
+ else:
1282
+ target_list.append(s)
1283
+ target_list.reverse()
1284
+ self.add_data_files((os.sep.join(target_list), path))
1285
+ else:
1286
+ self.add_data_files((d, paths))
1287
+ return
1288
+ assert not is_glob_pattern(d), repr((d, filepat))
1289
+
1290
+ dist = self.get_distribution()
1291
+ if dist is not None and dist.data_files is not None:
1292
+ data_files = dist.data_files
1293
+ else:
1294
+ data_files = self.data_files
1295
+
1296
+ data_files.append((os.path.join(self.path_in_package, d), paths))
1297
+
1298
+ ### XXX Implement add_py_modules
1299
+
1300
+ def add_define_macros(self, macros):
1301
+ """Add define macros to configuration
1302
+
1303
+ Add the given sequence of macro name and value duples to the beginning
1304
+ of the define_macros list This list will be visible to all extension
1305
+ modules of the current package.
1306
+ """
1307
+ dist = self.get_distribution()
1308
+ if dist is not None:
1309
+ if not hasattr(dist, 'define_macros'):
1310
+ dist.define_macros = []
1311
+ dist.define_macros.extend(macros)
1312
+ else:
1313
+ self.define_macros.extend(macros)
1314
+
1315
+
1316
+ def add_include_dirs(self,*paths):
1317
+ """Add paths to configuration include directories.
1318
+
1319
+ Add the given sequence of paths to the beginning of the include_dirs
1320
+ list. This list will be visible to all extension modules of the
1321
+ current package.
1322
+ """
1323
+ include_dirs = self.paths(paths)
1324
+ dist = self.get_distribution()
1325
+ if dist is not None:
1326
+ if dist.include_dirs is None:
1327
+ dist.include_dirs = []
1328
+ dist.include_dirs.extend(include_dirs)
1329
+ else:
1330
+ self.include_dirs.extend(include_dirs)
1331
+
1332
+ def add_headers(self,*files):
1333
+ """Add installable headers to configuration.
1334
+
1335
+ Add the given sequence of files to the beginning of the headers list.
1336
+ By default, headers will be installed under <python-
1337
+ include>/<self.name.replace('.','/')>/ directory. If an item of files
1338
+ is a tuple, then its first argument specifies the actual installation
1339
+ location relative to the <python-include> path.
1340
+
1341
+ Parameters
1342
+ ----------
1343
+ files : str or seq
1344
+ Argument(s) can be either:
1345
+
1346
+ * 2-sequence (<includedir suffix>,<path to header file(s)>)
1347
+ * path(s) to header file(s) where python includedir suffix will
1348
+ default to package name.
1349
+ """
1350
+ headers = []
1351
+ for path in files:
1352
+ if is_string(path):
1353
+ [headers.append((self.name, p)) for p in self.paths(path)]
1354
+ else:
1355
+ if not isinstance(path, (tuple, list)) or len(path) != 2:
1356
+ raise TypeError(repr(path))
1357
+ [headers.append((path[0], p)) for p in self.paths(path[1])]
1358
+ dist = self.get_distribution()
1359
+ if dist is not None:
1360
+ if dist.headers is None:
1361
+ dist.headers = []
1362
+ dist.headers.extend(headers)
1363
+ else:
1364
+ self.headers.extend(headers)
1365
+
1366
+ def paths(self,*paths,**kws):
1367
+ """Apply glob to paths and prepend local_path if needed.
1368
+
1369
+ Applies glob.glob(...) to each path in the sequence (if needed) and
1370
+ pre-pends the local_path if needed. Because this is called on all
1371
+ source lists, this allows wildcard characters to be specified in lists
1372
+ of sources for extension modules and libraries and scripts and allows
1373
+ path-names be relative to the source directory.
1374
+
1375
+ """
1376
+ include_non_existing = kws.get('include_non_existing', True)
1377
+ return gpaths(paths,
1378
+ local_path = self.local_path,
1379
+ include_non_existing=include_non_existing)
1380
+
1381
+ def _fix_paths_dict(self, kw):
1382
+ for k in kw.keys():
1383
+ v = kw[k]
1384
+ if k in ['sources', 'depends', 'include_dirs', 'library_dirs',
1385
+ 'module_dirs', 'extra_objects']:
1386
+ new_v = self.paths(v)
1387
+ kw[k] = new_v
1388
+
1389
+ def add_extension(self,name,sources,**kw):
1390
+ """Add extension to configuration.
1391
+
1392
+ Create and add an Extension instance to the ext_modules list. This
1393
+ method also takes the following optional keyword arguments that are
1394
+ passed on to the Extension constructor.
1395
+
1396
+ Parameters
1397
+ ----------
1398
+ name : str
1399
+ name of the extension
1400
+ sources : seq
1401
+ list of the sources. The list of sources may contain functions
1402
+ (called source generators) which must take an extension instance
1403
+ and a build directory as inputs and return a source file or list of
1404
+ source files or None. If None is returned then no sources are
1405
+ generated. If the Extension instance has no sources after
1406
+ processing all source generators, then no extension module is
1407
+ built.
1408
+ include_dirs :
1409
+ define_macros :
1410
+ undef_macros :
1411
+ library_dirs :
1412
+ libraries :
1413
+ runtime_library_dirs :
1414
+ extra_objects :
1415
+ extra_compile_args :
1416
+ extra_link_args :
1417
+ extra_f77_compile_args :
1418
+ extra_f90_compile_args :
1419
+ export_symbols :
1420
+ swig_opts :
1421
+ depends :
1422
+ The depends list contains paths to files or directories that the
1423
+ sources of the extension module depend on. If any path in the
1424
+ depends list is newer than the extension module, then the module
1425
+ will be rebuilt.
1426
+ language :
1427
+ f2py_options :
1428
+ module_dirs :
1429
+ extra_info : dict or list
1430
+ dict or list of dict of keywords to be appended to keywords.
1431
+
1432
+ Notes
1433
+ -----
1434
+ The self.paths(...) method is applied to all lists that may contain
1435
+ paths.
1436
+ """
1437
+ ext_args = copy.copy(kw)
1438
+ ext_args['name'] = dot_join(self.name, name)
1439
+ ext_args['sources'] = sources
1440
+
1441
+ if 'extra_info' in ext_args:
1442
+ extra_info = ext_args['extra_info']
1443
+ del ext_args['extra_info']
1444
+ if isinstance(extra_info, dict):
1445
+ extra_info = [extra_info]
1446
+ for info in extra_info:
1447
+ assert isinstance(info, dict), repr(info)
1448
+ dict_append(ext_args,**info)
1449
+
1450
+ self._fix_paths_dict(ext_args)
1451
+
1452
+ # Resolve out-of-tree dependencies
1453
+ libraries = ext_args.get('libraries', [])
1454
+ libnames = []
1455
+ ext_args['libraries'] = []
1456
+ for libname in libraries:
1457
+ if isinstance(libname, tuple):
1458
+ self._fix_paths_dict(libname[1])
1459
+
1460
+ # Handle library names of the form libname@relative/path/to/library
1461
+ if '@' in libname:
1462
+ lname, lpath = libname.split('@', 1)
1463
+ lpath = os.path.abspath(njoin(self.local_path, lpath))
1464
+ if os.path.isdir(lpath):
1465
+ c = self.get_subpackage(None, lpath,
1466
+ caller_level = 2)
1467
+ if isinstance(c, Configuration):
1468
+ c = c.todict()
1469
+ for l in [l[0] for l in c.get('libraries', [])]:
1470
+ llname = l.split('__OF__', 1)[0]
1471
+ if llname == lname:
1472
+ c.pop('name', None)
1473
+ dict_append(ext_args,**c)
1474
+ break
1475
+ continue
1476
+ libnames.append(libname)
1477
+
1478
+ ext_args['libraries'] = libnames + ext_args['libraries']
1479
+ ext_args['define_macros'] = \
1480
+ self.define_macros + ext_args.get('define_macros', [])
1481
+
1482
+ from numpy.distutils.core import Extension
1483
+ ext = Extension(**ext_args)
1484
+ self.ext_modules.append(ext)
1485
+
1486
+ dist = self.get_distribution()
1487
+ if dist is not None:
1488
+ self.warn('distutils distribution has been initialized,'\
1489
+ ' it may be too late to add an extension '+name)
1490
+ return ext
1491
+
1492
+ def add_library(self,name,sources,**build_info):
1493
+ """
1494
+ Add library to configuration.
1495
+
1496
+ Parameters
1497
+ ----------
1498
+ name : str
1499
+ Name of the extension.
1500
+ sources : sequence
1501
+ List of the sources. The list of sources may contain functions
1502
+ (called source generators) which must take an extension instance
1503
+ and a build directory as inputs and return a source file or list of
1504
+ source files or None. If None is returned then no sources are
1505
+ generated. If the Extension instance has no sources after
1506
+ processing all source generators, then no extension module is
1507
+ built.
1508
+ build_info : dict, optional
1509
+ The following keys are allowed:
1510
+
1511
+ * depends
1512
+ * macros
1513
+ * include_dirs
1514
+ * extra_compiler_args
1515
+ * extra_f77_compiler_args
1516
+ * extra_f90_compiler_args
1517
+ * f2py_options
1518
+ * language
1519
+
1520
+ """
1521
+ self._add_library(name, sources, None, build_info)
1522
+
1523
+ dist = self.get_distribution()
1524
+ if dist is not None:
1525
+ self.warn('distutils distribution has been initialized,'\
1526
+ ' it may be too late to add a library '+ name)
1527
+
1528
+ def _add_library(self, name, sources, install_dir, build_info):
1529
+ """Common implementation for add_library and add_installed_library. Do
1530
+ not use directly"""
1531
+ build_info = copy.copy(build_info)
1532
+ name = name #+ '__OF__' + self.name
1533
+ build_info['sources'] = sources
1534
+
1535
+ # Sometimes, depends is not set up to an empty list by default, and if
1536
+ # depends is not given to add_library, distutils barfs (#1134)
1537
+ if not 'depends' in build_info:
1538
+ build_info['depends'] = []
1539
+
1540
+ self._fix_paths_dict(build_info)
1541
+
1542
+ # Add to libraries list so that it is build with build_clib
1543
+ self.libraries.append((name, build_info))
1544
+
1545
+ def add_installed_library(self, name, sources, install_dir, build_info=None):
1546
+ """
1547
+ Similar to add_library, but the specified library is installed.
1548
+
1549
+ Most C libraries used with `distutils` are only used to build python
1550
+ extensions, but libraries built through this method will be installed
1551
+ so that they can be reused by third-party packages.
1552
+
1553
+ Parameters
1554
+ ----------
1555
+ name : str
1556
+ Name of the installed library.
1557
+ sources : sequence
1558
+ List of the library's source files. See `add_library` for details.
1559
+ install_dir : str
1560
+ Path to install the library, relative to the current sub-package.
1561
+ build_info : dict, optional
1562
+ The following keys are allowed:
1563
+
1564
+ * depends
1565
+ * macros
1566
+ * include_dirs
1567
+ * extra_compiler_args
1568
+ * extra_f77_compiler_args
1569
+ * extra_f90_compiler_args
1570
+ * f2py_options
1571
+ * language
1572
+
1573
+ Returns
1574
+ -------
1575
+ None
1576
+
1577
+ See Also
1578
+ --------
1579
+ add_library, add_npy_pkg_config, get_info
1580
+
1581
+ Notes
1582
+ -----
1583
+ The best way to encode the options required to link against the specified
1584
+ C libraries is to use a "libname.ini" file, and use `get_info` to
1585
+ retrieve the required options (see `add_npy_pkg_config` for more
1586
+ information).
1587
+
1588
+ """
1589
+ if not build_info:
1590
+ build_info = {}
1591
+
1592
+ install_dir = os.path.join(self.package_path, install_dir)
1593
+ self._add_library(name, sources, install_dir, build_info)
1594
+ self.installed_libraries.append(InstallableLib(name, build_info, install_dir))
1595
+
1596
+ def add_npy_pkg_config(self, template, install_dir, subst_dict=None):
1597
+ """
1598
+ Generate and install a npy-pkg config file from a template.
1599
+
1600
+ The config file generated from `template` is installed in the
1601
+ given install directory, using `subst_dict` for variable substitution.
1602
+
1603
+ Parameters
1604
+ ----------
1605
+ template : str
1606
+ The path of the template, relatively to the current package path.
1607
+ install_dir : str
1608
+ Where to install the npy-pkg config file, relatively to the current
1609
+ package path.
1610
+ subst_dict : dict, optional
1611
+ If given, any string of the form ``@key@`` will be replaced by
1612
+ ``subst_dict[key]`` in the template file when installed. The install
1613
+ prefix is always available through the variable ``@prefix@``, since the
1614
+ install prefix is not easy to get reliably from setup.py.
1615
+
1616
+ See also
1617
+ --------
1618
+ add_installed_library, get_info
1619
+
1620
+ Notes
1621
+ -----
1622
+ This works for both standard installs and in-place builds, i.e. the
1623
+ ``@prefix@`` refer to the source directory for in-place builds.
1624
+
1625
+ Examples
1626
+ --------
1627
+ ::
1628
+
1629
+ config.add_npy_pkg_config('foo.ini.in', 'lib', {'foo': bar})
1630
+
1631
+ Assuming the foo.ini.in file has the following content::
1632
+
1633
+ [meta]
1634
+ Name=@foo@
1635
+ Version=1.0
1636
+ Description=dummy description
1637
+
1638
+ [default]
1639
+ Cflags=-I@prefix@/include
1640
+ Libs=
1641
+
1642
+ The generated file will have the following content::
1643
+
1644
+ [meta]
1645
+ Name=bar
1646
+ Version=1.0
1647
+ Description=dummy description
1648
+
1649
+ [default]
1650
+ Cflags=-Iprefix_dir/include
1651
+ Libs=
1652
+
1653
+ and will be installed as foo.ini in the 'lib' subpath.
1654
+
1655
+ """
1656
+ if subst_dict is None:
1657
+ subst_dict = {}
1658
+ basename = os.path.splitext(template)[0]
1659
+ template = os.path.join(self.package_path, template)
1660
+
1661
+ if self.name in self.installed_pkg_config:
1662
+ self.installed_pkg_config[self.name].append((template, install_dir,
1663
+ subst_dict))
1664
+ else:
1665
+ self.installed_pkg_config[self.name] = [(template, install_dir,
1666
+ subst_dict)]
1667
+
1668
+
1669
+ def add_scripts(self,*files):
1670
+ """Add scripts to configuration.
1671
+
1672
+ Add the sequence of files to the beginning of the scripts list.
1673
+ Scripts will be installed under the <prefix>/bin/ directory.
1674
+
1675
+ """
1676
+ scripts = self.paths(files)
1677
+ dist = self.get_distribution()
1678
+ if dist is not None:
1679
+ if dist.scripts is None:
1680
+ dist.scripts = []
1681
+ dist.scripts.extend(scripts)
1682
+ else:
1683
+ self.scripts.extend(scripts)
1684
+
1685
+ def dict_append(self,**dict):
1686
+ for key in self.list_keys:
1687
+ a = getattr(self, key)
1688
+ a.extend(dict.get(key, []))
1689
+ for key in self.dict_keys:
1690
+ a = getattr(self, key)
1691
+ a.update(dict.get(key, {}))
1692
+ known_keys = self.list_keys + self.dict_keys + self.extra_keys
1693
+ for key in dict.keys():
1694
+ if key not in known_keys:
1695
+ a = getattr(self, key, None)
1696
+ if a and a==dict[key]: continue
1697
+ self.warn('Inheriting attribute %r=%r from %r' \
1698
+ % (key, dict[key], dict.get('name', '?')))
1699
+ setattr(self, key, dict[key])
1700
+ self.extra_keys.append(key)
1701
+ elif key in self.extra_keys:
1702
+ self.info('Ignoring attempt to set %r (from %r to %r)' \
1703
+ % (key, getattr(self, key), dict[key]))
1704
+ elif key in known_keys:
1705
+ # key is already processed above
1706
+ pass
1707
+ else:
1708
+ raise ValueError("Don't know about key=%r" % (key))
1709
+
1710
+ def __str__(self):
1711
+ from pprint import pformat
1712
+ known_keys = self.list_keys + self.dict_keys + self.extra_keys
1713
+ s = '<'+5*'-' + '\n'
1714
+ s += 'Configuration of '+self.name+':\n'
1715
+ known_keys.sort()
1716
+ for k in known_keys:
1717
+ a = getattr(self, k, None)
1718
+ if a:
1719
+ s += '%s = %s\n' % (k, pformat(a))
1720
+ s += 5*'-' + '>'
1721
+ return s
1722
+
1723
+ def get_config_cmd(self):
1724
+ """
1725
+ Returns the numpy.distutils config command instance.
1726
+ """
1727
+ cmd = get_cmd('config')
1728
+ cmd.ensure_finalized()
1729
+ cmd.dump_source = 0
1730
+ cmd.noisy = 0
1731
+ old_path = os.environ.get('PATH')
1732
+ if old_path:
1733
+ path = os.pathsep.join(['.', old_path])
1734
+ os.environ['PATH'] = path
1735
+ return cmd
1736
+
1737
+ def get_build_temp_dir(self):
1738
+ """
1739
+ Return a path to a temporary directory where temporary files should be
1740
+ placed.
1741
+ """
1742
+ cmd = get_cmd('build')
1743
+ cmd.ensure_finalized()
1744
+ return cmd.build_temp
1745
+
1746
+ def have_f77c(self):
1747
+ """Check for availability of Fortran 77 compiler.
1748
+
1749
+ Use it inside source generating function to ensure that
1750
+ setup distribution instance has been initialized.
1751
+
1752
+ Notes
1753
+ -----
1754
+ True if a Fortran 77 compiler is available (because a simple Fortran 77
1755
+ code was able to be compiled successfully).
1756
+ """
1757
+ simple_fortran_subroutine = '''
1758
+ subroutine simple
1759
+ end
1760
+ '''
1761
+ config_cmd = self.get_config_cmd()
1762
+ flag = config_cmd.try_compile(simple_fortran_subroutine, lang='f77')
1763
+ return flag
1764
+
1765
+ def have_f90c(self):
1766
+ """Check for availability of Fortran 90 compiler.
1767
+
1768
+ Use it inside source generating function to ensure that
1769
+ setup distribution instance has been initialized.
1770
+
1771
+ Notes
1772
+ -----
1773
+ True if a Fortran 90 compiler is available (because a simple Fortran
1774
+ 90 code was able to be compiled successfully)
1775
+ """
1776
+ simple_fortran_subroutine = '''
1777
+ subroutine simple
1778
+ end
1779
+ '''
1780
+ config_cmd = self.get_config_cmd()
1781
+ flag = config_cmd.try_compile(simple_fortran_subroutine, lang='f90')
1782
+ return flag
1783
+
1784
+ def append_to(self, extlib):
1785
+ """Append libraries, include_dirs to extension or library item.
1786
+ """
1787
+ if is_sequence(extlib):
1788
+ lib_name, build_info = extlib
1789
+ dict_append(build_info,
1790
+ libraries=self.libraries,
1791
+ include_dirs=self.include_dirs)
1792
+ else:
1793
+ from numpy.distutils.core import Extension
1794
+ assert isinstance(extlib, Extension), repr(extlib)
1795
+ extlib.libraries.extend(self.libraries)
1796
+ extlib.include_dirs.extend(self.include_dirs)
1797
+
1798
+ def _get_svn_revision(self, path):
1799
+ """Return path's SVN revision number.
1800
+ """
1801
+ revision = None
1802
+ m = None
1803
+ cwd = os.getcwd()
1804
+ try:
1805
+ os.chdir(path or '.')
1806
+ p = subprocess.Popen(['svnversion'], shell=True,
1807
+ stdout=subprocess.PIPE, stderr=None,
1808
+ close_fds=True)
1809
+ sout = p.stdout
1810
+ m = re.match(r'(?P<revision>\d+)', sout.read())
1811
+ except:
1812
+ pass
1813
+ os.chdir(cwd)
1814
+ if m:
1815
+ revision = int(m.group('revision'))
1816
+ return revision
1817
+ if sys.platform=='win32' and os.environ.get('SVN_ASP_DOT_NET_HACK', None):
1818
+ entries = njoin(path, '_svn', 'entries')
1819
+ else:
1820
+ entries = njoin(path, '.svn', 'entries')
1821
+ if os.path.isfile(entries):
1822
+ f = open(entries)
1823
+ fstr = f.read()
1824
+ f.close()
1825
+ if fstr[:5] == '<?xml': # pre 1.4
1826
+ m = re.search(r'revision="(?P<revision>\d+)"', fstr)
1827
+ if m:
1828
+ revision = int(m.group('revision'))
1829
+ else: # non-xml entries file --- check to be sure that
1830
+ m = re.search(r'dir[\n\r]+(?P<revision>\d+)', fstr)
1831
+ if m:
1832
+ revision = int(m.group('revision'))
1833
+ return revision
1834
+
1835
+ def _get_hg_revision(self, path):
1836
+ """Return path's Mercurial revision number.
1837
+ """
1838
+ revision = None
1839
+ m = None
1840
+ cwd = os.getcwd()
1841
+ try:
1842
+ os.chdir(path or '.')
1843
+ p = subprocess.Popen(['hg identify --num'], shell=True,
1844
+ stdout=subprocess.PIPE, stderr=None,
1845
+ close_fds=True)
1846
+ sout = p.stdout
1847
+ m = re.match(r'(?P<revision>\d+)', sout.read())
1848
+ except:
1849
+ pass
1850
+ os.chdir(cwd)
1851
+ if m:
1852
+ revision = int(m.group('revision'))
1853
+ return revision
1854
+ branch_fn = njoin(path, '.hg', 'branch')
1855
+ branch_cache_fn = njoin(path, '.hg', 'branch.cache')
1856
+
1857
+ if os.path.isfile(branch_fn):
1858
+ branch0 = None
1859
+ f = open(branch_fn)
1860
+ revision0 = f.read().strip()
1861
+ f.close()
1862
+
1863
+ branch_map = {}
1864
+ for line in file(branch_cache_fn, 'r'):
1865
+ branch1, revision1 = line.split()[:2]
1866
+ if revision1==revision0:
1867
+ branch0 = branch1
1868
+ try:
1869
+ revision1 = int(revision1)
1870
+ except ValueError:
1871
+ continue
1872
+ branch_map[branch1] = revision1
1873
+
1874
+ revision = branch_map.get(branch0)
1875
+ return revision
1876
+
1877
+
1878
+ def get_version(self, version_file=None, version_variable=None):
1879
+ """Try to get version string of a package.
1880
+
1881
+ Return a version string of the current package or None if the version
1882
+ information could not be detected.
1883
+
1884
+ Notes
1885
+ -----
1886
+ This method scans files named
1887
+ __version__.py, <packagename>_version.py, version.py, and
1888
+ __svn_version__.py for string variables version, __version\__, and
1889
+ <packagename>_version, until a version number is found.
1890
+ """
1891
+ version = getattr(self, 'version', None)
1892
+ if version is not None:
1893
+ return version
1894
+
1895
+ # Get version from version file.
1896
+ if version_file is None:
1897
+ files = ['__version__.py',
1898
+ self.name.split('.')[-1]+'_version.py',
1899
+ 'version.py',
1900
+ '__svn_version__.py',
1901
+ '__hg_version__.py']
1902
+ else:
1903
+ files = [version_file]
1904
+ if version_variable is None:
1905
+ version_vars = ['version',
1906
+ '__version__',
1907
+ self.name.split('.')[-1]+'_version']
1908
+ else:
1909
+ version_vars = [version_variable]
1910
+ for f in files:
1911
+ fn = njoin(self.local_path, f)
1912
+ if os.path.isfile(fn):
1913
+ info = (open(fn), fn, ('.py', 'U', 1))
1914
+ name = os.path.splitext(os.path.basename(fn))[0]
1915
+ n = dot_join(self.name, name)
1916
+ try:
1917
+ version_module = imp.load_module('_'.join(n.split('.')),*info)
1918
+ except ImportError:
1919
+ msg = get_exception()
1920
+ self.warn(str(msg))
1921
+ version_module = None
1922
+ if version_module is None:
1923
+ continue
1924
+
1925
+ for a in version_vars:
1926
+ version = getattr(version_module, a, None)
1927
+ if version is not None:
1928
+ break
1929
+ if version is not None:
1930
+ break
1931
+
1932
+ if version is not None:
1933
+ self.version = version
1934
+ return version
1935
+
1936
+ # Get version as SVN or Mercurial revision number
1937
+ revision = self._get_svn_revision(self.local_path)
1938
+ if revision is None:
1939
+ revision = self._get_hg_revision(self.local_path)
1940
+
1941
+ if revision is not None:
1942
+ version = str(revision)
1943
+ self.version = version
1944
+
1945
+ return version
1946
+
1947
+ def make_svn_version_py(self, delete=True):
1948
+ """Appends a data function to the data_files list that will generate
1949
+ __svn_version__.py file to the current package directory.
1950
+
1951
+ Generate package __svn_version__.py file from SVN revision number,
1952
+ it will be removed after python exits but will be available
1953
+ when sdist, etc commands are executed.
1954
+
1955
+ Notes
1956
+ -----
1957
+ If __svn_version__.py existed before, nothing is done.
1958
+
1959
+ This is
1960
+ intended for working with source directories that are in an SVN
1961
+ repository.
1962
+ """
1963
+ target = njoin(self.local_path, '__svn_version__.py')
1964
+ revision = self._get_svn_revision(self.local_path)
1965
+ if os.path.isfile(target) or revision is None:
1966
+ return
1967
+ else:
1968
+ def generate_svn_version_py():
1969
+ if not os.path.isfile(target):
1970
+ version = str(revision)
1971
+ self.info('Creating %s (version=%r)' % (target, version))
1972
+ f = open(target, 'w')
1973
+ f.write('version = %r\n' % (version))
1974
+ f.close()
1975
+
1976
+ import atexit
1977
+ def rm_file(f=target,p=self.info):
1978
+ if delete:
1979
+ try: os.remove(f); p('removed '+f)
1980
+ except OSError: pass
1981
+ try: os.remove(f+'c'); p('removed '+f+'c')
1982
+ except OSError: pass
1983
+
1984
+ atexit.register(rm_file)
1985
+
1986
+ return target
1987
+
1988
+ self.add_data_files(('', generate_svn_version_py()))
1989
+
1990
+ def make_hg_version_py(self, delete=True):
1991
+ """Appends a data function to the data_files list that will generate
1992
+ __hg_version__.py file to the current package directory.
1993
+
1994
+ Generate package __hg_version__.py file from Mercurial revision,
1995
+ it will be removed after python exits but will be available
1996
+ when sdist, etc commands are executed.
1997
+
1998
+ Notes
1999
+ -----
2000
+ If __hg_version__.py existed before, nothing is done.
2001
+
2002
+ This is intended for working with source directories that are
2003
+ in an Mercurial repository.
2004
+ """
2005
+ target = njoin(self.local_path, '__hg_version__.py')
2006
+ revision = self._get_hg_revision(self.local_path)
2007
+ if os.path.isfile(target) or revision is None:
2008
+ return
2009
+ else:
2010
+ def generate_hg_version_py():
2011
+ if not os.path.isfile(target):
2012
+ version = str(revision)
2013
+ self.info('Creating %s (version=%r)' % (target, version))
2014
+ f = open(target, 'w')
2015
+ f.write('version = %r\n' % (version))
2016
+ f.close()
2017
+
2018
+ import atexit
2019
+ def rm_file(f=target,p=self.info):
2020
+ if delete:
2021
+ try: os.remove(f); p('removed '+f)
2022
+ except OSError: pass
2023
+ try: os.remove(f+'c'); p('removed '+f+'c')
2024
+ except OSError: pass
2025
+
2026
+ atexit.register(rm_file)
2027
+
2028
+ return target
2029
+
2030
+ self.add_data_files(('', generate_hg_version_py()))
2031
+
2032
+ def make_config_py(self,name='__config__'):
2033
+ """Generate package __config__.py file containing system_info
2034
+ information used during building the package.
2035
+
2036
+ This file is installed to the
2037
+ package installation directory.
2038
+
2039
+ """
2040
+ self.py_modules.append((self.name, name, generate_config_py))
2041
+
2042
+
2043
+ def get_info(self,*names):
2044
+ """Get resources information.
2045
+
2046
+ Return information (from system_info.get_info) for all of the names in
2047
+ the argument list in a single dictionary.
2048
+ """
2049
+ from .system_info import get_info, dict_append
2050
+ info_dict = {}
2051
+ for a in names:
2052
+ dict_append(info_dict,**get_info(a))
2053
+ return info_dict
2054
+
2055
+
2056
+ def get_cmd(cmdname, _cache={}):
2057
+ if cmdname not in _cache:
2058
+ import distutils.core
2059
+ dist = distutils.core._setup_distribution
2060
+ if dist is None:
2061
+ from distutils.errors import DistutilsInternalError
2062
+ raise DistutilsInternalError(
2063
+ 'setup distribution instance not initialized')
2064
+ cmd = dist.get_command_obj(cmdname)
2065
+ _cache[cmdname] = cmd
2066
+ return _cache[cmdname]
2067
+
2068
+ def get_numpy_include_dirs():
2069
+ # numpy_include_dirs are set by numpy/core/setup.py, otherwise []
2070
+ include_dirs = Configuration.numpy_include_dirs[:]
2071
+ if not include_dirs:
2072
+ import numpy
2073
+ include_dirs = [ numpy.get_include() ]
2074
+ # else running numpy/core/setup.py
2075
+ return include_dirs
2076
+
2077
+ def get_npy_pkg_dir():
2078
+ """Return the path where to find the npy-pkg-config directory."""
2079
+ # XXX: import here for bootstrapping reasons
2080
+ import numpy
2081
+ d = os.path.join(os.path.dirname(numpy.__file__),
2082
+ 'core', 'lib', 'npy-pkg-config')
2083
+ return d
2084
+
2085
+ def get_pkg_info(pkgname, dirs=None):
2086
+ """
2087
+ Return library info for the given package.
2088
+
2089
+ Parameters
2090
+ ----------
2091
+ pkgname : str
2092
+ Name of the package (should match the name of the .ini file, without
2093
+ the extension, e.g. foo for the file foo.ini).
2094
+ dirs : sequence, optional
2095
+ If given, should be a sequence of additional directories where to look
2096
+ for npy-pkg-config files. Those directories are searched prior to the
2097
+ NumPy directory.
2098
+
2099
+ Returns
2100
+ -------
2101
+ pkginfo : class instance
2102
+ The `LibraryInfo` instance containing the build information.
2103
+
2104
+ Raises
2105
+ ------
2106
+ PkgNotFound
2107
+ If the package is not found.
2108
+
2109
+ See Also
2110
+ --------
2111
+ Configuration.add_npy_pkg_config, Configuration.add_installed_library,
2112
+ get_info
2113
+
2114
+ """
2115
+ from numpy.distutils.npy_pkg_config import read_config
2116
+
2117
+ if dirs:
2118
+ dirs.append(get_npy_pkg_dir())
2119
+ else:
2120
+ dirs = [get_npy_pkg_dir()]
2121
+ return read_config(pkgname, dirs)
2122
+
2123
+ def get_info(pkgname, dirs=None):
2124
+ """
2125
+ Return an info dict for a given C library.
2126
+
2127
+ The info dict contains the necessary options to use the C library.
2128
+
2129
+ Parameters
2130
+ ----------
2131
+ pkgname : str
2132
+ Name of the package (should match the name of the .ini file, without
2133
+ the extension, e.g. foo for the file foo.ini).
2134
+ dirs : sequence, optional
2135
+ If given, should be a sequence of additional directories where to look
2136
+ for npy-pkg-config files. Those directories are searched prior to the
2137
+ NumPy directory.
2138
+
2139
+ Returns
2140
+ -------
2141
+ info : dict
2142
+ The dictionary with build information.
2143
+
2144
+ Raises
2145
+ ------
2146
+ PkgNotFound
2147
+ If the package is not found.
2148
+
2149
+ See Also
2150
+ --------
2151
+ Configuration.add_npy_pkg_config, Configuration.add_installed_library,
2152
+ get_pkg_info
2153
+
2154
+ Examples
2155
+ --------
2156
+ To get the necessary information for the npymath library from NumPy:
2157
+
2158
+ >>> npymath_info = np.distutils.misc_util.get_info('npymath')
2159
+ >>> npymath_info #doctest: +SKIP
2160
+ {'define_macros': [], 'libraries': ['npymath'], 'library_dirs':
2161
+ ['.../numpy/core/lib'], 'include_dirs': ['.../numpy/core/include']}
2162
+
2163
+ This info dict can then be used as input to a `Configuration` instance::
2164
+
2165
+ config.add_extension('foo', sources=['foo.c'], extra_info=npymath_info)
2166
+
2167
+ """
2168
+ from numpy.distutils.npy_pkg_config import parse_flags
2169
+ pkg_info = get_pkg_info(pkgname, dirs)
2170
+
2171
+ # Translate LibraryInfo instance into a build_info dict
2172
+ info = parse_flags(pkg_info.cflags())
2173
+ for k, v in parse_flags(pkg_info.libs()).items():
2174
+ info[k].extend(v)
2175
+
2176
+ # add_extension extra_info argument is ANAL
2177
+ info['define_macros'] = info['macros']
2178
+ del info['macros']
2179
+ del info['ignored']
2180
+
2181
+ return info
2182
+
2183
+ def is_bootstrapping():
2184
+ if sys.version_info[0] >= 3:
2185
+ import builtins
2186
+ else:
2187
+ import __builtin__ as builtins
2188
+
2189
+ try:
2190
+ builtins.__NUMPY_SETUP__
2191
+ return True
2192
+ except AttributeError:
2193
+ return False
2194
+ __NUMPY_SETUP__ = False
2195
+
2196
+
2197
+ #########################
2198
+
2199
+ def default_config_dict(name = None, parent_name = None, local_path=None):
2200
+ """Return a configuration dictionary for usage in
2201
+ configuration() function defined in file setup_<name>.py.
2202
+ """
2203
+ import warnings
2204
+ warnings.warn('Use Configuration(%r,%r,top_path=%r) instead of '\
2205
+ 'deprecated default_config_dict(%r,%r,%r)'
2206
+ % (name, parent_name, local_path,
2207
+ name, parent_name, local_path,
2208
+ ))
2209
+ c = Configuration(name, parent_name, local_path)
2210
+ return c.todict()
2211
+
2212
+
2213
+ def dict_append(d, **kws):
2214
+ for k, v in kws.items():
2215
+ if k in d:
2216
+ ov = d[k]
2217
+ if isinstance(ov, str):
2218
+ d[k] = v
2219
+ else:
2220
+ d[k].extend(v)
2221
+ else:
2222
+ d[k] = v
2223
+
2224
+ def appendpath(prefix, path):
2225
+ if os.path.sep != '/':
2226
+ prefix = prefix.replace('/', os.path.sep)
2227
+ path = path.replace('/', os.path.sep)
2228
+ drive = ''
2229
+ if os.path.isabs(path):
2230
+ drive = os.path.splitdrive(prefix)[0]
2231
+ absprefix = os.path.splitdrive(os.path.abspath(prefix))[1]
2232
+ pathdrive, path = os.path.splitdrive(path)
2233
+ d = os.path.commonprefix([absprefix, path])
2234
+ if os.path.join(absprefix[:len(d)], absprefix[len(d):]) != absprefix \
2235
+ or os.path.join(path[:len(d)], path[len(d):]) != path:
2236
+ # Handle invalid paths
2237
+ d = os.path.dirname(d)
2238
+ subpath = path[len(d):]
2239
+ if os.path.isabs(subpath):
2240
+ subpath = subpath[1:]
2241
+ else:
2242
+ subpath = path
2243
+ return os.path.normpath(njoin(drive + prefix, subpath))
2244
+
2245
+ def generate_config_py(target):
2246
+ """Generate config.py file containing system_info information
2247
+ used during building the package.
2248
+
2249
+ Usage:
2250
+ config['py_modules'].append((packagename, '__config__',generate_config_py))
2251
+ """
2252
+ from numpy.distutils.system_info import system_info
2253
+ from distutils.dir_util import mkpath
2254
+ mkpath(os.path.dirname(target))
2255
+ f = open(target, 'w')
2256
+ f.write('# This file is generated by %s\n' % (os.path.abspath(sys.argv[0])))
2257
+ f.write('# It contains system_info results at the time of building this package.\n')
2258
+ f.write('__all__ = ["get_info","show"]\n\n')
2259
+ for k, i in system_info.saved_results.items():
2260
+ f.write('%s=%r\n' % (k, i))
2261
+ f.write(r'''
2262
+ def get_info(name):
2263
+ g = globals()
2264
+ return g.get(name, g.get(name + "_info", {}))
2265
+
2266
+ def show():
2267
+ for name,info_dict in globals().items():
2268
+ if name[0] == "_" or type(info_dict) is not type({}): continue
2269
+ print(name + ":")
2270
+ if not info_dict:
2271
+ print(" NOT AVAILABLE")
2272
+ for k,v in info_dict.items():
2273
+ v = str(v)
2274
+ if k == "sources" and len(v) > 200:
2275
+ v = v[:60] + " ...\n... " + v[-60:]
2276
+ print(" %s = %s" % (k,v))
2277
+ ''')
2278
+
2279
+ f.close()
2280
+ return target
2281
+
2282
+ def msvc_version(compiler):
2283
+ """Return version major and minor of compiler instance if it is
2284
+ MSVC, raise an exception otherwise."""
2285
+ if not compiler.compiler_type == "msvc":
2286
+ raise ValueError("Compiler instance is not msvc (%s)"\
2287
+ % compiler.compiler_type)
2288
+ return compiler._MSVCCompiler__version
2289
+
2290
+ if sys.version[:3] >= '2.5':
2291
+ def get_build_architecture():
2292
+ from distutils.msvccompiler import get_build_architecture
2293
+ return get_build_architecture()
2294
+ else:
2295
+ #copied from python 2.5.1 distutils/msvccompiler.py
2296
+ def get_build_architecture():
2297
+ """Return the processor architecture.
2298
+
2299
+ Possible results are "Intel", "Itanium", or "AMD64".
2300
+ """
2301
+ prefix = " bit ("
2302
+ i = sys.version.find(prefix)
2303
+ if i == -1:
2304
+ return "Intel"
2305
+ j = sys.version.find(")", i)
2306
+ return sys.version[i+len(prefix):j]