forked from mjhydri/BeatNet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
84 lines (65 loc) · 1.83 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
"""
Created 07-01-21 by Mojtaba Heydari <mheydari@ur.rochester.edu>
"""
# Local imports
# None.
# Third party imports
# None.
# Python standard library imports
import setuptools
from setuptools import find_packages
import distutils.cmd
# Required packages
REQUIRED_PACKAGES = [
'numpy',
'cython',
'librosa>=0.10.1',
'numba>=0.58.1',
'scipy',
'mido>=1.2.6',
'pytest',
#'pyaudio',
##'pyfftw',
'madmom',
'torch',
'Matplotlib',
]
class MakeReqsCommand(distutils.cmd.Command):
"""A custom command to export requirements to a requirements.txt file."""
description = 'Export requirements to a requirements.txt file.'
user_options = []
def initialize_options(self):
"""Set default values for options."""
pass
def finalize_options(self):
"""Post-process options."""
pass
def run(self):
"""Run command."""
with open('./requirements.txt', 'w') as f:
for req in REQUIRED_PACKAGES:
f.write(req)
f.write('\n')
setuptools.setup(
cmdclass={
'make_reqs': MakeReqsCommand
},
# Package details
name="BeatNet",
version="1.1.3",
package_dir={"": "src"},
packages=find_packages(where="src"),
# packages=find_packages(),
include_package_data=True,
install_requires=REQUIRED_PACKAGES,
# Metadata to display on PyPI
author="Mojtaba Heydari",
author_email="mheydari@ur.rochester.edu",
description="A package for Real-time and offline music beat, downbeat tempo and meter tracking using BeatNet AI",
keywords="Beat tracking, Downbeat tracking, meter detection, tempo tracking, particle filtering, real-time beat, real-time tempo",
url="https://github.com/mjhydri/BeatNet"
# CLI - not developed yet
#entry_points = {
# 'console_scripts': ['beatnet=beatnet.cli:main']
#}
)