import os import sys from setuptools import setup, find_packages from pybind11.setup_helpers import Pybind11Extension, build_ext ext_modules = [ Pybind11Extension( "particri._particri_core", ["src/bindings.cpp"], include_dirs=[ "include", ], cxx_std=20, extra_compile_args=["-O3", "-ffast-math"] if sys.platform != "win32" else ["/O2"], ), ] setup( name="particri", version="1.0.0", author="Particri Engine Contributors", description="Ultra-high-performance C++ and Python procedural particle generation & rendering library", packages=find_packages(), ext_modules=ext_modules, cmdclass={"build_ext": build_ext}, python_requires=">=3.8", install_requires=[ "numpy>=1.20.0", "Pillow>=9.0.0", ], extras_require={ "interactive": ["pygame>=2.0.0"], "video": ["opencv-python>=4.5.0"], "all": ["pygame>=2.0.0", "opencv-python>=4.5.0", "pytest>=7.0.0"], }, )