import platform import setuptools with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() # Build extras_requires based on platform def build_additional_requires(): py_version = platform.python_version()[0:3].replace('.', "") if platform.system() == "Linux" and platform.machine() == "x86_64": additional_requires=[ f"speexdsp_ns @ https://github.com/dscripka/openWakeWord/releases/download/v0.1.1/speexdsp_ns-0.1.2-cp{py_version}-cp{py_version}-linux_x86_64.whl", ] elif platform.system() == "Linux" and platform.machine() == "aarch64": additional_requires=[ f"speexdsp_ns @ https://github.com/dscripka/openWakeWord/releases/download/v0.1.1/speexdsp_ns-0.1.2-cp{py_version}-cp{py_version}-linux_aarch64.whl", ], elif platform.system() == "Windows" and platform.machine() == "x86_64": additional_requires=[ 'PyAudioWPatch' ] else: additional_requires = [] return additional_requires setuptools.setup( name="openwakeword", version="0.5.1", install_requires=[ 'onnxruntime>=1.10.0,<2', 'tflite-runtime>=2.8.0,<3; platform_system == "Linux"', 'tqdm>=4.0,<5.0', 'scipy>=1.3,<2', 'scikit-learn>=1,<2', 'requests>=2.0,<3', ], extras_require={ 'test': [ 'pytest>=7.2.0,<8', 'pytest-cov>=2.10.1,<3', 'pytest-flake8>=1.1.1,<2', 'flake8>=4.0,<4.1', 'pytest-mypy>=0.10.0,<1', 'types-requests', 'types-PyYAML', 'mock>=5.1,<6', 'types-mock>=5.1,<6', 'types-requests>=2.0,<3' ], 'full': [ 'mutagen>=1.46.0,<2', 'torch>=1.13.1,<2', 'torchaudio>=0.13.1,<1', 'torchinfo>=1.8.0,<2', 'torchmetrics>=0.11.4,<1', 'speechbrain>=0.5.14,<1', 'audiomentations>=0.30.0,<1', 'torch-audiomentations>=0.11.0,<1', 'tqdm>=4.64.0,<5', 'pytest>=7.2.0,<8', 'pytest-cov>=2.10.1,<3', 'pytest-flake8>=1.1.1,<2', 'pytest-mypy>=0.10.0,<1', 'acoustics>=0.2.6,<1', 'pyyaml>=6.0,<7', 'tensorflow==2.8.1', 'tensorflow_probability==0.16.0', 'protobuf>=3.20,<4', 'onnx_tf==1.10.0', 'onnx==1.14.0', 'pronouncing>=0.2.0,<1', 'datasets>=2.14.4,<3', 'deep-phonemizer==0.0.19' ] }, author="David Scripka", author_email="david.scripka@gmail.com", description="An open-source audio wake word (or phrase) detection framework with a focus on performance and simplicity", long_description=long_description, long_description_content_type="text/markdown", url="https://pypi.org/project/openwakeword", project_urls={ "Bug Tracker": "https://pypi.org/project/openwakeword/issues", }, classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache 2.0 License", "Operating System :: OS Independent", ], packages=setuptools.find_packages(), include_package_data=True, python_requires=">=3.7", )