diff --git a/README.md b/README.md index 78ca363..59ea0be 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,18 @@ This package provides the command line interface and development kit for use wit The miner code is available [here](https://github.com/rayonlabs/chutes-miner), and validator/API code [here](https://github.com/rayonlabs/chutes-api). +## 📦 Installation + +First, install uv (if you don't have it): +```bash +curl -LsSf https://astral.sh/uv/install.sh | sh +``` + +Then run the CLI directly from GitHub: +```bash +uv tool install git+https://github.com/chutesai/chutes +``` + ## 📚 Glossary Before getting into the weeds, it might be useful to understand the terminology. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..f03a0c4 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,64 @@ +[build-system] +requires = ["setuptools>=75", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "chutes" +version = "0.6.6" +description = "Chutes development kit and CLI." +readme = "README.md" +license = "MIT" +requires-python = ">=3.10" +authors = [ + { name = "Jon Durbin" }, +] +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3.10", +] +dependencies = [ + "aiohttp[speedups]>=3.10,<4", + "backoff>=2.2,<3", + "requests>=2.32", + "loguru>=0.7.2", + "fastapi>=0.110", + "uvicorn>=0.32.0,<0.39", + "hypercorn[h2]>=0.16,<0.18", + "pydantic>=2.9,<3", + "orjson>=3.10", + "setuptools>=0.75", + "substrate-interface>=1.7.11", + "rich>=13.0.0", + "typer>=0.12.5", + "graval>=0.2.6", + "prometheus-client>=0.21.0", + "cryptography", + "psutil", + "pyjwt>=2.10.1", + "netifaces", + "pyudev", + "aiofiles>=23", + "semver", + "huggingface_hub", + "hf_transfer", + "setproctitle", + "cllmv==0.1.3", +] + +[project.optional-dependencies] +dev = ["black", "flake8", "wheel", "pytest"] + +[project.scripts] +chutes = "chutes.cli:app" + +[project.urls] +Homepage = "https://github.com/rayonlabs/chutes" + +[tool.setuptools.packages.find] +include = ["chutes*"] + +[tool.setuptools.package-data] +chutes = ["*.so", "cfsv", "cfsv_v2", "cfsv_v3", "cfsv_v4"] +"chutes.envdump" = ["*.so"] diff --git a/setup.py b/setup.py deleted file mode 100644 index 0074228..0000000 --- a/setup.py +++ /dev/null @@ -1,80 +0,0 @@ -# NOTE: Should replace with a pyproject.toml -import os -import sys -from setuptools import setup, find_packages - -# Load full readme. -with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), "README.md")) as infile: - long_description = infile.read() - -# Load version. -here = os.path.abspath(os.path.dirname(__file__)) -sys.path.append(os.path.join(here, "chutes")) -import _version # noqa - -version = _version.version - -setup( - name="chutes", - version=version, - description="Chutes development kit and CLI.", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/rayonlabs/chutes", - author="Jon Durbin", - license_expression="MIT", - packages=find_packages(), - include_package_data=True, - package_data={ - "chutes": [ - "*.so", - "cfsv", - "cfsv_v2", - "cfsv_v3", - "cfsv_v4", - ], - "chutes.envdump": ["*.so"], - }, - install_requires=[ - "aiohttp[speedups]>=3.10,<4", - "backoff>=2.2,<3", - "requests>=2.32", - "loguru>=0.7.2", - "fastapi>=0.110", - "uvicorn>=0.32.0,<0.39", - "hypercorn[h2]>=0.16,<0.18", - "pydantic>=2.9,<3", - "orjson>=3.10", - "setuptools>=0.75", - "substrate-interface>=1.7.11", - "rich>=13.0.0", - "typer>=0.12.5", - "graval>=0.2.6", - "prometheus-client>=0.21.0", - "cryptography", - "psutil", - "pyjwt>=2.10.1", - "netifaces", - "pyudev", - "aiofiles>=23", - "semver", - "huggingface_hub", - "hf_transfer", - "setproctitle", - "cllmv==0.1.3", - ], - extras_require={ - "dev": ["black", "flake8", "wheel", "pytest"], - }, - classifiers=[ - "Development Status :: 3 - Alpha", - "Intended Audience :: Developers", - "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 3.10", - ], - entry_points={ - "console_scripts": [ - "chutes=chutes.cli:app", - ], - }, -)