From: W. Trevor King Date: Fri, 20 Jul 2012 19:15:42 +0000 (-0400) Subject: Initial merge with igor.py, still need to integrate code. X-Git-Tag: v0.2~24 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=058cbd20ba080331decf8b8cff2f220baaafcac6;p=igor.git Initial merge with igor.py, still need to integrate code. --- 058cbd20ba080331decf8b8cff2f220baaafcac6 diff --cc README index 6b73aae,0000000..825bc22 mode 100644,000000..100644 --- a/README +++ b/README @@@ -1,87 -1,0 +1,126 @@@ - igor: Interface for reading binary IGOR files. ++==== ++Igor ++==== + - Read Igor Binary Waves (.ibw) and ... written by WaveMetrics' IGOR - package. ++:Authors: W. Trevor King ; ++ Paul Kienzle ++: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 calibcant for another ++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 module docstrings for simple examples. ++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 + - +Licence +======= + +This project is distributed under the `GNU General Public License +Version 3`_ or greater. + ++Maintenance ++=========== + - Author - ====== ++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.py and enter:: ++ ++ $ 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/calibcant/ ++.. _homepage: http://blog.tremily.us/posts/igor/ ++.. _pip: http://pypi.python.org/pypi/pip ++.. _igor.py: http://pypi.python.org/pypi/igor.py +.. _GNU General Public License Version 3: http://www.gnu.org/licenses/gpl.txt diff --cc igor/igorpy.py index 0000000,f68c7fc..f68c7fc mode 000000,100644..100644 --- a/igor/igorpy.py +++ b/igor/igorpy.py diff --cc setup.py index 446771e,f8c7cf9..a01a3cf mode 100644,100755..100644 --- a/setup.py +++ b/setup.py @@@ -1,41 -1,36 +1,43 @@@ -#!/usr/bin/env python -import sys +# Copyright + +"igor: interface for reading binary IGOR files." + from distutils.core import setup -import igor +import os.path -if len(sys.argv) == 1: - sys.argv.append('install') +from igor import __version__ -# README.rst is only needed to upload the package; -# it isn't needed for download and install. -try: - long_description = open('README.rst').read() -except: - long_description = None -dist = setup( - name = 'igor.py', - version = igor.__version__, - author='Paul Kienzle', - author_email='paul.kienzle@nist.gov', - url='https://github.com/reflectometry/igor.py', - description='Read Igor Pro files from python', - long_description=long_description, - classifiers=[ - 'Development Status :: 4 - Beta', - 'Environment :: Console', - 'Intended Audience :: Science/Research', - 'License :: Public Domain', - 'Operating System :: OS Independent', - 'Programming Language :: Python', - ], - py_modules = ['igor'], - #data_files = ['README.rst'], -) -# End of file +package_name = 'igor' +_this_dir = os.path.dirname(__file__) +setup(name=package_name, + version=__version__, + maintainer='W. Trevor King', + maintainer_email='wking@tremily.us', + url='http://blog.tremily.us/posts/%s/'.format(package_name), + download_url='http://git.tremily.us/?p={}.git;a=snapshot;h=v{};sf=tgz'.format(package_name, __version__), + license='GNU General Public License (GPL)', + platforms=['all'], + description=__doc__, + long_description=open(os.path.join(_this_dir, 'README'), 'r').read(), + classifiers=[ + 'Development Status :: 2 - Pre-Alpha', ++ 'Environment :: Console', + 'Intended Audience :: Developers', ++ 'Intended Audience :: Science/Research', + 'Operating System :: OS Independent', + 'License :: OSI Approved :: GNU General Public License (GPL)', + 'Programming Language :: Python', + 'Topic :: Scientific/Engineering', + 'Topic :: Software Development :: Libraries :: Python Modules', + ], + packages=[ + 'igor', + 'igor.record', + ], + scripts=[ + 'bin/igorbinarywave.py', + ], + provides=['igor (%s)' % __version__], + )