# ! /usr/bin/python # -*- coding: utf-8 -*- # Copyright 2020 NVIDIA. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================= """Setup for pip package.""" import os import sys import setuptools if sys.version_info < (3,): raise Exception("Python 2 is not supported by Megatron.") def is_build_action(): if len(sys.argv) <= 1: return False BUILD_TOKENS = ["egg_info", "dist", "bdist", "sdist", "install", "build", "develop", "style"] if any([sys.argv[1].startswith(x) for x in BUILD_TOKENS]): return True else: return False from megatron.package_info import ( __contact_emails__, __contact_names__, __description__, __url__, __download_url__, __keywords__, __license__, __package_name__, __version__, ) ############################################################################### # Dependency Loading # # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # def req_file(filename): with open(filename) as f: content = f.readlines() # you may also want to remove whitespace characters # Example: `\n` at the end of each line return [x.strip() for x in content] install_requires = req_file("requirements.txt") setuptools.setup( name=__package_name__, # Versions should comply with PEP440. For a discussion on single-sourcing # the version across setup.py and the project code, see # https://packaging.python.org/en/latest/single_source_version.html version=__version__, description=__description__, # The project's main homepage. url=__url__, # Author details author=__contact_names__, author_email=__contact_emails__, # maintainer Details maintainer=__contact_names__, maintainer_email=__contact_emails__, # The licence under which the project is released license=__license__, classifiers=[ # How mature is this project? Common values are # 1 - Planning # 2 - Pre-Alpha # 3 - Alpha # 4 - Beta # 5 - Production/Stable # 6 - Mature # 7 - Inactive 'Development Status :: 4 - Beta', # Indicate who your project is intended for 'Intended Audience :: Developers', 'Intended Audience :: Science/Research', 'Intended Audience :: Information Technology', # Indicate what your project relates to 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Image Recognition', 'Topic :: Scientific/Engineering :: Artificial Intelligence', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Utilities', # Pick your license as you wish (should match "license" above) 'License :: OSI Approved :: Apache Software License', # Supported python versions 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', # Additional Setting 'Environment :: Console', 'Natural Language :: English', 'Operating System :: OS Independent', ], packages=setuptools.find_packages(), install_requires=install_requires, # Add in any packaged data. include_package_data=True, zip_safe=False, # PyPI package information. keywords=__keywords__ )