Setup package for setuptools distribution.
authorW. Trevor King <wking@drexel.edu>
Sat, 4 Oct 2008 14:08:58 +0000 (10:08 -0400)
committerW. Trevor King <wking@drexel.edu>
Sat, 4 Oct 2008 14:08:58 +0000 (10:08 -0400)
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
setup.py [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
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 (file)
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 (file)
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