# -*- coding: utf-8 -*- import os import re from setuptools import setup def read(filename): with open(os.path.join(os.path.dirname(__file__), filename)) as f: file_content = f.read() return file_content def get_requirements(): requirements = [] for requirement in read('requirements.txt').splitlines(): if requirement.startswith('git+') or requirement.startswith('svn+') or requirement.startswith('hg+'): parsed_requires = re.findall(r'#egg=([\w\d\.]+)-([\d\.]+)$', requirement) if parsed_requires: package, version = parsed_requires[0] requirements.append(f'{package}=={version}') else: print('WARNING! For correct matching dependency links need to specify package name and version' 'such as #egg=-') else: requirements.append(requirement) return requirements def get_links(): return [ requirement for requirement in read('requirements.txt').splitlines() if requirement.startswith('git+') or requirement.startswith('svn+') or requirement.startswith('hg+') ] def get_version(): """ Get version from the package without actually importing it. """ init = read('rudalle/__init__.py') for line in init.split('\n'): if line.startswith('__version__'): return eval(line.split('=')[1]) setup( name='rudalle', version=get_version(), author='SberAI, SberDevices', author_email='shonenkov@phystech.edu', description='ruDALL-E generate images from texts in Russian language', packages=['rudalle', 'rudalle/dalle', 'rudalle/realesrgan', 'rudalle/ruclip', 'rudalle/vae'], package_data={'rudalle/vae': ['*.yml']}, install_requires=get_requirements(), dependency_links=get_links(), long_description=read('README.md'), long_description_content_type='text/markdown', )