infer.py could only render a random example from examples/input_params: there was no way to pass your own prompt, lyrics, duration or seed, so using it for anything specific meant writing a separate script. Add --prompt, --lyrics/--lyrics_file, --duration, --steps, --guidance_scale, --scheduler, --cfg_type, --omega_scale, --seed and --format alongside the existing runtime flags. Without --prompt the old random-example behaviour is kept, so existing invocations are unaffected. Also move the training-only packages out of the default install. datasets, pytorch_lightning, matplotlib, tensorboard and tensorboardX are imported by trainer.py and convert2hf_dataset.py, never on the inference path, but every user was installing them — and datasets==3.4.1 is a hard pin that drags constraints onto huggingface-hub. They now live in requirements-train.txt behind the existing (previously ineffective) "train" extra: pip install -e ".[train]". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
from setuptools import setup, find_namespace_packages
|
|
|
|
|
|
def read_requirements(path):
|
|
"""Read a requirements file, skipping comments and blank lines."""
|
|
with open(path, encoding="utf-8") as f:
|
|
return [
|
|
line.strip()
|
|
for line in f
|
|
if line.strip() and not line.lstrip().startswith("#")
|
|
]
|
|
|
|
|
|
setup(
|
|
name="ace_step",
|
|
description="ACE Step: A Step Towards Music Generation Foundation Model",
|
|
long_description=open("README.md", encoding="utf-8").read(),
|
|
long_description_content_type="text/markdown",
|
|
version="0.2.0",
|
|
packages=find_namespace_packages(),
|
|
install_requires=read_requirements("requirements.txt"),
|
|
author="ACE Studio, StepFun AI",
|
|
license="Apache 2.0",
|
|
classifiers=[
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
],
|
|
entry_points={
|
|
"console_scripts": [
|
|
"acestep=acestep.gui:main",
|
|
],
|
|
},
|
|
include_package_data=True, # Ensure this is set to True
|
|
package_data={
|
|
"acestep.models.lyrics_utils": ["vocab.json"], # Specify the relative path to vocab.json
|
|
},
|
|
extras_require={
|
|
# Only needed to train or fine-tune; inference does not import these.
|
|
"train": read_requirements("requirements-train.txt"),
|
|
},
|
|
)
|