1 # Copyright (C) 2008-2013 W. Trevor King <wking@tremily.us>
3 # This file is part of calibcant.
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
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.
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/>.
17 "calibcant: tools for thermally calibrating AFM cantilevers"
19 from distutils.core import setup
20 from os import walk, listdir
23 from calibcant import __version__
26 package_name = 'calibcant'
28 def find_packages(root=package_name):
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, '.'))
38 packages = find_packages()
39 scripts = [os.path.join('bin', f) for f in sorted(os.listdir('bin'))]
41 setup(name=package_name,
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)',
50 long_description=open('README', 'r').read(),
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',
67 provides=['{} ({})'.format(package_name, __version__)],
68 requires=['pypiezo (>= 0.7)'],