-    # If your package is a single module, use this instead of 'packages':
-    py_modules=['bitbangio', 'board', 'busio', 'digitalio', 'micropython', 'neopixel_write'],
-    install_requires=['Adafruit-GPIO', 'rpi_ws281x'],
+    # py_modules lists top-level single file packages to include.
+    # find_packages only finds packages in directories with __init__.py files.
+    py_modules=['bitbangio', 'board', 'busio', 'digitalio', 'micropython', 'pulseio', 'neopixel_write'],
+    package_data={'adafruit_blinka.microcontroller.bcm283x.pulseio': ['libgpiod_pulsein']},
+    install_requires=[
+        "Adafruit-PlatformDetect",
+        "Adafruit-PureIO",
+        "spidev>=3.4; sys_platform=='linux'",
+        "sysv_ipc; platform_system != 'Windows'",
+        "pyftdi>=0.30.0",
+        "hidapi"
+    ] + board_reqs,