# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import glob import os import setuptools from setuptools.command.install import install from setuptools.command.test import test # set the version here VERSION = '0.2.0' # Inspired by the example at https://pytest.org/latest/goodpractises.html class TestCommand(test): def finalize_options(self): test.finalize_options(self) self.test_args = [] self.test_suite = True def run(self): self.run_benchmark() super(TestCommand, self).run() def run_tests(self): # Run nose ensuring that argv simulates running nosetests directly import nose nose.run_exit(argv=['nosetests', '-w', 'tests']) def run_benchmark(self): for benchmark_item in glob.glob('tests/benchmark/*py'): os.system(f'pytest {benchmark_item}') class InstallCommand(install): def run(self): install.run(self) def write_version_py(filename='paddleaudio/__init__.py'): import paddleaudio if hasattr(paddleaudio, "__version__") and paddleaudio.__version__ == VERSION: return with open(filename, "a") as f: f.write(f"__version__ = '{VERSION}'") def remove_version_py(filename='paddleaudio/__init__.py'): with open(filename, "r") as f: lines = f.readlines() with open(filename, "w") as f: for line in lines: if "__version__" not in line: f.write(line) write_version_py() setuptools.setup( name="paddleaudio", version=VERSION, author="", author_email="", description="PaddleAudio, in development", long_description="", long_description_content_type="text/markdown", url="", packages=setuptools.find_packages(include=['paddleaudio*']), classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], python_requires='>=3.6', install_requires=[ 'numpy >= 1.15.0', 'scipy >= 1.0.0', 'resampy >= 0.2.2', 'soundfile >= 0.9.0', 'colorlog', 'dtaidistance >= 2.3.6', 'mcd >= 0.4', ], setup_requires=[ 'nose', 'librosa==0.8.1', 'soundfile==0.10.3.post1', 'torchaudio==0.10.2', 'pytest-benchmark' ], cmdclass={ 'install': InstallCommand, 'test': TestCommand, }, ) remove_version_py()