"""setup.py for axolotl""" | |
from setuptools import find_packages, setup | |
def parse_requirements(): | |
_install_requires = [] | |
_dependency_links = [] | |
with open("./requirements.txt", encoding="utf-8") as requirements_file: | |
lines = [r.strip() for r in requirements_file.readlines()] | |
for line in lines: | |
if line.startswith("--extra-index-url"): | |
# Handle custom index URLs | |
_, url = line.split() | |
_dependency_links.append(url) | |
elif ( | |
"flash-attn" not in line | |
and "deepspeed" not in line | |
and line | |
and line[0] != "#" | |
): | |
# Handle standard packages | |
_install_requires.append(line) | |
return _install_requires, _dependency_links | |
install_requires, dependency_links = parse_requirements() | |
setup( | |
name="axolotl", | |
version="0.3.0", | |
description="LLM Trainer", | |
long_description="Axolotl is a tool designed to streamline the fine-tuning of various AI models, offering support for multiple configurations and architectures.", | |
package_dir={"": "src"}, | |
packages=find_packages(), | |
install_requires=install_requires, | |
dependency_links=dependency_links, | |
extras_require={ | |
"flash-attn": [ | |
"flash-attn>=2.2.1", | |
], | |
"deepspeed": [ | |
"deepspeed", | |
], | |
}, | |
) | |