/ setup.py
setup.py
 1  # Available at setup time due to pyproject.toml
 2  from pybind11.setup_helpers import Pybind11Extension, build_ext
 3  from setuptools import setup
 4  from setuptools_scm import get_version
 5  
 6  __version__ = get_version()
 7  
 8  # The main interface is through Pybind11Extension.
 9  # * You can add cxx_std=11/14/17, and then build_ext can be removed.
10  # * You can set include_pybind11=false to add the include directory yourself,
11  #   say from a submodule.
12  
13  ext_modules = [
14      Pybind11Extension("adafruit_raspberry_pi5_piomatter",
15          ["src/pymain.cpp", "src/piolib/piolib.c", "src/piolib/pio_rp1.c"],
16          define_macros = [('VERSION_INFO', __version__)],
17          include_dirs = ['./src/include', './src/piolib/include'],
18          cxx_std=20,
19          # use this setting when debugging
20          extra_compile_args = ["-g3", "-Og"],
21          ),
22  ]
23  
24  setup(
25      name="Adafruit-Blinka-Raspberry-Pi5-Piomatter",
26      version=__version__,
27      url="https://github.com/adafruit/Adafruit_Blinka_Raspberry_Pi5_Piomatter",
28      description="HUB75 matrix driver for Raspberry Pi 5 using PIO",
29      long_description="A pio-based driver",
30      ext_modules=ext_modules,
31      # Currently, build_ext only provides an optional "highest supported C++
32      # level" feature, but in the future it may provide more features.
33      cmdclass={"build_ext": build_ext},
34      zip_safe=False,
35      python_requires=">=3.11",
36      extras_require={
37          'docs': ["sphinx", "sphinx-rtd-theme", "sphinxcontrib-jquery"],
38      },
39  )