From 7e8c5f1a0fe035571e455b451a9175a82ee8e708 Mon Sep 17 00:00:00 2001 From: Elias Wahl <82230675+Eliulm@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:55:45 +0100 Subject: [PATCH] Modernize setup.py (#2187) * Added pyproject.toml * Pin onnx --- pyproject.toml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 57 +------------------------------------- 2 files changed, 75 insertions(+), 56 deletions(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000..c91128c13e --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,74 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + + +[project] +name = 'tinygrad' +version = '0.7.0' +description = 'You like pytorch? You like micrograd? You love tinygrad! <3' +authors = [{name = 'George Hotz'}] +license = {text = 'MIT'} +readme = 'README.md' +requires-python = '>=3.8' +classifiers = [ + 'Programming Language :: Python :: 3', + 'License :: OSI Approved :: MIT License' +] + +dependencies= [ + "numpy", + "requests", + "pillow", + "tqdm", + "networkx", + "pyopencl", + "PyYAML", + "pyobjc-framework-Metal; platform_system=='Darwin'", + "pyobjc-framework-Cocoa; platform_system=='Darwin'", + "pyobjc-framework-libdispatch; platform_system=='Darwin'", +] + +[project.optional-dependencies] +llvm = ["llvmlite"] +cuda = ["pycuda"] +arm = ["unicorn"] +triton = ["triton-nightly>=2.1.0.dev20231014192330", "pycuda"] +webgpu = ["wgpu"] +linting = [ + "flake8", + "pylint", + "mypy", + "typing-extensions", + "pre-commit", + "ruff", + "types-PyYAML", + "types-tqdm" +] +testing = [ + "torch", + "pytest", + "pytest-xdist", + "onnx==1.14.1", + "onnx2torch", + "opencv-python", + "tabulate", + "safetensors", + "cloudpickle", + "transformers", + "sentencepiece", + "tiktoken", + "librosa" +] + +[tool.setuptools] +include-package-data = true +packages = [ + 'tinygrad', + 'tinygrad.codegen', + 'tinygrad.nn', + 'tinygrad.renderer', + 'tinygrad.runtime', + 'tinygrad.shape', + 'tinygrad.features' +] diff --git a/setup.py b/setup.py index 7d86355eaa..77c3c37ee8 100644 --- a/setup.py +++ b/setup.py @@ -1,59 +1,4 @@ #!/usr/bin/env python3 - -from pathlib import Path from setuptools import setup -directory = Path(__file__).resolve().parent -with open(directory / 'README.md', encoding='utf-8') as f: - long_description = f.read() - -setup(name='tinygrad', - version='0.7.0', - description='You like pytorch? You like micrograd? You love tinygrad! <3', - author='George Hotz', - license='MIT', - long_description=long_description, - long_description_content_type='text/markdown', - packages = ['tinygrad', 'tinygrad.codegen', 'tinygrad.nn', 'tinygrad.renderer', 'tinygrad.runtime', 'tinygrad.shape', 'tinygrad.features'], - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License" - ], - install_requires=["numpy", "requests", "pillow", "tqdm", "networkx", "pyopencl", "PyYAML", - "pyobjc-framework-Metal; platform_system=='Darwin'", - "pyobjc-framework-Cocoa; platform_system=='Darwin'", - "pyobjc-framework-libdispatch; platform_system=='Darwin'"], - python_requires='>=3.8', - extras_require={ - 'llvm': ["llvmlite"], - 'cuda': ["pycuda"], - 'arm': ["unicorn"], - 'triton': ["triton-nightly>=2.1.0.dev20231014192330", "pycuda"], - 'webgpu': ["wgpu"], - 'linting': [ - "flake8", - "pylint", - "mypy", - "typing-extensions", - "pre-commit", - "ruff", - "types-PyYAML", - "types-tqdm", - ], - 'testing': [ - "torch", - "pytest", - "pytest-xdist", - "onnx", - "onnx2torch", - "opencv-python", - "tabulate", - "safetensors", - "cloudpickle", - "transformers", - "sentencepiece", - "tiktoken", - "librosa", - ] - }, - include_package_data=True) +setup() # Keep for backwards compatibility