summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* 2to3: Skip `future` fixer.Charles Harris2013-04-101-1/+1
| | | | | | The `future` fixer removes the `from __future__ import ...` statements. That is fine for Python 3, but we need to keep that statement if we are shooting for a common code base for both Python 2 and Python 3.
* 2to3: Apply `map` fixer.Charles Harris2013-04-101-25/+46
| | | | | | | | | | | | | | | | | | | In Python 3 `map` is an iterator while in Python 2 it returns a list. The simple fix applied by the fixer is to inclose all instances of map with `list(...)`. This is not needed in all cases, and even where appropriate list comprehensions may be preferred for their clarity. Consequently, this patch attempts to use list comprehensions where it makes sense. When the mapped function has two arguments there is another problem that can arise. In Python 3 map stops execution when the shortest argument list is exhausted, while in Python 2 it stops when the longest argument list is exhausted. Consequently the two argument case might need special care. However, we have been running Python3 converted versions of numpy since 1.5 without problems, so it is probably not something that affects us. Closes #3068
* 2to3: Apply `repr` fixer.Charles Harris2013-04-081-0/+1
| | | | | | | | | | | | This replaces python backtics with repr(...). The backtics were mostly used to generate strings for printing with a string format and it is tempting to replace `'%s' % repr(x)` with `'%r' % x`. That would work except where `x` happened to be a tuple or a dictionary but, because it would be significant work to guarantee that and because there are not many places where backtics are used, the safe path is to let the repr replacements stand. Closes #3083.
* Merge pull request #3205 from charris/2to3-apply-dict-fixerCharles Harris2013-04-072-1/+2
|\ | | | | 2to3: apply `dict` fixer.
| * 2to3: apply `dict` fixer.Charles Harris2013-04-062-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Python3 `dict.items()`, `dict.keys()`, and `dict.values()` are iterators. This causes problems when a list is needed so the 2to3 fixer explicitly constructs a list when is finds on of those functions. However, that is usually not necessary, so a lot of the work here has been cleaning up those places where the fix is not needed. The big exception to that is the `numpy/f2py/crackfortran.py` file. The code there makes extensive use of loops that modify the contents of the dictionary being looped through, which raises an error. That together with the obscurity of the code in that file made it safest to let the `dict` fixer do its worst. Closes #3050.
* | Merge pull request #3202 from charris/2to3-reduce-fixupsnjsmith2013-04-071-9/+0
|\ \ | |/ |/| MAINT: Cleanup some imports involving reduce.
| * MAINT: Cleanup some imports involving reduce.Charles Harris2013-04-061-9/+0
| | | | | | | | | | | | | | | | | | | | Because reduce has been available in functools since Python 2.6 we can get rid of the version checks we currently have before we import it. Also removes some reduce related skips in tools/py3tool.py. We were already skipping the reduce fixer so this has no effect other than cleaning up the code.
* | 2to3: Apply `print` fixer.Charles Harris2013-04-0612-38/+39
|/ | | | | | | Add `print_function` to all `from __future__ import ...` statements and use the python3 print function syntax everywhere. Closes #3078.
* MAINT: Append comma to last item tools/py3tool.py skipped fixers.Charles Harris2013-04-061-1/+1
| | | | Makes it easier to put in the next fixer.
* 2to3: Apply `imports2` fixer.Charles Harris2013-04-061-1/+2
| | | | | | | No files were changed by this fixer, so add it to the list of fixers to be skipped by 2to3. Closes #3181.
* Merge pull request #3191 from charris/2to3-apply-imports-fixerCharles Harris2013-04-062-3/+8
|\ | | | | 2to3: Apply `imports` fixer.
| * 2to3: Apply `imports` fixer.Charles Harris2013-04-022-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `imports` fixer deals with the standard packages that have been renamed, removed, or methods that have moved. cPickle -- removed, use pickle commands -- removed, getoutput, getstatusoutput moved to subprocess urlparse -- removed, urlparse moved to urllib.parse cStringIO -- removed, use StringIO or io.StringIO copy_reg -- renamed copyreg _winreg -- renamed winreg ConfigParser -- renamed configparser __builtin__ -- renamed builtins In the case of `cPickle`, it is imported as `pickle` when python < 3 and performance may be a consideration, but otherwise plain old `pickle` is used. Dealing with `StringIO` is a bit tricky. There is an `io.StringIO` function in the `io` module, available since Python 2.6, but it expects unicode whereas `StringIO.StringIO` expects ascii. The Python 3 equivalent is then `io.BytesIO`. What I have done here is used BytesIO for anything that is emulating a file for testing purposes. That is more explicit than using a redefined StringIO as was done before we dropped support for Python 2.4 and 2.5. Closes #3180.
* | Merge pull request #3162 from seberg/unsafe-stridesnjsmith2013-04-031-1/+12
|\ \ | |/ |/| Revert changes to contiguous flags definition while creating NPY_TEST_UNSAFE_STRIDES
| * TST: Add NPY_RELAXED_STRIDES_CHECKING to TravisSebastian Berg2013-04-021-1/+12
| |
* | 2to3: Add `from __future__ import ...` to some files that were missed.Charles Harris2013-03-286-6/+19
| | | | | | | | | | | | | | With the exception of numpy/distutils/tests/test_exec_command.py, all of these files are script files in tools/osxbuild and tools/win32build. The import in the script files omits `absolute_import` as they are not part of a package.
* | 2to3: Use absolute imports.Charles Harris2013-03-285-46/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new import `absolute_import` is added the `from __future__ import` statement and The 2to3 `import` fixer is run to make the imports compatible. There are several things that need to be dealt with to make this work. 1) Files meant to be run as scripts run in a different environment than files imported as part of a package, and so changes to those files need to be skipped. The affected script files are: * all setup.py files * numpy/core/code_generators/generate_umath.py * numpy/core/code_generators/generate_numpy_api.py * numpy/core/code_generators/generate_ufunc_api.py 2) Some imported modules are not available as they are created during the build process and consequently 2to3 is unable to handle them correctly. Files that import those modules need a bit of extra work. The affected files are: * core/__init__.py, * core/numeric.py, * core/_internal.py, * core/arrayprint.py, * core/fromnumeric.py, * numpy/__init__.py, * lib/npyio.py, * lib/function_base.py, * fft/fftpack.py, * random/__init__.py Closes #3172
* | BUG: Rebased tools/py3tool.py was missing `,` in list.Charles Harris2013-03-271-1/+1
| |
* | 2to3: Replace xrange by range and use list(range(...)) where neededCharles Harris2013-03-271-0/+1
|/ | | | | | | | | | | | | | | In python3 range is an iterator and `xrange` has been removed. This has two consequence for code: 1) Where a list is needed `list(range(...))` must be used. 2) `xrange` must be replaced by `range` Both of these changes also work in python2 and this patch makes both. There are three places fixed that do not need it, but I left them in so that the result would be `xrange` clean. Closes #3092
* 2to3: Remove xreadlines and replace f.readlines() by f where valid.Charles Harris2013-03-053-4/+5
| | | | | | | | | | An open file `f` has been an iterator since python2.3 and `f.xreadlines()` is no longer needed, so replace it with `f`. Also replace `f.readlines()` with `f` where an iterator will do. The replacement of `f.readlines()` is not critical because it is a list in both python2 and python3, but the code is a bit cleaner. Closes #3093
* 2to3:DEP: Remove interactive setup and gnu compiler configuration.Charles Harris2013-03-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | These havn't been deprecated, but I think few have heard of them, much less used them. Before this change, running setup.py without any arguments would result in interactive help. This patch removes that interactive help and lets setup print its usual list of commands and options. All the script uses of the numpy/distutils/fcompiler compilers look quite broken to me, but I have tried to maintain compatibility with the earlier version of gnu.py after the removal of `raw_input`. These removals solve an incompatibility between Python3 and Python2. The current interactive setup help uses `raw_input`, which has been removed in python3 and replaced by `input`. However, python2 already has an `input` that has different semantics. Rather than deal with this, I think it simpler to keep both `raw_input` and `input` out of numpy. Closes #3063 Closes #3079
* ENH: Skip already applied fixers when running 2to3.Charles Harris2013-03-031-1/+36
| | | | | | | | This is done in `tools/py3tool.py` by providing a list of fixers that is passed in the call to 2to3 with with the `-x` option that tells 2to3 to skip them. Closes #3113
* 2to3: Put `from __future__ import division in every python file.Charles Harris2013-03-016-0/+10
| | | | | | | | This should be harmless, as we already are division clean. However, placement of this import takes some care. In the future a script can be used to append new features without worry, at least until such time as it exceeds a single line. Having that ability will make it easier to deal with absolute imports and printing updates.
* 2to3: Apply `raise` fixes. Closes #3077.Charles Harris2013-03-011-1/+1
| | | | | | | | | | Replaces the raise Exception, msg: form with raise Exception(msg):
* 2to3: Updata `except Exception, msg:` syntax in files not in numpy/ .Charles Harris2013-02-273-3/+3
| | | | This should finish the updating of the exception syntax.
* Wrap hook functions with GIL, add example.Thouis (Ray) Jones2012-06-184-0/+675
| | | | | Wraps the SetHook and calls to the hook with the GIL, to prevent races. Adds an example of using the interface for callbacks into python code.
* Add a little command-line tool for running tests, plus tox supportNathaniel J. Smith2012-05-211-0/+46
| | | | | | | Tox is a handy little tool to make it easier than not to run proper tests that exercise the build system and are run against multiple Python versions: http://pypi.python.org/pypi/tox See comment at the top of tox.ini for hints.
* DOC: clarify numpy version for removal, document sed script better.Charles Harris2012-02-041-1/+11
|
* ENH: Add sed script that replaces macros in old_defines.h.Charles Harris2012-02-041-0/+142
|
* ENH: do not make backup copies when running 2to3.Ralf Gommers2011-04-171-1/+1
| | | | Copied from scipy commit f7dae4f2.
* BUG: Py3: ensure version.py imports are translated appropriatelyPauli Virtanen2010-11-251-1/+1
|
* add .gitattributes and fix line endingsDarren Dale2010-10-311-183/+183
|
* DOC: Remove more SVN references.Stefan van der Walt2010-09-161-2/+2
|
* BUG: core: fix _dotblas usage on Py3 (fixes #1609)Pauli Virtanen2010-09-111-1/+1
|
* REL: forward-port change in size of dmg image from 1.5.x branch.rgommers2010-09-071-1/+1
|
* ENH: 3K: optionally use lib2to3cache in 2to3 conversionPauli Virtanen2010-07-181-0/+3
|
* CLN: Remove some now unnecessary fixups to lib/npyio.Charles Harris2010-03-251-9/+0
|
* Rename numpy/lib/io.py to numpy/lib/npyio.py. The py3tool can probably beCharles Harris2010-03-241-2/+2
| | | | cleaned up a bit more with this change, but that is for later.
* 3K: BUG: work around bugs in Python 3.1.1 2to3 by not using fixes_reducePauli Virtanen2010-02-201-0/+9
| | | | Instead, manually import reduce where necessary.
* 3K: py3tool: use lib2to3 for the conversionsPauli Virtanen2010-02-201-2/+15
| | | | | This ensures that the Py3 version of 2to3 is always used, and that failures in conversion result to an immediate build failure.
* 3K: BUG: make test_defchararray convert properly via 2to3Pauli Virtanen2010-02-201-1/+0
|
* py3tool: customize 2to3 flags for some filesPauli Virtanen2009-12-061-19/+24
|
* py3tool: skip temporary etc filesPauli Virtanen2009-12-061-0/+4
|
* py3tool: fix some relative imports for extension modulesPauli Virtanen2009-12-061-0/+47
|
* 3K: make setup.py call 2to3 automatically -- place sources to build/py3kPauli Virtanen2009-12-061-0/+211
|
* REL: re-enable SSE2 binary in the superpack.David Cournapeau2009-11-301-19/+19
|
* REL: only build nosse and sse3 binaries.David Cournapeau2009-11-221-20/+20
|
* REL: add the scripts and art for the mac os x dmg.David Cournapeau2009-11-225-0/+11863
|
* Add first cut of C code coverage toolmdroe2009-10-273-0/+302
|
* Add a tool for determining active SVN committers.Travis Oliphant2009-10-011-0/+43
|
* Add the x86analysis.py script to check instructions set in win binaries.David Cournapeau2009-03-281-0/+161
|