Files
Leonid PershinandClaude Opus 5 e9ea6b9bab feat: generation options for infer.py, and split out training deps
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>
2026-09-08 20:31:07 +03:00

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"),
},
)