packaging/windows/build_pypi_pkg_download_proxy/setup.py (66 lines of code) (raw):

import sys import subprocess import setuptools.command.install from setuptools import find_packages, setup import wheel.bdist_wheel pkg_name = "torch" pkg_ver = "{{GENERATE_TORCH_PKG_VER}}" torch_download_url = "https://download.pytorch.org/whl/torch_stable.html" python_min_version = (3, 6, 1) python_min_version_str = '.'.join((str(num) for num in python_min_version)) install_requires = [ 'pip', ] class install_torch(setuptools.command.install.install): def run(self): if sys.platform == 'win32' and sys.maxsize.bit_length() == 31: raise UserWarning("We don't support Python x86." \ "Please install Python x64 instead.") raise UserWarning( f"Can not download torch binary from {torch_download_url}." \ f"Please visit {torch_download_url} for more details." ) class bdist_wheel(wheel.bdist_wheel.bdist_wheel): def run(self): if sys.platform == 'win32' and sys.maxsize.bit_length() != 31: subprocess.check_call( [sys.executable, '-m', 'pip', 'download', f'{pkg_name}==={pkg_ver}', '-f', torch_download_url, '--platform', 'win_amd64', '--only-binary=:all:', '--no-deps', '-d', self.dist_dir]) else: raise UserWarning("Cannot find a binary package of PyTorch for your Python environment.") setup( name=pkg_name, version=pkg_ver, description=("Tensors and Dynamic neural networks in " "Python with strong GPU acceleration"), cmdclass={ 'bdist_wheel': bdist_wheel, 'install': install_torch, }, packages=find_packages(), url='https://pytorch.org/', download_url='https://github.com/pytorch/pytorch/tags', author='PyTorch Team', author_email='packages@pytorch.org', python_requires='>={}'.format(python_min_version_str), install_requires=install_requires, # PyPI package information. classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: BSD License', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Artificial Intelligence', 'Topic :: Software Development', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', 'Programming Language :: C++', 'Programming Language :: Python :: 3', ], license='BSD-3', keywords='pytorch machine learning', )