1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
====
Igor
====
:Authors: W. Trevor King <wking@tremily.us>;
Paul Kienzle <paul.kienzle@nist.gov>
:License: GNU General Public License, version 3+
Python parsers for Igor Binary Waves (.ibw) and Packed Experiment
(.pxp) files written by WaveMetrics' IGOR Pro software.
Installation
============
Packages
--------
If `igor` already exists in your package manager's repository, you
should install `igor` in the usual way.
Gentoo
~~~~~~
I've packaged `igor` for Gentoo. You need layman_ and my `wtk
overlay`_. Install with::
# emerge -av app-portage/layman
# layman --add wtk
# emerge -av sci-misc/igor
Dependencies
------------
If you're installing by hand or packaging `igor` for another
distribution, you'll need the following dependencies:
=========== ================= ============================
Package Debian_ Gentoo_
=========== ================= ============================
Numpy_ python-numpy dev-python/numpy
Matplotlib_ python-matplotlib dev-python/matplotlib
Nose_ python-nose dev-python/nose
=========== ================= ============================
Installing by hand
------------------
`igor` is available as a Git_ repository::
$ git clone git://tremily.us/igor.git
See the homepage_ for details. To install the checkout, run the
standard::
$ python setup.py install
You can also automate this installation with pip_::
$ pip install igor
Usage
=====
See the docstrings and unit tests for examples using the Python API.
The package also installs to scripts, ``igorbinarywave.py`` and
``igorpackedexperiment.py`` which can be used to dump files to stdout.
For details on their usage, use the ``--help`` option. For example::
$ igorbinarywave.py --help
For users transitioning from igor.py_, there's a compatibility module
exposing the old interface. Just change::
import igor
to::
import igor.igorpy as igor
in your calling code.
Testing
=======
Run internal unit tests with::
$ nosetests --with-doctest --doctest-tests igor test
The data in the ``test/data`` directory is in the Git repository, but
it is not bundled with the source code. If you want the test data,
you'll have to clone the Git repository or download a snapshot.
Licence
=======
This project is distributed under the `GNU Lesser General Public
License Version 3`_ or greater, see the ``COPYING`` file distributed
with the project for details.
Maintenance
===========
Maintainer
----------
W. Trevor King
wking@tremily.us
Copyright 2008-2012
Release procedure
-----------------
When a new version of the package is ready, increment __version__
in ``igor/__init__.py`` and run update-copyright_::
$ update-copyright.py
to update the copyright blurbs. Then run::
$ python setup.py sdist upload
This will place a new version on PyPI.
.. _layman: http://layman.sourceforge.net/
.. _wtk overlay: http://blog.tremily.us/posts/Gentoo_overlay/
.. _Debian: http://www.debian.org/
.. _Gentoo: http://www.gentoo.org/
.. _NumPy: http://numpy.scipy.org/
.. _Matplotlib: http://matplotlib.sourceforge.net/
.. _Nose: http://somethingaboutorange.com/mrl/projects/nose/
.. _Git: http://git-scm.com/
.. _homepage: http://blog.tremily.us/posts/igor/
.. _pip: http://pypi.python.org/pypi/pip
.. _igor.py: http://pypi.python.org/pypi/igor.py
.. _GNU Lesser General Public License Version 3:
http://www.gnu.org/licenses/lgpl.txt
.. _update-copyright: http://blog.tremily.us/posts/update-copyright/
|