analyze.py: Set `changed = True` for tweaked vibration variance
[calibcant.git] / setup.py
1 # Copyright (C) 2008-2013 W. Trevor King <wking@tremily.us>
2 #
3 # This file is part of calibcant.
4 #
5 # calibcant is free software: you can redistribute it and/or modify it under
6 # the terms of the GNU General Public License as published by the Free Software
7 # Foundation, either version 3 of the License, or (at your option) any later
8 # version.
9 #
10 # calibcant is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License along with
15 # calibcant.  If not, see <http://www.gnu.org/licenses/>.
16
17 "calibcant: tools for thermally calibrating AFM cantilevers"
18
19 from distutils.core import setup
20 from os import walk, listdir
21 import os.path
22
23 from calibcant import __version__
24
25
26 package_name = 'calibcant'
27
28 def find_packages(root=package_name):
29     packages = []
30     prefix = '.'+os.path.sep
31     for dirpath,dirnames,filenames in walk(root):
32         if '__init__.py' in filenames:
33             if dirpath.startswith(prefix):
34                 dirpath = dirpath[len(prefix):]
35             packages.append(dirpath.replace(os.path.sep, '.'))
36     return packages
37
38 packages = find_packages()
39 scripts = [os.path.join('bin', f) for f in sorted(os.listdir('bin'))]
40
41 setup(name=package_name,
42       version=__version__,
43       maintainer='W. Trevor King',
44       maintainer_email='wking@tremily.us',
45       url='http://blog.tremily.us/posts/{}/'.format(package_name),
46       download_url='http://git.tremily.us/?p={}.git;a=snapshot;h={};sf=tgz'.format(package_name, __version__),
47       license='GNU General Public License v3 (GPLv3)',
48       platforms=['all'],
49       description=__doc__,
50       long_description=open('README', 'r').read(),
51       classifiers=[
52         'Development Status :: 2 - Pre-Alpha',
53         'Intended Audience :: Developers',
54         'Intended Audience :: Science/Research',
55         'License :: OSI Approved :: GNU General Public License (GPL)',
56         'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
57         'Operating System :: POSIX',
58         'Operating System :: Unix',
59         'Programming Language :: Python',
60         'Programming Language :: Python :: 2',
61         'Programming Language :: Python :: 2.7',
62         'Topic :: Scientific/Engineering',
63         'Topic :: Software Development :: Libraries :: Python Modules',
64         ],
65       packages=packages,
66       scripts=scripts,
67       provides=['{} ({})'.format(package_name, __version__)],
68       requires=['pypiezo (>= 0.7)'],
69       )