def main(): from setuptools import find_packages from aksetup_helper import (hack_distutils, get_config, setup, check_pybind11, check_git_submodules, NumpyExtension) check_pybind11() check_git_submodules() hack_distutils() conf = get_config(get_config_schema(), warn_about_no_config=False) extra_defines = {} extra_defines["PYGPU_PACKAGE"] = "pyopencl" extra_defines["PYGPU_PYOPENCL"] = "1" if conf["CL_TRACE"]: extra_defines["PYOPENCL_TRACE"] = 1 if conf["CL_ENABLE_GL"]: extra_defines["HAVE_GL"] = 1 if conf["CL_USE_SHIPPED_EXT"]: extra_defines["PYOPENCL_USE_SHIPPED_EXT"] = 1 if conf["CL_PRETEND_VERSION"]: try: major, minor = [int(x) for x in conf["CL_PRETEND_VERSION"].split(".")] extra_defines["PYOPENCL_PRETEND_CL_VERSION"] = \ 0x1000*major + 0x10 * minor except Exception: print("CL_PRETEND_VERSION must be of the form M.N, " "with two integers M and N") raise conf["EXTRA_DEFINES"] = extra_defines INCLUDE_DIRS = conf["CL_INC_DIR"] + ["pybind11/include"] # noqa: N806 ver_dic = {} version_file = open("pyopencl/version.py") try: version_file_contents = version_file.read() finally: version_file.close() exec(compile(version_file_contents, "pyopencl/version.py", 'exec'), ver_dic) try: import mako # noqa except ImportError: print(SEPARATOR) print("Mako is not installed.") print(SEPARATOR) print("That is not a problem, as most of PyOpenCL will be just fine ") print("without it. Some higher-level parts of pyopencl (such as ") print("pyopencl.reduction) will not function without the templating engine ") print("Mako [1] being installed. If you would like this functionality to ") print("work, you might want to install Mako after you finish ") print("installing PyOpenCL.") print("") print("Simply type") print("python -m pip install mako") print("either now or after the installation completes to fix this.") print("") print("[1] http://www.makotemplates.org/") print(SEPARATOR) print("Hit Ctrl-C now if you'd like to think about the situation.") print(SEPARATOR) from aksetup_helper import count_down_delay count_down_delay(delay=5) if not exists("pyopencl/compyte/dtypes.py"): print(75 * "-") print("You are missing important files from the pyopencl distribution.") print(75 * "-") print("You may have downloaded a zip or tar file from Github.") print("Those do not work, and I am unable to prevent Github from showing") print("them. Delete that file, and get an actual release file from the") print("Python package index:") print() print("https://pypi.python.org/pypi/pyopencl") sys.exit(1) setup(name="pyopencl", # metadata version=ver_dic["VERSION_TEXT"], description="Python wrapper for OpenCL", long_description=open("README.rst", "rt").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license="MIT", url="http://mathema.tician.de/software/pyopencl", classifiers=[ 'Environment :: Console', 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: Other Audience', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Programming Language :: C++', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.2', 'Programming Language :: Python :: 3.3', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Physics', ], # build info packages=find_packages(), ext_modules=[ NumpyExtension("pyopencl._cl", [ "src/wrap_constants.cpp", "src/wrap_cl.cpp", "src/wrap_cl_part_1.cpp", "src/wrap_cl_part_2.cpp", "src/wrap_mempool.cpp", "src/bitlog.cpp", ], include_dirs=INCLUDE_DIRS + [ get_pybind_include(), get_pybind_include(user=True) ], library_dirs=conf["CL_LIB_DIR"], libraries=conf["CL_LIBNAME"], define_macros=list(conf["EXTRA_DEFINES"].items()), extra_compile_args=conf["CXXFLAGS"], extra_link_args=conf["LDFLAGS"], language='c++', ), ], setup_requires=[ "pybind11", "numpy", ], install_requires=[ "numpy", "pytools>=2017.6", "decorator>=3.2.0", "appdirs>=1.4.0", "six>=1.9.0", # "Mako>=0.3.6", ], include_package_data=True, package_data={ "pyopencl": [ "cl/*.cl", "cl/*.h", "cl/pyopencl-random123/*.cl", "cl/pyopencl-random123/*.h", ] }, cmdclass={'build_ext': BuildExt}, zip_safe=False)
def main(): from aksetup_helper import (hack_distutils, check_pybind11, get_config, setup, check_git_submodules, Extension, get_pybind_include, PybindBuildExtCommand) check_pybind11() check_git_submodules() hack_distutils(what_opt=1) conf = get_config( get_config_schema(), warn_about_no_config=False) triangle_macros = [ ("EXTERNAL_TEST", 1), ("ANSI_DECLARATORS", 1), ("TRILIBRARY", 1), ] tetgen_macros = [ ("TETLIBRARY", 1), ("SELF_CHECK", 1), ] # }}} include_dirs = [ get_pybind_include(), get_pybind_include(user=True) ] + ["src/cpp"] init_filename = "meshpy/__init__.py" exec(compile(open(init_filename, "r").read(), init_filename, "exec"), conf) import codecs setup(name="MeshPy", version=conf["version"], description="Triangular and Tetrahedral Mesh Generator", long_description=codecs.open("README.rst", "r", "utf-8").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license=("MIT for the wrapper/non-commercial for " "the Triangle/GNU Affero Public License for TetGen"), url="https://documen.tician.de/meshpy", classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "License :: Free for non-commercial use", "Natural Language :: English", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics :: 3D Modeling", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: Libraries", ], packages=["meshpy"], setup_requires=["pybind11"], python_requires="~=3.6", install_requires=[ "pytools>=2011.2", "pytest>=2", "numpy", "gmsh_interop", ], ext_modules=[ Extension( "meshpy._internals", [ "src/cpp/wrapper.cpp", "src/cpp/wrap_triangle.cpp", "src/cpp/triangle.cpp", "src/cpp/wrap_tetgen.cpp", "src/cpp/tetgen.cpp", "src/cpp/predicates.cpp", ], include_dirs=include_dirs, define_macros=triangle_macros + tetgen_macros, extra_compile_args=conf["CXXFLAGS"], extra_link_args=conf["LDFLAGS"], ), ], cmdclass={"build_ext": PybindBuildExtCommand}, zip_safe=False, )
def main(): import glob from setuptools import find_packages from aksetup_helper import (check_pybind11, hack_distutils, get_config, setup, Extension, get_pybind_include, PybindBuildExtCommand) from setuptools.command.build_clib import build_clib check_pybind11() hack_distutils() conf = get_config(get_config_schema(), warn_about_no_config=False) extra_defines = {} extra_defines["HAVE_MREMAP"] = 0 # mremap() buggy on amd64? ver_filename = "pymetis/version.py" version_file = open(ver_filename) ver_dic = {} try: version_file_contents = version_file.read() finally: version_file.close() exec(compile(version_file_contents, ver_filename, 'exec'), ver_dic) setup(name="PyMetis", version=ver_dic["version"], description="A Graph Partitioning Package", long_description=open("README.rst", "rt").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license="wrapper: MIT/METIS: Apache 2", url="http://mathema.tician.de/software/pymetis", classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: Other Audience', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'License :: Free for non-commercial use', 'Natural Language :: English', 'Programming Language :: C', 'Programming Language :: C++', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Topic :: Multimedia :: Graphics :: 3D Modeling', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Visualization', 'Topic :: Software Development :: Libraries', ], packages=find_packages(), setup_requires=[ "pybind11", ], install_requires=["six"], ext_modules=[ Extension( "pymetis._internal", (["src/wrapper/wrapper.cpp"] + glob.glob("src/metis/GKlib/*.c") + glob.glob("src/metis/*.c") + glob.glob("src/metis/libmetis/*.c")), define_macros=list(extra_defines.items()), include_dirs=[ "src/metis/include", "src/metis/GKlib", "src/metis/include", "src/metis/libmetis", get_pybind_include(), get_pybind_include(user=True) ], extra_compile_args=conf["CXXFLAGS"], ), ], cmdclass={ 'build_clib': build_clib, 'build_ext': PybindBuildExtCommand }, zip_safe=False)
def main(): from setuptools import find_packages from aksetup_helper import (hack_distutils, get_config, setup, ExtensionUsingNumpy, check_pybind11, PybindBuildExtCommand, get_pybind_include) hack_distutils() conf = get_config(get_config_schema(), warn_about_no_config=False) extra_defines = {} extra_include_dirs = [] extra_library_dirs = [] extra_libraries = [] ver_dic = {} ver_file_name = "pyvisfile/__init__.py" with open(ver_file_name) as inf: exec(compile(inf.read(), ver_file_name, "exec"), ver_dic) requirements = [] ext_modules = [] if conf["USE_SILO"]: check_pybind11() extra_defines["USE_SILO"] = 1 extra_include_dirs.extend(conf["SILO_INC_DIR"]) extra_library_dirs.extend(conf["SILO_LIB_DIR"]) extra_libraries.extend(conf["SILO_LIBNAME"]) ext_modules.append( ExtensionUsingNumpy( "_internal", ["src/wrapper/wrap_silo.cpp"], include_dirs=[get_pybind_include()] + extra_include_dirs, library_dirs=extra_library_dirs, libraries=extra_libraries, extra_compile_args=conf["CXXFLAGS"], define_macros=list(extra_defines.items()), language="c++", )) requirements.append("pybind11>=2.5.0") setup( name="pyvisfile", version=ver_dic["VERSION_TEXT"], description="Large-scale Visualization Data Storage", long_description=open("README.rst").read(), classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics :: 3D Modeling", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: Libraries", ], author="Andreas Kloeckner", author_email="*****@*****.**", license="MIT", url="http://mathema.tician.de/software/pyvisfile", # dependencies setup_requires=requirements, python_requires="~=3.6", install_requires=[ "pytools>=2013.2", ] + requirements, packages=find_packages(), ext_package="pyvisfile.silo", ext_modules=ext_modules, cmdclass={"build_ext": PybindBuildExtCommand}, zip_safe=False)
def main(): check_pybind11() check_git_submodules() conf = get_config(get_config_schema(), warn_about_no_config=False) CXXFLAGS = conf["CXXFLAGS"] # noqa: N806 EXTRA_OBJECTS = [] # noqa: N806 EXTRA_DEFINES = {} # noqa: N806 INCLUDE_DIRS = ["src/wrapper"] # noqa: N806 LIBRARY_DIRS = [] # noqa: N806 LIBRARIES = [] # noqa: N806 if conf["USE_SHIPPED_ISL"]: from glob import glob isl_blacklist = [ "_templ.c", "_templ_yaml.c", "mp_get", "extract_key.c", "isl_multi_templ.c", "isl_multi_apply_set.c", "isl_multi_gist.c", "isl_multi_coalesce.c", "isl_multi_intersect.c", "isl_multi_floor.c", "isl_multi_apply_union_set.c", "isl_multi_cmp.c", "isl_multi_pw_aff_explicit_domain.c", "isl_multi_hash.c", "isl_multi_dims.c", "isl_multi_explicit_domain.c", "isl_multi_no_explicit_domain.c", "isl_multi_align_set.c", "isl_multi_align_union_set.c", "isl_multi_union_pw_aff_explicit_domain.c", "isl_union_templ.c", "isl_union_multi.c", "isl_union_eval.c", "isl_union_neg.c", "isl_union_single.c", "isl_pw_hash.c", "isl_pw_eval.c", "isl_pw_union_opt.c", "isl_pw_union_opt.c", ] for fn in glob("isl/*.c"): blacklisted = False for bl in isl_blacklist: if bl in fn: blacklisted = True break if "no_piplib" in fn: pass elif "piplib" in fn: blacklisted = True if "gmp" in fn: if conf["USE_SHIPPED_IMATH"]: continue if "imath" in fn: if not conf["USE_SHIPPED_IMATH"]: continue if "sioimath" in fn and not conf["USE_IMATH_SIO"]: continue if "isl_val_imath" in fn and conf["USE_IMATH_SIO"]: continue if "isl_ast_int.c" in fn and conf["USE_SHIPPED_IMATH"]: continue inf = open(fn, "r", encoding="utf-8") try: contents = inf.read() finally: inf.close() if "int main(" not in contents and not blacklisted: EXTRA_OBJECTS.append(fn) conf["ISL_INC_DIR"] = ["isl-supplementary", "isl/include", "isl"] if conf["USE_SHIPPED_IMATH"]: EXTRA_OBJECTS.extend([ "isl/imath/imath.c", "isl/imath/imrat.c", "isl/imath/gmp_compat.c", #"isl/imath_wrap/imath.c", #"isl/imath_wrap/imrat.c", #"isl/imath_wrap/gmp_compat.c", ]) EXTRA_DEFINES["USE_IMATH_FOR_MP"] = 1 if conf["USE_IMATH_SIO"]: EXTRA_DEFINES["USE_SMALL_INT_OPT"] = 1 conf["ISL_INC_DIR"].append("isl/imath") else: EXTRA_DEFINES["USE_GMP_FOR_MP"] = 1 else: LIBRARY_DIRS.extend(conf["ISL_LIB_DIR"]) LIBRARIES.extend(conf["ISL_LIBNAME"]) wrapper_dirs = conf["ISL_INC_DIR"][:] # {{{ configure barvinok if conf["USE_BARVINOK"]: if conf["USE_SHIPPED_ISL"]: raise RuntimeError("barvinok wrapper is not compatible with using " "shipped isl") if conf["USE_SHIPPED_IMATH"]: raise RuntimeError("barvinok wrapper is not compatible with using " "shipped imath") INCLUDE_DIRS.extend(conf["BARVINOK_INC_DIR"]) LIBRARY_DIRS.extend(conf["BARVINOK_LIB_DIR"]) LIBRARIES.extend(conf["BARVINOK_LIBNAME"]) wrapper_dirs.extend(conf["BARVINOK_INC_DIR"]) EXTRA_DEFINES["ISLPY_INCLUDE_BARVINOK"] = 1 # }}} INCLUDE_DIRS.extend(conf["ISL_INC_DIR"]) if not (conf["USE_SHIPPED_ISL"] and conf["USE_SHIPPED_IMATH"]) and \ conf["USE_GMP"]: INCLUDE_DIRS.extend(conf["GMP_INC_DIR"]) LIBRARY_DIRS.extend(conf["GMP_LIB_DIR"]) LIBRARIES.extend(conf["GMP_LIBNAME"]) init_filename = "islpy/version.py" with open(init_filename, "r") as version_f: version_py = version_f.read() exec(compile(version_py, init_filename, "exec"), conf) from gen_wrap import gen_wrapper gen_wrapper(wrapper_dirs, include_barvinok=conf["USE_BARVINOK"]) with open("README.rst", "rt") as readme_f: readme = readme_f.read() setup( name="islpy", version=conf["VERSION_TEXT"], description="Wrapper around isl, an integer set library", long_description=readme, author="Andreas Kloeckner", author_email="*****@*****.**", license="MIT", url="http://documen.tician.de/islpy", classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics :: 3D Modeling", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: Libraries", ], packages=["islpy"], python_requires="~=3.6", setup_requires=[ "pybind11", ], install_requires=[ "pytest>=2", # "Mako>=0.3.6", "six", ], ext_modules=[ Extension( "islpy._isl", [ "src/wrapper/wrap_isl.cpp", "src/wrapper/wrap_isl_part1.cpp", "src/wrapper/wrap_isl_part2.cpp", "src/wrapper/wrap_isl_part3.cpp", ] + EXTRA_OBJECTS, include_dirs=INCLUDE_DIRS + [get_pybind_include(), get_pybind_include(user=True)], library_dirs=LIBRARY_DIRS, libraries=LIBRARIES, define_macros=list(EXTRA_DEFINES.items()), extra_compile_args=CXXFLAGS, extra_link_args=conf["LDFLAGS"], ), ], cmdclass={"build_ext": IslPyBuildExtCommand}, )
def main(): from aksetup_helper import (hack_distutils, check_pybind11, get_config, setup, check_git_submodules, Extension, get_pybind_include, PybindBuildExtCommand) check_pybind11() check_git_submodules() hack_distutils(what_opt=1) conf = get_config( get_config_schema(), warn_about_no_config=False) triangle_macros = [ ("EXTERNAL_TEST", 1), ("ANSI_DECLARATORS", 1), ("TRILIBRARY", 1), ] tetgen_macros = [ ("TETLIBRARY", 1), ("SELF_CHECK", 1), ] # }}} include_dirs = [ get_pybind_include(), get_pybind_include(user=True) ] + ["src/cpp"] init_filename = "meshpy/__init__.py" exec(compile(open(init_filename, "r").read(), init_filename, "exec"), conf) import codecs setup(name="MeshPy", version=conf["version"], description="Triangular and Tetrahedral Mesh Generator", long_description=codecs.open("README.rst", "r", "utf-8").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license=("MIT for the wrapper/non-commercial for " "the Triangle/GNU Affero Public License for TetGen"), url="http://mathema.tician.de/software/meshpy", classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: Other Audience', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'License :: Free for non-commercial use', 'Natural Language :: English', 'Programming Language :: C++', 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.2', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Topic :: Multimedia :: Graphics :: 3D Modeling', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Physics', 'Topic :: Scientific/Engineering :: Visualization', 'Topic :: Software Development :: Libraries', ], packages=["meshpy"], setup_requires=["pybind11"], install_requires=[ "pytools>=2011.2", "pytest>=2", "numpy", "gmsh_interop", "six", ], ext_modules=[ Extension( "meshpy._internals", [ "src/cpp/wrapper.cpp", "src/cpp/wrap_triangle.cpp", "src/cpp/triangle.cpp", "src/cpp/wrap_tetgen.cpp", "src/cpp/tetgen.cpp", "src/cpp/predicates.cpp", ], include_dirs=include_dirs, define_macros=triangle_macros + tetgen_macros, extra_compile_args=conf["CXXFLAGS"], extra_link_args=conf["LDFLAGS"], ), ], cmdclass={'build_ext': PybindBuildExtCommand}, zip_safe=False, )
def main(): from setuptools import find_packages from aksetup_helper import (hack_distutils, get_config, setup, check_pybind11, check_git_submodules, ExtensionUsingNumpy, get_pybind_include, PybindBuildExtCommand) check_pybind11() check_git_submodules() hack_distutils() conf = get_config(get_config_schema(), warn_about_no_config=False) extra_defines = {} extra_defines["PYGPU_PACKAGE"] = "pyopencl" extra_defines["PYGPU_PYOPENCL"] = "1" if conf["CL_TRACE"]: extra_defines["PYOPENCL_TRACE"] = 1 if conf["CL_ENABLE_GL"]: extra_defines["HAVE_GL"] = 1 if conf["CL_USE_SHIPPED_EXT"]: extra_defines["PYOPENCL_USE_SHIPPED_EXT"] = 1 if conf["CL_PRETEND_VERSION"]: try: major, minor = [int(x) for x in conf["CL_PRETEND_VERSION"].split(".")] extra_defines["PYOPENCL_PRETEND_CL_VERSION"] = \ 0x1000*major + 0x10 * minor except Exception: print("CL_PRETEND_VERSION must be of the form M.N, " "with two integers M and N") raise conf["EXTRA_DEFINES"] = extra_defines INCLUDE_DIRS = conf["CL_INC_DIR"] + ["pybind11/include"] # noqa: N806 ver_dic = {} version_file = open("pyopencl/version.py") try: version_file_contents = version_file.read() finally: version_file.close() exec(compile(version_file_contents, "pyopencl/version.py", "exec"), ver_dic) if not exists("pyopencl/compyte/dtypes.py"): print(75 * "-") print("You are missing important files from the pyopencl distribution.") print(75 * "-") print("You may have downloaded a zip or tar file from Github.") print("Those do not work, and I am unable to prevent Github from showing") print("them. Delete that file, and get an actual release file from the") print("Python package index:") print() print("https://pypi.python.org/pypi/pyopencl") sys.exit(1) setup(name="pyopencl", # metadata version=ver_dic["VERSION_TEXT"], description="Python wrapper for OpenCL", long_description=open("README.rst").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license="MIT", url="http://mathema.tician.de/software/pyopencl", classifiers=[ "Environment :: Console", "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: C++", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Physics", ], # build info packages=find_packages(), ext_modules=[ ExtensionUsingNumpy("pyopencl._cl", [ "src/wrap_constants.cpp", "src/wrap_cl.cpp", "src/wrap_cl_part_1.cpp", "src/wrap_cl_part_2.cpp", "src/wrap_mempool.cpp", "src/bitlog.cpp", ], include_dirs=INCLUDE_DIRS + [ get_pybind_include(), ], library_dirs=conf["CL_LIB_DIR"], libraries=conf["CL_LIBNAME"], define_macros=list(conf["EXTRA_DEFINES"].items()), extra_compile_args=conf["CXXFLAGS"], extra_link_args=conf["LDFLAGS"], language="c++", ), ], setup_requires=[ "pybind11>=2.5.0", "numpy", ], python_requires="~=3.6", install_requires=[ "numpy", "pytools>=2021.2.7", "platformdirs>=2.2.0", # "Mako>=0.3.6", "dataclasses; python_version<'3.7'", ], extras_require={ "pocl": ["pocl_binary_distribution>=1.2"], "oclgrind": ["oclgrind_binary_distribution>=18.3"], "test": ["pytest>=7.0.0", "Mako"], }, include_package_data=True, package_data={ "pyopencl": [ "cl/*.cl", "cl/*.h", "cl/pyopencl-random123/*.cl", "cl/pyopencl-random123/*.h", ] }, cmdclass={"build_ext": PybindBuildExtCommand}, zip_safe=False)
def main(): import glob from setuptools import find_packages from aksetup_helper import ( check_pybind11, hack_distutils, get_config, setup, Extension, get_pybind_include, PybindBuildExtCommand) check_pybind11() hack_distutils() conf = get_config(get_config_schema(), warn_about_no_config=False) extra_defines = {} extra_defines["HAVE_MREMAP"] = 0 # mremap() buggy on amd64? ver_filename = "pymetis/version.py" version_file = open(ver_filename) ver_dic = {} try: version_file_contents = version_file.read() finally: version_file.close() exec(compile(version_file_contents, ver_filename, 'exec'), ver_dic) setup(name="PyMetis", version=ver_dic["version"], description="A Graph Partitioning Package", long_description=open("README.rst", "rt").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license="wrapper: MIT/METIS: Apache 2", url="http://mathema.tician.de/software/pymetis", classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: Other Audience', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'License :: Free for non-commercial use', 'Natural Language :: English', 'Programming Language :: C', 'Programming Language :: C++', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Topic :: Multimedia :: Graphics :: 3D Modeling', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Visualization', 'Topic :: Software Development :: Libraries', ], packages=find_packages(), setup_requires=[ "pybind11", ], install_requires=["six"], ext_modules=[ Extension( "pymetis._internal", ["src/wrapper/wrapper.cpp"] + glob.glob("src/metis/GKlib/*.c") + glob.glob("src/metis/*.c") + glob.glob("src/metis/libmetis/*.c"), define_macros=list(extra_defines.items()), include_dirs=["src/metis/GKlib"] + ["src/metis/include"] + ["src/metis/libmetis"] + [ get_pybind_include(), get_pybind_include(user=True) ], extra_compile_args=conf["CXXFLAGS"], ), ], cmdclass={'build_ext': PybindBuildExtCommand}, zip_safe=False)
def main(): from setuptools import find_packages from aksetup_helper import (hack_distutils, get_config, setup, check_pybind11, check_git_submodules, ExtensionUsingNumpy, get_pybind_include, PybindBuildExtCommand) check_pybind11() check_git_submodules() hack_distutils() conf = get_config(get_config_schema(), warn_about_no_config=False) extra_defines = {} extra_defines["PYGPU_PACKAGE"] = "pyopencl" extra_defines["PYGPU_PYOPENCL"] = "1" if conf["CL_TRACE"]: extra_defines["PYOPENCL_TRACE"] = 1 if conf["CL_ENABLE_GL"]: extra_defines["HAVE_GL"] = 1 if conf["CL_USE_SHIPPED_EXT"]: extra_defines["PYOPENCL_USE_SHIPPED_EXT"] = 1 if conf["CL_PRETEND_VERSION"]: try: major, minor = [int(x) for x in conf["CL_PRETEND_VERSION"].split(".")] extra_defines["PYOPENCL_PRETEND_CL_VERSION"] = \ 0x1000*major + 0x10 * minor except Exception: print("CL_PRETEND_VERSION must be of the form M.N, " "with two integers M and N") raise conf["EXTRA_DEFINES"] = extra_defines INCLUDE_DIRS = conf["CL_INC_DIR"] + ["pybind11/include"] # noqa: N806 ver_dic = {} version_file = open("pyopencl/version.py") try: version_file_contents = version_file.read() finally: version_file.close() exec(compile(version_file_contents, "pyopencl/version.py", 'exec'), ver_dic) try: import mako # noqa except ImportError: print(SEPARATOR) print("Mako is not installed.") print(SEPARATOR) print("That is not a problem, as most of PyOpenCL will be just fine ") print("without it. Some higher-level parts of pyopencl (such as ") print("pyopencl.reduction) will not function without the templating engine ") print("Mako [1] being installed. If you would like this functionality to ") print("work, you might want to install Mako after you finish ") print("installing PyOpenCL.") print("") print("Simply type") print("python -m pip install mako") print("either now or after the installation completes to fix this.") print("") print("[1] http://www.makotemplates.org/") print(SEPARATOR) print("Hit Ctrl-C now if you'd like to think about the situation.") print(SEPARATOR) from aksetup_helper import count_down_delay count_down_delay(delay=5) if not exists("pyopencl/compyte/dtypes.py"): print(75 * "-") print("You are missing important files from the pyopencl distribution.") print(75 * "-") print("You may have downloaded a zip or tar file from Github.") print("Those do not work, and I am unable to prevent Github from showing") print("them. Delete that file, and get an actual release file from the") print("Python package index:") print() print("https://pypi.python.org/pypi/pyopencl") sys.exit(1) setup(name="pyopencl", # metadata version=ver_dic["VERSION_TEXT"], description="Python wrapper for OpenCL", long_description=open("README.rst", "rt").read(), author="Andreas Kloeckner", author_email="*****@*****.**", license="MIT", url="http://mathema.tician.de/software/pyopencl", classifiers=[ 'Environment :: Console', 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: Other Audience', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Programming Language :: C++', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.2', 'Programming Language :: Python :: 3.3', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Physics', ], # build info packages=find_packages(), ext_modules=[ ExtensionUsingNumpy("pyopencl._cl", [ "src/wrap_constants.cpp", "src/wrap_cl.cpp", "src/wrap_cl_part_1.cpp", "src/wrap_cl_part_2.cpp", "src/wrap_mempool.cpp", "src/bitlog.cpp", ], include_dirs=INCLUDE_DIRS + [ get_pybind_include(), get_pybind_include(user=True) ], library_dirs=conf["CL_LIB_DIR"], libraries=conf["CL_LIBNAME"], define_macros=list(conf["EXTRA_DEFINES"].items()), extra_compile_args=conf["CXXFLAGS"], extra_link_args=conf["LDFLAGS"], language='c++', ), ], setup_requires=[ "pybind11", "numpy", ], install_requires=[ "numpy", "pytools>=2017.6", "decorator>=3.2.0", "appdirs>=1.4.0", "six>=1.9.0", # "Mako>=0.3.6", ], extras_require={ 'pocl': ["pocl_binary_distribution>=1.2"], 'oclgrind': ["oclgrind_binary_distribution>=18.3"], }, include_package_data=True, package_data={ "pyopencl": [ "cl/*.cl", "cl/*.h", "cl/pyopencl-random123/*.cl", "cl/pyopencl-random123/*.h", ] }, cmdclass={'build_ext': PybindBuildExtCommand}, zip_safe=False)