CTsGAN / setup.py
Sid51's picture
CTsGAN app
3ccac06
#!/usr/bin/env python
from setuptools import find_packages, setup
import os
import subprocess
import time
version_file = 'ctsgan/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):
#construct minimal environment
env = {}
for k in ['SYSTEMROOT', 'PATH', 'HOME']:
v = os.environ.get(k)
if v is not None:
env[k] = v
#LANGUAGE is used on win32
env['LANGUGAGE'] = '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 = 'ctsgan',
version = get_version(),
description = 'CTSGAN aims at enhancing the quality of output from portable CT Scanners',
long_description=readme(),
long_description_content_type = 'text/markdown',
author='Sidhved Warik',
author_email='sidhved.warik@gmail.com',
keywords='computer vision, GANs, Generative Adversarial Networks, CT Scan, CTSGAN, Super Resolution',
url = 'https://github.com/Sidhved/CTSGAN_Repo',
include_package_data=True,
packages=find_packages(exclude=('options', 'datasets', 'experiments', 'results')),
classifiers=[
'Development Status :: 1 - Alpha'
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Programming Language :: Python 3.8',
],
license='BSD-3-Clause License',
setup_requires=['cython', 'numpy'],
install_requires = get_requirements(),
zip_safe= False)