/ 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_rp1pio",
15          ["src/main.cpp", "src/utils/piolib/piolib.c", "src/utils/piolib/pio_rp1.c"],
16          define_macros = [('VERSION_INFO', __version__)],
17          include_dirs = ['./src/utils/piolib/include'],
18          extra_compile_args = ["-g3", "-Og"],
19          ),
20  ]
21  
22  setup(
23      name="adafruit-blinka-rp1pio",
24      version=__version__,
25      url="https://github.com/adafruit/adafruit-blinka-neopixel-pi5",
26      description="Control the PIO peripheral on a Pi 5",
27      long_description="A pio-based driver similar to circuitpython's rp2pio",
28      ext_modules=ext_modules,
29      # Currently, build_ext only provides an optional "highest supported C++
30      # level" feature, but in the future it may provide more features.
31      cmdclass={"build_ext": build_ext},
32      zip_safe=False,
33      python_requires=">=3.11",
34      install_requires=[],
35      extras_require={
36          'docs': ["sphinx", "sphinx-rtd-theme", "sphinxcontrib-jquery"],
37      }
38  )