source: setup.py @ 0b9e3b8a

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5
Last change on this file since 0b9e3b8a was bc1ed63, checked in by Paul Brossier <piem@piem.org>, 6 years ago

[py] [style] improve setup.py

  • Property mode set to 100755
File size: 2.8 KB
RevLine 
[9aa0af3]1#! /usr/bin/env python
[c71e405]2
[bc1ed63]3import sys
4import os.path
5import glob
[1167631]6from setuptools import setup, Extension
[2410f57a]7
8# add ./python/lib to current path
[bc1ed63]9sys.path.append(os.path.join('python', 'lib'))  # noqa
[2410f57a]10from moresetuptools import build_ext, CleanGenerated
11
[1167631]12# function to generate gen/*.{c,h}
[b991cc1]13from this_version import get_aubio_version, get_aubio_pyversion
[012b324]14
[38f3d04]15__version__ = get_aubio_pyversion()
16__aubio_version__ = get_aubio_version()
[945e26d]17
[41399bd]18include_dirs = []
19library_dirs = []
[38f3d04]20define_macros = [('AUBIO_VERSION', '%s' % __aubio_version__)]
[4d3b573]21extra_link_args = []
[012b324]22
[bc1ed63]23include_dirs += ['python/ext']
[5f6324e]24try:
25    import numpy
[bc1ed63]26    include_dirs += [numpy.get_include()]
[5f6324e]27except ImportError:
28    pass
[ad5203c]29
[4d3b573]30if sys.platform.startswith('darwin'):
[bc1ed63]31    extra_link_args += ['-framework', 'CoreFoundation',
32            '-framework', 'AudioToolbox']
[4d3b573]33
[2e40231]34sources = sorted(glob.glob(os.path.join('python', 'ext', '*.c')))
[2675227]35
36aubio_extension = Extension("aubio._aubio",
37    sources,
[4d3b573]38    include_dirs = include_dirs,
39    library_dirs = library_dirs,
40    extra_link_args = extra_link_args,
[2675227]41    define_macros = define_macros)
42
[bc1ed63]43# TODO: find a way to track if package is built against libaubio
44# if os.path.isfile('src/aubio.h'):
45#     if not os.path.isdir(os.path.join('build','src')):
46#         pass
47#         #__version__ += 'a2' # python only version
[2675227]48
[945e26d]49classifiers = [
[4d3b573]50    'Development Status :: 4 - Beta',
51    'Environment :: Console',
52    'Intended Audience :: Science/Research',
53    'Topic :: Software Development :: Libraries',
54    'Topic :: Multimedia :: Sound/Audio :: Analysis',
55    'Topic :: Multimedia :: Sound/Audio :: Sound Synthesis',
56    'Operating System :: POSIX',
57    'Operating System :: MacOS :: MacOS X',
58    'Operating System :: Microsoft :: Windows',
59    'Programming Language :: C',
60    'Programming Language :: Python',
[bc1ed63]61    'License :: OSI Approved :: '
62    'GNU General Public License v3 or later (GPLv3+)',
[4d3b573]63    ]
[012b324]64
[945e26d]65distrib = setup(name='aubio',
[38f3d04]66    version = __version__,
[4d3b573]67    packages = ['aubio'],
[bc1ed63]68    package_dir = {'aubio': 'python/lib/aubio'},
[4d3b573]69    ext_modules = [aubio_extension],
[dc1fbc6]70    description = 'a collection of tools for music analysis',
71    long_description = 'a collection of tools for music analysis',
[4d3b573]72    license = 'GNU/GPL version 3',
73    author = 'Paul Brossier',
74    author_email = 'piem@aubio.org',
75    maintainer = 'Paul Brossier',
76    maintainer_email = 'piem@aubio.org',
[0f425aa]77    url = 'https://aubio.org/',
[4d3b573]78    platforms = 'any',
79    classifiers = classifiers,
[16f8dcc]80    install_requires = ['numpy'],
[6264d30]81    setup_requires = ['numpy'],
[a89ed31]82    cmdclass = {
83        'clean': CleanGenerated,
[b1d37c0]84        'build_ext': build_ext,
[1167631]85        },
[8e2f36a]86    entry_points = {
87        'console_scripts': [
88            'aubio = aubio.cmd:main',
89            'aubiocut = aubio.cut:main',
90        ],
91    },
[1167631]92    test_suite = 'nose2.collector.collector',
[6264d30]93    extras_require = {
94        'tests': ['numpy'],
95        },
[4d3b573]96    )
Note: See TracBrowser for help on using the repository browser.