/ concept-collection / benchcompress
Sign in
concept-collection / benchcompress
benchcompress / zia_benchmark / setup.py
73 lines · 2.2 KBCodeBlameHistory
30a2f07initialJeremy Magland 1from setuptools import setup, find_packages
804780bspeed up markov with C++Jeremy Magland 2from setuptools.command.build_ext import build_ext
3from setuptools import Extension
4import os
5import sys
6import subprocess
8class CMakeExtension(Extension):
9 def __init__(self, name, sourcedir=""):
10 Extension.__init__(self, name, sources=[])
11 self.sourcedir = os.path.abspath(sourcedir)
13class CMakeBuild(build_ext):
14 def build_extension(self, ext):
15 extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
17 cmake_args = [
18 f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}",
19 f"-DPYTHON_EXECUTABLE={sys.executable}"
20 ]
22 build_args = []
24 if not os.path.exists(self.build_temp):
25 os.makedirs(self.build_temp)
27 subprocess.check_call(["cmake", ext.sourcedir] + cmake_args, cwd=self.build_temp)
28 subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=self.build_temp)
30a2f07initialJeremy Magland 29
30setup(
e892a17zia_benchmarkJeremy Magland 31 name="zia_benchmark",
30a2f07initialJeremy Magland 32 version="0.1.0",
33 packages=find_packages(where="src"),
34 package_dir={"": "src"},
35 install_requires=[
e892a17zia_benchmarkJeremy Magland 36 "numpy",
045c465real filteredJeremy Magland 37 "scipy",
e892a17zia_benchmarkJeremy Magland 38 "zstandard",
7f1e3barequire requestsJeremy Magland 39 "simple_ans",
eacabc8test real dataJeremy Magland 40 "requests",
9900d62formatJeremy Magland 41 "lindi",
42 "brotli",
dee3843use numba for markov decodeJeremy Magland 43 "click",
804780bspeed up markov with C++Jeremy Magland 44 "pybind11>=2.11.1"
30a2f07initialJeremy Magland 45 ],
804780bspeed up markov with C++Jeremy Magland 46 ext_modules=[
47 CMakeExtension("zia_benchmark.algorithms.simple_ans.markov_reconstruct_cpp_ext",
48 sourcedir="src/zia_benchmark/algorithms/simple_ans")
49 ],
50 cmdclass={
51 "build_ext": CMakeBuild,
52 },
30a2f07initialJeremy Magland 53 python_requires=">=3.8",
9900d62formatJeremy Magland 54 entry_points={
55 "console_scripts": [
56 "zia-benchmark=zia_benchmark.cli:main",
57 ],
58 },
30a2f07initialJeremy Magland 59 author="Jeremy Magland",
769ad9aformatJeremy Magland 60 description="Benchmarking compression methods for numeric arrays",
30a2f07initialJeremy Magland 61 long_description=open("README.md").read(),
62 long_description_content_type="text/markdown",
e892a17zia_benchmarkJeremy Magland 63 keywords="compression, signal processing",
30a2f07initialJeremy Magland 64 classifiers=[
65 "Development Status :: 3 - Alpha",
66 "Intended Audience :: Science/Research",
67 "Programming Language :: Python :: 3",
68 "Programming Language :: Python :: 3.8",
69 "Programming Language :: Python :: 3.9",
70 "Programming Language :: Python :: 3.10",
71 "Programming Language :: Python :: 3.11"
72 ],
moveopenescclose