From: W. Trevor King Date: Sat, 4 Oct 2008 14:08:58 +0000 (-0400) Subject: Setup package for setuptools distribution. X-Git-Tag: v0.2~3 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8554440598fd712affeff12e325bb13396e9b6e8;p=stepper.git Setup package for setuptools distribution. --- diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..093c511 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +all : dummy_py + +dummy_py : setup.py FFT_tools.py + python setup.py install --home=~ + echo "dummy for Makefile dependencies" > $@ + +check : all + python FFT_tools.py + +clean : + python setup.py clean + rm -rf build dist FFT_tools.egg-info + rm -f dummy_py *.pyc + diff --git a/README b/README new file mode 100644 index 0000000..f634e53 --- /dev/null +++ b/README @@ -0,0 +1,53 @@ +This package wraps Numpy's fft module to produce unitary transforms +and power spectra of real numbers in one dimension. See the code for +the technical details. + + +== Installation == + +Non-Python dependencies (Debian packagename): + easy_install (python-setuptools) + Numpy source (python-numpy-dev) + +FFT_tools uses `setuptools' for installation. Setuptools is basically +an extension of the standard Python distutils package which supports +automatic package dependency tracking. The installation procedure +should be (on Debian-esque systems) + # apt-get intall python-setuptools python-numpy-dev + # easy_install -f http://www.physics.drexel.edu/~wking/code/python/ FFT_tools + +There is one speedbump you might run into: + * an outdated version of easy_install (see ez_setup.py section) + +** ez_setup.py + +This package bundles + http://peak.telecommunity.com/dist/ez_setup.py +to bootstrap setuputils installation on your machine (if neccessary). + +If the bootstrapping doesn't work, you may need to install a current version +of setuptools. On Debian-based systems `apt-get install python-setuptools'. +Once you have *some* version of setuptools, upgrade with + easy_install -U setuptools + +For more information see + http://peak.telecommunity.com/DevCenter/EasyInstall + http://peak.telecommunity.com/DevCenter/setuptools#what-your-users-should-know + + +== Usage == + +See the tests in FFT_tools.py for simple examples. + + +== Licence == + +This project is distributed under the Python Software Foundation License. +http://www.python.org/psf/license/ + + +== Author == + +W. Trevor King +wking@drexel.edu +Copyright 2007, 2008 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..e0e12b8 --- /dev/null +++ b/setup.py @@ -0,0 +1,57 @@ +"""FFT_tools: unitary FFTs and power spectra for real data. + +This pacakage mostly consists of normalizing wrappers around Numpy.fft.rttf() +and a large suite of tests and checks to verify proper function. +Requires + * Numpy (http://numpy.scipy.org/) +""" + +classifiers = """\ +Development Status :: 2 - Pre-Alpha +Intended Audience :: Developers +Intended Audience :: Science/Research +Operating System :: POSIX +Operating System :: Unix +License :: OSI Approved :: Python Software Foundation License +Programming Language :: Python +Topic :: Scientific/Engineering +Topic :: Software Development :: Libraries :: Python Modules +""" + +# http://peak.telecommunity.com/DevCenter/setuptools#using-setuptools-without-bundling-it +import ez_setup +ez_setup.use_setuptools() + +from setuptools import setup, find_packages + +# patch distutils if it can't cope with the "classifiers" or +# "download_url" keywords +from sys import version +if version < '2.2.3': + from distutils.dist import DistributionMetadata + DistributionMetadata.classifiers = None + DistributionMetadata.download_url = None + +doclines = __doc__.split("\n") + +setup(name="FFT_tools", + version="0.1", + maintainer="W. Trevor King", + maintainer_email="wking@drexel.edu", + url = "http://www.physics.drexel.edu/~wking/code/python/", + download_url = "http://www.physics.drexel.edu/~wking/code/python/FFT_tools-0.1.tar.gz", + license = "http://www.python.org/psf/license/", + platforms = ["all"], + description = doclines[0], + long_description = "\n".join(doclines[2:]), + classifiers = filter(None, classifiers.split("\n")), + py_modules = ['FFT_tools', 'ez_setup'], + #packages = find_packages(), + ) + +# use packages to include subdirectory packages +# use py_modules to include single-module packages +# use ext_modules to include extension modules +# see +# http://www.python.org/doc/2.5.2/dist/listing-modules.html +# http://www.python.org/doc/2.5.2/dist/describing-extensions.html