Files
ortools-clone/ortools/python/setup.py.in
2021-08-23 17:01:22 +02:00

91 lines
3.5 KiB
Python

from sys import executable
from os.path import join as pjoin
from os.path import dirname
setuptools_import_error_message = """setuptools is not installed for """ + executable + """
Please follow this link for installing instructions :
https://pypi.python.org/pypi/setuptools
make sure you use \"""" + executable + """\" during the installation"""
try:
from setuptools import find_packages, setup
from setuptools.dist import Distribution
from setuptools.command.install import install
except ImportError:
raise ImportError(setuptools_import_error_message)
class BinaryDistribution(Distribution):
def is_pure(self):
return False
def has_ext_modules(self):
return True
class InstallPlatlib(install):
def finalize_options(self):
install.finalize_options(self)
self.install_lib = self.install_platlib
# Utility function to read the README file.
# Used for the long_description. It's nice, because now 1) we have a top level
# README file and 2) it's easier to type in the README file than to put a raw
# string in below ...
def read(fname):
return open(pjoin(dirname(__file__), fname)).read()
setup(
name='@PROJECT_NAME@',
version='@PROJECT_VERSION@',
packages=find_packages(),
install_requires=[
'protobuf >= 3.17.3',
'absl-py >= 0.11',
],
package_data={
'@PROJECT_NAME@':[$<$<NOT:$<PLATFORM_ID:Windows>>:'.libs/*', '../$<TARGET_SONAME_FILE_NAME:ortools>'>],
'@PROJECT_NAME@.init':['$<TARGET_FILE_NAME:pywrapinit>'],
'@PROJECT_NAME@.algorithms':['$<TARGET_FILE_NAME:pywrapknapsack_solver>'],
'@PROJECT_NAME@.graph':['$<TARGET_FILE_NAME:pywrapgraph>'],
'@PROJECT_NAME@.constraint_solver':['$<TARGET_FILE_NAME:pywrapcp>', '*.pyi'],
'@PROJECT_NAME@.linear_solver':['$<TARGET_FILE_NAME:pywraplp>', '*.pyi'],
'@PROJECT_NAME@.sat':['$<TARGET_FILE_NAME:pywrapsat>', '*.pyi'],
'@PROJECT_NAME@.data':['$<TARGET_FILE_NAME:pywraprcpsp>', '*.pyi'],
'@PROJECT_NAME@.util':['$<TARGET_FILE_NAME:sorted_interval_list>', '*.pyi'],
},
include_package_data=True,
license='Apache 2.0',
author='Google LLC',
author_email='or-tools@google.com',
description='Google OR-Tools python libraries and modules',
long_description=read('README.txt'),
keywords=('operations research' + ', constraint programming' +
', linear programming' + ', flow algorithms' + ', python'),
url='https://developers.google.com/optimization/',
download_url='https://github.com/google/or-tools/releases',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Operating System :: POSIX :: Linux',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Programming Language :: C++',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Topic :: Office/Business :: Scheduling',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Software Development :: Libraries :: Python Modules',
],
distclass=BinaryDistribution,
cmdclass={'install': InstallPlatlib},
)