| | |
| |
|
| | from setuptools import find_packages, setup |
| |
|
| | import os |
| | import subprocess |
| | import time |
| |
|
| | version_file = 'realesrgan/version.py' |
| |
|
| |
|
| | def readme(): |
| | with open('README.md', encoding='utf-8') as f: |
| | content = f.read() |
| | return content |
| |
|
| |
|
| | def get_git_hash(): |
| |
|
| | def _minimal_ext_cmd(cmd): |
| | |
| | env = {} |
| | for k in ['SYSTEMROOT', 'PATH', 'HOME']: |
| | v = os.environ.get(k) |
| | if v is not None: |
| | env[k] = v |
| | |
| | env['LANGUAGE'] = 'C' |
| | env['LANG'] = 'C' |
| | env['LC_ALL'] = 'C' |
| | out = subprocess.Popen(cmd, stdout=subprocess.PIPE, env=env).communicate()[0] |
| | return out |
| |
|
| | try: |
| | out = _minimal_ext_cmd(['git', 'rev-parse', 'HEAD']) |
| | sha = out.strip().decode('ascii') |
| | except OSError: |
| | sha = 'unknown' |
| |
|
| | return sha |
| |
|
| |
|
| | def get_hash(): |
| | if os.path.exists('.git'): |
| | sha = get_git_hash()[:7] |
| | else: |
| | sha = 'unknown' |
| |
|
| | return sha |
| |
|
| |
|
| | def write_version_py(): |
| | content = """# GENERATED VERSION FILE |
| | # TIME: {} |
| | __version__ = '{}' |
| | __gitsha__ = '{}' |
| | version_info = ({}) |
| | """ |
| | sha = get_hash() |
| | with open('VERSION', 'r') as f: |
| | SHORT_VERSION = f.read().strip() |
| | VERSION_INFO = ', '.join([x if x.isdigit() else f'"{x}"' for x in SHORT_VERSION.split('.')]) |
| |
|
| | version_file_str = content.format(time.asctime(), SHORT_VERSION, sha, VERSION_INFO) |
| | with open(version_file, 'w') as f: |
| | f.write(version_file_str) |
| |
|
| |
|
| | def get_version(): |
| | with open(version_file, 'r') as f: |
| | exec(compile(f.read(), version_file, 'exec')) |
| | return locals()['__version__'] |
| |
|
| |
|
| | def get_requirements(filename='requirements.txt'): |
| | here = os.path.dirname(os.path.realpath(__file__)) |
| | with open(os.path.join(here, filename), 'r') as f: |
| | requires = [line.replace('\n', '') for line in f.readlines()] |
| | return requires |
| |
|
| |
|
| | if __name__ == '__main__': |
| | write_version_py() |
| | setup( |
| | name='realesrgan', |
| | version=get_version(), |
| | description='Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration', |
| | long_description=readme(), |
| | long_description_content_type='text/markdown', |
| | author='Xintao Wang', |
| | author_email='xintao.wang@outlook.com', |
| | keywords='computer vision, pytorch, image restoration, super-resolution, esrgan, real-esrgan', |
| | url='https://github.com/xinntao/Real-ESRGAN', |
| | include_package_data=True, |
| | packages=find_packages(exclude=('options', 'datasets', 'experiments', 'results', 'tb_logger', 'wandb')), |
| | classifiers=[ |
| | 'Development Status :: 4 - Beta', |
| | 'License :: OSI Approved :: Apache Software License', |
| | 'Operating System :: OS Independent', |
| | 'Programming Language :: Python :: 3', |
| | 'Programming Language :: Python :: 3.7', |
| | 'Programming Language :: Python :: 3.8', |
| | ], |
| | license='BSD-3-Clause License', |
| | setup_requires=['cython', 'numpy'], |
| | install_requires=get_requirements(), |
| | zip_safe=False) |
| |
|