adafruit / Adafruit_CircuitPython_NeoPixel

CircuitPython drivers for neopixels.
MIT License
302 stars 98 forks source link

Project dependencies may have API risk issues #139

Closed PyDeps closed 1 year ago

PyDeps commented 1 year ago

Hi, In Adafruit_CircuitPython_NeoPixel, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

Adafruit-Blinka
adafruit-circuitpython-pixelbuf

The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

After further analysis, in this project, The version constraint of dependency Adafruit-Blinka can be changed to >=0.2.5,<=8.0.2.

The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.

The invocation of the current project includes all the following methods.

The calling methods from the Adafruit-Blinka
neopixel_write.neopixel_write
The calling methods from the all methods
neopixel.NeoPixel
self.deinit
digitalio.DigitalInOut
sys.path.insert
self._power.switch_to_output
getattr
os.path.abspath
self.fill
self.pin.deinit
len
neopixel_write.neopixel_write
join
os.environ.get
super.__init__
time.sleep
super
datetime.datetime.now
sphinx_rtd_theme.get_html_theme_path
str
self.show
isinstance
self._power.deinit

@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.

tekktrik commented 1 year ago

I don't think a change like this makes sense for our project or needs. Thanks for offering though!