README 3.43 KB
Newer Older
1
2
3
====
Igor
====
4

5
6
7
8
9
10
: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.
11
12
13
14
15
16
17

Installation
============

Packages
--------

18
19
20
If `igor` already exists in your package manager's repository, you
should install `igor` in the usual way.

21
22
23
24
25
26
27
28
29
30
31
32
33
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
------------

34
If you're installing by hand or packaging `igor` for another
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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

57
You can also automate this installation with pip_::
58
59

    $ pip install igor
60
61
62
63

Usage
=====

64
65
66
67
68
69
70
71
72
73
74
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
75

76
77
78
79
80
to::

  import igor.igorpy as igor

in your calling code.
81
82
83
84
85
86

Testing
=======

Run internal unit tests with::

87
    $ nosetests --with-doctest --doctest-tests igor test
88

89
90
91
92
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.

93
94
95
Licence
=======

96
97
98
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.
99

100
101
Maintenance
===========
102

103
Maintainer
104
----------
105
106
107
108
109

W. Trevor King
wking@tremily.us
Copyright 2008-2012

110
Release procedure
111
-----------------
112
113

When a new version of the package is ready, increment __version__
114
115
116
117
118
in ``igor/__init__.py`` and run update-copyright_::

    $ update-copyright.py

to update the copyright blurbs.  Then run::
119
120
121

    $ python setup.py sdist upload

122
123
This will place a new version on PyPI.

124
125
126
127
128
129
130
131
132

.. _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/
133
134
135
.. _homepage: http://blog.tremily.us/posts/igor/
.. _pip: http://pypi.python.org/pypi/pip
.. _igor.py: http://pypi.python.org/pypi/igor.py
136
137
.. _GNU Lesser General Public License Version 3:
    http://www.gnu.org/licenses/lgpl.txt
138
.. _update-copyright: http://blog.tremily.us/posts/update-copyright/